KR20170041526A - 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법 - Google Patents

가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법 Download PDF

Info

Publication number
KR20170041526A
KR20170041526A KR1020150141075A KR20150141075A KR20170041526A KR 20170041526 A KR20170041526 A KR 20170041526A KR 1020150141075 A KR1020150141075 A KR 1020150141075A KR 20150141075 A KR20150141075 A KR 20150141075A KR 20170041526 A KR20170041526 A KR 20170041526A
Authority
KR
South Korea
Prior art keywords
server
server nodes
state
power management
active
Prior art date
Application number
KR1020150141075A
Other languages
English (en)
Other versions
KR102366778B1 (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 KR1020150141075A priority Critical patent/KR102366778B1/ko
Priority to US15/197,016 priority patent/US10157075B2/en
Publication of KR20170041526A publication Critical patent/KR20170041526A/ko
Application granted granted Critical
Publication of KR102366778B1 publication Critical patent/KR102366778B1/ko

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/189Power distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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]
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/0893Assignment of logical groups to network 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/0894Policy-based network configuration management
    • 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
    • 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
    • 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
    • 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/42
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명은 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 동작에 관한 것으로서, 서버 클러스터에 포함된 서버 노드들에 대한 부하 분배 사항 및 상기 서버 노드들 각각의 동적 상태를 모니터링하는 모니터링부, 상기 서버 노드들 각각의 정적 상태 정보를 저장하는 서버 노드 정보 저장부, 상기 모니터링부에 의해 모니터링된 정보와 상기 서버 노드 정보 저장부에 저장된 상기 정적 상태 정보를 이용하여 상기 서버 노드들 각각에 대한 부하 분배 정책 및 전력 관리 정책을 결정하는 정책 결정부, 및 상기 전력 관리 정책에 따라 상기 서버 노드들을 활성 상태 또는 비활성 상태로 전환하고, 상기 부하 분배 정책에 따라 활성화된 서버 노드에 서비스 클라이언트에서 요청한 서비스 요청의 부하가 분배되도록 제어하는 제어부를 포함한다.

Description

가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법{Device for distributing the load and manage the power of virtualization server cluster and method thereof}
본 발명은 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법에 관한 것으로, 특히 가상화된 서버를 서비스 서버로 사용하는 클라우드 컴퓨팅용 가상화 서버 클러스터의 부하 분배와 전력 관리 장치 및 그 방법에 관한 것이다.
서버 클러스터 시스템은 특정 서비스를 제공하는 복수의 서버들을 한 개 또는 복수의 부하 분배기와 연결하여, 외부로부터의 요청되는 서비스 요청을 부하 분배기를 통해 서버 클러스터 내의 서버들로 분산하여 처리하도록 하는 시스템이다. 서버 클러스터 시스템은 서비스 요청을 순차적으로 클러스터의 서버들로 분배하고 할당하여, 서버들로 하여금 서비스 요청을 처리하게 함으로써, 단일 서버의 처리 용량 이상의 요청 부하에도 만족스러운 응답 결과를 유도한다.
서버 클러스터 시스템의 부하 분배 방법은 서비스 요청 부하에 대한 응답 성능을 기준으로 설계하되, 일반적으로 최대 서비스 요청 부하에 맞추어 설계된다. 이때, 최대 서비스 요청 부하보다 적은 서비스 요청 부하에 대해서는 서버가 불필요하게 활성 상태로 대기하거나 적은 자원 사용량으로 동작하여 전력을 낭비한다. 따라서, 서비스를 제공하는 최적화된 서버만을 활성 상태로 유지하고 나머지를 저전력 상태로 전환하여 전력을 절감하면서도 서비스 요청에 대해 만족스러운 응답 결과를 얻을 수 있는 부하 분배와 전력 관리 방법이 필요하다.
기존의 일반적인 서버의 전력 관리 정책인 시간 기반 스케줄링 방법은 각 서버 노드의 전력 상태를 시간 단위로 스케줄링하는 방법이다. 이러한 방법에는 클러스터 관리자의 경험을 통해 많은 서버가 필요한 시간 구간에 필요한 서버를 활성 상태로 전환하고 활성화된 서버들에게 부하 분배를 실시한다. 이러한 방법은 전적으로 관리자의 경험에 의존함에 따라, 관리자의 경험과 다른 상황에서는 원하는 결과를 얻을 수 없다. 또한, 일반적으로 소비 전력 절감과 서비스 성능은 서로 상반된 목표로, 한가지 증가시키면 다른 하나는 감소하는 특성을 가지기 때문에 더욱 만족스러운 설계가 힘들다.
따라서, 관리자의 경험을 반영하면서도 서버에 대한 요청 상황과 서비스 상황을 파악하여, 이에 적합한 부하 분배와 서버의 전력 관리를 수행함으로써, 원하는 서비스 응답 결과와 소비 전력 감소를 얻을 수 있는 서버 클러스터의 부하 분배와 전력 관리 시스템 및 방법이 요구된다.
한편, 최근에는 가상화된 서버를 서비스 서버로 사용하는 클라우드 컴퓨팅 서비스가 제공되고 있다. 이에 따라, 부하 분배 및 전력 관리에 이러한 가상 머신(가상화된 서버)가 고려되어야 한다. 하지만, 물리적 서버와 가상 머신의 차이로 인하여 기존의 방법으로는 효과적인 부하 분배 및 소비 전력을 관리하기 어렵다.
본 발명의 목적은 물리적 서버는 물론 가상화된 서버를 서비스 서버로 사용하는 클라우드 컴퓨팅용 서버 클러스터의 부하 분배와 전력 관리 장치 및 그 방법을 제공함에 있다.
전술한 과제를 달성하기 위한 본 발명의 일 양상에 따른 부하 분배 및 전력 관리 장치는 서버 클러스터에 포함된 서버 노드들에 대한 부하 분배 사항 및 상기 서버 노드들 각각의 동적 상태를 모니터링하는 모니터링부, 상기 서버 노드들 각각의 정적 상태 정보를 저장하는 서버 노드 정보 저장부, 상기 모니터링부에 의해 모니터링된 정보와 상기 서버 노드 정보 저장부에 저장된 상기 정적 상태 정보를 이용하여 상기 서버 노드들 각각에 대한 부하 분배 정책 및 전력 관리 정책을 결정하는 정책 결정부, 및 상기 전력 관리 정책에 따라 상기 서버 노드들을 활성 상태 또는 비활성 상태로 전환하고, 상기 부하 분배 정책에 따라 활성화된 서버 노드에 서비스 클라이언트에서 요청한 서비스 요청의 부하가 분배되도록 제어하는 제어부를 포함한다.
상기 모니터링부는 상기 서버 클러스터와 연결된 부하 분배기에 대한 초당 커넥션 또는 패킷량 중 적어도 하나를 포함하는 요청 연결 상태를 모니터링하는 부하 분배기 모니터링부, 및 상기 서버 노드들 각각의 자원 사용량, 제공 중인 서비스 정보 및 제공 상태, 전력 상태 중 적어도 하나의 동적 상태를 모니터링하는 서버 노드 모니터링부를 포함한다.
상기 정적 상태 정보는 상기 서버 노드들 각각의 벤더, 정격 소비 전력, 물리적 랙(Rack) 정보 및 설치 위치 중 적어도 하나를 포함하는 정적 정보 형태의 부가 정보인 것이다.
상기 정책 결정부는 상기 정적 상태 정보 및 상기 동적 상태 정보를 이용하여 상기 서버 노드들 각각에 대한 정적 가중치와 동적 가중치를 결정하는 부하 분배 정책 결정부, 및 상기 서버 노드들 중 활성화할 서버 노드를 결정하는 전력 관리 정책 결정부를 포함한다.
상기 부하 분배 정책 결정부는 관리자의 조작에 따라 비례상수의 값, 표준 가중치, 표준 자원 사용량 중 적어도 하나를 시간 단위로 스케줄링하여 상기 부하 분배 정책에 반영한다.
상기 전력 관리 정책 결정부는 상기 서비스 요청에 비례하여 최적 활성 서버 노드의 개수를 결정하고, 상기 최적 활성 서버 노드 개수에 따라 상기 서버 노드들을 활성 상태 또는 비활성 상태로 전환하는 것을 결정한다.
상기 전력 관리 정책 결정부는 활성화된 서버 노드들의 우선순위를 지정하여 관리하는 활성 서버 노드 테이블과 비활성화된 서버 노드들의 우선순위를 지정하여 관리하는 비활성 서버 노드 테이블을 관리한다.
상기 전력 관리 정책 결정부는 상기 비활성 서버 노드 테이블에서 우선순위가 높은 서버 노드 순서대로 활성 상태로 전환하도록 정책을 결정하며, 상기 활성 서버 노드 테이블에서 우선순위가 낮은 서버 노드 순서대로 비활성 상태로 전환하도록 정책을 결정한다.
상기 제어부는 상기 활성 서버 노드들 각각의 가중치를 고려하여 상기 서비스 요청 부하가 상기 활성 서버 노드들에 분배되도록 상기 부하 분배기를 제어하는 부하 분배기 제어부, 및 상기 서버 노드들에 대해서 활성 상태 또는 비활성 상태로 전력 상태를 관리하는 전력 관리 제어부를 포함한다.
상기 전력 관리 제어부는 상기 서버 노드들 중 가상 머신의 전력 상태를 활성 또는 비활성 상태로 전환하는 경우, 상기 가상 머신의 호스트인 물리 머신을 활성 상태로 전환한 후 상기 가상 머신을 활성 상태로 전환하며, 상기 가상 머신을 비활성 상태로 전환한 후 상기 물리 머신을 비활성 상태로 전환한다.
한편, 전술한 과제를 달성하기 위한 본 발명의 일 양상에 따른 부하 분배 및 전력 관리 방법은 서버 클러스터에 포함된 서버 노드들에 대한 부하 분배 사항 및 상기 서버 노드들 각각의 동적 상태를 모니터링하는 단계, 상기 서버 노드들 각각의 정적 상태 정보를 저장하는 단계, 상기 모니터링부에 의해 모니터링된 정보와 상기 서버 노드 정보 저장부에 저장된 상기 정적 상태 정보를 이용하여 상기 서버 노드들 각각에 대한 부하 분배 정책 및 전력 관리 정책을 결정하는 단계, 및 상기 전력 관리 정책에 따라 상기 서버 노드들을 활성 상태 또는 비활성 상태로 전환하고, 상기 부하 분배 정책에 따라 활성화된 서버 노드에 서비스 클라이언트에서 요청한 서비스 요청의 부하가 분배되도록 제어하는 단계를 포함한다.
상기 모니터링하는 단계는 상기 서버 클러스터와 연결된 부하 분배기에 대한 초당 커넥션 또는 패킷량 중 적어도 하나를 포함하는 요청 연결 상태를 모니터링하는 단계, 및 상기 서버 노드들 각각의 자원 사용량, 제공 중인 서비스 정보 및 제공 상태, 전력 상태 중 적어도 하나의 동적 상태를 모니터링하는 단계를 포함한다.
상기 정적 상태 정보는 상기 서버 노드들 각각의 벤더, 정격 소비 전력, 물리적 랙(Rack) 정보 및 설치 위치 중 적어도 하나를 포함하는 정적 정보 형태의 부가 정보인 것이다.
상기 결정하는 단계는 상기 정적 상태 정보 및 상기 동적 상태 정보를 이용하여 상기 서버 노드들 각각에 대한 정적 가중치와 동적 가중치를 결정하는 단계, 및 상기 서버 노드들 중 활성화할 서버 노드를 결정하는 단계를 포함한다.
상기 결정하는 단계는 관리자의 조작에 따라 비례상수의 값, 표준 가중치, 표준 자원 사용량 중 적어도 하나를 시간 단위로 스케줄링하여 상기 부하 분배 정책에 반영한다.
상기 결정하는 단계는 상기 서비스 요청에 비례하여 최적 활성 서버 노드의 개수를 결정하고, 상기 최적 활성 서버 노드 개수에 따라 상기 서버 노드들을 활성 상태 또는 비활성 상태로 전환하는 것을 결정한다.
상기 결정하는 단계는 활성화된 서버 노드들의 우선순위를 지정하여 관리하는 활성 서버 노드 테이블과 비활성화된 서버 노드들의 우선순위를 지정하여 관리하는 비활성 서버 노드 테이블을 관리한다.
상기 결정하는 단계는 상기 비활성 서버 노드 테이블에서 우선순위가 높은 서버 노드 순서대로 활성 상태로 전환하도록 정책을 결정하며, 상기 활성 서버 노드 테이블에서 우선순위가 낮은 서버 노드 순서대로 비활성 상태로 전환하도록 정책을 결정한다.
상기 제어하는 단계는 상기 활성 서버 노드들 각각의 가중치를 고려하여 상기 서비스 요청 부하가 상기 활성 서버 노드들에 분배되도록 상기 부하 분배기를 제어하는 단계, 및 상기 서버 노드들에 대해서 활성 상태 또는 비활성 상태로 전력 상태를 관리하는 단계를 포함한다.
상기 전력 상태를 관리하는 단계는 상기 서버 노드들 중 가상 머신의 전력 상태를 활성 또는 비활성 상태로 전환하는 경우, 상기 가상 머신의 호스트인 물리 머신을 활성 상태로 전환한 후 상기 가상 머신을 활성 상태로 전환하며, 상기 가상 머신을 비활성 상태로 전환한 후 상기 물리 머신을 비활성 상태로 전환한다.
본 발명의 실시예에 따르면 실제 물리적 서버뿐만 아니라 가상화된 가상 머신 서버 노드를 포함하는 클라우드 컴퓨팅용 서버 클러스터의 부하 분배와 전력 관리를 수행함으로써, 가상화된 서버 클라우드의 원하는 서비스의 성능을 유지하며 소비 전력을 절감할 수 있으며, 기존에 가상 머신을 고려하지 않음으로 인한 비효율성을 극복하여 더욱 만족스러운 서비스 성능 및 전력 절감 효과를 얻을 수 있다. 또한, 본 발명의 실시예에 따르면 부하 분배의 가중치와 전력 관리의 우선순위를 결정할 때 사용자가 표준 사용량을 지정하고 이를 시간에 따라 스케줄링하도록 함으로써, 사용자의 경험 또한 반영될 수 있다.
도 1은 본 발명의 실시예에 따른 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치를 포함한 전체 시스템 블록도.
도 2는 본 발명의 실시예에 따른 서버 클러스터의 부하 분배/전력 관리 장치 구성도
도 3은 본 발명의 실시예에 따른 활성/비활성 서버 노드 테이블을 예시한 도면.
도 4는 본 발명의 실시예에 따른 전력 관리 정책 결정부의 동작 흐름도.
도 5는 본 발명의 실시예에 따른 가상화 서버 클러스터의 부하 분배 및 전력 관리 방법 흐름도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가급적 동일한 부호를 부여하고, 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 실시예에 따른 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치를 포함한 전체 시스템 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치를 포함하는 전체 시스템은 서비스 클라이언트(100), 부하 분배기(200), 부하 분배/전력 관리 장치(300) 및 서버 클러스터(400)로 구성된다. 여기서, 서비스 클라이언트(100), 부하 분배기(200) 및 부하 분배/전력 관리 장치(300)는 각각 1개 이상으로 구성될 수 있다. 또한, 부하 분배기(200) 및 부하 분배/전력 관리 장치(300)는 별도의 머신으로 구현될 수 있으며, 또는 하나의 머신에 함께 구현될 수도 있다. 아울러, 서버 클러스터(400)는 복수의 서버 노드로 이루어진 서버 노드 풀로 구성된다.
서버 클러스터(400)에 포함된 서버 노드들 각각은 실제 클라이언트에게 서비스를 제공하는 서버로서, 실제 물리 머신(410)과 가상 머신(420) 둘 중 하나일 수 있다. 즉, 서버 클러스터(400)는 물리 머신(410)과 가상 머신(420)을 다수 포함할 수 있다. 이때, 가상 머신(420)은 물리 머신(410) 상에 구현될 수 있으며, 가상 머신(420)이 구현된 물리 머신(410)을 호스트 머신이라고 지칭할 수 있다. 또한, 다수의 가상 머신(420)이 하나의 물리 머신(410)에 구현될 수도 있다.
서비스 클라이언트(100)는 부하 분배기(200)와 연결되어 부하 분배기(200)의 가상 서버에 서비스 요청을 전달한다. 이때, 서비스 클라이언트(100)와 부하 분배기(200) 간에는 유선 또는 무선으로 통신 연결될 수 있다.
부하 분배기(200)는 서비스 클라이언트(100)로부터 요청된 서비스 요청을 서버 클러스터(400)에 포함된 서버 노드들에 분배하는 역할을 한다. 이때, 부하 분배기(200)는 부하 분배 알고리즘에 따라 서비스 요청 부하를 서버 클러스터(400)에 포함된 서버 노드들 각각에게 개별적으로 분배한다.
부하 분배/전력 관리 장치(300)는 전력 관리 정책과 부하 분배 정책을 기반으로 서버 클러스터(400)에 포함된 서버 노드들의 전력 상태를 제어한다. 또한, 부하 분배/전력 관리 장치(300)는 서비스 클라이언트(100)의 서비스 요청에 의한 서비스 요청 부하를 서버 클러스터(400)에 포함된 서버 노드들로 분배하도록 부하 분배기(200)를 제어한다.
이상의 구성들은 서버 클러스터 시스템의 기본적인 구성으로, 이 외에도 추가적인 구성을 가질 수 있다. 예컨대, 부하 분배기(200) 및 서버 클러스터(400)의 상태 모니터링을 위한 전용 하드웨어나 전력 상태 제어를 위한 부가적인 장치를 포함할 수 있다.
이하, 도 2를 참조하여 본 발명의 실시예에 따른 서버 클러스터의 부하 분배 및 전력 관리를 위한 부하 분배/전력 관리 장치에 대해 구체적으로 설명한다.
도 2는 본 발명의 실시예에 따른 서버 클러스터의 부하 분배/전력 관리 장치 구성도이다.
도 2에 도시된 바와 같이 부하 분배/전력 관리 장치(300)는 부하 분배기 모니터링부(311), 서버 노드 모니터링부(313), 서버 노드 정보 저장부(320), 부하 분배 정책 결정부(331), 전력 관리 정책 결정부(333), 부하 분배기 제어부(341), 정책 저장부(350)로 구성된다. 이때, 이상의 구성들은 부하 분배/전력 관리 장치(300) 내에 모두 구현되지 않고, 일부의 구성은 별도의 장치, 서버 또는 모듈 등에 구현될 수도 있다. 이하에서는 상기의 구성들은 부하 분배/전력 관리 장치(300) 내에 구현된 것을 가정하여 설명한다.
먼저, 부하 분배기 모니터링부(311)와 서버 노드 모니터링부(313)를 포함하는 모니터링부(310)에 대해 설명한다.
부하 분배기 모니터링부(311)는 부하 분배기(200)와의 통신을 통하여 부하 분배기(200)에서의 부하 분배 사항을 파악한다. 예컨대, 부하 분배기 모니터링부(311)는 부하 분배기(200)의 가상 서버에 대한 초당 커넥션(Connections Per Second, CPS)나 패킷량 등을 포함하는 요청 연결 상태를 파악한다. 또한, 부하 분배기 모니터링부(311)는 부하 분배기(200)의 가상 서버에 부착(연결)되어 분배되는 서버 클러스터(400)의 서버 노드들에 대한 정보도 모니터링할 수 있다.
이렇게 모니터링된 정보를 바탕으로 서비스 클라이언트(100)의 서비스 요청량이 계산되고, 부하 분배기(200)의 상태가 파악된다. 부하 분배기 모니터링부(311)에서 모니터링된 부하 분배기 모니터링 정보는 부하 분배 정책 결정부(331)와 전력 관리 정책 결정부(333)에 제공되어, 부하 분배 정책 및 전력 관리 정책을 결정하는 데에 활용될 수 있다.
서버 노드 모니터링부(313)는 동작 중인 서버 클러스터(400)에 포함된 서버 노드들 각각의 자원 사용량, 제공 중인 서비스 정보 및 상태, 전력 상태를 파악한다. 예컨대, 서버 노드 모니터링부(313)는 서버 노드들 각각의 중앙처리장치(Central Processing Unit, CPU), 디스크, 네트워크 사용량이나 동작 전력 모드를 서버 노드들 각각과의 통신을 통하여 파악할 수 있다.
이때, 서버 노드들과의 통신은 서버 노드들 각각 상의 구현된 에이전트 소프트웨어(S/W)를 이용할 수 있다. 또는, 서버 노드들 각각의 기본 관리 컨트롤러(Baseboard Management Controller, BMC) 보드와 같은 하드웨어(H/W)로부터 전력 상태를 바로 파악할 수 있다. 예컨대, 아파치 톰캣의 경우는 웹서비스의 모니터링 정보를 제공한다.
아울러, 서버 노드 모니터링부(313)는 서버 노드들 각각의 소비 전력도 파악할 수 있다. 이때, 소비 전력을 측정하는 H/W를 가진 서버 노드의 경우, 서버 노드의 H/W로부터의 측정값을 통신을 통하여 수신하여 파악할 수 있다. 만약, 소비 전력을 측정하는 H/W가 없는 서버 노드의 경우는 CPU 사용량 등의 시스템 자원 사용량을 바탕으로 S/W적으로 계산할 수 있다.
서버 노드 모니터링부(313)는 이렇게 수집된 서버 노드들 각각에 대한 서버 노드 모니터링 정보를 부하 분배 정책 결정부(331)와 전력 관리 정책 결정부(333)에 제공하여 정책 결정에 활용될 수 있도록 한다.
상기와 같은 모니터링부(310)의 부하 분배기 모니터링부(311)에 의해 모니터링된 부하 분배기 모니터링 정보는 서버 클러스터(400) 외부의 상황에 대한 정보를 제공하는 한편, 서버 노드 모니터링부(313)에 의해 모니터링된 서버 노드 모니터링 정보는 서버 클러스터(400) 내의 정보를 제공한다. 이러한 모니터링부(310)의 두 가지 모니터링 정보(부하 분배기 모니터링 정보 및 서버 노드 모니터링 정보)를 바탕으로 서버 클러스터(400)에 대한 부하 분배 정책과 전력 관리 정책이 결정될 수 있다.
한편, 서버 노드 정보 저장부(320)는 서버 클러스터(400)에 포함된 서버 노드들 각각에 대한 정적 정보 형태의 부가 정보(정적 상태 정보)를 저장한다. 예컨대, 서버 노드 모니터링부(313)가 동적으로 변화하는 서버 노드들 각각의 정보를 모니터링하여 저장함에 반하여, 서버 노드 정보 저장부(320)는 서버 노드들 각각의 벤더나 정격 소비 전력 등의 정적 정보 형태의 부가 정보를 저장한다. 이 외에도 서버 노드들 각각의 물리적 랙(Rack) 정보, 설치 위치 등의 정보를 저장한다. 또한, 서버 노드들 중 가상 머신(420)의 경우, 가상 머신(420)이 구현된 물리 머신(410)(호스트 머신)에 대한 정보를 저장한다.
이하, 부하 분배 정책 결정부(331)과 전력 관리 정책 결정부(333)를 포함하는 정책 결정부(330)에 대해 설명한다.
부하 분배 정책 결정부(331)는 서버 노드들 각각에 대한 부하 분배 정책을 결정하는 구성이다. 이를 위해, 부하 분배 정책 결정부(331)는 모니터링부(310)의 정보(부하 분배기 모니터링 정보 및 서버 노드 모니터링 정보)와 서버 노드 정보 저장부(320)의 정보를 활용한다.
예컨대, 부하 분배 정책 결정부(331)는 가중치 기반의 라운드 로빈(Weighted Round Robin, WRR) 방식의 부하 분배 정책에서 서버 노드들 각각에 대한 가중치(weight)를 결정할 수 있다. 부하 분배 정책 결정부(331)는 서버 클러스터(400)에 포함된 서버 노드(특히, 활성화된 서버 노드)의 성능이 높을수록, 자원 사용량이 적을수록, 소비 전력 낮을수록 높은 가중치를 할당함으로써, 높은 가중치를 갖는 서버 노드에서 더 많은 서비스 요청 부하를 처리하도록 할 수 있다.
일반적으로, 가상 머신(420)의 경우는 물리 머신(410)에 비해서 상대적으로 낮은 사양으로 설정하게 되고 소프트웨어적인 노드이므로 물리 머신(410)에 비해 서비스 처리 성능이 떨어지지만, 소비 전력을 추가로 사용하지 않아서 물리 머신(410)에 비해 낮은 소비전력을 가진다. 부하 분배 정책 결정부(331)는 이를 고려하여 서버 노드들 각각에 대한 정적 가중치를 결정한다.
또한, 부하 분배 정책 결정부(331)는 서버 노드들 각각의 표준 자원 및 전력 사용량을 정해두고 서버 노드의 사용량과의 차이를 구하여 그 값을 빼서 동적 가중치를 사용한다. 만약, 자원 및 전력 사용량이 표준 사용량에 미치지 못하면 양의 값을 사용하고, 표준 사용량을 넘어서면 음의 값을 사용한다.
이와 같이, 결정된 정적 가중치와 동적 가중치의 합이 수학식 1과 같이 서버 노드에 대한 전체 가중치가 될 수 있다.
Figure pat00001
이때, 정적 가중치는 수학식 2를 통해 구해질 수 있다.
Figure pat00002
여기서, α, β, γ, δ, ε, ζ는 비례상수이며, CPU 계수, 서비스계수, 머신계수 및 소비전력계수 각각은 서버 노드의 CPU 종류, 서비스 종류, 머신 종류, 정격 소비 전력에 따라 다를 수 있다. 예컨대, CPU 계수, 서비스계수, 머신계수 및 소비전력계수 각각은 표 1 내지 표 4와 같을 수 있다.
CPU 종류 CPU계수값
Dual Core Intel Xeon 7000 시리즈 1
ARM processors X-Gene 0.5
Intel Celeron D Processor 0.1
서비스 종류 서비스계수값
Web 서비스 1
FTP 서비스 0.5
스토리지 서비스 0.1
서버 종류 머신계수값
고성능머신 1
저성능머신 0.5
가상 머신 0.1
정격 소비전력 소비전력계수값
100 Watt 미만 1
100 Watt 이상 150 Watt 미만 0.5
150Watt 이상 0.1
상기의 정적 가중치 산출 식은 하나의 예를 이용한 가중 합(weighted sum) 방식이지만, 가중치 최소극대(weighted max-min) 방식 등 다른 방식을 사용하여 정적 가중치를 계산할 수 있다. 그 값도 열거형 값을 포함하여 특정 변수에 비례하는 수식값일 수도 있다. 또한, 정적 가중치는 상기에 언급된 CPU 종류, 서비스 종류, 머신 종류, 정격 소비 전력뿐만 아니라 서버 노드의 다른 정적 상태 정보를 이용하여 구해질 수도 있다.
한편, 동적 가중치는 수학식 3을 통해 구해질 수 있다.
Figure pat00003
여기서, η, θ는 비례상수이다. 또한, 표준 자원 사용량 및 표준 전력 사용량은 서비스를 가장 최적으로 제공할 수 있는 서버 노드의 자원 및 전력 사용량으로서, 전체 서버 클러스터(400) 별로 정하거나, 서버 노드 별, 노드 종류별로 할당할 수 있다.
일반적으로, 가상 머신(420)의 경우는 표준 자원 사용량을 물리 머신(410) 보다 낮게 설정하여야 한다. 예컨대, 가상 머신(420)의 경우 전력을 소비하지 않으므로, θ를 0으로 두거나 가상 머신(420)의 물리 머신(410)(호스트 머신)의 값들을 사용할 수 있다.
상기의 동적 가중치 산출 식은 하나의 예를 이용한 가중 합(weighted sum) 방식이지만, 가중치 최소극대(weighted max-min) 방식 등 다른 방식을 사용하여 동적 가중치를 계산할 수 있다.
상기의 정적 가중치 및 동적 가중치의 값들은 절대값이지만 부하 분배기(200)의 허용 가중치에 맞추어 정규화하여 사용할 수 있다. 이때, 허용 가중치는 부하 분배기(200)의 사양에 따라 기설정된 것일 수 있다.
상기의 정적 가중치 및 동적 가중치의 값들은 시간의 함수로 지정할 수 있다. 따라서, 관리자는 가중치 값을 시간에 대하여 스케줄(설정) 함으로써, 자신의 서비스에 대한 경험을 부하 분배 정책에 넣을 수 있다. 예컨대, 관리자는 비례상수의 값, 표준 가중치, 표준 자원 사용량을 시간에 따라 다른 값을 스케줄링하여 전체 시스템의 동작을 결정할 수 있다.
전력 관리 정책 결정부(333)는 서버 노드들 중 활성화할 활성 서버 노드를 결정하는 구성으로서, 활성 서버 노드로 결정된 서버 노드를 제외하고는 비활성 상태로 전환되어 소비 전력을 절감할 수 있다.
이하, 도 3 및 도 4를 참조하여 본 발명의 실시예에 따른 전력 관리 정책 결정부의 동작에 대해 구체적으로 설명한다.
도 3은 본 발명의 실시예에 따른 활성/비활성 서버 노드 테이블을 예시한 도면이며, 도 4는 본 발명의 실시예에 따른 전력 관리 정책 결정부의 동작 흐름도이다.
먼저, 전력 관리 정책 결정부(333)는 부하 분배기 모니터링부(311) 및 서버 노드 모니터링부(313)의 정보와 서버 노드 정보 저장부(320)의 정보를 수집한다(S410).
전력 관리 정책 결정부(333)는 활성화할 최적 활성 서버 노드 개수를 결정한다(S420). 이때. 전력 관리 정책 결정부(333)는 일정 시간 간격을 두고 활성 서버 노드의 개수를 결정할 수 있다. 예컨대, 전력 관리 정책 결정부(333)는 서비스 요청 부하에 비례하여, 현재 필요한 서버 노드의 개수를 지정하거나, 현재 활성화된 서버 노드의 노드 상태를 파악하여 결정한다.
전력 관리 정책 결정부(333)는 현재 활성화 중인 서버 노드들에 활성 서버 노드를 추가하거나 현재 활성화 중인 노드들 중에서 비활성으로 빼는 결정을 위해, 현재 활성 서버 노드의 개수와 최적 활성 서버 노드의 개수를 비교한다(S430).
예컨대, 현재 활성화된 서버 노드가 처리 가능한 것보다 큰 서비스 요청이 들어오면 활성 서버 노드의 개수를 늘리고, 현재 활성화된 서버 노드가 처리 가능한 것보다 작은 서비스 요청이 들어오면 활성 서버 노드의 개수를 줄인다. 또한, 현재 자원 사용량이 지나치게 높으면(현재 자원 사용량 > 기설정된 설정 자원 사용량), 활성 서버 노드의 개수를 늘리고, 현재 자원 사용량이 설정 자원 사용량보다 낮으면(현재 자원 사용량 ≤ 기설정된 설정 자원 사용량), 활성 서버 노드의 개수를 줄인다.
이와 같이 서버 노드들 각각을 활성 또는 비활성화하기 위해서, 전력 관리 정책 결정부(333)는 2개의 테이블을 관리한다. 여기서, 2개의 테이블 중 하나의 테이블은 비활성 서버 노드 테이블이고 다른 하나의 테이블은 활성 서버 노드 테이블이다. 이러한 활성 서버 노드 테이블과 비활성 서버 노드 테이블 내 저장된 서버 노드들 각각에는 우선순위가 지정되어 관리될 수 있다. 여기서, 우선순위는 여러 가지 방법으로 지정이 가능하다. 예컨대, 부하 분배 정책의 정적 가중치를 구할 때와 같은 방식으로 우선순위를 결정할 수 있다.
전력 관리 정책 결정부(333)는 현재 활성 서버 노드의 개수가 최적 활성 서버 노드의 개수보다 작으면, 비활성 서버 노드 테이블의 상위 우선순위의 서버 노드를 활성화한다(S440). 일단 결정된 서버 노드의 개수(활성화된 서버 노드의 개수)에 의하여 활성 서버 노드의 수를 늘리기 위해서는, 비활성 서버 노드 테이블에서 가장 우선순위가 높은 서버 노드(도 3에서 노드 1)를 활성화한다. 이후, 비활성에서 활성으로 전환되는 서버 노드의 개수에 따라, 비활성 서버 노드 테이블에서 우선순위가 높은 순서대로 활성화되는 서버 노드(노드 1 → 노드 4 → …)는 활성 서버 노드 테이블로 이동한다.
현재 활성 서버 노드의 개수가 최적 활성 서버 노드의 개수보다 크면, 전력 관리 정책 결정부(333)는 활성 서버 노드 테이블의 하위 우선순위의 서버 노드를 비활성화한다(S450). 활성 서버 노드의 개수를 줄이기 위해서는, 활성 서버 노드 테이블에서 가장 우선순위가 낮은 서버 노드(도 3에서 노드 18)을 비활성화한다. 이후, 활성에서 비활성으로 전환되는 서버 노드의 개수에 따라, 활성 서버 노드 테이블에서 우선순위가 낮은 순서대로 비활성화되는 서버 노드(노드 18 → 노드 9 → …)는 비활성 서버 노드 테이블로 이동한다.
한편, 서버 노드들 각각에 대한 우선순위는 부하 분배 정책에서 사용하는 정적 가중치와 동적 가중치를 사용할 수 있으며, 추가로 활성화된 시간을 고려한 우선순위를 추가할 수 있다. 그 예로는 수학식 4과 같다.
Figure pat00004
이상의 수식에서와 같이, 활성화 시간이 길수록 낮은 우선순위 결정 계수를 가짐으로써, 활성화 시간이 긴 서버 노드일수록 비활성화 확률이 높아진다.
또한, 부하 분배기(200)의 가중치 값과 같이 우선순위 결정 계수도 시간의 함수로 지정할 수 있다. 즉, 관리자는 가중치 값을 시간에 대하여 스케줄링함으로써, 자신의 서비스에 대한 경험을 부하 분배 정책에 넣을 수 있다. 예컨대, 비례상수의 값, 표준 가중치, 표준 자원 사용량을 시간에 따라 다른 값으로 스케줄링하여 전체 시스템의 동작을 결정한다.
한편, 관리자는 보통 복잡한 우선순위를 직접 입력하기 보다는 각 서버 노드에 대해서 표 5와 같이 시간별로 활성/비활성 두가지의 상태를 입력하는 경우도 있다.
서버 노드 시간 구간 전력 상태

노드 1
0시~9시 비활성
9시~20시 활성
20시~24시 비활성
노드 2 0시~23시 활성
23시~24시 비활성
이러한 종류의 스케줄링도 우선순위를 통해 쉽게 변환 가능하다. 예컨대, 표 5에서 비활성을 정적 가중치와 동적 가중치 모두 0으로 할당하고, 활성의 경우는 두 가중치를 모두 최대값으로 할당하여 선택되도록 할 수 있다.
그러나, 만약 표 5에서 가상 머신(420)의 호스트인 물리 머신(410)(호스트 머신)이 활성이 되지 않은 상태에서 관리자가 가상 머신(420)만을 활성화 하면, 자동으로 호스트 머신을 활성화한다. 반대로, 가상 머신(420)을 비활성화하지 않고 호스트 머신 만을 비활성화하면, 가상 머신(420)이 비활성화될 때까지 호스트 머신은 비활성화되지 않는다. 즉, 호스트 머신 보다 가상 머신(420)의 전력 상태가 우선시 되어 동작한다.
예컨대, 가상 머신(420)의 전력 상태가 특정 시점에 관리자에 의해 스케줄링되었을 때, 그 시점에 해당 가상 머신(420)의 호스트 머신에 할당된 전력 상태에 따라, 호스트 머신의 전력 상태가 제어되는 이러한 동작의 예를 하기의 표 6와 같이 정리될 수 있다.
가상 머신
할당 전력 상태
호스트 머신
할당 전력 상태
호스트 머신
전력 상태 제어
가상 머신
전력 상태 제어
활성 활성 무동작
(활성 상태 유지)
활성 전환
활성 비활성 활성 전환 호스트 머신의
활성 전환 이후에
활성 전환
비활성 활성 무동작
(활성 상태 유지)
비활성 전환
비활성 비활성 가상 머신의
비활성 전환 이후에
비활성 전환
비활성 전환
아울러, 복수의 가상 머신(420)이 하나의 호스트 머신에서 동작하는 경우는 가상 머신(420)의 활성이 우선으로 지정된다. 예컨대, 동일한 물리 머신(호스트 머신) 상의 가상 머신 1과 가상 머신 2가 특정 시점에 각각 활성과 비활성이 지정되면, 활성이 우선시 되어 호스트 머신은 활성 상태로 유지한다. 이후, 가상 머신 1과 가상 머신 2가 모두 비활성되면, 호스트 머신도 비활성 상태로 전환한다.
부하 분배기 제어부(341)는 부하 분배 정책 결정부(331)에서 결정된 부하 분배 정책을 부하 분배기(200)에 전달하여 활성화된 서버 노드에 부하 분배가 되도록 제어한다. 예컨대, 가중치 기반의 라운드 로빈(Weighted Round Robin, WRR) 방식의 경우는 변화된 가중치로 부하 분배기(200)를 설정한다. 또한, 전력 관리 정책 결정부(333)에 의해 결정된 전력 관리 정책에 따라, 활성화된 서버 노드나 비활성화된 서버 노드에 대한 부하 분배기(200)의 처리를 지시한다.
전력 관리 제어부(343)는 전력 관리 정책 결정부(333)에서 결정된 전력 관리 정책을 서버 노드들과의 통신을 통하여 실행한다. 예컨대, 전력 관리 정책에 의하여 활성화된 서버 노드는 활성 상태로 전력 상태를 전환하도록 하고, 서비스 요청에 대한 서비스 응용을 활성화 하도록 한다. 또한, 비활성화된 서버 노드는 비활성 상태로 전력을 전환하여 소비 전력을 절감하도록 한다.
정책 저장부(350)는 부하 분배 정책 결정부(331)와 전력 관리 정책 결정부(333)에서 결정된 부하 분배 정책과 전력 관리 정책을 저장하여, 추후에 부하 분배 정책과 전력 관리 정책을 호출하여 사용 가능하도록 한다.
이와 같이, 본 발명의 실시예에 따르면 실제 물리적 서버뿐만 아니라 가상화된 가상 머신 서버 노드를 포함하는 클라우드 컴퓨팅용 서버 클러스터의 부하 분배와 전력 관리를 수행함으로써, 가상화된 서버 클라우드의 원하는 서비스의 성능을 유지하며 소비 전력을 절감할 수 있으며, 기존에 가상 머신을 고려하지 않음으로 인한 비효율성을 극복하여, 보다 만족스러운 서비스 성능 및 전력 절감 효과를 얻을 수 있다. 또한, 본 발명의 실시예에 따르면 부하 분배의 가중치와 전력 관리의 우선순위를 결정할 때 사용자가 표준 사용량을 지정하고 이를 시간에 따라 스케줄링하도록 함으로써, 사용자의 경험 또한 반영될 수 있다.
도 5는 본 발명의 실시예에 따른 가상화 서버 클러스터의 부하 분배 및 전력 관리 방법 흐름도이다.
이하, 별도의 언급이 없는 한 본 발명의 실시예에 따른 부하 분배/전력 관리 장치(300)에 의해 동작하는 것으로 간주한다.
먼저, 서버 클러스터(400)에 포함된 서버 노드들 각각의 정적 정보 형태의 부가 정보(정적 상태 정보)를 수집한다(S510). 여기서 정적 정보 형태의 부가 정보는 서버 노드들 각각의 벤더나 정격 소비 전력 등을 말한다. 이 외에도 서버 노드들 각각의 물리적 랙(Rack) 정보, 설치 위치 등이 정적 정보 형태의 부가정보일 수 있다. 또한, 서버 노드들 중 가상 머신(420)의 경우, 가상 머신(420)이 구현된 호스트 머신(물리 머신(410))에 대한 정보를 수집할 수 있다.
또한, 부하 분배기(200) 및 서버 클러스터(400)의 동적 상태 정보 또한 수집한다(S520). 예컨대, 부하 분배기(200)의 가상 서버에 대한 초당 커넥션(Connections Per Second, CPS)나 패킷량 등을 포함하는 요청 연결 상태를 파악하고, 부하 분배기(200)의 가상 서버에 부착(연결)되어 분배되는 서버 노드들에 대한 정보도 모니터링하여 부하 분배기(200) 및 서버 클러스터(400)의 동적 상태 정보를 수집한다.
활성화할 최적 활성 서버 노드 개수를 결정한다(S530). 이때. 일정 시간 간격을 두고 활성 서버 노드의 개수를 결정할 수 있다. 예컨대, 서비스 요청 부하에 비례하여, 현재 필요한 서버 노드의 개수를 지정하거나, 현재 활성화된 서버 노드의 노드 상태를 파악하여 결정한다.
예컨대, 현재 활성화된 서버 노드가 처리 가능한 것보다 큰 서비스 요청이 들어오면 활성 서버 노드의 개수를 늘리고, 현재 활성화된 서버 노드가 처리 가능한 것보다 작은 서비스 요청이 들어오면 활성 서버 노드의 개수를 줄인다. 또한, 현재 자원 사용량이 지나치게 높으면(현재 자원 사용량 > 기설정된 설정 자원 사용량), 활성 서버 노드의 개수를 늘리고, 현재 자원 사용량이 설정 자원 사용량보다 낮으면(현재 자원 사용량 ≤ 기설정된 설정 자원 사용량), 활성 서버 노드의 개수를 줄인다.
또한, 현재 활성 서버 노드의 개수와 최적의 활성 서버 노드의 개수를 비교함으로써, 현재 활성화 중인 서버 노드들에 활성 서버 노드를 추가할지, 현재 활성화 중인 서버 노드들 중에서 비활성으로 전환할지를 결정한다(S540). 이와 같이 서버 노드들 각각을 활성 또는 비활성화 하기 위해서, 비활성 서버 노드 테이블과 활성 서버 노드 테이블을 참고할 수 있다. 이러한 활성 서버 노드 테이블과 비활성 서버 노드 테이블 내 저장된 서버 노드들 각각에는 우선순위가 지정되어 관리될 수 있다. 여기서, 우선순위는 여러 가지 방법으로 지정이 가능하다. 예컨대, 부하 분배 정책의 정적 또는 동적 가중치를 구할 때와 같은 방식으로 우선순위를 결정할 수 있다.
현재 활성 서버 노드의 개수가 최적 활성 서버 노드의 개수보다 작으면, 비활성 서버 노드 테이블의 상위 우선순위의 서버 노드를 활성화하는 것으로 결정한다. 이때, 비활성 서버 노드 테이블에서 우선순위가 높은 순서대로 활성 서버 노드(도 3에서 노드 1 → 노드 4 → …)로 전환할 수 있다.
만약, 현재 활성 서버 노드의 개수가 최적 활성 서버 노드의 개수보다 크면, 활성 서버 노드 테이블의 하위 우선순위의 서버 노드를 비활성화하는 것으로 결정한다. 이때, 활성 서버 노드의 개수를 줄이기 위해서는 활성 서버 노드 테이블에서 우선순위가 낮은 순서대로 비활성 서버 노드(도 3에서 노드 18 → 노드 9 → …)로 전환할 수 있다.
이후, 부하 분배기의 가중치(weight)를 결정한다(S550). 예컨대, 가중치 기반의 라운드 로빈(Weighted Round Robin, WRR) 방식의 부하 분배 정책에서 서버 노드들 각각에 대한 가중치를 결정할 수 있다. 서버 노드의 성능이 높을수록, 자원 사용량이 적을수록, 소비 전력 낮을수록 높은 가중치를 할당하여, 높은 가중치를 갖는 서버 노드에서 더 많은 서비스 요청 부하를 처리하도록 할 수 있다.
전체 가중치는 정적 가중치와 동적 가중치의 합(수학식 1)으로써, 정적 가중치는 수학식 2를 통해 구해질 수 있으며, 동적 가중치는 수학식 3을 통해 구해질 수 있다.
일반적으로, 가상 머신(420)의 경우는 물리 머신(410)에 비해서 상대적으로 낮은 사양으로 설정하게 되고 소프트웨어적인 노드이므로, 물리 머신(410)에 비해 서비스 처리 성능이 떨어지지만, 소비 전력을 추가로 사용하지 않아서 물리 머신(410)에 비해 낮은 소비전력을 가진다. 이를 고려하여 서버 노드들 각각에 대한 정적 가중치를 결정할 수 있다.
또한, 서버 노드들 각각의 표준 자원 및 전력 사용량을 정해두고 서버 노드의 사용량과의 차이를 구하여 그 값을 빼서 동적 가중치를 사용한다. 만약, 자원 및 전력 사용량이 표준 사용량에 미치지 못하면 양의 값을 사용하고, 표준 사용량을 넘어서면 음의 값을 사용한다.
부하 분배 정책에 따라 비활성이 결정된 서버 노드에 부하가 분배되지 않도록 부하 분배기(200)를 제어한다(S560). 예컨대, 활성 상태의 서버 노드가 부하 분배 정책에 따라 비활성으로 전환되는 것으로 결정되면, 서비스 요청에 대한 부하가 비활성 서버 노드에 분배되지 않도록 부하 분배기(200)를 제어한다.
아울러, 전력 관리 정책에 따라, 비활성으로 결정된 서버 노드에 대한 전력 상태를 제어한다(S570). 예컨대, 활성 상태인 서버 노드가 비활성으로 전환되는 것으로 결정되면, 활성에서 비활성으로 전환이 결정된 서버 노드에 전력이 공급되지 않도록 제어하여 서버 노드의 상태를 비활성으로 전환함으로써, 소비 전력을 절감할 수 있다.
또한, 전력 관리 정책에 따라, 활성으로 결정된 서버 노드에 대한 전력 상태를 제어한다(S580). 예컨대, 비활성 상태인 서버 노드가 활성으로 전환되는 것으로 결정되면, 비활성에서 활성으로 전환이 결정된 서버 노드에 전력이 공급되도록 제어하여 서버 노드의 상태를 활성으로 전환한다. 만약, 활성으로 전환이 결정된 서버 노드가 가상 머신(420)인 경우, 활성화되는 가상 머신(420)의 물리 머신(410) 또한 활성화되도록 전력을 관리할 수 있다.
아울러, 부하 분배 정책을 이용하여 활성화된 서버 노드에 부하 분배가 되도록 부하 분배기(200)를 제어한다(S590). 예컨대, 비활성 상태의 서버 노드가 부하 분배 정책에 따라 비활성으로 전환되는 것으로 결정되면, 서비스 요청에 대한 부하가 활성 서버 노드에 분배되도록 부하 분배기(200)를 제어한다. 이때, 활성 서버 노드의 가중치에 따라 적절한 서비스 요청 부하가 분배되도록 제어할 수 있다.
이와 같이, 본 발명의 실시예에 따르면 실제 물리적 서버뿐만 아니라 가상화된 가상 머신 노드를 포함하는 클라우드 컴퓨팅용 서버 클러스터의 부하 분배와 전력 관리를 수행함으로써, 가상화된 서버 클라우드의 원하는 서비스의 성능을 유지하며 소비 전력을 절감할 수 있으며, 기존에 가상 머신(420)을 고려하지 않음으로 인한 비효율성을 극복하여, 보다 만족스러운 서비스 성능 및 전력 절감 효과를 얻을 수 있다. 또한, 본 발명의 실시예에 따르면 부하 분배의 가중치와 전력 관리의 우선순위를 결정할 때 사용자가 표준 사용량을 지정하고 이를 시간에 따라 스케줄링하도록 함으로써, 사용자의 경험 또한 반영될 수 있다.
이상, 본 발명의 바람직한 실시예를 통하여 본 발명의 구성을 상세히 설명하였으나, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서에 개시된 내용과는 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 서비스 클라이언트 200 : 부하 분배기
300 : 부하 분배/전력 관리 장치 400 : 서버 클러스터
311 : 부하 분배기 모니터링부 313 : 서버 노드 모니터링부
320 : 서버 노드 정보 저장부 331 : 부하 분배 정책 결정부
333 : 전력 관리 정책 결정부 341 : 부하 분배기 제어부
343 : 전력 관리 제어부 350 : 정책 저장부

Claims (20)

  1. 서버 클러스터에 포함된 서버 노드들에 대한 부하 분배 사항 및 상기 서버 노드들 각각의 동적 상태를 모니터링하는 모니터링부;
    상기 서버 노드들 각각의 정적 상태 정보를 저장하는 서버 노드 정보 저장부;
    상기 모니터링부에 의해 모니터링된 정보와 상기 서버 노드 정보 저장부에 저장된 상기 정적 상태 정보를 이용하여 상기 서버 노드들 각각에 대한 부하 분배 정책 및 전력 관리 정책을 결정하는 정책 결정부; 및
    상기 전력 관리 정책에 따라 상기 서버 노드들을 활성 상태 또는 비활성 상태로 전환하고, 상기 부하 분배 정책에 따라 활성화된 서버 노드에 서비스 클라이언트에서 요청한 서비스 요청의 부하가 분배되도록 제어하는 제어부;
    를 포함하는 부하 분배 및 전력 관리 장치.
  2. 제1항에 있어서, 상기 모니터링부는,
    상기 서버 클러스터와 연결된 부하 분배기에 대한 초당 커넥션 또는 패킷량 중 적어도 하나를 포함하는 요청 연결 상태를 모니터링하는 부하 분배기 모니터링부; 및
    상기 서버 노드들 각각의 자원 사용량, 제공 중인 서비스 정보 및 제공 상태, 전력 상태 중 적어도 하나의 동적 상태를 모니터링하는 서버 노드 모니터링부;
    를 포함하는 것인 부하 분배 및 전력 관리 장치.
  3. 제2항에 있어서, 상기 정적 상태 정보는,
    상기 서버 노드들 각각의 벤더, 정격 소비 전력, 물리적 랙(Rack) 정보 및 설치 위치 중 적어도 하나를 포함하는 정적 정보 형태의 부가 정보인 것
    인 부하 분배 및 전력 관리 장치.
  4. 제3항에 있어서, 상기 정책 결정부는,
    상기 정적 상태 정보 및 상기 동적 상태 정보를 이용하여 상기 서버 노드들 각각에 대한 정적 가중치와 동적 가중치를 결정하는 부하 분배 정책 결정부; 및
    상기 서버 노드들 중 활성화할 서버 노드를 결정하는 전력 관리 정책 결정부;
    를 포함하는 것인 부하 분배 및 전력 관리 장치.
  5. 제4항에 있어서, 상기 부하 분배 정책 결정부는,
    관리자의 조작에 따라 비례상수의 값, 표준 가중치, 표준 자원 사용량 중 적어도 하나를 시간 단위로 스케줄링하여 상기 부하 분배 정책에 반영하는 것
    인 부하 분배 및 전력 관리 장치.
  6. 제5항에 있어서, 상기 전력 관리 정책 결정부는,
    상기 서비스 요청에 비례하여 최적 활성 서버 노드의 개수를 결정하고, 상기 최적 활성 서버 노드 개수에 따라 상기 서버 노드들을 활성 상태 또는 비활성 상태로 전환하는 것을 결정하는 것
    인 부하 분배 및 전력 관리 장치.
  7. 제6항에 있어서, 상기 전력 관리 정책 결정부는,
    활성화된 서버 노드들의 우선순위를 지정하여 관리하는 활성 서버 노드 테이블과 비활성화된 서버 노드들의 우선순위를 지정하여 관리하는 비활성 서버 노드 테이블을 관리하는 것
    인 부하 분배 및 전력 관리 장치.
  8. 제7항에 있어서, 상기 전력 관리 정책 결정부는,
    상기 비활성 서버 노드 테이블에서 우선순위가 높은 서버 노드 순서대로 활성 상태로 전환하도록 정책을 결정하며, 상기 활성 서버 노드 테이블에서 우선순위가 낮은 서버 노드 순서대로 비활성 상태로 전환하도록 정책을 결정하는 것
    인 부하 분배 및 전력 관리 장치.
  9. 제8항에 있어서, 상기 제어부는,
    상기 활성 서버 노드들 각각의 가중치를 고려하여 상기 서비스 요청 부하가 상기 활성 서버 노드들에 분배되도록 상기 부하 분배기를 제어하는 부하 분배기 제어부; 및
    상기 서버 노드들에 대해서 활성 상태 또는 비활성 상태로 전력 상태를 관리하는 전력 관리 제어부;
    를 포함하는 것인 부하 분배 및 전력 관리 장치.
  10. 제9항에 있어서, 상기 전력 관리 제어부는,
    상기 서버 노드들 중 가상 머신의 전력 상태를 활성 또는 비활성 상태로 전환하는 경우, 상기 가상 머신의 호스트인 물리 머신을 활성 상태로 전환한 후 상기 가상 머신을 활성 상태로 전환하며, 상기 가상 머신을 비활성 상태로 전환한 후 상기 물리 머신을 비활성 상태로 전환하는 것
    인 부하 분배 및 전력 관리 장치.
  11. 서버 클러스터에 포함된 서버 노드들에 대한 부하 분배 사항 및 상기 서버 노드들 각각의 동적 상태를 모니터링하는 단계;
    상기 서버 노드들 각각의 정적 상태 정보를 저장하는 단계;
    상기 모니터링부에 의해 모니터링된 정보와 상기 서버 노드 정보 저장부에 저장된 상기 정적 상태 정보를 이용하여 상기 서버 노드들 각각에 대한 부하 분배 정책 및 전력 관리 정책을 결정하는 단계; 및
    상기 전력 관리 정책에 따라 상기 서버 노드들을 활성 상태 또는 비활성 상태로 전환하고, 상기 부하 분배 정책에 따라 활성화된 서버 노드에 서비스 클라이언트에서 요청한 서비스 요청의 부하가 분배되도록 제어하는 단계
    를 포함하는 부하 분배 및 전력 관리 방법.
  12. 제11항에 있어서, 상기 모니터링하는 단계는,
    상기 서버 클러스터와 연결된 부하 분배기에 대한 초당 커넥션 또는 패킷량 중 적어도 하나를 포함하는 요청 연결 상태를 모니터링하는 단계; 및
    상기 서버 노드들 각각의 자원 사용량, 제공 중인 서비스 정보 및 제공 상태, 전력 상태 중 적어도 하나의 동적 상태를 모니터링하는 단계;
    를 포함하는 부하 분배 및 전력 관리 방법.
  13. 제12항에 있어서, 상기 정적 상태 정보는,
    상기 서버 노드들 각각의 벤더, 정격 소비 전력, 물리적 랙(Rack) 정보 및 설치 위치 중 적어도 하나를 포함하는 정적 정보 형태의 부가 정보인 것
    인 부하 분배 및 전력 관리 방법.
  14. 제13항에 있어서, 상기 결정하는 단계는,
    상기 정적 상태 정보 및 상기 동적 상태 정보를 이용하여 상기 서버 노드들 각각에 대한 정적 가중치와 동적 가중치를 결정하는 단계; 및
    상기 서버 노드들 중 활성화할 서버 노드를 결정하는 단계;
    를 포함하는 부하 분배 및 전력 관리 방법.
  15. 제14항에 있어서, 상기 결정하는 단계는,
    관리자의 조작에 따라 비례상수의 값, 표준 가중치, 표준 자원 사용량 중 적어도 하나를 시간 단위로 스케줄링하여 상기 부하 분배 정책에 반영하는 것인 부하 분배 및 전력 관리 방법.
  16. 제15항에 있어서, 상기 결정하는 단계는,
    상기 서비스 요청에 비례하여 최적 활성 서버 노드의 개수를 결정하고, 상기 최적 활성 서버 노드 개수에 따라 상기 서버 노드들을 활성 상태 또는 비활성 상태로 전환하는 것을 결정하는 것
    인 부하 분배 및 전력 관리 방법.
  17. 제16항에 있어서, 상기 결정하는 단계는,
    활성화된 서버 노드들의 우선순위를 지정하여 관리하는 활성 서버 노드 테이블과 비활성화된 서버 노드들의 우선순위를 지정하여 관리하는 비활성 서버 노드 테이블을 관리하는 단계;
    를 더 포함하는 것인 부하 분배 및 전력 관리 방법.
  18. 제17항에 있어서, 상기 결정하는 단계는,
    상기 비활성 서버 노드 테이블에서 우선순위가 높은 서버 노드 순서대로 활성 상태로 전환하도록 정책을 결정하며, 상기 활성 서버 노드 테이블에서 우선순위가 낮은 서버 노드 순서대로 비활성 상태로 전환하도록 정책을 결정하는 것
    인 부하 분배 및 전력 관리 방법.
  19. 제18항에 있어서, 상기 제어하는 단계는,
    상기 활성 서버 노드들 각각의 가중치를 고려하여 상기 서비스 요청 부하가 상기 활성 서버 노드들에 분배되도록 상기 부하 분배기를 제어하는 단계; 및
    상기 서버 노드들에 대해서 활성 상태 또는 비활성 상태로 전력 상태를 관리하는 단계;
    를 포함하는 부하 분배 및 전력 관리 방법.
  20. 제19항에 있어서, 상기 전력 상태를 관리하는 단계는,
    상기 서버 노드들 중 가상 머신의 전력 상태를 활성 또는 비활성 상태로 전환하는 경우, 상기 가상 머신의 호스트인 물리 머신을 활성 상태로 전환한 후 상기 가상 머신을 활성 상태로 전환하며, 상기 가상 머신을 비활성 상태로 전환한 후 상기 물리 머신을 비활성 상태로 전환하는 것
    인 부하 분배 및 전력 관리 방법.
KR1020150141075A 2015-10-07 2015-10-07 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법 KR102366778B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150141075A KR102366778B1 (ko) 2015-10-07 2015-10-07 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법
US15/197,016 US10157075B2 (en) 2015-10-07 2016-06-29 Device for distributing load and managing power of virtual server cluster and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150141075A KR102366778B1 (ko) 2015-10-07 2015-10-07 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20170041526A true KR20170041526A (ko) 2017-04-17
KR102366778B1 KR102366778B1 (ko) 2022-02-24

Family

ID=58500026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150141075A KR102366778B1 (ko) 2015-10-07 2015-10-07 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법

Country Status (2)

Country Link
US (1) US10157075B2 (ko)
KR (1) KR102366778B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102220459B1 (ko) * 2020-03-31 2021-02-26 (주)엔키아 관리대상 장비 자동 점검 장치 및 방법
US11379126B2 (en) 2019-12-18 2022-07-05 SK Hynix Inc. Data processing system using artificial intelligence for power consumption management
WO2023146270A1 (ko) * 2022-01-26 2023-08-03 주식회사 휴이노 디바이스의 무선 연동을 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397315B2 (en) * 2016-05-26 2019-08-27 Fujitsu Limited Information processing apparatus and load distribution control method
WO2018026380A1 (en) * 2016-08-05 2018-02-08 Intel Corporation Systems and methods for data service request classification and routing
US11347295B2 (en) * 2017-07-19 2022-05-31 Citrix Systems, Inc. Virtual machine power management
CA3045863C (en) * 2018-06-12 2022-08-30 Bank Of Montreal Systems and methods for generating a snapshot view of network infrastructure
US11038758B2 (en) * 2019-01-22 2021-06-15 Vmware, Inc. Systems and methods for optimizing the number of servers in a cluster
CN113051067B (zh) * 2019-12-27 2022-12-02 顺丰科技有限公司 资源分配方法、装置、计算机设备和存储介质
US11032361B1 (en) * 2020-07-14 2021-06-08 Coupang Corp. Systems and methods of balancing network load for ultra high server availability
CN111737017B (zh) * 2020-08-20 2020-12-18 北京东方通科技股份有限公司 一种分布式元数据管理方法和系统
CN112350952B (zh) * 2020-10-28 2023-04-07 武汉绿色网络信息服务有限责任公司 控制器分配方法、网络业务系统
KR102398076B1 (ko) * 2020-10-30 2022-05-13 펜타시큐리티시스템 주식회사 데이터 분산 저장 방법 및 장치
CN113285890B (zh) * 2021-05-18 2022-11-11 挂号网(杭州)科技有限公司 网关流量的分配方法、装置、电子设备及存储介质
CN116881085A (zh) * 2023-09-05 2023-10-13 北京华鲲振宇智能科技有限责任公司 一种服务器能耗优化的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194335A1 (en) * 2001-06-19 2002-12-19 Maynard William Pat Method and apparatus for load balancing
US20100185766A1 (en) * 2009-01-16 2010-07-22 Fujitsu Limited Load distribution apparatus, load distribution method, and storage medium
US20110231860A1 (en) * 2010-03-17 2011-09-22 Fujitsu Limited Load distribution system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6964539B2 (en) 2002-03-18 2005-11-15 International Business Machines Corporation Method for managing power consumption of multiple computer servers
US8346956B2 (en) * 2004-10-29 2013-01-01 Akamai Technologies, Inc. Dynamic image delivery system
KR100968202B1 (ko) 2007-12-12 2010-07-06 한국전자통신연구원 소비전력 감소를 위한 클러스터 시스템 및 그의 전원 관리방법
CN101739113B (zh) 2008-11-20 2013-04-10 国际商业机器公司 在虚拟化集群系统中进行能效管理的方法及装置
KR101303690B1 (ko) 2009-12-09 2013-09-04 한국전자통신연구원 전력 관리 장치 및 그 방법, 전력 제어 시스템
US8862914B2 (en) 2010-02-26 2014-10-14 Microsoft Corporation Virtual machine power consumption measurement and management
KR20140089749A (ko) 2013-01-07 2014-07-16 한국전자통신연구원 클러스터의 부하 할당 제어 장치 및 그 방법
US9270746B2 (en) * 2013-03-14 2016-02-23 Alcatel Lucent Scalable load balancing
EP2827555A1 (en) * 2013-07-15 2015-01-21 Alcatel Lucent Proxy Node and Method
US20150074222A1 (en) * 2013-09-12 2015-03-12 Guanfeng Liang Method and apparatus for load balancing and dynamic scaling for low delay two-tier distributed cache storage system
US10241836B2 (en) * 2014-06-11 2019-03-26 Vmware, Inc. Resource management in a virtualized computing environment
US20160179494A1 (en) * 2014-12-18 2016-06-23 Vladimir Pavlov Integration of an arbitrary server installed as an extension of a computing platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194335A1 (en) * 2001-06-19 2002-12-19 Maynard William Pat Method and apparatus for load balancing
US20100185766A1 (en) * 2009-01-16 2010-07-22 Fujitsu Limited Load distribution apparatus, load distribution method, and storage medium
US20110231860A1 (en) * 2010-03-17 2011-09-22 Fujitsu Limited Load distribution system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11379126B2 (en) 2019-12-18 2022-07-05 SK Hynix Inc. Data processing system using artificial intelligence for power consumption management
KR102220459B1 (ko) * 2020-03-31 2021-02-26 (주)엔키아 관리대상 장비 자동 점검 장치 및 방법
WO2023146270A1 (ko) * 2022-01-26 2023-08-03 주식회사 휴이노 디바이스의 무선 연동을 지원하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체

Also Published As

Publication number Publication date
US10157075B2 (en) 2018-12-18
KR102366778B1 (ko) 2022-02-24
US20170102757A1 (en) 2017-04-13

Similar Documents

Publication Publication Date Title
KR102366778B1 (ko) 가상화 서버 클러스터의 부하 분배 및 전력 관리 장치 및 그 방법
US8473768B2 (en) Power control apparatus and method for cluster system
TWI516904B (zh) 資料中心內的功率配給分佈
US8583945B2 (en) Minimizing power consumption in computers
US7143300B2 (en) Automated power management system for a network of computers
US7752262B2 (en) Slow-dynamic load balancing system and computer-readable medium
US7870241B2 (en) Automated power control policies based on application-specific redundancy characteristics
US8365175B2 (en) Power management using dynamic application scheduling
KR20130016237A (ko) 분산 컴퓨팅에서의 전력 공급 관리
US9661070B2 (en) Controlling the operation of server computers
JP2011015196A (ja) 負荷割当制御方法および負荷分散システム
CN108829166A (zh) 医疗器械储存环境智能监测系统
US20170308137A1 (en) System and method for rack over provisioning and intelligent power management
JP2001202318A (ja) データ配信システム
Tesfatsion et al. PerfGreen: performance and energy aware resource provisioning for heterogeneous clouds
JP5699589B2 (ja) 処理割り当て装置、処理割り当てシステム、処理割り当て方法、処理割り当てプログラム
US11895181B2 (en) Power optimization of microserver loads
KR101340118B1 (ko) 소비전력 추정 장치 및 그 방법
Puneetha et al. Energy efficient power aware VM scheduling in decentralized cloud
Naeen Cost reduction using SLA-aware genetic algorithm for consolidation of virtual machines in cloud data centers
JP5428772B2 (ja) 電力制御装置,コンピュータシステム,電力制御方法,コンピュータプログラム
WO2016090187A1 (en) Power state adjustment
KR20160083989A (ko) 다중 서비스 클러스터에 대한 자원 할당 방법 및 그 장치
Naeen Virtual machine consolidation using SLA-aware genetic algorithm placement for data centers with non-stationary workloads
GB2601509A (en) Computer orchestration

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right