KR20200133478A - 클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법 - Google Patents

클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20200133478A
KR20200133478A KR1020190058716A KR20190058716A KR20200133478A KR 20200133478 A KR20200133478 A KR 20200133478A KR 1020190058716 A KR1020190058716 A KR 1020190058716A KR 20190058716 A KR20190058716 A KR 20190058716A KR 20200133478 A KR20200133478 A KR 20200133478A
Authority
KR
South Korea
Prior art keywords
mcp
uwa
priority
information
resource
Prior art date
Application number
KR1020190058716A
Other languages
English (en)
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 KR1020190058716A priority Critical patent/KR20200133478A/ko
Priority to EP20809405.2A priority patent/EP3970015A4/en
Priority to PCT/KR2020/006433 priority patent/WO2020235880A1/en
Priority to US16/877,172 priority patent/US11283860B2/en
Publication of KR20200133478A publication Critical patent/KR20200133478A/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/052Network management architectures or arrangements using standardised network management architectures, e.g. telecommunication management network [TMN] or unified network management architecture [UNMA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Abstract

본 개시(disclosure)는 LTE(Long Term Evolution)와 같은 4G(4th generation) 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G(5th generation) 또는 pre-5G 통신 시스템에 관련된 것이다. 본 개시는 클라우드 시스템에서 자원 조정을 위한 장치에 관한 것으로, 상기 장치의 동작 방법은, 호스트 서버 내의 MCP(management or control plane) 및 적어도 하나의 UWA(user workloads or applications)에 대한 동작 성능을 나타내기 위한 상태 정보를 수신하는 과정과, 상기 상태 정보에 기반하여, 자원 조정에 관한 조치를 결정하는 과정과, 상기 MCP 및 상기 적어도 하나의 UWA에 대해 상기 결정된 자원 조정에 관한 조치를 수행하는 과정을 포함할 수 있다.

Description

클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법{APPARATUS AND METHOD FOR ADJUSTING RESOURCES IN CLOUD SYSTEM}
본 개시(disclosure)는 일반적으로 클라우드 시스템에 관한 것으로, 보다 구체적으로 클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법에 관한 것이다.
4G(4th generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G(5th generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(beyond 4G network) 통신 시스템 또는 LTE(long term evolution) 시스템 이후(post LTE) 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역(예를 들어, 28기가(28GHz) 또는 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive multiple-input multiple-output, massive MIMO), 전차원 다중입출력(full dimensional MIMO, FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beamforming), 및 대규모 안테나(large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크(cloud radio access network, cloud RAN), 초고밀도 네트워크(ultra-dense network), 기기 간 통신(device to device communication, D2D), 무선 백홀(wireless backhaul), 이동 네트워크(moving network), 협력 통신(cooperative communication), CoMP(coordinated multi-points), 및 수신 간섭제거(interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(advanced coding modulation, ACM) 방식인 FQAM(hybrid frequency shift keying and quadrature amplitude modulation) 및 SWSC(sliding window superposition coding)과, 진보된 접속 기술인 FBMC(filter bank multi carrier), NOMA(non-orthogonal multiple access), 및 SCMA(sparse code multiple access) 등이 개발되고 있다.
높은 데이터 전송률을 지원할 수 있는 5G 시스템이 구축됨에 따라, 자율 주행, 가상 현실(virtual reality, VR) 등의 대용량 데이터가 필요한 서비스들이 제공될 수 있다. 이러한 대용량 데이터를 효율적으로 처리하기 위하여, 대용량 데이터에 대한 실시간 응답과 네트워크 대역폭의 한계를 극복하기 위한 마이크로 데이터 센터 및 분산된 소형 서버들이 데이터를 처리하는 에지 컴퓨팅 기반의 IoT(internet of things), 5G, 및 NFV(network functions virtualization) 클라우드 시스템들과 관련된 기술들이 연구되고 있다.
상술한 바와 같은 논의를 바탕으로, 본 개시(disclosure)는, 클라우드 시스템에서 자원을 효과적으로 조정하기 위한 장치 및 방법을 제공한다.
또한, 본 개시는, 클라우드 시스템에서 호스트 서버의 현재 상태에 따라 호스트 서버 내의 자원 할당을 동적으로 조정하기 위한 장치 및 방법을 제공한다.
본 개시의 다양한 실시 예들에 따르면, 클라우드 시스템에서 자원 조정을 위한 장치의 동작 방법은, 호스트 서버 내의 MCP(management or control plane) 및 적어도 하나의 UWA(user workloads or applications)에 대한 동작 성능을 나타내기 위한 상태 정보를 수신하는 과정과, 상기 상태 정보에 기반하여, 자원 조정에 관한 조치를 결정하는 과정과, 상기 MCP 및 상기 적어도 하나의 UWA에 대해 상기 결정된 자원 조정에 관한 조치를 수행하는 과정을 포함할 수 있다.
본 개시의 다양한 실시 예들에 따르면, 클라우드 시스템에서 자원 조정을 위한 장치는, 송수신부, 및 상기 송수신부와 동작적으로 연결된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 호스트 서버 내의 MCP 및 적어도 하나의 UWA에 대한 동작 성능을 나타내기 위한 상태 정보를 수신하고, 상기 상태 정보에 기반하여, 자원 조정에 관한 조치를 결정하고, 상기 MCP 및 상기 적어도 하나의 UWA에 대해 상기 결정된 자원 조정에 관한 조치를 수행하도록 구성된다.
본 개시의 다양한 실시 예들에 따른 장치 및 방법은, 호스트 서버 내에서 자원을 공유하는 MCP(management or control plane) 및 UWA(user workloads or applications)에 대해, MCP 및 UWA의 상태 정보에 기반하여 자원을 동적으로 조정함으로써, 실시간으로 변화하는 동작 상황에 따라 적응적으로 자원을 할당할 수 있게 한다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템을 도시한다.
도 2는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 자원 관리 장치의 구성을 도시한다.
도 3은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 자원 관리 장치의 흐름도를 도시한다.
도 4는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 머신 러닝(machine learning)을 이용하여 자원 조정을 수행하는 알고리즘을 도시한다.
도 5는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP(management or control plane) 및 UWA(user workloads or applications) 간의 자원 분할(split)을 조정하기 위한 흐름도를 도시한다.
도 6은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 간의 자원 분할을 조정하기 위한 다른 흐름도를 도시한다.
도 7은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 간의 자원 분할을 조정하는 예를 도시한다.
도 8은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 클러스터의 크기들을 조정하기 위한 흐름도를 도시한다.
도 9는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 클러스터의 크기들을 조정하기 위한 다른 흐름도를 도시한다.
도 10은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 클러스터의 크기들을 조정하는 예를 도시한다.
도 11은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP의 일부 모듈들에 할당된 자원들을 이용하여 자원 조정을 수행하기 위한 흐름도를 도시한다.
도 12는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP의 일부 모듈들에 할당된 자원들을 이용하여 자원 조정을 수행하기 위한 다른 흐름도를 도시한다.
도 13은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP의 일부 모듈들에 할당된 자원들을 이용하여 자원 조정을 수행하는 예를 도시한다.
본 개시에서 사용되는 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 개시에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 개시에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 개시에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 개시에서 정의된 용어일지라도 본 개시의 실시 예들을 배제하도록 해석될 수 없다.
이하에서 설명되는 본 개시의 다양한 실시 예들에서는 하드웨어적인 접근 방법을 예시로서 설명한다. 하지만, 본 개시의 다양한 실시 예들에서는 하드웨어와 소프트웨어를 모두 사용하는 기술을 포함하고 있으므로, 본 개시의 다양한 실시 예들이 소프트웨어 기반의 접근 방법을 제외하는 것은 아니다.
이하 본 개시는 클라우드 시스템에서 호스트 서버 내의 자원을 조정하기 위한 장치 및 방법에 관한 것이다. 구체적으로, 본 개시는 클라우드 시스템에서 호스트 서버 내의 MCP(management or control plane) 및 UWA(user workloads or applications)의 실시간 상태 정보에 기반하여 자원을 동적으로 조정하기 위한 기술을 설명한다.
이하 설명에서 사용되는 네트워크 객체(network entity)들을 지칭하는 용어, 네트워크 객체 내의 모듈들을 지칭하는 용어, 장치의 구성 요소들을 지칭하는 용어, 네트워크 객체에 저장되는 데이터들을 지칭하는 용어, 자원들을 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 다른 용어가 사용될 수 있다.
일반적으로 가상 머신(virtual machine, VM)들, 컨테이너(container)들, 또는 서비스들을 프로비저닝(provisioning)할 수 있는 클라우드 인프라스트럭쳐는 크게 두 카테고리의 객체들, 즉, MCP 및 UWA로 구성될 수 있다. MCP는, 프로비저닝 및 UWA의 바람직한(desired) 상태를 유지하기 위한 인프라스트럭쳐의 가용성을 제공 및 보장하기 위해, 시스템 내의 이벤트들 또는 에러들에 기반하여 모니터링, 제어, 수정 조치를 취할 수 있는 서비스들 또는 어플리케이션들로 이해될 수 있다. MCP는 클라우드 시스템의 인프라스트럭쳐 구성 요소들 및 UWA들의 수명 주기를 유지하는 목적을 달성하기 위한 기능들을 제공한다. MCP는 운영 체제 서비스들, 별도의 가상 머신들 또는 컨테이너들과 같이 다양한 형태들로 배치될 수 있다. UWA는, 분석(analytics) 어플리케이션을 위한 데이터 처리, NFV(network functions virtualization) 어플리케이션을 위한 패킷 처리, 또는 웹 어플리케이션을 위한 API(application programming interface) 요청 처리와 같은 실제 기능을 최종 사용자에게 제공하는 서비스들 또는 어플리케이션들로 이해될 수 있다. UWA 역시 가상 머신들, 컨테이너들, FaaS(functions as a service) 등과 같이 다양한 형태들로 배치될 수 있다.
일반적으로 MCP를 위한 자원들은 이하에서 설명되는 방식들을 통해 프로비저닝될 수 있다. MCP를 실행하기 위하여 별도의 서버들 또는 가상 머신들이 이용되는 경우, 즉, MCP와 UWA가 별도의 서버들을 통해 제공되는 경우, MCP 내의 모듈들은 분리된 자원들에 대해, 프로비저닝되고, 유지되고, 확장될 수 있다. 이러한 방식은 대규모의 서버들(예: 서버 100대 또는 서버 1000대)의 관리와 관련된 클라우드 시스템 배치에서 일반적으로 사용될 수 있다. 한편, MCP가 UWA들과 동일한 서버에서 제공되는 경우, MCP 및 UWA들은 자원들을 공유할 수 있다. 이러한 방식은 마이크로 데이터 센터 및 에지 컴퓨팅과 관련된 IoT(internet of things), 5G(5th generation), 및 NFV 클라우드 시스템들에서 사용될 수 있다. 이러한 경우, 클라우드 인프라스트럭쳐의 크기가 작기 때문에(일반적으로 서버 10대 이하), MCP를 위해 전용 자원들을 할당하는 것은 비효율적이고 오버헤드를 야기할 수 있다.
본 개시에서는, 일반적인 클라우드 환경에서 동일한 서버에서 제공되는 MCP 및 UWA 간에 공유되는 자원들을 제어하고, 특히 NFV 시스템에서 5G와 같은 차세대 네트워크 인프라스트럭쳐를 구현하기 위한 시스템이 설명된다.
MCP 및 UWA 간의 자원 공유가 에지 컴퓨팅과 관련된 5G 및 NFV 클라우드 시스템을 위한 소규모 클라우드 인프라스트럭쳐들을 생성하고 운영할 수 있는 유연성을 제공하지만, 단일 호스트 서버에서 MCP 및 UWA 간 최적의 자원 공유 결정과 관련된 다양한 요소들을 고려하지 않는다는 문제점이 존재한다. 구체적으로, MCP를 위한 자원들(예: 가상 머신의 크기, 가상 CPU(central processing unit)들, 메모리, 디스크 공간, GPU(graphics processing unit)들 등)은 특정 가정에 기반하여 초기 배치 시점에 할당된다. 그러나, 마이크로 데이터 센터들 및 NFV 클라우드 환경에서는 실제 동작 조건들이 빠르게 변경되므로, 이러한 초기 가정은 실제 사용 조건들과 일치하지 않는다. 또한, 특정 MCP 내의 모듈들의 경우, 모듈들은 호스트 서버 내의 자원 가용 상황과 관계없이 호스트 서버 내의 UWA와 직접적으로 자원을 경쟁하는 호스트 OS(operating system)에 배치된다.
자원 효율 및 비용 효율을 향상시키기 위해, 컴퓨팅 노드들은 MCP 및 UWA 간의 자원들을 종종 공유한다. MCP가 UWA와 별도의 서버에 의해 제공되는 경우에도, 특정 관리 모듈들(예: 에이전트들)은 UWA와 공유되는 자원들을 이용하는 호스트 서버들에 배치된다. 또한, MCP 및 UWA가 동일한 서버에서 제공되는 경우, MCP 및 UWA 간 자원들의 정적인 분할은, MCP 또는 UWA에 대해 오버 프로비저닝을 발생시킴으로써 MCP에 대해 과도하게 자원들이 할당되는 비효율적인 시스템 구성으로 이어지거나, 또는 MCP에 대해 언더 프로비저닝을 발생시킴으로써 MCP의 제어 기능 및 QoS(quality of service)의 저하를 야기할 수 있다.
상술한 요소들 및 제한들로 인하여, 제어 기능을 수행하는 MCP는, 특히 에지 컴퓨팅 또는 엄격한 지연 시간 SLA(service level agreement)를 가지는 소규모 클라우드 시스템의 실제 사용 환경에서 최적 이하의 상태로 동작한다. 일반적으로 클라우드 시스템 설계 시, MCP는 최종 사용자가 인지할 수 있는 결과에 직접적으로 기여하지 않으므로, 오버 헤드로 간주되어 무시된다. 그러나, 5G, NFV, 및 IoT 클라우드 시스템들의 경우, 서비스들의 동적 프로비저닝으로 인해 관리 및 모니터링, 및 폐-루프(closed-loop) 동작의 지속적인 상호 작용이 발생하므로, MCP에 대한 QoS를 모니터링하고 유지 관리할 필요가 있다.
이하 본 개시에서는, 동일한 호스트 서버 내에 배치된 MCP 및 UWA의 자원 할당 상황을 동적으로 제어함으로써, 클라우드 환경에 대해 요구되는 MCP 및 UWA 모두의 최적 QoS 및 SLA를 달성할 수 있는 방안들이 설명된다.
도 1은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템을 도시한다. 도 1의 클라우드 시스템은 자원 관리 장치 100, 호스트 서버들 120a, 120b, 및 120c를 포함한다.
자원 관리 장치 100은 호스트 서버들 120a 내지 120c에 배치된 MCP들 및 UWA들 에게 할당되는 자원들을 조정하기 위한 장치이다. 자원 관리 장치 100은 호스트 서버들 120a 내지 120c 각각의 MCP 및 UWA들의 동작 상황을 모니터링하여, 단일 호스트 서버 내의 자원들을 공유하는 MCP 및 UWA들 각각에게 할당되는 자원들을 조정하는 기능을 수행한다. 예를 들어, 자원 관리 장치 100은 호스트 서버 120a, 호스트 서버 120b, 및 호스트 서버 120c 각각에 배치된 MCP 및 UWA들의 HA(high availability), 자원 가용성(resource availability), SLA(service level agreement), 및 QoS(quality of service) 등이 포함된 상태 정보를 수신하고, MCP 또는 UWA들에 대해 자원 증가가 필요한지 여부를 결정할 수 있다. 상술한 기능을 수행하기 위해, 자원 관리 장치 100은 기능적으로 분리된 다수의 객체들을 포함할 수 있다. 이하, 본 개시는 설명의 편의를 위하여, 자원 관리 장치 100이 호스트 서버들의 외부에 별도로 존재하는 장치로 서술되나, 이에 한정되지 않는다. 즉, 자원 관리 장치 100은 호스트 서버 내에서 MCP 구성의 일부로서 존재하거나, 호스트 서버와 별도의 장치로서 상술한 기능을 수행할 수 있다.
호스트 서버 120a, 호스트 서버 120b, 및 호스트 서버 120c는 각각 클라우드 서비스를 제공하기 위한 장치이다. 호스트 서버 120a는 UWA들 130a, MCP 140a, 호스트 OS 150a를 포함할 수 있다. UWA들 130a는 VNF(virtual network function)1 132a, 게스트 OS 134a, VNF 컨테이너2 136a, 어플리케이션1 138a를 포함할 수 있다. UWA들 130a는 분석 어플리케이션을 위한 데이터 처리, NFV 어플리케이션을 위한 패킷 처리, 또는 웹 어플리케이션을 위한 API 요청 처리와 같이 다양한 기능을 사용자에게 제공하는 기능을 수행한다. 또한, MCP 140a는 클라우드 시스템의 구성 요소들 및 UWA들 130a의 수명 주기를 유지하기 위한 제어 기능을 수행한다. 또한, 호스트 OS 150a는 호스트 서버 120a의 모든 하드웨어들 및 소프트웨어 구성들을 관리하는 기능을 수행한다. 다양한 실시 예들에 따라, 호스트 서버들 120b 및 120c는 호스트 서버 120a와 동등한 구성 요소들을 포함할 수 있다.
도 2는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 자원 관리 장치의 구성을 도시한다. 도 2에 예시된 구성은 자원 관리 장치 100의 구성으로서 이해될 수 있다. 이하 사용되는 '…부', '…기' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어, 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2를 참고하면, 자원 관리 장치는 통신부 210, 제어부 220, 및 저장부 230을 포함한다.
통신부 210은 정보를 송수신하기 위한 기능들을 수행할 수 있다. 구체적으로, 통신부 210은 네트워크 내 다른 노드들과 통신을 수행하기 위한 인터페이스를 제공할 수 있다. 즉, 통신부 210은 자원 관리 장치에서 다른 노드, 예를 들어, 호스트 서버(예: 호스트 서버 120a, 호스트 서버 120b, 호스트 서버 120c) 등으로 송신되는 비트열을 물리적 신호로 변환하고, 호스트 서버로부터 수신되는 물리적 신호를 비트열로 변환한다. 통신부 210은 무선 또는 유선 통신 환경에서, 신호를 송수신하기 위한 기능들을 수행할 수도 있다. 예를 들어, 통신부 210은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행할 수 있다. 또한, 통신부 210은 다수의 송수신 경로(path)들을 포함할 수 있다.
통신부 210은 상술한 바와 같이 신호를 송신 및 수신한다. 이에 따라, 통신부 210은 '송신부', '수신부', '송수신부'로 지칭될 수 있다. 또한, 이하 설명에서, 송신 및 수신은 통신부 210에 의해 상술한 바와 같은 처리가 수행되는 것을 포함하는 의미로 사용된다.
통신부 210은 호스트 서버로부터 MCP 및 UWA의 상태 정보를 수신할 수 있다. MCP 및 UWA의 상태 정보는, 호스트 서버 내에 위치하는 MCP 및 UWA가 미리 정해진 기준에 부합하도록 동작하는지 여부를 판단하기 위해 고려되는 정보를 포함할 수 있다. 통신부 210은 호스트 서버 내의 MCP 및 UWA의 자원 조정에 관한 조치의 수행을 지시하기 위한 신호를 해당 호스트 서버에게 송신할 수 있다.
제어부 220은 자원 관리 장치의 전반적인 동작들을 제어한다. 예를 들어, 제어부 220은 통신부 210을 통해 신호를 송신 및 수신한다. 또한, 제어부 220은 저장부 230에 데이터를 기록하고, 읽는다. 이를 위해, 제어부 220은 적어도 하나의 프로세서를 포함할 수 있다.
제어부 220은 MCP 및 UWA의 상태 정보에 기반하여 자원 조정이 필요한지 여부를 판단하고, 판단 결과에 따라 자원 조정과 관련된 조치를 수행할 것을 결정할 수 있다. 본 개시의 다양한 실시 예들에 따라, 제어부 220은 후술하는 다양한 실시 예들에 따른 동작들을 수행하도록 자원 관리 장치를 제어할 수 있다.
저장부 230은 자원 관리 장치의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 저장부 230은 휘발성 메모리, 비휘발성 메모리 또는 휘발성 메모리와 비휘발성 메모리의 조합으로 구성될 수 있다. 또한, 저장부 230은 제어부 220의 요청에 따라 저장된 데이터를 제공한다. 본 개시의 다양한 실시 예들에 따라, 저장부 230은 MCP 또는 UWA를 위한 자원 증가가 필요한지 여부를 판단하기 위해 고려되는 메트릭들에 관하여 미리 결정된 값들을 저장할 수 있다. 또한, 저장부 230은 호스트 서버의 MCP 및 UWA의 상태 정보에 따라 자원 조정과 관련 조치들을 결정하기 위한 정보를 저장할 수 있다.
이하 도 3 내지 도 13을 참고하여, 동일한 호스트 서버에 배치된 MCP 및 UWA들의 자원 할당 상황을 동적으로 제어하기 위한 자원 관리 장치의 구체적인 동작들이 설명된다.
도 3은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 자원 관리 장치의 흐름도를 도시한다. 도 3은 자원 관리 장치 100의 동작 방법을 예시한다.
도 3을 참고하면, 301 단계에서, 자원 관리 장치는 MCP 및 UWA의 상태 정보를 수신한다. 자원 관리 장치는 하나 이상의 호스트 서버들로부터 각 호스트 서버 내에 배치된 MCP 및 하나 이상의 UWA의 상태 정보를 수신할 수 있다. 보다 구체적으로, 자원 관리 장치는, 특정 시점의 자원 상황에서 MCP 및 UWA의 동작 성능과 관련된 상태 정보를 호스트 서버로부터 주기적으로 수신하고, MCP 또는 UWA 중 적어도 하나에 대해 자원 조정이 필요한지 여부를 결정하기 위해 수신된 정보를 이용할 수 있다. 예를 들어, 상태 정보는 MCP 및 UWA 각각에 대한 HA(high availability), MCP 및 UWA 각각에 대한 SLA(service level agreement), MCP 및 UWA 각각에 대한 QoS(quality of service), 호스트 서버의 자원 가용성, MCP 및 UWA 각각에 대한 부하(load) 레벨 등을 포함할 수 있다. 상태 정보는, 상술한 다양한 메트릭들에 대해 수치화된 값을 포함할 수 있다. 자원 관리 장치는 수치화된 값을 미리 결정된 값과 비교함으로써, 자원 조정이 필요한 상황인지 여부를 확인할 수 있다.
303 단계에서, 자원 관리 장치는 상태 정보에 기반하여 자원 조정에 관한 조치(action)를 결정한다. 보다 구체적으로, 자원 관리 장치는 수신한 상태 정보에 포함된 메트릭들의 값들을 각각 미리 결정된 값과 비교함으로써, 자원 조정이 필요한 상황인지 여부에 대해 판단할 수 있다. 예를 들어, MCP에 대한 메트릭들의 값들 및 UWA에 대한 메트릭들의 값들이 미리 결정된 기준을 만족하는 경우, 자원 관리 장치는 MCP 및 UWA 각각에 대해 현재의 자원 상황을 유지하도록 결정할 수 있다. 또한, MCP에 대한 메트릭의 값들 중 적어도 하나가 미리 결정된 기준을 만족하지 못하는 경우, 자원 관리 장치는 MCP에 대해 추가적인 자원 할당을 수행할 것을 결정할 수 있다. 또한, UWA에 대한 메트릭의 값들 중 적어도 하나가 미리 결정된 기준을 만족하지 못하는 경우, 자원 관리 장치는 UWA에 대해 추가적인 자원 할당을 수행할 것을 결정할 수 있다. 이 경우, 호스트 서버 내에 배치된 MCP 및 UWA들의 우선 순위들 및 미리 결정된 기준을 만족하지 못하는 메트릭의 종류에 기반하여, 자원 할당 방식이 결정될 수 있다.
다양한 실시 예들에 따라, MCP 및 UWA들의 우선 순위들 및 메트릭들에 관한 미리 결정된 기준들은, 스케줄링 정책에 관한 정보로서 자원 관리 장치에 의해 미리 획득되고, 저장될 수 있다. 또한, 스케줄링 정책에 관한 정보는 주기적으로 업데이트될 수 있다. 다양한 실시 예들에 따라, 스케줄링 정책은, MCP 및 UWA 각각에 대해 허용 가능한 QoS, MCP 및 UWA 각각에 대해 허용 가능한 HA, MCP 및 UWA 각각에 대해 허용 가능한 SLA, UWA들의 우선 순위들, MCP 내의 모듈들의 우선 순위들, MCP 및 UWA 각각에 대한 최대 자원 할당량, MCP 및 UWA 각각에 대한 최소 자원 할당량 등을 포함할 수 있다.
305 단계에서, 자원 관리 장치는 MCP 및 UWA에 대해 결정된 조치를 수행한다. MCP 및 UWA 모두에 대해 자원 조정이 필요하지 않다고 결정되는 경우, 자원 관리 장치는 MCP 및 UWA의 현재 자원 할당 상황을 유지하는 조치를 수행할 수 있다. 또한, 자원 조정이 필요하다고 결정되는 경우, 자원 관리 장치는 상태 정보 및 스케줄링 정책에 관한 정보에 의해 결정된 자원 조정에 관한 조치를 수행할 수 있다. 예를 들어, 자원 관리 장치는 미리 결정된 기준을 만족하지 않는 메트릭의 종류 및 MCP 및 UWA의 우선 순위에 따라, MCP 및 UWA 간 자원 분할을 조정하거나, MCP 및 UWA들의 클러스터 크기들을 조정하거나, MCP의 일부 모듈들에 할당된 자원들을 이용하여 자원을 조정할 수 있다. 다양한 실시 예들에 따라, 자원 조정과 관련된 조치들은 상태 정보의 주기적인 수신에 따라 반복적으로 수행되고, 자원 관리 장치는 상술한 과정들을 반복적으로 수행함으로써 호스트 서버의 MCP 및 UWA의 동작 성능을 일정한 수준 이상으로 유지할 수 있다.
상술한 바와 같이, 자원 관리 장치는 상태 정보 및 스케줄링 정책에 관한 정보에 기반하여 자원 조정에 관한 조치 및 자원 조정량을 결정할 수 있다. 이 때, 일 실시 예에 따라, 자원 조정에 관한 조치 및 자원 조정량을 결정하기 위한 동작은 머신 러닝(machine learning)에 기반한 모델링을 이용하여 보다 자동적으로 수행될 수 있다.
도 4는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 머신 러닝을 이용하여 자원 조정을 수행하는 알고리즘을 도시한다. 도 4는 자원 관리 장치 100의 동작 방법을 예시한다.
401 단계에서, 자원 관리 장치는 상태 정보의 메트릭들 및 수행된 조치들에 관한 데이터를 수집한다. 보다 구체적으로, 자원 관리 장치는 호스트 서버로부터 MCP 및 UWA의 동작 성능을 나타내기 위한 상태 정보를 수신하고, 상태 정보에서 식별되는 메트릭들의 값들과 스케줄링 정책에 관한 정보에 기반하여 수행하고자 하는 자원 조정과 관련된 조치를 결정할 수 있다. 이 경우, 자원 관리 장치는 MCP 및 UWA의 동작과 관련된 메트릭이 미리 정해진 기준을 달성하도록 하기 위해 조정되어야 하는 자원량에 대한 정보 없이 상술한 과정을 수행할 수 있다. 즉, 자원 관리 장치는 자원 조정량에 따른 메트릭 값의 향상 정도에 대한 예측을 통해 조치를 결정할 수 있다. 결정한 조치를 수행한 후, 자원 관리 장치는 조치의 수행 결과가 반영된 MCP 및 UWA의 상태 정보를 수신할 수 있다. 이 경우, 자원 조정 특성 모델링을 위해 강화 학습(reinforcement learning) 방식 및 손실 함수(loss function)가 이용될 수 있다. 자원 관리 장치는 수행된 조치에 대한 평가(예: 보상(reward)), 메트릭 값의 향상 정도에 대한 예측값과 실제 측정값의 차이(예: 손실(loss))에 대한 정보를 획득할 수 있다. 자원 관리 장치는 상술한 과정을 반복적으로 수행하고, 각 시점에서 수신된 상태 정보, 수행된 조치들, 수행된 조치에 대한 평가, 메트릭 값의 향상 정도에 대한 예측값과 실제 측정값의 차이에 대한 데이터를 저장할 수 있다.
403 단계에서, 자원 관리 장치는 수집된 데이터에 기반하여 자원 조정 특성을 모델링한다. 자원 관리 장치는 자원 조정의 반복적 수행에 의해 획득된 다양한 자원 할당 상황들 및 상태 정보에 대응하는 자원 조정 조치 및 자원 조정량에 관한 데이터로부터 자원 조정 특성 모델을 생성할 수 있다. 구체적으로, MCP 및 UWA에 대한 특정 자원 할당 상황에서 MCP 및 UWA가 특정 동작 성능을 나타내는 경우, 자원 관리 장치는 해당 상황에서 보상의 값이 가장 크게 평가된 조치 및 자원 조정량을 선택할 수 있다. 자원 관리 장치는 각 상황에 대해 보상의 값이 가장 큰 조치 및 자원 조정량을 선택함으로써, 자원 조정 특성에 대한 모델을 생성할 수 있다.
405 단계에서, 자원 관리 장치는 모델에 기반하여 MCP 및 UWA에 대해 자원 조정을 수행한다. 403 단계에서 설명된 바와 같이, 자원 관리 장치는 호스트 서버 내의 MCP 및 UWA의 자원 할당 상황 및 상태 정보에 기반하여 생성된 모델에 기반하여, MCP 및 UWA의 성능 및 클라우드 환경을 최적으로 유지하기 위한 자원 조정을 수행할 수 있다. 또한, 자원 관리 장치가 이용하는 모델은 새로운 정보 획득에 따라 지속적으로 업데이트되고, 변경될 수 있다.
상술한 바와 같이, 도 4의 동작은 자원 관리 장치에 의해 수행되는 것으로 설명되었으나, 다른 실시 예에 따르면, 401 단계 및 403 단계는 다른 장치에 의해 수행될 수 있다. 이 경우, 다른 장치가 자원 조정 특성을 모델링하고, 생성된 모델을 자원 관리 장치에게 제공할 수 있다.
도 5는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 간의 자원 분할(split)을 조정하기 위한 흐름도를 도시한다. 도 5는 자원 관리 장치 100의 동작 방법을 예시한다.
도 5를 참고하면, 501 단계에서, 자원 관리 장치는 MCP에 대해 자원 증가가 필요함을 확인한다. 자원 관리 장치는 호스트 서버로부터 수신한 MCP 및 UWA의 상태 정보에 기반하여, MCP에 대해 자원 증가가 필요함을 확인할 수 있다. 즉, 자원 관리 장치는 상태 정보에 기반하여, MCP 내의 적어도 하나의 모듈에 대해 갑자기 많은 요청들이 발생하거나 MCP가 특정 작업을 수행하기 위해 추가적인 자원들을 필요로 하는 상황인지 여부를 판단할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 MCP에 대해 할당되는 가상 CPU 코어들의 수의 증가가 필요한 상황으로 판단할 수 있다. 예를 들면, 상태 정보에 포함된 MCP의 부하 레벨이 미리 결정된 값 이상으로 식별되는 경우, 자원 관리 장치는 MCP에게 추가적인 자원이 필요한 상황으로 판단할 수 있다. 또한, MCP 내의 적어도 하나의 모듈에 대한 데이터 요청들의 수가 미리 결정된 값 이상으로 식별되는 경우, 자원 관리 장치는 MCP에게 추가적인 자원이 필요한 상황으로 판단할 수 있다. MCP의 부하 레벨 또는 데이터 요청들의 수 중 적어도 하나가 미리 결정된 값 이상으로 식별되면, 자원 관리 장치는 MCP에게 더 많은 자원들을 할당함으로써 MCP가 성능을 유지하면서 데이터를 처리할 수 있도록 할 수 있다.
503 단계에서, 자원 관리 장치는 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들이 존재하는지 여부를 식별한다. 구체적으로, 자원 관리 장치는 미리 저장된 스케줄링 정책에 관한 정보에 기반하여, 현재 호스트 서버 내에서 자원을 점유하고 있는 MCP 내의 모듈들의 우선 순위들 및 UWA들의 우선 순위들을 확인할 수 있다. 자원 관리 장치는 스케줄링 정책에 관한 정보에서 확인한 우선 순위들에 기반하여, 부하 레벨 또는 데이터 요청들의 수 중 적어도 하나가 미리 결정된 값 이상으로 식별된 MCP 내 모듈의 우선 순위와 UWA들의 우선 순위들을 비교할 수 있다. 일 실시 예에 따르면, MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들이 충분히 존재하는지 여부는, 상대적으로 낮은 우선 순위를 가지는 UWA들이 현재 점유하고 있는 자원들의 양에 기반하여 결정될 수 있다. 일 실시 예에 따르면, MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들이 충분히 존재하는지 여부는, 상대적으로 낮은 우선 순위를 가지는 UWA들이 미리 결정된 수 이상인지 여부에 따라 결정될 수 있다. 일부 실시 예들에 따르면, 503 단계는 501 단계와 병렬적으로 수행될 수 있다.
MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들이 충분히 존재하는 것으로 식별되는 경우, 505 단계에서, 자원 관리 장치는 UWA들의 가상 CPU 코어들의 일부를 해제하고 MCP에게 추가적인 가상 CPU 코어들을 할당한다. 보다 구체적으로, 자원 관리 장치는 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들에게 할당된 가상 CPU 코어들의 일부를 해제할 수 있다. 자원 관리 장치는 해제된 가상 CPU 코어들을 부하 레벨 또는 데이터 요청들의 수 중 적어도 하나가 미리 결정된 값 이상으로 식별된 MCP 내 모듈에게 할당함으로써, MCP가 더 많은 자원들을 이용하여 서비스들을 실행하도록 할 수 있다. 일 실시 예에 따라, MCP의 우선 순위보다 낮은 우선 순위를 가지는 모든 UWA들의 가상 CPU 코어들의 일부가 해제되어 MCP에게 할당될 수 있다. 일 실시 예에 따르면, MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들 중에서, MCP의 부하 레벨 등과 같은 메트릭들이 미리 결정된 수준을 만족하기 위해 필요한만큼 우선 순위가 낮은 순서대로 UWA들의 가상 CPU 코어들의 일부가 해제되어 MCP에게 할당될 수 있다.
MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들이 충분히 존재하지 않는 것으로 식별되는 경우, 507 단계에서, 자원 관리 장치는 UWA들에 대해 라이브 마이그레이션(live migration)을 수행하고, MCP에게 추가적인 가상 CPU 코어들을 할당한다. 일 실시 예에 따르면, 자원 관리 장치는 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들을 다른 호스트 서버로 이전시키는 라이브 마이그레이션을 수행하도록 결정할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들을 현재 할당된 가상 CPU 코어들로부터 동일한 호스트 서버 내의 가상 CPU 코어들이 오버 커밋된 영역으로 이전시키는 라이브 마이그레이션을 수행할 수 있다. 이에 따라, MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들의 실행이 중단되지 않고, 이전된 후에도 계속해서 실행될 수 있다. 자원 관리 장치는 라이브 마이그레이션이 수행되면, 부하 레벨 또는 데이터 요청들의 수 중 적어도 하나가 미리 결정된 값 이상으로 식별된 MCP 내 모듈에게 해당 UWA들에게 할당되었던 가상 CPU 코어들을 할당할 수 있다.
상술한 바와 같이 MCP에 대해 추가적인 가상 CPU 코어들의 할당이 수행된 후, 새로운 상태 정보로부터 MCP의 부하 레벨 및 데이터 요청들의 수가 미리 결정된 값들보다 작은 값으로 감소된 것이 확인되면, 자원 관리 장치는 가상 CPU 코어들이 추가적으로 할당되기 이전의 자원 할당 상황으로 되돌아가도록 MCP 및 UWA의 자원 할당을 조정할 수 있다.
도 6은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 간의 자원 분할을 조정하기 위한 다른 흐름도를 도시한다. 도 6은 자원 관리 장치 100의 동작 방법을 예시한다.
도 6을 참고하면, 601 단계에서, 자원 관리 장치는 UWA에 대해 자원 증가가 필요함을 확인한다. 자원 관리 장치는 호스트 서버로부터 수신한 MCP 및 UWA의 상태 정보에 기반하여, UWA에 대해 자원 증가가 필요함을 확인할 수 있다. 즉, 자원 관리 장치는 상태 정보에 기반하여, 적어도 하나의 UWA에 대해 갑자기 많은 요청들이 발생하거나 적어도 하나의 UWA가 특정 작업을 수행하기 위해 추가적인 자원들을 필요로 하는 상황인지 여부를 판단할 수 있다. 일부 실시 예들에 따르면, 자원 관리 장치는 UWA에 대해 할당되는 가상 CPU 코어들의 수의 증가가 필요한 상황으로 판단할 수 있다. 예를 들면, 상태 정보에 포함된 적어도 하나의 UWA의 부하 레벨이 미리 결정된 값 이상으로 식별되는 경우, 자원 관리 장치는 UWA에게 추가적인 자원이 필요한 상황으로 판단할 수 있다. 또한, 적어도 하나의 UWA에 대한 데이터 요청들의 수가 미리 결정된 값 이상으로 식별되는 경우, 자원 관리 장치는 UWA에게 추가적인 자원이 필요한 상황으로 판단할 수 있다. UWA의 부하 레벨 또는 데이터 요청들의 수 중 적어도 하나가 미리 결정된 값 이상으로 식별되면, 자원 관리 장치는 UWA에게 더 많은 자원들을 할당함으로써 UWA가 성능을 유지하면서 데이터를 처리할 수 있도록 할 수 있다.
603 단계에서, 자원 관리 장치는 UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들이 존재하는지 여부를 식별한다. 구체적으로, 자원 관리 장치는 미리 저장된 스케줄링 정책에 관한 정보에 기반하여, 현재 호스트 서버 내에서 자원을 점유하고 있는 MCP 내의 모듈들의 우선 순위들 및 UWA들의 상대적인 우선 순위들을 확인할 수 있다. 자원 관리 장치는 스케줄링 정책에 관한 정보에서 확인한 우선 순위들에 기반하여, 부하 레벨 또는 데이터 요청들의 수 중 적어도 하나가 미리 결정된 값 이상으로 식별된 UWA의 우선 순위와 MCP 내의 모듈들의 우선 순위들을 비교할 수 있다. 일 실시 예에 따르면, UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들이 충분히 존재하는지 여부는, 상대적으로 낮은 우선 순위를 가지는 MCP 내의 모듈들이 현재 점유하고 있는 자원들의 양에 기반하여 결정될 수 있다. 일 실시 예에 따르면, UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들이 충분히 존재하는지 여부는, 상대적으로 낮은 우선 순위를 가지는 MCP 내의 모듈들이 미리 결정된 수 이상인지 여부에 따라 결정될 수 있다. 일부 실시 예들에 따르면, 603 단계는 601 단계와 병렬적으로 수행될 수 있다.
UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들이 충분히 존재하는 것으로 식별되는 경우, 605 단계에서, 자원 관리 장치는 MCP의 가상 CPU 코어들의 일부를 해제하고 UWA에게 추가적인 가상 CPU 코어들을 할당한다. 보다 구체적으로, 자원 관리 장치는 UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들에게 할당된 가상 CPU 코어들의 일부를 해제할 수 있다. 자원 관리 장치는 해제된 가상 CPU 코어들을 부하 레벨 또는 데이터 요청들의 수 중 적어도 하나가 미리 결정된 값 이상으로 식별된 UWA에게 할당함으로써, UWA가 더 많은 자원들을 이용하여 실행되도록 할 수 있다. 일 실시 예에 따라, UWA의 우선 순위보다 낮은 우선 순위를 가지는 모든 MCP 내의 모듈들에게 할당된 가상 CPU 코어들의 일부가 해제되어 UWA에게 할당될 수 있다. 일 실시 예에 따르면, UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들 중에서, UWA의 부하 레벨 등과 같은 메트릭들이 미리 결정된 수준을 만족하기 위해 필요한만큼, 우선 순위가 낮은 순서대로 MCP 내의 모듈들에게 할당된 가상 CPU 코어들의 일부가 해제되어 UWA에게 할당될 수 있다.
UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들이 충분히 존재하지 않는 것으로 식별되는 경우, 607 단계에서, 자원 관리 장치는 MCP에 대해 라이브 마이그레이션을 수행하고, UWA에게 추가적인 가상 CPU 코어들을 할당한다. 일 실시 예에 따르면, 자원 관리 장치는 UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들을 다른 호스트 서버로 이전시키는 라이브 마이그레이션을 수행하도록 결정할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들을 현재 할당된 가상 CPU 코어들로부터 동일한 호스트 서버 내의 가상 CPU 코어들이 오버 커밋된 영역으로 이전시키는 라이브 마이그레이션을 수행할 수 있다. 이에 따라, UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내 모듈들의 실행이 중단되지 않고, 이전된 후에도 계속해서 실행될 수 있다. 자원 관리 장치는 라이브 마이그레이션이 수행되면, 부하 레벨 또는 데이터 요청들의 수 중 적어도 하나가 미리 결정된 값 이상으로 식별된 UWA에게 해당 MCP 내의 모듈들에게 할당되었던 가상 CPU 코어들을 할당할 수 있다.
상술한 바와 같이 UWA에 대해 추가적인 가상 CPU 코어들의 할당이 수행된 후, 새로운 상태 정보로부터 UWA의 부하 레벨 및 데이터 요청들의 수가 미리 결정된 값들보다 작은 값으로 감소된 것이 확인되면, 자원 관리 장치는 가상 CPU 코어들이 추가적으로 할당되기 이전의 자원 상황으로 되돌아가도록 MCP 및 UWA의 자원 할당을 조정할 수 있다.
도 7은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 간의 자원 분할을 조정하는 예를 도시한다. 다양한 실시 예들에 따라, 자원 분할의 조정은 자원 관리 장치 100에 의해 수행될 수 있다.
상황 710에서, 8개의 가상 CPU 코어들이 자원 관리 장치에 의해 MCP에게 할당되고, UWA1, UWA2, 및 UWA3에게 각각 2개, 2개, 4개의 가상 CPU 코어들이 할당될 수 있다. 상황 710과 같은 자원 할당 상황에서, 자원 관리 장치는 MCP, UWA1, UWA2, 및 UWA3가 배치된 호스트 서버로부터 상태 정보를 수신하고, 상태 정보에 기반하여 새로운 UWA4 및 UWA5에 대한 데이터 요청들의 수가 미리 결정된 값 이상임을 식별할 수 있다. 또한, 자원 관리 장치는 스케줄링 정책에 관한 정보로부터 획득한 UWA4 및 UWA5의 우선 순위들과 MCP 내의 모듈들의 우선 순위들을 비교함으로써, UWA4 및 UWA5의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들을 식별할 수 있다. 식별한 결과에 기반하여, 자원 관리 장치는 상황 720과 같이 자원 조정을 수행할 수 있다. 예를 들어, 자원 관리 장치는 UWA4 및 UWA5의 우선 순위들보다 낮은 우선 순위를 가지는 모든 MCP 내의 모듈들에게 할당된 가상 CPU 코어들의 일부를 해제하고, UWA4 및 UWA5에게 할당할 수 있다. 자원 관리 장치는 UWA4 및 UWA5의 우선 순위들보다 낮은 우선 순위를 가지는 MCP 내의 모듈들 중에서 우선 순위가 낮은 순서대로 MCP 내의 모듈들에게 할당된 가상 CPU 코어들의 일부를 필요한만큼 해제하고 UWA4 및 UWA5에게 할당할 수 있다. 자원 관리 장치는 UWA4 및 UWA5의 우선 순위들보다 낮은 우선 순위를 가지는 MCP 내의 모듈들에 대해 라이브 마이그레이션을 수행하고, 해당 MCP 내의 모듈들에게 할당되었던 가상 CPU 코어들을 UWA4 및 UWA5에게 할당할 수 있다. 그 결과, 상황 720과 같이, MCP에게 할당되는 가상 CPU 코어들의 수가 8개에서 4개로 감소되고, UWA4 및 UWA5에게 각각 2개의 가상 CPU 코어들이 할당될 수 있다.
도 8은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 클러스터의 크기들을 조정하기 위한 흐름도를 도시한다. 도 8은 자원 관리 장치 100의 동작 방법을 예시한다.
도 8을 참고하면, 801 단계에서, 자원 관리 장치는 MCP에 대해 자원 증가가 필요함을 확인한다. 자원 관리 장치는 호스트 서버로부터 수신한 MCP 및 UWA의 상태 정보에 기반하여, MCP에 대해 자원 증가가 필요함을 확인할 수 있다. 이 경우, 필요한 자원은 메모리, 디스크 공간, GPU, 네트워크 대역폭 등을 포함할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 상태 정보에 포함된 MCP 내의 적어도 하나의 모듈에 대한 API(application programming interface) 요청들의 수에 기반하여, MCP에 대해 자원 증가가 필요한 상황임을 판단할 수 있다. 예를 들면, MCP 내의 적어도 하나의 모듈에 대한 API 요청들의 수가 미리 결정된 값 이상으로 식별되는 경우, 자원 관리 장치는 MCP에게 추가적인 자원이 필요한 상황으로 판단할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 상태 정보에 포함된 MCP의 HA에 기반하여, MCP에 대해 자원 증가가 필요한 상황임을 판단할 수 있다. 예를 들면, 상태 정보에 포함된 MCP의 HA이 미리 결정된 값보다 작은 것으로 식별되는 경우 MCP에서 임계값 이상의 오류들이 발생하는 것이므로, 자원 관리 장치는 MCP의 정상 동작을 위해 자원 증가가 필요한 상황으로 판단할 수 있다.
803 단계에서, 자원 관리 장치는 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들을 식별한다. 구체적으로, 자원 관리 장치는 미리 저장된 스케줄링 정책에 관한 정보에 기반하여, 현재 호스트 서버 내에서 자원을 점유하고 있는 MCP 내의 모듈들의 우선 순위들 및 UWA들의 우선 순위들을 확인할 수 있다. 자원 관리 장치는 스케줄링 정책에 관한 정보에서 확인한 우선 순위들에 기반하여, API 요청들의 수가 미리 결정된 값 이상으로 식별되거나 HA이 미리 결정된 값보다 작은 것으로 식별된 MCP 내 모듈의 우선 순위와 UWA들의 우선 순위들을 비교할 수 있다. API 요청들의 수가 미리 결정된 값 이상으로 식별되거나 HA이 미리 결정된 값보다 작은 것으로 식별된 MCP 내 모듈들이 2개 이상인 경우, 자원 관리 장치는 미리 정의된 기준에 따라 MCP 내 모듈을 결정하고, 결정된 MCP 내의 모듈의 우선 순위와 UWA들의 우선 순위들을 비교할 수 있다. 예를 들어, 자원 관리 장치는 우선 순위가 가장 낮은 MCP 내의 모듈을 선택하거나, 또는 우선 순위가 가장 높은 MCP 내의 모듈을 선택할 수 있다. 일부 실시 예들에 따르면, 803 단계는 801 단계와 병렬적으로 수행될 수 있다.
805 단계에서, 자원 관리 장치는 식별된 UWA들의 자원들을 해제하고 MCP의 인스턴스를 추가한다. 자원 관리 장치는 식별된 UWA들의 자원들을 해제함으로써 식별된 UWA들의 클러스터 크기를 감소시키고, 해제된 자원들을 이용하여 MCP 인스턴스를 추가 생성함으로써 MCP 클러스터의 크기를 증가시킬 수 있다. 여기서, UWA 클러스터의 크기는 해당 UWA가 실행 중인 호스트 서버들의 수에 따라 결정되고, MCP 클러스터의 크기는 MCP가 실행 중인 호스트 서버들의 수에 따라 결정된다. 자원 관리 장치는 MCP 내의 모듈의 우선 순위보다 낮은 우선 순위를 가지는 UWA들에게 할당된 자원들을 모두 해제할 수 있다. 자원 관리 장치는 해제된 자원들을 MCP에게 할당함으로써, MCP의 인스턴스를 추가할 수 있다. 이 경우, 다른 호스트 서버에 배치된 동일한 UWA들이 자원 해제가 수행된 호스트 서버의 UWA의 서비스를 대신 제공할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 MCP의 우선 순위보다 낮은 우선 순위를 가지는 모든 UWA들의 자원들을 모두 해제하고, MCP의 인스턴스 추가를 위해 해제된 자원들을 MCP에게 할당할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들 중에서, 우선 순위의 비교에 이용된 MCP 내의 모듈이 이용하고 있는 자원과 동일한 종류의 자원들이 할당된 UWA들의 자원들을 모두 해제하고, MCP의 인스턴스 추가를 위해 해제된 자원들을 MCP에게 할당할 수 있다.
상술한 바와 같이 우선 순위가 상대적으로 낮은 UWA들의 자원들을 MCP의 인스턴스 추가를 위해 이용함으로써, MCP의 HA를 원하는 수준으로 복원할 수 있다. 또한, MCP 클러스터의 크기를 증가시킨 후, 새로운 상태 정보로부터 MCP에 대한 API 요청들의 수가 미리 결정된 값들보다 작은 값으로 감소된 것이 확인되면, 자원 관리 장치는 MCP 클러스터의 크기가 증가되기 이전의 상황으로 되돌아가도록 MCP 및 UWA의 자원 할당을 조정할 수 있다.
도 9는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 클러스터의 크기들을 조정하기 위한 다른 흐름도를 도시한다. 도 9는 자원 관리 장치 100의 동작 방법을 예시한다.
도 9를 참고하면, 901 단계에서, 자원 관리 장치는 UWA에 대해 자원 증가가 필요함을 확인한다. 자원 관리 장치는 호스트 서버로부터 수신한 MCP 및 UWA의 상태 정보에 기반하여, UWA에 대해 자원 증가가 필요함을 확인할 수 있다. 이 경우, 필요한 자원은 메모리, 디스크 공간, GPU, 네트워크 대역폭 등을 포함할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 상태 정보에 포함된 적어도 하나의 UWA에 대한 API 요청들의 수에 기반하여, UWA에 대해 자원 증가가 필요한 상황임을 판단할 수 있다. 예를 들면, 적어도 하나의 UWA에 대한 API 요청들의 수가 미리 결정된 값 이상으로 식별되는 경우, 자원 관리 장치는 UWA에게 추가적인 자원이 필요한 상황으로 판단할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 상태 정보에 포함된 UWA의 HA에 기반하여, UWA에 대해 자원 증가가 필요한 상황임을 판단할 수 있다. 예를 들면, 상태 정보에 포함된 UWA의 HA이 미리 결정된 값보다 작은 것으로 식별되는 경우 UWA에서 임계값 이상의 오류들이 발생하는 것이므로, 자원 관리 장치는 UWA의 정상 동작을 위해 자원 증가가 필요한 상황으로 판단할 수 있다.
903 단계에서, 자원 관리 장치는 UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP 내의 모듈들을 식별한다. 구체적으로, 자원 관리 장치는 미리 저장된 스케줄링 정책에 관한 정보에 기반하여, 현재 호스트 서버 내에서 자원을 점유하고 있는 MCP 내의 모듈들의 우선 순위들 및 UWA들의 우선 순위들을 확인할 수 있다. 자원 관리 장치는 스케줄링 정책에 관한 정보에서 확인한 우선 순위들에 기반하여, API 요청들의 수가 미리 결정된 값 이상으로 식별되거나 HA이 미리 결정된 값보다 작은 것으로 식별된 UWA의 우선 순위와 MCP 내의 모듈들의 우선 순위들을 비교할 수 있다. 자원 관리 장치는 UWA의 우선 순위보다 낮은 우선 순위를 가지는 적어도 하나의 MCP 모듈을 식별할 수 있다. 일부 실시 예들에 따르면, 903 단계는 901 단계와 병렬적으로 수행될 수 있다.
905 단계에서, 자원 관리 장치는 MCP의 자원들을 해제하고 UWA의 인스턴스를 추가한다. 자원 관리 장치는 자원 증가가 필요하다고 확인된 UWA와 동일한 호스트 서버 내에 배치된 MCP의 자원들을 해제함으로써 MCP 클러스터의 크기를 감소시키고, 해제된 자원들을 이용하여 UWA 인스턴스를 추가 생성함으로써 UWA 클러스터의 크기를 증가시킬 수 있다. 여기서, 여기서, UWA 클러스터의 크기는 해당 UWA가 실행 중인 호스트 서버들의 수에 따라 결정되고, MCP 클러스터의 크기는 MCP가 실행 중인 호스트 서버들의 수에 따라 결정된다. 자원 관리 장치는 MCP에게 할당된 자원들을 모두 해제함으로써, 해당 호스트 서버 내에서 MCP 인스턴스가 존재하지 않도록 조정할 수 있다. 이 경우, 다른 호스트 서버들에 배치된 MCP들이 자원 해제가 수행된 호스트 서버의 MCP의 서비스들을 대신 제공할 수 있다.
상술한 바와 같이 MCP의 자원들을 UWA의 인스턴스 추가를 위해 이용함으로써, UWA의 HA를 원하는 수준으로 복원할 수 있다. 또한, UWA 클러스터의 크기를 증가시킨 후, 새로운 상태 정보로부터 UWA에 대한 API 요청들의 수가 미리 결정된 값들보다 작은 값으로 감소된 것이 확인되면, 자원 관리 장치는 UWA 클러스터의 크기가 증가되기 이전의 상황으로 되돌아가도록 MCP 및 UWA의 자원 할당을 조정할 수 있다.
도 10은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP 및 UWA 클러스터의 크기들을 조정하는 예를 도시한다. 다양한 실시 예들에 따라, 클러스터 크기의 조정은 자원 관리 장치 100에 의해 수행될 수 있다.
상황 1010을 참고하면, 클라우드 시스템은 호스트 서버 120a, 호스트 서버 120b, 호스트 서버 120c을 포함한다. MCP 인스턴스가 호스트 서버들 120a 내지 120c에서 실행되고 있으므로, 상황 1010에서 MCP 클러스터의 크기는 3-노드에 해당한다. 상황 1010과 같은 자원 할당 상황에서, 자원 관리 장치는 호스트 서버 120c로부터 수신한 상태 정보에 기반하여, UWA에 해당하는 VNF1 132c 및 게스트 OS 134c에서 오류가 임계값 이상으로 발생하거나, VNF1 132c 및 게스트 OS 134c에 대한 API 요청들의 수가 미리 결정된 값 이상임을 식별할 수 있다. 또한, 자원 관리 장치는 스케줄링 정책에 관한 정보로부터 획득한 VNF1 132c 및 게스트 OS 134c의 우선 순위들과 MCP3 140c 내의 모듈들의 우선 순위들을 비교함으로써, VNF1 132c 및 게스트 OS 134c의 우선 순위들보다 낮은 우선 순위를 가지는 적어도 하나의 MCP 모듈을 식별할 수 있다. 식별한 결과에 기반하여, 자원 관리 장치는 상황 1020과 같이 자원 조정을 수행할 수 있다. 자원 관리 장치는 MCP3 140c에게 할당된 자원들을 모두 해제하고, 해제된 자원들을 이용하여 UWA 인스턴스를 추가적으로 생성할 수 있다. 상황 1020를 참고하면, VNF1 132c 및 게스트 OS 134c와 동일한 기능들을 제공할 수 있는 VNF2 932 및 게스트 OS 934의 인스턴스들이 새롭게 생성될 수 있다. 그 결과, MCP 클러스터는 2 노드 클러스터로 크기가 감소하게 되고, UWA 클러스터의 크기는 1-노드가 증가될 수 있다. 이 경우, 호스트 서버 120c에서 MCP 인스턴스가 일시적으로 존재하지 않게 되므로, 호스트 서버 120a의 MCP1 140a 및 호스트 서버 120b의 MCP2 140b가 MCP3 140c가 수행했던 기능들을 지원할 수 있다.
도 11은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP의 일부 모듈들에 할당된 자원들을 이용하여 자원 조정을 수행하기 위한 흐름도를 도시한다. 도 11은 자원 관리 장치 100의 동작 방법을 예시한다.
도 11을 참고하면, 1101 단계에서, 자원 관리 장치는 MCP의 제1 모듈에 대해 자원 증가가 필요함을 확인한다. 자원 관리 장치는 호스트 서버로부터 수신한 MCP 및 UWA의 상태 정보에 기반하여, MCP의 제1 모듈에 대해 자원 증가가 필요함을 확인할 수 있다. 이 경우, 필요한 자원은 메모리, 디스크 공간, GPU, 네트워크 대역폭 등을 포함할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 상태 정보로부터 호스트 서버의 자원 가용성이 미리 결정된 값보다 낮고 MCP의 제1 모듈의 SLA가 미리 결정된 수준을 만족하지 못하는 것을 식별하는 경우, MCP의 제1 모듈에 대해 자원 증가가 필요한 상황을 확인할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 상태 정보로부터 호스트 서버의 자원 가용성이 미리 결정된 값보다 낮고 MCP의 제1 모듈의 QoS가 미리 결정된 수준을 만족하지 못하는 것을 식별하는 경우, MCP의 제1 모듈에 대해 자원 증가가 필요한 상황을 확인할 수 있다. 상술한 경우들 외에도, 자원 관리 장치는 호스트 서버의 자원 가용성이 낮은 상황에서 MCP의 제1 모듈에 대한 데이터 요청들의 수와 같은 메트릭들에 기반하여 MCP의 제1 모듈에 대해 자원 증가가 필요한 상황을 확인할 수 있다.
1103 단계에서, 자원 관리 장치는 MCP의 제1 모듈의 우선 순위보다 낮은 우선 순위를 가지는 MCP의 적어도 하나의 제2 모듈을 식별한다. 구체적으로, 자원 관리 장치는 미리 저장된 스케줄링 정책에 관한 정보에 기반하여, 현재 호스트 서버 내에서 자원을 점유하고 있는 MCP 내의 모듈들의 우선 순위들 및 UWA들의 우선 순위들을 확인할 수 있다. 자원 관리 장치는 스케줄링 정책에 관한 정보에서 확인한 우선 순위들에 기반하여, 제1 모듈의 우선 순위보다 낮은 우선 순위를 가지는 적어도 하나의 제2 모듈을 식별할 수 있다. 예를 들어, MCP는 API 서비스, 대시 보드 서비스, 모니터링 서비스, 로그 통합 서비스, 로그 분석 서비스, 스케줄러 서비스, 메트릭 수집 서비스와 같이 다양한 서비스들을 제공하는 모듈들을 포함할 수 있다. 자원 관리 장치는 상술한 모듈들 중 제1 모듈에 대응하는 모듈의 우선 순위보다 낮은 우선 순위를 가지는 제2 모듈들을 식별할 수 있다. 일부 실시 예들에 따르면, 1103 단계는 1101 단계와 병렬적으로 수행될 수 있다.
1105 단계에서, 자원 관리 장치는 MCP의 적어도 하나의 제2 모듈의 자원들을 해제하고, MCP의 제1 모듈에게 해제된 자원들을 할당한다. 자원 관리 장치는 상대적으로 우선 순위가 낮은 MCP 내의 모듈들의 자원들을 상대적으로 우선 순위가 높은 MCP 내의 모듈에게 할당함으로써, 우선 순위가 더 높은 서비스의 SLA 및 QoS가 유지되도록 할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 모든 제2 모듈들의 자원들을 해제하고, 해제된 자원들을 제1 모듈에게 할당할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 제2 모듈들에게 할당된 자원들 중에서 제1 모듈의 SLA 및 QoS이 미리 결정된 수준을 만족하기 위해 필요한 자원량만을 해제할 수 있다. 이 경우, 자원 관리 장치는 제2 모듈들 중에서 우선 순위가 낮은 순서대로 자원들을 해제하고, 해제된 자원들을 제1 모듈에게 할당할 수 있다.
상술한 바와 같이 MCP의 제1 모듈에 대해 추가적인 자원 할당이 수행된 후, 새로운 상태 정보로부터 제1 모듈의 SLA 및 QoS가 미리 결정된 수준으로 향상된 것이 확인되면, 자원 관리 장치는 자원들이 추가적으로 할당되기 이전의 자원 할당 상황으로 되돌아가도록 MCP 모듈들 간의 자원 할당을 조정할 수 있다.
도 12는 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP의 일부 모듈들에 할당된 자원들을 이용하여 자원 조정을 수행하기 위한 다른 흐름도를 도시한다. 도 12는 자원 관리 장치 100의 동작 방법을 예시한다.
도 12를 참고하면, 1201 단계에서, 자원 관리 장치는 UWA에 대해 자원 증가가 필요함을 확인한다. 자원 관리 장치는 호스트 서버로부터 수신한 MCP 및 UWA의 상태 정보에 기반하여, UWA에 대해 자원 증가가 필요함을 확인할 수 있다. 이 경우, 필요한 자원은 메모리, 디스크 공간, GPU, 네트워크 대역폭 등을 포함할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 상태 정보로부터 호스트 서버의 자원 가용성이 미리 결정된 값보다 낮고 UWA의 SLA가 미리 결정된 수준을 만족하지 못하는 것을 식별하는 경우, UWA에 대해 자원 증가가 필요한 상황을 확인할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 상태 정보로부터 호스트 서버의 자원 가용성이 미리 결정된 값보다 낮고 UWA의 QoS가 미리 결정된 수준을 만족하지 못하는 것을 식별하는 경우, UWA에 대해 자원 증가가 필요한 상황을 확인할 수 있다. 상술한 경우들 외에도, 자원 관리 장치는 호스트 서버의 자원 가용성이 낮은 상황에서 UWA에 대한 데이터 요청들의 수와 같은 메트릭들에 기반하여 UWA에 대해 자원 증가가 필요한 상황을 확인할 수 있다.
1203 단계에서, 자원 관리 장치는 UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP의 적어도 하나의 모듈을 식별한다. 구체적으로, 자원 관리 장치는 미리 저장된 스케줄링 정책에 관한 정보에 기반하여, 현재 호스트 서버 내에서 자원을 점유하고 있는 MCP 내의 모듈들의 우선 순위들 및 UWA들의 우선 순위들을 확인할 수 있다. 자원 관리 장치는 스케줄링 정책에 관한 정보에서 확인한 우선 순위들에 기반하여, UWA의 우선 순위보다 낮은 우선 순위를 가지는 MCP의 적어도 하나의 모듈을 식별할 수 있다. 예를 들어, MCP는 API 서비스, 대시 보드 서비스, 모니터링 서비스, 로그 통합 서비스, 로그 분석 서비스, 스케줄러 서비스, 메트릭 수집 서비스와 같이 다양한 서비스들을 제공하는 모듈들을 포함할 수 있다. 자원 관리 장치는 상술한 모듈들 중 UWA의 우선 순위보다 낮은 우선 순위를 가지는 모듈들을 식별할 수 있다. 일부 실시 예들에 따르면, 1203 단계는 1201 단계와 병렬적으로 수행될 수 있다.
1205 단계에서, 자원 관리 장치는 MCP의 적어도 하나의 모듈의 자원들을 해제하고, UWA에게 해제된 자원들을 할당한다. 자원 관리 장치는 상대적으로 우선 순위가 낮은 MCP 내의 모듈들의 자원들을 상대적으로 우선 순위가 높은 UWA에게 할당함으로써, 우선 순위가 더 높은 UWA 서비스의 SLA 및 QoS가 유지되도록 할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 식별된 모든 MCP 모듈들의 자원들을 해제하고, 해제된 자원들을 UWA에게 할당할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 식별된 MCP 모듈들에게 할당된 자원들 중에서 UWA의 SLA 및 QoS이 미리 결정된 수준을 만족하기 위해 필요한 자원량만을 해제할 수 있다. 이 경우, 자원 관리 장치는 식별된 MCP 모듈들 중에서 우선 순위가 낮은 순서대로 자원들을 해제하고, 해제된 자원들을 UWA에게 할당할 수 있다.
상술한 바와 같이 UWA에 대해 추가적인 자원 할당이 수행된 후, 새로운 상태 정보로부터 UWA의 SLA 및 QoS가 미리 결정된 수준으로 향상된 것이 확인되면, 자원 관리 장치는 자원들이 추가적으로 할당되기 이전의 자원 할당 상황으로 되돌아가도록 MCP 및 UWA의 자원 할당을 조정할 수 있다.
도 13은 본 개시의 다양한 실시 예들에 따른 클라우드 시스템에서 MCP의 일부 모듈들에 할당된 자원들을 이용하여 자원 조정을 수행하는 예를 도시한다. 다양한 실시 예들에 따라, MCP 일부 모듈들의 자원들을 이용한 자원 조정은 자원 관리 장치 100에 의해 수행될 수 있다.
상황 1310을 참고하면, 호스트 서버 120a에 배치된 MCP1 140a는 분석 서비스 모듈 1342, 세션 유지 서비스 모듈 1344, 클린-업 서비스 모듈 1346, 로그 서비스 모듈 1348, 메트릭 수집 서비스 모듈 1350, 스케줄러 서비스 모듈 1352, GUI 서비스 모듈 1354, API 서비스 모듈 1356을 포함한다. MCP 모듈들 1342 내지 1356은 모두 실행을 위해 자원들이 할당된 상태일 수 있다. 상황 1310과 같은 자원 할당 상황에서, 자원 관리 장치는 호스트 서버 120a로부터 수신한 상태 정보에 기반하여, 호스트 서버 120a의 자원 가용성이 미리 결정된 값보다 낮고 UWA에 해당하는 VNF1 132a 및 게스트 OS 134a의 SLA 또는 QoS 중 적어도 하나가 미리 결정된 수준을 만족하지 못하는 것을 식별할 수 있다. 자원 관리 장치는 스케줄링 정책에 관한 정보로부터 획득한 VNF1 132a 및 게스트 OS 134a의 우선 순위들보다 낮은 우선 순위를 가지는 적어도 하나의 MCP 모듈을 식별할 수 있다. 식별한 결과에 기반하여, 자원 관리 장치는 상황 1320과 같이 자원 조정을 수행할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 분석 서비스 모듈 1342, 클린-업 서비스 모듈 1346, GUI 서비스 모듈 1354의 우선 순위들이 VNF1 132a 및 게스트 OS 134a 우선 순위보다 낮다고 식별할 수 있다. 이 경우, 자원 관리 장치는 분석 서비스 모듈 1342, 클린-업 서비스 모듈 1346, GUI 서비스 모듈 1354에게 할당된 자원들을 모두 해제하고 해제된 자원들을 VNF1 132a 및 게스트 OS 134a에게 할당할 수 있다. 일 실시 예에 따르면, 자원 관리 장치는 분석 서비스 모듈 1342, 클린-업 서비스 모듈 1346, GUI 서비스 모듈 1354을 포함하는 MCP 모듈들의 우선 순위들이 VNF1 132a 및 게스트 OS 134a의 우선 순위보다 낮다고 식별할 수 있다. 이 경우, VNF1 132a 및 게스트 OS 134a의 SLA 및 QoS가 미리 결정된 수준을 만족하기 위해 식별된 모든 MCP 모듈들의 자원들을 해제할 필요가 없다고 결정되면, 자원 관리 장치는 우선 순위가 낮은 순서대로 분석 서비스 모듈 1342, 클린-업 서비스 모듈 1346, GUI 서비스 모듈 1354의 자원들을 해제하고, 해제된 자원들을 VNF1 132a 및 게스트 OS 134a에게 할당할 수 있다. 추가적인 자원들이 할당된 VNF1 및 게스트 OS는 상황 1320의 VNF1 1332 및 게스트 OS 1334로서 확인될 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(read only memory, ROM), 전기적 삭제가능 프로그램가능 롬(electrically erasable programmable read only memory, EEPROM), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(compact disc-ROM, CD-ROM), 디지털 다목적 디스크(digital versatile discs, DVDs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WAN(wide area network), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 클라우드 시스템에서 자원 조정을 위한 장치의 동작 방법에 있어서,
    호스트 서버 내의 MCP(management or control plane) 및 적어도 하나의 UWA(user workloads or applications)에 대한 동작 성능을 나타내기 위한 상태 정보를 수신하는 과정과,
    상기 상태 정보에 기반하여, 자원 조정에 관한 조치를 결정하는 과정과,
    상기 MCP 및 상기 적어도 하나의 UWA에 대해 상기 결정된 자원 조정에 관한 조치를 수행하는 과정을 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 자원 조정에 관한 조치를 결정하는 과정은,
    상기 수신된 상태 정보에 포함된 적어도 하나의 메트릭의 값을 상기 호스트 서버에 대한 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값과 비교함으로써, 상기 MCP 또는 상기 적어도 하나의 UWA 중 자원 증가가 필요한 대상을 식별하는 과정과,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 MCP의 우선 순위 및 상기 적어도 하나의 UWA의 우선 순위를 식별하는 과정과,
    상기 자원 증가가 필요한 대상 및 상기 식별된 상기 MCP의 우선 순위 및 상기 적어도 하나의 UWA의 우선 순위에 기반하여, 상기 자원 조정에 관한 조치를 결정하는 과정을 포함하는 방법.
  3. 청구항 1에 있어서,
    상기 상태 정보는, 상기 MCP 및 상기 적어도 하나의 UWA 각각에 대한 HA(high availability), 상기 MCP 및 상기 적어도 하나의 UWA 각각에 대한 SLA(service level agreement), 상기 MCP 및 상기 적어도 하나의 UWA 각각에 대한 QoS(quality of service), 상기 호스트 서버의 자원 가용성(resource availability), 또는 상기 MCP 및 상기 적어도 하나의 UWA 각각에 대한 부하(load) 레벨 중 적어도 하나를 포함하는 방법.
  4. 청구항 1에 있어서,
    상기 자원 조정에 관한 조치를 결정하는 과정은,
    상기 수신된 상태 정보에 포함된 상기 MCP의 부하 레벨 또는 상기 MCP에 대한 데이터 요청들의 수 중 적어도 하나가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값 이상임을 식별하는 과정과,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들의 수가 임계값 이상인지 여부를 식별하는 과정과,
    상기 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들의 수가 임계값 이상인 것으로 식별되는 경우, 상기 UWA들의 가상 CPU(central processing unit) 코어들의 일부를 해제하고 상기 MCP에게 상기 해제된 가상 CPU 코어들을 할당하는 조치를 결정하는 과정과,
    상기 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들의 수가 상기 임계값보다 작은 것으로 식별되는 경우, 상기 UWA들에 대해 라이브 마이그레이션을 수행하고 상기 MCP에게 상기 UWA들에게 할당되었던 가상 CPU 코어들을 할당하는 조치를 결정하는 과정을 포함하는 방법.
  5. 청구항 1에 있어서,
    상기 자원 조정에 관한 조치를 결정하는 과정은,
    상기 수신된 상태 정보에 포함된 UWA의 부하 레벨 또는 상기 UWA에 대한 데이터 요청들의 수 중 적어도 하나가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값 이상임을 식별하는 과정과,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 모듈들의 수가 임계값 이상인지 여부를 식별하는 과정과,
    상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 모듈들의 수가 임계값 이상인 것으로 식별되는 경우, 상기 MCP 내의 모듈들의 가상 CPU(central processing unit) 코어들의 일부를 해제하고 상기 UWA에게 상기 해제된 가상 CPU 코어들을 할당하는 조치를 결정하는 과정과,
    상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 모듈들의 수가 상기 임계값보다 작은 것으로 식별되는 경우, 상기 MCP 내의 모듈들에 대해 라이브 마이그레이션을 수행하고 상기 UWA에게 상기 MCP 내의 모듈들에게 할당되었던 가상 CPU 코어들을 할당하는 조치를 결정하는 과정을 포함하는 방법.
  6. 청구항 1에 있어서,
    상기 자원 조정에 관한 조치를 결정하는 과정은,
    상기 수신된 상태 정보에 포함된 MCP의 HA(high availability)가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값보다 작음을 식별하는 과정과,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들을 식별하는 과정과,
    상기 UWA들에게 할당된 자원들을 해제함으로써 상기 UWA들의 클러스터 크기를 감소시키고, 상기 해제된 자원들을 이용하여 상기 MCP의 인스턴스를 추가로 생성함으로써 상기 MCP의 클러스터 크기를 증가시키는 조치를 결정하는 과정을 포함하는 방법.
  7. 청구항 1에 있어서,
    상기 자원 조정에 관한 조치를 결정하는 과정은,
    상기 수신된 상태 정보에 포함된 UWA의 HA(high availability)가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값보다 작음을 식별하는 과정과,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 모듈들을 식별하는 과정과,
    상기 MCP에게 할당된 자원들을 해제함으로써 상기 MCP의 클러스터 크기를 감소시키고, 상기 해제된 자원들을 이용하여 상기 UWA의 인스턴스를 추가로 생성함으로써 상기 UWA의 클러스터 크기를 증가시키는 조치를 결정하는 과정을 포함하는 방법.
  8. 청구항 1에 있어서,
    상기 자원 조정에 관한 조치를 결정하는 과정은,
    상기 수신된 상태 정보에 포함된 상기 MCP의 제1 모듈의 SLA(service level agreement) 또는 QoS(quality of service) 중 적어도 하나가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값보다 작음을 식별하는 과정과,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 제1 모듈의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 적어도 하나의 제2 모듈을 식별하는 과정과,
    상기 식별된 적어도 하나의 제2 모듈에게 할당된 자원들을 해제하고, 상기 해제된 자원들을 상기 제1 모듈에게 할당하는 조치를 결정하는 과정을 포함하는 방법.
  9. 청구항 1에 있어서,
    상기 자원 조정에 관한 조치를 결정하는 과정은,
    상기 수신된 상태 정보에 포함된 UWA의 SLA(service level agreement) 또는 QoS(quality of service) 중 적어도 하나가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값보다 작음을 식별하는 과정과,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 적어도 하나의 모듈을 식별하는 과정과,
    상기 식별된 적어도 하나의 모듈에게 할당된 자원들을 해제하고, 상기 해제된 자원들을 상기 UWA에게 할당하는 조치를 결정하는 과정을 포함하는 방법.
  10. 청구항 1에 있어서,
    상기 상태 정보는, 상기 호스트 서버로부터 주기적으로 송신되는 방법.
  11. 클라우드 시스템에서 자원 조정을 위한 장치에 있어서,
    송수신부; 및
    상기 송수신부와 동작적으로 연결된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    호스트 서버 내의 MCP(management or control plane) 및 적어도 하나의 UWA(user workloads or applications)에 대한 동작 성능을 나타내기 위한 상태 정보를 수신하고,
    상기 상태 정보에 기반하여, 자원 조정에 관한 조치를 결정하고,
    상기 MCP 및 상기 적어도 하나의 UWA에 대해 상기 결정된 자원 조정에 관한 조치를 수행하도록 구성되는 장치.
  12. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 상기 자원 조정에 관한 조치를 결정하기 위해,
    상기 수신된 상태 정보에 포함된 적어도 하나의 메트릭의 값을 상기 호스트 서버에 대한 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값과 비교함으로써, 상기 MCP 또는 상기 적어도 하나의 UWA 중 자원 증가가 필요한 대상을 식별하고,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 MCP의 우선 순위 및 상기 적어도 하나의 UWA의 우선 순위를 식별하고,
    상기 자원 증가가 필요한 대상 및 상기 식별된 상기 MCP의 우선 순위 및 상기 적어도 하나의 UWA의 우선 순위에 기반하여, 상기 자원 조정에 관한 조치를 결정하도록 더 구성되는 장치.
  13. 청구항 11에 있어서,
    상기 상태 정보는, 상기 MCP 및 상기 적어도 하나의 UWA 각각에 대한 HA(high availability), 상기 MCP 및 상기 적어도 하나의 UWA 각각에 대한 SLA(service level agreement), 상기 MCP 및 상기 적어도 하나의 UWA 각각에 대한 QoS(quality of service), 상기 호스트 서버의 자원 가용성(resource availability), 또는 상기 MCP 및 상기 적어도 하나의 UWA 각각에 대한 부하(load) 레벨 중 적어도 하나를 포함하는 장치.
  14. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 상기 자원 조정에 관한 조치를 결정하기 위해,
    상기 수신된 상태 정보에 포함된 상기 MCP의 부하 레벨 또는 상기 MCP에 대한 데이터 요청들의 수 중 적어도 하나가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값 이상임을 식별하고,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들의 수가 임계값 이상인지 여부를 식별하고,
    상기 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들의 수가 임계값 이상인 것으로 식별되는 경우, 상기 UWA들의 가상 CPU(central processing unit) 코어들의 일부를 해제하고 상기 MCP에게 상기 해제된 가상 CPU 코어들을 할당하는 조치를 결정하고,
    상기 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들의 수가 상기 임계값보다 작은 것으로 식별되는 경우, 상기 UWA들에 대해 라이브 마이그레이션을 수행하고 상기 MCP에게 상기 UWA들에게 할당되었던 가상 CPU 코어들을 할당하는 조치를 결정하도록 더 구성되는 장치.
  15. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 상기 자원 조정에 관한 조치를 결정하기 위해,
    상기 수신된 상태 정보에 포함된 UWA의 부하 레벨 또는 상기 UWA에 대한 데이터 요청들의 수 중 적어도 하나가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값 이상임을 식별하고,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 모듈들의 수가 임계값 이상인지 여부를 식별하고,
    상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 모듈들의 수가 임계값 이상인 것으로 식별되는 경우, 상기 MCP 내의 모듈들의 가상 CPU(central processing unit) 코어들의 일부를 해제하고 상기 UWA에게 상기 해제된 가상 CPU 코어들을 할당하는 조치를 결정하고,
    상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 모듈들의 수가 상기 임계값보다 작은 것으로 식별되는 경우, 상기 MCP 내의 모듈들에 대해 라이브 마이그레이션을 수행하고 상기 UWA에게 상기 MCP 내의 모듈들에게 할당되었던 가상 CPU 코어들을 할당하는 조치를 결정하도록 더 구성되는 장치.
  16. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 상기 자원 조정에 관한 조치를 결정하기 위해,
    상기 수신된 상태 정보에 포함된 MCP의 HA(high availability)가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값보다 작음을 식별하고,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 MCP의 우선 순위보다 낮은 우선 순위를 가지는 UWA들을 식별하고,
    상기 UWA들에게 할당된 자원들을 해제함으로써 상기 UWA들의 클러스터 크기를 감소시키고, 상기 해제된 자원들을 이용하여 상기 MCP의 인스턴스를 추가로 생성함으로써 상기 MCP의 클러스터 크기를 증가시키는 조치를 결정하도록 더 구성되는 장치.
  17. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 상기 자원 조정에 관한 조치를 결정하기 위해,
    상기 수신된 상태 정보에 포함된 UWA의 HA(high availability)가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값보다 작음을 식별하고,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 모듈들을 식별하고,
    상기 MCP에게 할당된 자원들을 해제함으로써 상기 MCP의 클러스터 크기를 감소시키고, 상기 해제된 자원들을 이용하여 상기 UWA의 인스턴스를 추가로 생성함으로써 상기 UWA의 클러스터 크기를 증가시키는 조치를 결정하도록 더 구성되는 장치.
  18. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 상기 자원 조정에 관한 조치를 결정하기 위해,
    상기 수신된 상태 정보에 포함된 상기 MCP의 제1 모듈의 SLA(service level agreement) 또는 QoS(quality of service) 중 적어도 하나가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값보다 작음을 식별하고,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 제1 모듈의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 적어도 하나의 제2 모듈을 식별하고,
    상기 식별된 적어도 하나의 제2 모듈에게 할당된 자원들을 해제하고, 상기 해제된 자원들을 상기 제1 모듈에게 할당하는 조치를 결정하도록 더 구성되는 장치.
  19. 청구항 11에 있어서,
    상기 적어도 하나의 프로세서는, 상기 자원 조정에 관한 조치를 결정하기 위해,
    상기 수신된 상태 정보에 포함된 UWA의 SLA(service level agreement) 또는 QoS(quality of service) 중 적어도 하나가 스케줄링 정책에 관한 정보에 포함된 미리 결정된 값보다 작음을 식별하고,
    상기 스케줄링 정책에 관한 정보에 기반하여 상기 UWA의 우선 순위보다 낮은 우선 순위를 가지는 상기 MCP 내의 적어도 하나의 모듈을 식별하고,
    상기 식별된 적어도 하나의 모듈에게 할당된 자원들을 해제하고, 상기 해제된 자원들을 상기 UWA에게 할당하는 조치를 결정하도록 더 구성되는 장치.
  20. 청구항 11에 있어서,
    상기 상태 정보는, 상기 호스트 서버로부터 주기적으로 송신되는 장치.
KR1020190058716A 2019-05-20 2019-05-20 클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법 KR20200133478A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190058716A KR20200133478A (ko) 2019-05-20 2019-05-20 클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법
EP20809405.2A EP3970015A4 (en) 2019-05-20 2020-05-15 APPARATUS AND METHOD FOR ADJUSTING RESOURCES IN A CLOUD SYSTEM
PCT/KR2020/006433 WO2020235880A1 (en) 2019-05-20 2020-05-15 Apparatus and method for adjusting resources in cloud system
US16/877,172 US11283860B2 (en) 2019-05-20 2020-05-18 Apparatus and method for adjusting resources in cloud system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190058716A KR20200133478A (ko) 2019-05-20 2019-05-20 클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20200133478A true KR20200133478A (ko) 2020-11-30

Family

ID=73456344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190058716A KR20200133478A (ko) 2019-05-20 2019-05-20 클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법

Country Status (4)

Country Link
US (1) US11283860B2 (ko)
EP (1) EP3970015A4 (ko)
KR (1) KR20200133478A (ko)
WO (1) WO2020235880A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230087318A (ko) * 2021-12-09 2023-06-16 국민대학교산학협력단 인공지능 기반 클라우드 서비스 장치 및 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422651A (zh) * 2020-11-06 2021-02-26 电子科技大学 一种基于强化学习的云资源调度性能瓶颈预测方法
CN115185671A (zh) * 2021-04-07 2022-10-14 华为云计算技术有限公司 一种资源调度方法、装置、计算机设备、系统及存储介质
US20220377615A1 (en) * 2021-05-18 2022-11-24 Microsoft Technology Licensing, Llc Techniques for adaptively allocating resources in a cloud-computing environment
US11956672B2 (en) 2021-05-18 2024-04-09 Microsoft Technology Licensing, Llc Techniques for adaptively determining cell boundary in wireless communications
US20220405134A1 (en) * 2021-06-21 2022-12-22 Sap Se Resource Allocation in a Cloud Computing System Based on Predictions of Workload Probability Parameters

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9595054B2 (en) * 2011-06-27 2017-03-14 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US8671407B2 (en) * 2011-07-06 2014-03-11 Microsoft Corporation Offering network performance guarantees in multi-tenant datacenters
CN102378186B (zh) 2011-11-21 2018-08-07 南京中兴软件有限责任公司 一种基站资源共享系统及方法
US9513950B2 (en) * 2012-07-25 2016-12-06 Vmware, Inc. Dynamic resource configuration based on context
EP2775399A4 (en) * 2012-12-26 2015-04-29 Huawei Tech Co Ltd METHOD FOR MANAGING VIRTUAL MACHINE SYSTEM RESOURCES, VIRTUAL MACHINE SYSTEM, AND APPARATUS
CN103713956B (zh) 2014-01-06 2017-01-25 山东大学 应用于云计算虚拟化管理环境中的智能加权负载均衡方法
US20150372881A1 (en) 2014-06-23 2015-12-24 Synchronoss Technologies, Inc. Apparatus, method and system for dynamic allocation of shared cloud-based resources
US9733987B2 (en) * 2015-02-20 2017-08-15 Intel Corporation Techniques to dynamically allocate resources of configurable computing resources
CN107026877B (zh) * 2016-01-29 2020-07-07 华为技术有限公司 云平台中管理资源的方法和装置
CN108989194B (zh) * 2017-05-31 2021-07-09 微软技术许可有限责任公司 分布式IPSec网关
US11405300B2 (en) * 2017-06-20 2022-08-02 Vmware, Inc. Methods and systems to adjust resources and monitoring configuration of objects in a distributed computing system
US11086701B2 (en) * 2019-01-24 2021-08-10 Virtustream Ip Holding Company Llc Master control plane for infrastructure and application operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230087318A (ko) * 2021-12-09 2023-06-16 국민대학교산학협력단 인공지능 기반 클라우드 서비스 장치 및 방법

Also Published As

Publication number Publication date
EP3970015A1 (en) 2022-03-23
WO2020235880A1 (en) 2020-11-26
US11283860B2 (en) 2022-03-22
EP3970015A4 (en) 2022-11-02
US20200374339A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
KR20200133478A (ko) 클라우드 시스템에서 자원을 조정하기 위한 장치 및 방법
US9485197B2 (en) Task scheduling using virtual clusters
KR102316971B1 (ko) 소프트웨어 정의 네트워크에서 동적 자원 할당 방법 및 장치
KR102034532B1 (ko) 스펙트럼 리소스들의 제공 및 분배를 위한 시스템 및 방법
US10129101B2 (en) Application driven and adaptive unified resource management for data centers with Multi-Resource Schedulable Unit (MRSU)
WO2018188619A1 (en) Networking service level agreements for computer datacenters
EP3283953B1 (en) Providing services in a system having a hardware acceleration plane and a software plane
WO2017010922A1 (en) Allocation of cloud computing resources
US10831553B2 (en) System and method for fair resource allocation
CN116998203A (zh) 云化的mac调度器
CN112119666A (zh) 用于管理无线电接入网内的资源的方法、计算机程序和电路系统
KR20220126764A (ko) 분산형 저장 시스템들에서의 마스터 데이터 배치
US20220417948A1 (en) Learned scheduler for flexible radio resource allocation to applications
US11849442B2 (en) Dynamic 5G network slicing to maximize spectrum utilization
KR102410586B1 (ko) 사물인터넷 엣지 컴퓨팅 환경을 위한 컨테이너 기반 동적 자원 분배 방법 및 장치
El Haber et al. An energy-efficient task offloading solution for MEC-based IoT in ultra-dense networks
US11706658B2 (en) 5G admission by verifying slice SLA guarantees
CN115878309A (zh) 资源分配方法、装置、处理核、设备和计算机可读介质
US11831552B1 (en) LCS resource device access control and management system
US20240028402A1 (en) Lcs resource device access control and management system
KR102563329B1 (ko) 컨테이너에 대한 리소스 간 의존성 스케줄링 방법 및 이를 수행하는 네트워크 시스템
Ennaceur et al. Engineering Edge-Cloud Offloading of Big Data for Channel Modelling in THz-range Communications
WO2023030695A1 (en) Cpu-aware intelligent radio controller
KR20210127565A (ko) 가상 머신에 자원을 할당하는 방법 및 장치
CN112997416A (zh) 通信系统中的资源调度

Legal Events

Date Code Title Description
E902 Notification of reason for refusal