KR102045039B1 - 통합 서버의 자원 분배 관리장치 및 방법 - Google Patents

통합 서버의 자원 분배 관리장치 및 방법 Download PDF

Info

Publication number
KR102045039B1
KR102045039B1 KR1020180028042A KR20180028042A KR102045039B1 KR 102045039 B1 KR102045039 B1 KR 102045039B1 KR 1020180028042 A KR1020180028042 A KR 1020180028042A KR 20180028042 A KR20180028042 A KR 20180028042A KR 102045039 B1 KR102045039 B1 KR 102045039B1
Authority
KR
South Korea
Prior art keywords
job
real
resource
llc
hardware resources
Prior art date
Application number
KR1020180028042A
Other languages
English (en)
Other versions
KR20190106488A (ko
Inventor
백웅기
한명균
유성대
Original Assignee
울산과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 울산과학기술원 filed Critical 울산과학기술원
Priority to KR1020180028042A priority Critical patent/KR102045039B1/ko
Publication of KR20190106488A publication Critical patent/KR20190106488A/ko
Application granted granted Critical
Publication of KR102045039B1 publication Critical patent/KR102045039B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • H04L67/322
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 일실시예에 따르면, 가상머신 또는 컨테이너 기반 통합 서버의 자원 분배 관리에 있어서, 통합 서버의 실시간 작업으로 요청된 QoS를 만족시킬 수 있도록 하드웨어 자원을 동적으로 분배하여 자원 활용성을 높이며, 보안이 설정된 작업에 대해서는 하드웨어 자원의 분배 전에 기저장된 데이터를 삭제하거나, 더미 데이터로 채워 넣음으로써 외부 공격에 의한 데이터 노출의 위험성을 방지시킬 수 있다.

Description

통합 서버의 자원 분배 관리장치 및 방법{APPARATUS AND METHOD FOR REDISTRIBUTING HARDWARE RESOURCES FOR SERVER CONSOLIDATION}
본 발명은 가상머신 또는 컨테이너 기반 통합 서버의 자원 분배에 있어서, 특히 통합 서버의 실시간 작업으로 요청된 QoS를 만족시킬 수 있도록 하드웨어 자원을 실시간 작업과 배치 작업에 동적으로 분배하며, 보안이 설정된 작업에 대해서는 하드웨어 자원의 분배 전에 기저장된 데이터를 삭제하거나, 더미 데이터로 채워 넣음으로써 사이드 채널 공격에 의한 데이터 노출의 위험성을 방지시킬 수 있도록 하는 가상머신 또는 컨테이너기반 통합 서버의 자원 분배 관리장치 및 방법에 관한 것이다.
일반적으로 서버 통합(server consolidation)는 하드웨어 자원(hardware resource)을 여러 서버에서 공유하여 사용함으로써 자원의 효율성을 높이고자 하는 기술로, 큰규모의 데이터 센터(data center)나 클라우드(cloud) 환경에서 서버 자원의 활용성(utilization)을 최대화하기 위해 널리 사용되고 있다.
그러나, 종래 서버 통합 기술이 적용된 통합 서버에서는 실시간(latency-critical) 작업과 배치(batch) 작업이 동일한 서버에 설행됨에 따라, 자원 활용성(resoure utilization)은 높아지지만 하드웨어 자원 공유로 인한 성능 간섭현상으로 인해 실시간 작업의 QoS(Quality of Service)를 보장하기 힘든 문제점이 있다.
또한, 종래 서버 통합 기술에는 동적으로 하드웨어 자원이 분배될 때 공유되는 하드웨어 자원의 상태 정보를 통해 외부 공격자(attacker)가 공격 대상자(victim)의 특정 코드 또는 데이터의 접근 여부를 알아내는 사이드 채널(side-channel) 공격 등에 취약한 문제점이 있다.
이때, 사이드 채널 공격이라 함은 예를 들어, 도 1에서와 같이 공격자(attacker)(100)가 공유되는 캐시자원(120, 122)을 선점하여 미리 일정 데이터를 저장하여 놓은 상태에서, 도 2에서 보여지는 바와 같이 공격 대상자(victim)(150)가 자원 공유를 통해 캐시 자원(122)의 특정 캐시(170)에 저장된 데이터를 삭제하고 자신의 데이터를 저장하는 경우 공격자(100)의 캐시 사용을 인식하여 공격 대상자(170)의 데이터를 탈취하는 방법으로, 통합 서버에서 공유 하드웨어 자원 분배 과정에서의 취약점을 이용하는 공격 중 하나이다.
이와 같이 종래에는 통합 서버의 자원 분배 과정에서의 취약점을 이용한 사이드 채널 공격 등과 같은 외부 공격의 위험성이 존재하여 실시간 작업의 QoS를 보장하며, 자원 활용성과 보안성을 모두 충족시키는 자원 분배 구현이 어려운 문제점이 있었다.
대한민국 공개특허번호 10-2016-0050896호(공개일자 2016년 05월 11일)
따라서, 본 발명의 일실시예에서는 통합 서버의 실시간 작업으로 요청된 QoS를 만족시킬 수 있도록 하드웨어 자원을 동적으로 분배하며, 보안이 설정된 작업에 대해서는 하드웨어 자원의 분배 전에 기저장된 데이터를 삭제하거나, 더미 데이터로 채워 넣음으로써 외부 공격에 의한 데이터 노출의 위험성을 방지시킬 수 있도록 하는 가상머신 또는 컨테이너 기반 통합 서버의 자원 분배 관리장치 및 방법을 제공하고자 한다.
상술한 본 발명의 일실시예에 따른 통합 서버의 자원 분배 관리장치로서, 통합 서버로 요청된실시간(latency-critical) 작업과 배치(batch) 작업들을 모니터링하고, 상기 모니터링한 정보를 기반으로 실시간 작업에 대해 기설정된 QoS가 만족되도록 상기 통합 서버에 구비된 하드웨어 자원을 상기 실시간 작업과 배치 작업에 동적으로 하드웨어 자원을 분배하는 성능 제어기와, 상기 실시간 작업 또는 상기 배치 작업이 보안이 설정된 작업인지 여부를 검사하고, 상기 보안이 설정된 경우 상기 실시간 작업 또는 상기 배치 작업에 분배된 하드웨어 자원의 재분배시 상기 재분배되는 하드웨어 자원에 저장된 데이터를 제3자가 인식할 수 없도록 보안 처리하는 자원 관리기를 포함한다.
또한, 상기 성능 제어기는, 소정의 주기로 상기 실시간 작업의 응답 속도를 측정하고, 상기 측정된 응답 속도와 상기 실시간 작업의 부하를 고려하여 상기 배치 작업에 분배되는 상기 하드웨어 자원의 양을 늘릴 것인지 여부를 결정하는 롱텀 제어기와, 상기 배치 작업에 상기 하드웨어 자원의 양을 늘리기로 결정된 경우, 상기 QoS가 만족되도록 상기 배치 작업에 새로이 분배할 코어 프로세서의 개수와 LLC way 개수를 설정하는 숏텀 제어기를 포함하는 것을 특징으로 한다.
또한, 상기 자원 관리기는, 상기 재분배되는 하드웨어 자원 중 L1과 L2 캐시 및 BTB에 저장된 데이터에 대한 보안 처리를 수행하는 코어 자원 관리기와, 상기 재분배되는 하드웨어 자원 중 LLC 캐시에 대해서는 작업별 LLC way의 개수를 지정하고, 분배 대상 작업에 지정된 LLC way에 저장된 데이터 대한 보안 처리를 수행하는 LLC 자원 관리기를 포함하는 것을 특징으로 한다.
또한, 상기 코어 자원 관리기는, 상기 L1 및 상기 L2에 저장된 데이터를 모두 삭제시키며, 상기 BTB에 더미 데이터를 저장시켜 상기 보안 처리를 수행하는 것을 특징으로 한다.
또한, 상기 코어 자원 관리기는, wbinvd 명령어를 사용하여 상기 L1 및 상기 L2에 저장된 데이터를 모두 삭제시키는 것을 특징으로 한다.
또한, 상기 LLC 자원 관리기는, 상기 분배 대상 작업에 지정된 상기 LLC way에 더미 데이터를 저장시켜 상기 보안 처리를 수행하는 것을 특징으로 한다.
또한, 상기 LLC 자원 관리기는, Intel CAT 명령어를 이용하여 상기 LLC way에 더미 데이터를 저장시키는 것을 특징으로 한다.
또한, 상기 실시간 작업은, 상기 통합 서버에서 기설정된 기준 시간 이내에 요청을 처리하도록 설정된 작업이며, 상기 배치 작업은, 상기 기준 시간에 관계 없이 처리하도록 설정된 작업인 것을 특징으로 한다.
또한, 상기 통합 서버는, 가상 머신 기반 또는 컨테이너 기반에서 상기 하드 웨어 자원이 공유되도록 구현되는 서버인 것을 특징으로 한다.
또한, 본 발명의 일실시예에 따른 통합 서버의 자원 분배 관리방법으로서, 통합 서버에서 실행되는 실시간 작업과 배치 작업을 모니터링하는 단계와, 상기 모니터링한 정보를 기반으로 실시간 작업의 기설정된 QoS가 만족되도록 상기 통합 서버에 구비된 하드웨어 자원을 상기 실시간 작업과 상기 배치 작업에 동적으로 분배하는 단계와, 상기 실시간 작업 또는 상기 배치 작업이 보안이 설정된 작업인지 여부를 검사하는 단계와, 상기 보안이 설정된 경우, 상기 실시간 작업 또는 상기 배치 작업에 분배된 하드웨어 자원의 재분배시 상기 재분배되는 하드웨어 자원에 저장된 데이터를 제3자가 인식할 수 없도록 보안 처리하는 단계를 포함한다.
또한, 상기 동적으로 분배하는 단계는, 소정의 주기로 상기 실시간 작업의 응답 속도를 측정하는 단계와, 상기 측정된 응답 속도와 상기 실시간 작업의 부하를 고려하여 상기 배치 작업에 분배되는 상기 하드웨어 자원의 양을 늘릴 것인지 여부를 결정하는 단계와, 상기 배치 작업에 상기 하드웨어 자원의 양을 늘리기로 결정한 경우, 상기 실시간 작업의 QoS가 만족되도록 상기 배치 작업에 새로이 분배할 코어 프로세서의 개수와 LLC way 개수를 설정하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 보안 처리하는 단계는, 상기 재분배되는 하드웨어 자원 중 L1과 L2 캐시 및 BTB에 저장된 데이터에 대한 제1 보안 처리를 수행하는 단계와, 상기 재분배되는 하드웨어 자원 중 LLC 캐시에 대해서는 작업별 LLC way의 개수를 지정하는 단계와, 분배 대상 작업에 지정된 상기 LLC way에 저장된 데이터 대한 제2 보안 처리를 수행하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 제1 보안 처리를 수행하는 단계는, 기설정된 명령어를 사용하여 상기 L1 및 상기 L2에 저장된 데이터를 모두 삭제시키는 단계와, 상기 BTB에 더미 데이터를 저장시키는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 제2 보안 처리를 수행하는 단계는, 상기 분배 대상 작업에 지정된 상기 LLC way에 더미 데이터를 저장시키는 단계인 것을 특징으로 한다.
본 발명의 일실시예에 따르면, 가상머신 또는 컨테이너 기반 통합 서버의 자원 분배 관리에 있어서, 통합 서버의 실시간 작업으로 요청된 QoS를 만족시킬 수 있도록 하드웨어 자원을 동적으로 분배하여 자원 활용성을 높이며, 보안이 설정된 작업에 대해서는 하드웨어 자원의 분배 전에 기저장된 데이터를 삭제하거나, 더미 데이터로 채워 넣음으로써 외부 공격에 의한 데이터 노출의 위험성을 방지시킬 수 있다.
도 1 내지 도 2는 종래 사이드 채널 공격 개념 예시도.
도 3은 본 발명의 일실시예에 따른 하드웨어 자원을 공유하는 통합 서버의 자원 분배 관리장치의 블록 구성도.
도 4는 본 발명의 일실시예에 따른 하드웨어 자원을 공유하는 통합 서버의 자원 분배 관리장치에서의 동작 제어 흐름도.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운영자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 3은 본 발명의 일실시예에 따른 하드웨어 자원을 공유하는 통합 서버의 자원 분배 관리장치의 블록 구성을 도시한 것이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 자원 분배 관리장치(390)는 성능 제어기(resource controller)(300), 자원 관리기(resource sanitizer)(330) 등을 포함할 수 있다.
성능 제어기(300)는 통합 서버에서 실행되는 실시간 (latency-critical) 작업(312)과 배치(batch) 작업(314) 등을 모니터링(monitoring)하고, 모니터링한 정보를 기반으로 실시간 작업에 대해 기설정된 QoS가 만족되도록 통합 서버에 구비된 하드웨어 자원(hardware resource)을 실시간 작업(312)과 배치 작업(314)에 동적으로 분배한다.
이때, 위와 같은 통합 서버는 가상 머신(virtual machine) 기반 또는 컨테이너(container) 기반에서 하드 웨어 자원이 공유되도록 구현되는 서버일 수 있으며, 성능 제어기(300)는 통합 서버에서 실행되는 실시간 작업과 배치 작업에 대해 주기적으로 모니터링을 수행하여, 통합 서버에서 하드웨어 자원이 가장 효율적으로 활용될 수 있도록 하드웨어 자원을 실시간 작업과 배치 작업에 동적으로 분배할 수 있다.
여기서, 실시간 작업은 통합 서버에서 기설정된 기준 시간 이내에 요청을 처리하도록 설정된 작업으로 정의될 수 있으며, 이러한 실시간 작업은 예를 들어 웹서치(web search) 등이 될 수 있으나 이에 한정되는 것은 아니다. 이때, 웹서치는 예를 들어 사용자 단말(도시되지 않음)로부터 특정 키워드(keyword)에 대응되는 정보의 검색 요청을 수신하여 해당 키워드에 대응되는 정보를 검색하여 제공하는 작업을 의미할 수 있다. 또한, 배치 작업은 기준 시간에 관계 없이 처리하도록 설정된 작업으로 정의될 수 있으며, 예를 들어 머신 러닝(machine learning) 등과 같이 빨리 처리할 필요 없이 백그라운드(back ground)에서 오랫 동안 실행되는 것이 필요한 작업 등이 될 수 있다.
또한, 하드웨어 자원이라 함은 통합 서버에 구비되는 코어 프로세서(core processor) 및 코어 프로세서에 할당되는 L1, L2, LLC(last level cache) way 캐시(cache), BTB(Branch Target Buffer) 등의 메모리 자원 등이 될 수 있으나, 이에 한정되는 것은 아니다.
또한, 이러한 성능 제어기(300)는 롱텀 제어기(long-term controller)(302)와 숏텀 제어기(short-term controller)(304) 등을 포함할 수 있다.
롱텀 제어기(302)는 예를 들어 소정의 주기마다 실시간 작업의 응답 속도를 측정할 수 있으며, 측정된 응답 속도와 실시간 작업의 현재 부하(load)를 고려하여 통합 서버의 전체 하드웨어 자원 분배 측면에서 배치 작업에 분배되는 하드웨어 자원의 양을 늘릴 것인지 여부를 결정할 수 있다.
숏텀 제어기(304)는 롱텀 제어기(302)에서 통합 서버의 전체 하드웨어 자원 분배 측면을 고려하여 배치 작업에 분배되는 하드웨어 자원의 양을 늘리기로 결정한 경우, 통합 서버의 QoS가 만족되도록 배치 작업에 새로이 분배할 코어 프로세서의 개수, LLC way 개수 등을 설정할 수 있다. 이에 따라, 하드웨어 자원에 대한 재분배가 이루어질 수 있다.
자원 관리기(330)는 실시간 작업 또는 배치 작업이 보안이 설정된 작업인지 여부를 검사하고, 보안이 설정된 작업에 대해서는 실시간 작업 또는 배치 작업에 분배된 하드웨어 자원의 재분배시, 해당 하드웨어 자원에 저장된 데이터를 제3자가 인식할 수 없도록 보안 처리한다.
이때, 하드웨어 자원이 공유되는 통합 서버에서는 코어 프로세서 또는 L1, L2, LLC 등의 캐시가 재분배되는 과정에서 이전에 사용되었던 중요한 데이터가 사이드 채널(side-channel) 공격 등과 같은 외부 공격에 의해 탈취될 수 있는 위험이 있었음은 전술한 바와 같다. 이에 따라, 본 발명의 일실시예에 따른 자원 관리기(330)에서는 실시간 작업 또는 배치 작업에 분배되었던 하드웨어 자원를 재분배하는 경우 해당 하드웨어 자원에 기저장된 데이터를 제3자가 인식할 수 없도록 보안 처리한다.
또한, 이러한 자원 관리기(330)는 코어 자원 관리기(core sanitizer)(332)와 LLC 자원 관리기(LLC sanitizer)(334) 등을 포함할 수 있다.
먼저, 코어 자원 관리기(332)는 하드웨어 자원 중 L1과 L2 캐시 및 BTB 등에 저장된 데이터에 대한 보안 처리를 수행할 수 있다. 이때, 코어 자원 관리기(332)는 위와 같은 보안 처리를 수행함에 있어서, 예를 들어 L1과 L2 캐시에 대해서는 wbinvd 명령어를 사용하여 L1 및 상기 L2에 저장된 데이터를 모두 삭제시키는 방식으로 보안 처리를 수행할 수 있다. 또한, 코어 자원 관리기(332)는 BTB에 대해서는 현재 저장된 데이터 대신 더미값을 가지는 더미 데이터(dummy data)를 채워 넣는 방식으로 보안 처리를 수행할 수 있다.
다음으로, LLC 자원 관리기(334)는 하드웨어 자원 중 LLC 캐시에 대해서는 코어 프로세서별 LLC way의 개수를 지정하고, 분배 대상 코어 프로세서에 지정된 LLC way에 저장된 데이터 대한 보안 처리를 수행할 수 있다.
이때, LLC 자원 관리기(334)는 위와 같은 보안 처리를 수행함에 있어서, 예를 들어 Intel CAT 기능 등을 사용하여 분배 대상 코어 프로세서에 지정된 상기 LLC way(370)에 더미 데이터를 저장시켜 보안 처리를 수행할 수 있다.
도 4는 본 발명의 일실시예에 따른 하드웨어 자원을 공유하는 통합 서버의 자원 분배 관리장치에서 QoS와 보안성을 고려하여 자원을 동적으로 분배하는 동작 제어 흐름을 도시한 것이다.
먼저 자원 분배 관리장치(390)는 통합 서버로 요청된 실시간 작업과 배치 작업을 모니터링하고(S400), 모니터링한 정보를 기반으로 기설정된 QoS가 만족되도록 통합 서버에 구비된 하드웨어 자원을 실시간 작업과 배치 작업에 동적으로 분배한다(S402).
이때, 위와 같은 통합 서버는 가상 머신 기반 또는 컨테이너 기반에서 상기 하드 웨어 자원이 공유되도록 구현되는 서버일 수 있으며, 자원 분배 관리장치(390)는 통합 서버에 생성된 크리티컬 작업과 배치 작업에 대해 주기적으로 모니터링을 수행하여, 통합 서버에서 하드웨어 자원이 가장 효율적으로 활용될 수 있도록 하드웨어 자원을 실시간 작업과 배치 작업에 동적으로 분배하는 것이다.
또한, 자원 분배 관리장치(390)는 위와 같은 하드웨어 자원의 동적 분배 동작에 있어서, 예를 들어 소정의 주기마다 실시간 작업의 응답 속도를 측정하고, 측정된 응답 속도와 통합 서버의 현재 부하(load)를 고려하여 통합 서버의 전체 하드웨어 자원 분배 측면에서 배치 작업에 분배되는 하드웨어 자원의 양을 늘릴 것인지 여부를 결정할 수 있다. 이어, 배치 작업에 분배되는 하드웨어 자원의 양을 늘리기로 결정한 경우, 통합 서버의 QoS가 만족되도록 배치 작업에 새로이 분배할 코어 프로세서의 개수와 LLC way 개수 등을 설정하는 것을 통해 하드웨어 자원의 동적 분배를 수행할 수 있다.
이어, 자원 분배 관리장치(390)는 실시간 작업 또는 배치 작업이 보안이 설정된 작업인지 여부를 검사한다(S404).
이때, 하드웨어 자원이 공유되는 통합 서버에서는 코어 프로세서 또는 L1, L2, LLC 등의 캐시가 재분배되는 과정에서 이전에 사용되었던 중요한 데이터가 side-channel 공격 등과 같은 외부 공격에 의해 탈취될 수 있는 위험성이 있다.
이에 따라, 자원 분배 관리장치(390)는 실시간 작업 또는 배치 작업이 보안이 설정된 경우에는(S406), 해당 실시간 작업 또는 배치 작업에 분배되었던 하드웨어 자원의 재분배시 해당 하드웨어 자원을 재분배하기 전에 해당 하드웨어 자원에 기저장된 데이터를 제3자가 인식할 수 없도록 보안 처리를 수행한다(S408).
이때, 자원 분배 관리장치(390)는 보안 처리를 수행함에 있어서, 예를 들어 하드웨어 자원 중 L1과 L2 캐시에 대해서는 wbinvd 명령어를 사용하여 L1 및 상기 L2에 저장된 데이터를 모두 삭제시키는 방식으로 보안 처리를 수행할 수 있다. 또한, 자원 분배 관리장치는 BTB(Branch Target Buffer)에 대해서는 현재 저장된 데이터 대신 더미값을 가지는 더미 데이터를 채워 넣는 방식으로 보안 처리를 수행할 수 있다.
또한, 자원 분배 관리장치(390)는 하드웨어 자원 중 LLC 캐시에 대해서는 코어 프로세서별 LLC way의 개수를 지정하고, 분배 대상 코어 프로세서에 지정된 LLC way(370)에 저장된 데이터 대한 보안 처리를 수행할 수 있다.
이때, 자원 분배 관리장치(390)는 LLC 캐시에 대한 보안 처리에 있어서, 예를 들어 Intel CAT 기능 등을 사용하여 분배 대상 코어 프로세서에 지정된 상기 LLC way에 더미 데이터를 저장시켜 보안 처리를 수행할 수 있다.
이에 따라, 실시간 작업 또는 배치 작업에 통합 서버의 하드웨어 자원을 재분배하는 과정에서 보안이 설정된 작업에 대해서는 하드웨어 자원의 재분배 전에 보안 처리를 수행하여 이전에 저장되었던 데이터를 삭제하거나, 더미 데이터로 채워 넣음으로써 외부 공격에 의한 데이터 노출의 위험성을 방지시킬 수 있다.
상술한 바와 같이, 본 발명의 일실시예에 따르면, 가상머신 또는 컨테이너 기반 통합 서버의 자원 분배 관리에 있어서, 통합 서버의 실시간 작업으로 요청된 QoS를 만족시킬 수 있도록 하드웨어 자원을 동적으로 분배하여 자원 활용성을 높이며, 보안이 설정된 작업에 대해서는 하드웨어 자원의 분배 전에 기저장된 데이터를 삭제하거나, 더미 데이터로 채워 넣음으로써 외부 공격에 의한 데이터 노출의 위험성을 방지시킬 수 있다.
본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
300 : 성능 제어기 302 : 롱텀 제어기
304 : 숏텀 제어기 312 : 실시간 작업
314 : 배치 작업 330 : 자원 관리기
332 : 코어 자원 관리기 334 : LLC 자원 관리기
340 : BTB 342, 344 : L1, L2
370 : LLC way

Claims (14)

  1. 통합 서버로 요청된 실시간 (latency-critical) 작업과 배치(batch) 작업을 모니터링하고, 모니터링한 정보를 기반으로 실시간 작업에 대해 기설정된 QoS가 만족되도록 상기 통합 서버에 구비된 하드웨어 자원을 상기 실시간 작업과 상기 배치 작업에 동적으로 분배하는 성능 제어기와,
    상기 실시간 작업 또는 상기 배치 작업이 보안이 설정된 작업인지 여부를 검사하고, 보안이 설정된 경우 상기 실시간 작업 또는 상기 배치 작업에 분배된 하드웨어 자원의 재분배시 재분배되는 하드웨어 자원에 저장된 데이터를 제3자가 인식할 수 없도록 보안 처리하는 자원 관리기를 포함하며,
    상기 보안 처리는 상기 데이터를 삭제하거나, 상기 데이터를 더미 데이터로 채우는 것인
    통합 서버의 자원 분배 관리장치.
  2. 제 1 항에 있어서,
    상기 성능 제어기는,
    소정의 주기로 상기 실시간 작업의 응답 속도를 측정하고, 측정된 응답 속도와 상기 실시간 작업의 부하를 고려하여 상기 배치 작업에 분배되는 상기 하드웨어 자원의 양을 늘릴 것인지 여부를 결정하는 롱텀 제어기와,
    상기 배치 작업에 상기 하드웨어 자원의 양을 늘리기로 결정된 경우, 상기 실시간 작업의 QoS가 만족되도록 상기 배치 작업에 새로이 분배할 코어 프로세서의 개수와 LLC way 개수를 설정하는 숏텀 제어기를 포함하는
    통합 서버의 자원 분배 관리장치.
  3. 제 1 항에 있어서,
    상기 자원 관리기는,
    상기 재분배되는 하드웨어 자원 중 L1과 L2 캐시 및 BTB에 저장된 데이터에 대한 보안 처리를 수행하는 코어 자원 관리기와,
    상기 재분배되는 하드웨어 자원 중 LLC 캐시에 대해서는 작업별 LLC way의 개수를 지정하고, 분배 대상 작업에 지정된 LLC way에 저장된 데이터 대한 보안 처리를 수행하는 LLC 자원 관리기를 포함하는
    통합 서버의 자원 분배 관리장치.
  4. 제 3 항에 있어서,
    상기 코어 자원 관리기는,
    상기 L1 및 상기 L2에 저장된 데이터를 모두 삭제시키며, 상기 BTB에 더미 데이터를 저장시켜 상기 보안 처리를 수행하는
    통합 서버의 자원 분배 관리장치.
  5. 제 4 항에 있어서,
    상기 코어 자원 관리기는,
    wbinvd 명령어를 사용하여 상기 L1 및 상기 L2에 저장된 데이터를 모두 삭제시키는
    통합 서버의 자원 분배 관리장치.
  6. 제 3 항에 있어서,
    상기 LLC 자원 관리기는,
    상기 분배 대상 작업에 지정된 상기 LLC way에 더미 데이터를 저장시켜 상기 보안 처리를 수행하는
    통합 서버의 자원 분배 관리장치.
  7. 제 6 항에 있어서,
    상기 LLC 자원 관리기는,
    Intel CAT 기능을 이용하여 상기 LLC way에 더미 데이터를 저장시키는
    통합 서버의 자원 분배 관리장치.
  8. 제 1 항에 있어서,
    상기 실시간 작업은, 상기 통합 서버에서 기설정된 기준 시간 이내에 요청을 처리하도록 설정된 작업이며,
    상기 배치 작업은, 상기 기준 시간에 관계 없이 처리하도록 설정된 작업인
    통합 서버의 자원 분배 관리장치.
  9. 제 1 항에 있어서,
    상기 통합 서버는,
    가상 머신 기반 또는 컨테이너 기반에서 상기 하드 웨어 자원이 공유되도록 구현되는 서버인
    통합 서버의 자원 분배 관리장치.
  10. 통합 서버에서 실행되는 실시간 작업과 배치 작업을 모니터링하는 단계와,
    상기 모니터링 하는 단계에서 모니터링된 정보를 기반으로 상기 실시간 작업의 기설정된 QoS가 만족되도록 상기 통합 서버에 구비된 하드웨어 자원을 상기 실시간 작업과 상기 배치 작업에 동적으로 분배하는 단계와,
    상기 실시간 작업 또는 상기 배치 작업이 보안이 설정된 작업인지 여부를 검사하는 단계와,
    상기 실시간 작업 또는 상기 배치 작업이 보안이 설정된 경우, 상기 실시간 작업 또는 상기 배치 작업에 분배된 하드웨어 자원의 재분배시 재분배되는 하드웨어 자원에 저장된 데이터를 제3자가 인식할 수 없도록 보안 처리하는 단계를 포함하며,
    상기 보안 처리는 상기 데이터를 삭제하거나, 상기 데이터를 더미 데이터로 채우는 것인
    통합 서버의 자원 분배 관리방법.
  11. 제 10 항에 있어서,
    상기 동적으로 분배하는 단계는,
    소정의 주기로 상기 실시간 작업의 응답 속도를 측정하는 단계와,
    측정된 응답 속도와 상기 실시간 작업의 부하를 고려하여 상기 배치 작업에 분배되는 상기 하드웨어 자원의 양을 늘릴 것인지 여부를 결정하는 단계와,
    상기 배치 작업에 상기 하드웨어 자원의 양을 늘리기로 결정한 경우, 상기 실시간 작업의 QoS가 만족되도록 상기 배치 작업에 새로이 분배할 코어 프로세서의 개수와 LLC way 개수를 설정하는 단계를 포함하는
    통합 서버의 자원 분배 관리방법.
  12. 제 10 항에 있어서,
    상기 보안 처리하는 단계는,
    상기 재분배되는 하드웨어 자원 중 L1과 L2 캐시 및 BTB에 저장된 데이터에 대한 제1 보안 처리를 수행하는 단계와,
    상기 재분배되는 하드웨어 자원 중 LLC 캐시에 대해서는 작업별 LLC way의 개수를 지정하는 단계와,
    분배 대상 작업에 지정된 상기 LLC way에 저장된 데이터 대한 제2 보안 처리를 수행하는 단계를 포함하는
    통합 서버의 자원 분배 관리방법.
  13. 제 12 항에 있어서,
    상기 제1 보안 처리를 수행하는 단계는,
    기설정된 명령어를 사용하여 상기 L1 및 상기 L2에 저장된 데이터를 모두 삭제시키는 단계와,
    상기 BTB에 더미 데이터를 저장시키는 단계를 포함하는
    통합 서버의 자원 분배 관리방법.
  14. 제 12 항에 있어서,
    상기 제2 보안 처리를 수행하는 단계는,
    상기 분배 대상 작업에 지정된 상기 LLC way에 더미 데이터를 저장시키는 단계인
    통합 서버의 자원 분배 관리방법.
KR1020180028042A 2018-03-09 2018-03-09 통합 서버의 자원 분배 관리장치 및 방법 KR102045039B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180028042A KR102045039B1 (ko) 2018-03-09 2018-03-09 통합 서버의 자원 분배 관리장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180028042A KR102045039B1 (ko) 2018-03-09 2018-03-09 통합 서버의 자원 분배 관리장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190106488A KR20190106488A (ko) 2019-09-18
KR102045039B1 true KR102045039B1 (ko) 2019-11-14

Family

ID=68070796

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180028042A KR102045039B1 (ko) 2018-03-09 2018-03-09 통합 서버의 자원 분배 관리장치 및 방법

Country Status (1)

Country Link
KR (1) KR102045039B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210105119A (ko) 2020-02-18 2021-08-26 울산과학기술원 서버의 자원 분배 관리 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102415027B1 (ko) 2019-11-05 2022-07-01 주식회사 테라텍 대규모 클라우드 데이터 센터 자율 운영을 위한 백업 복구 방법
KR102496115B1 (ko) 2019-11-28 2023-02-06 한국전자통신연구원 강화학습 기반 이타적 스케줄링 장치 및 방법
KR20220060871A (ko) 2020-11-05 2022-05-12 주식회사 테라텍 데이터 센터용 인공지능 통합 자원 관리 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160092677A1 (en) * 2014-09-30 2016-03-31 Amazon Technologies, Inc. Allocation of shared system resources

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102119160B1 (ko) 2014-10-31 2020-06-10 에스케이텔레콤 주식회사 가상화 기반 접속 컨트롤러 생성 방법 및 이를 지원하는 통합 관리 서버

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160092677A1 (en) * 2014-09-30 2016-03-31 Amazon Technologies, Inc. Allocation of shared system resources

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Harshad Kasture 외 1인, "Ubik: Efficient Cache Sharing with Strict QoS for Latency-Critical Workloads", Association for Computing Machinery (2014. 3. 1.)*
Jakub M. Szefer, "Architectures for Secure Cloud Computing Servers", Ph.D Dissertation, Princeton University (2013. 9.)*
Zecheng He 외 1인, "How secure is your cache against side-channel attacks?", Micro-50 (2017.10.14.)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210105119A (ko) 2020-02-18 2021-08-26 울산과학기술원 서버의 자원 분배 관리 방법 및 장치

Also Published As

Publication number Publication date
KR20190106488A (ko) 2019-09-18

Similar Documents

Publication Publication Date Title
KR102045039B1 (ko) 통합 서버의 자원 분배 관리장치 및 방법
US10394477B2 (en) Method and system for memory allocation in a disaggregated memory architecture
US9098608B2 (en) Processor configured to allocate resources using an entitlement vector
CN111279663B (zh) 在具有硬件安全模块的密钥管理系统中推迟熵耗尽
US9465657B2 (en) Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US20170359271A1 (en) Multi-tenant based system and method for providing services
US20150020075A1 (en) Entitlement vector for managing resource allocation
US10379771B1 (en) Systems and methods for policy driven storage in a hyper-convergence data center
CN109246026B (zh) 流量管控方法、装置、设备及存储介质
CN106411558B (zh) 一种数据流量限制的方法及系统
US20180260330A1 (en) Dynamically allocating cache in a multi-tenant processing infrastructure
US10361930B2 (en) Rerouting data of a streaming application
US10560385B2 (en) Method and system for controlling network data traffic in a hierarchical system
US20160154676A1 (en) Method of Resource Allocation in a Server System
US9569281B1 (en) Dynamic synchronization object pool management
US9766995B2 (en) Self-spawning probe in a distributed computing environment
US8458719B2 (en) Storage management in a data processing system
US9152457B2 (en) Processing request management
US10009249B2 (en) System with on-demand state for applications
CN113626151B (zh) 一种容器云日志收集资源控制方法及系统
US10171313B2 (en) Managing workload to meet execution criterion in a hybrid cloud environment
US10956228B2 (en) Task management using a virtual node
US9876713B2 (en) Cross-domain service request placement in a software defined environment (SDE)
US10884950B2 (en) Importance based page replacement
US20230176893A1 (en) Method and apparatus for migrating virtual machine in memory-disaggregated environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right