KR20110128825A - Energy-aware server management - Google Patents

Energy-aware server management Download PDF

Info

Publication number
KR20110128825A
KR20110128825A KR1020117019493A KR20117019493A KR20110128825A KR 20110128825 A KR20110128825 A KR 20110128825A KR 1020117019493 A KR1020117019493 A KR 1020117019493A KR 20117019493 A KR20117019493 A KR 20117019493A KR 20110128825 A KR20110128825 A KR 20110128825A
Authority
KR
South Korea
Prior art keywords
energy
server
workload
active
state
Prior art date
Application number
KR1020117019493A
Other languages
Korean (ko)
Other versions
KR101624765B1 (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 마이크로소프트 코포레이션
Publication of KR20110128825A publication Critical patent/KR20110128825A/en
Application granted granted Critical
Publication of KR101624765B1 publication Critical patent/KR101624765B1/en

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Hardware Redundancy (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

설명된 구현은 에너지-인식 서버 관리에 관련된다. 일 구현에는 개별 서버를 활성과 비활성 상태 사이에서 전이함으로써 서버 팜에서의 에너지 사용을 관리하면서 서버 팜에 대한 응답 시간을 사전결정된 수준으로 유지하도록 구성된 적응형 제어 유닛이 관여된다.The described implementation relates to energy-aware server management. One implementation involves an adaptive control unit configured to maintain a predetermined level of response time for a server farm while managing energy usage in the server farm by transitioning individual servers between active and inactive states.

Figure pct00001
Figure pct00001

Description

에너지-인식 서버 관리{ENERGY-AWARE SERVER MANAGEMENT}Energy-Aware Server Management {ENERGY-AWARE SERVER MANAGEMENT}

설명된 실시형태는 에너지-인식(energy-aware) 서버 관리에 관한 것이다. 더 구체적으로, 본 특허 출원은 요청/응답 서비스에 대한 에너지-인식 제공 및 부하 발송(dispatching)을 위한 도구에 관한 것이다.
The described embodiment relates to energy-aware server management. More specifically, this patent application relates to tools for providing energy-awareness and dispatching for request / response services.

데이터 센터는 흔히 많은 수의 컴퓨터(즉, 서버)를 포함한다. 이들 서버 중 많은 것은 일시적으로 덜 사용되거나(underutilized) 심지어 사용되지 않지만, 데이터 센터에 도달하는 요청에서의 서지(surge)를 다루기 위해 유지된다. 예를 들어, 온라인 쇼핑 사이트에서의 크리스마스 러시(rush)나 통근자 교통 정보 사이트에서의 늦은 오후의 정체(congestion)를 생각해 보라. 데이터 센터에서 현재 사용되는 서버는 그들이 유휴일 때(일부 서버에 대해, 유휴는 풀 에너지 사용의 70%)도 많은 에너지양을 소비한다. 이들 서버를 끄는 것은 에너지를 절약할 수 있지만, 고객의 서지가 도달하고 충분한 서버가 켜져 있지 않으면 웹 서비스의 응답 시간에 악영향을 줄 수도 있다. 데이터 센터의 에너지 사용을 고려하는 한편 요청 서비스 응답 시간을 만족시키는 방식으로 본 개념은 데이터 센터를 관리할 수 있다.
Data centers often include a large number of computers (ie servers). Many of these servers are temporarily underutilized or even unused, but are kept to handle surges in requests reaching the data center. For example, consider a Christmas rush on an online shopping site or a late afternoon congestion on a commuter traffic information site. Servers currently used in data centers consume large amounts of energy when they are idle (for some servers, idle is 70% of full energy use). Turning off these servers can save energy, but can also adversely affect the response time of Web services if customer surges are reached and not enough servers are turned on. The concept can manage the data center in a manner that considers the energy use of the data center while satisfying the requested service response time.

설명된 실시형태는 에너지-인식(energy-aware) 서버 관리에 관한 것이다. 더 구체적으로, 본 특허 출원은 요청/응답 서비스에 대한 에너지-인식 제공 및 부하 발송(dispatching)을 위한 도구에 관한 것이다. The described embodiment relates to energy-aware server management. More specifically, this patent application relates to tools for providing energy-awareness and dispatching for request / response services.

일 실시형태에는, 서버 팜(farm)에 대한 응답 시간을 사전 정의된 수준으로 유지하면서 활성과 비활성 상태 사이에서 개별 서버를 전이시킴으로써 서버 팜에서 에너지 사용을 관리하도록 구성된 적응적 컨트롤 유닛이 관련된다. 예를 들어, 사정 전의된 수준은 서비스 수준 계약(SLA; Service Level Agreement)에서 정의될 수 있다.In one embodiment, an adaptive control unit configured to manage energy usage in a server farm by transitioning individual servers between active and inactive states while maintaining response times for the server farm at a predefined level. For example, the pre-assessment level may be defined in a service level agreement (SLA).

다른 구현에서, 도구는 컴퓨터의 세트에 대한 미래 작업부하를 예측한다. 개별 컴퓨터는 온/액티브, 수면 및 오프와 같은 적어도 2개의 에너지 상태를 갖는다. 도구는 예측된 미래 작업부하에 대한 에너지-인식 서버 관리 정책을 만들고, 에너지-인식 서버 관리 정책에 기초하여 개별 컴퓨터의 에너지 상태를 조정한다. In another implementation, the tool predicts future workload for a set of computers. Individual computers have at least two energy states, such as on / active, sleep and off. The tool creates energy-aware server management policies for predicted future workloads and adjusts the energy state of individual computers based on the energy-aware server management policies.

"도구"라는 용어는, 예를 들어, 위의 문맥에 의해 그리고 문서를 통해 허용되는 바와 같은, 장치(들), 시스템(들), 컴퓨터 판독가능 매체(예를 들어, 실행가능한 명령을 갖는 하나 이상의 컴퓨터 판독가능 매체), 구성요소(들), 모듈(들) 및/또는 방법을 지칭할 수 있다. 다양한 예에서, 도구는 하드웨어, 소프트웨어, 펌웨어 또는 그들의 결합으로 구현될 수 있다. 위의 열거된 예는 읽는 사람을 돕기 위한 간단한 참조(quick reference)를 제공하기 위한 것이고, 여기에 설명된 개념의 범위를 정의하려는 것이 아니다.
The term " tool " means, for example, an apparatus (s), system (s), computer readable medium (eg, one having executable instructions) as permitted by the above context and throughout a document. Computer-readable media), component (s), module (s), and / or methods. In various examples, the tool may be implemented in hardware, software, firmware or a combination thereof. The examples listed above are intended to provide a quick reference to aid the reader and are not intended to define the scope of the concepts described herein.

첨부된 도면은 본 출원에서 전달되는 개념의 구현을 도시한다. 도시된 구현의 특징은 첨부된 도면과 함께 아래의 설명을 참조함으로써 더 잘 이해할 수 있다. 여러 도면에서 유사한 참조부호는 가능한 한 유사한 구성요소를 나타내도록 사용된다. 또한, 각 참조부호에서 가장 왼쪽의 숫자는, 참조부호가 처음 나타난 도면 및 관련 논의를 나타낸다.
도 1은 본 개념의 일부 구현에 따라 에너지-인식 서버 관리 개념을 구현하기 위한 방법의 예를 도시한다.
도 2는 본 발명의 일부 구현에 따라 에너지-인식 서버 관리를 이루기 위한 시스템의 예를 도시한다.
도 3은 본 개념의 일부 구현에 따라 에너지-인식 서버 관리를 이루기 위한 구성요소의 예를 도시한다.
도 4-5는 본 개념의 일부 구현에 따라 에너지-인식 서버 관리 방법과 관련된 흐름도를 도시한다.
The accompanying drawings show implementation of the concepts conveyed in this application. The features of the illustrated implementation can be better understood by reference to the following description in conjunction with the accompanying drawings. Like reference symbols in the various drawings are used to refer to like elements as much as possible. In addition, the leftmost digit in each reference number indicates the figure in which the reference number first appears and the related discussion.
1 shows an example of a method for implementing an energy-aware server management concept in accordance with some implementations of the present concepts.
2 illustrates an example of a system for achieving energy-aware server management in accordance with some implementations of the invention.
3 illustrates an example of components for achieving energy-aware server management in accordance with some implementations of the present concepts.
4-5 illustrate a flow diagram associated with an energy-aware server management method in accordance with some implementations of the present concepts.

본 출원은 에너지-인식 서버 관리에 관한 것이다. 간략하게는, 본 특허는, 서버 팜과 같은 컴퓨터의 세트를, 에너지 소비를 감소시키면서 기대된 성능 수준으로 동작시키기 위한 개념을 설명한다. The present application relates to energy-aware server management. Briefly, this patent describes a concept for operating a set of computers, such as server farms, at expected performance levels while reducing energy consumption.

본 개념은 사용자-요청 또는 "요청"에 응답하는 서버 팜에서 다중 상태 서버를 채용할 수 있다. 전체적으로 보면, 요청은 서버 팜의 "작업부하(workload)"로 생각될 수 있다. 다중 상태 서버는, 요청이 처리될 수 있는 활성 상태(들)과 요청을 처리하지 않는 비활성 상태를 가질 수 있다. 일부 다중 상태 컴퓨터는 다수의 비활성 상태를 가질 수 있다. 예를 들어, 수면(sleep), 동면(hibernate) 및/또는 오프가 비활성 상태의 예일 수 있다. 비활성 상태의 서버는 활성 상태 서버보다 실질적으로 적은 에너지를 사용한다. 그러나, 비활성-상태 서버에서 활성 상태로 전이하는데 관여되는, 예를 들어, 수 초 내지 소 분의 레이턴시 기간이 있을 수 있다. 이 레이턴시 기간은 요청을 처리하는데 추가적인 서버가 사용가능(즉, 활성)하기 전에 원치않는 처리 지연(들)을 생성할 수 있다. The concept may employ a multi-state server in a server farm that responds to user-requests or "requests." Overall, a request can be thought of as a "workload" of a server farm. The multi-state server may have an active state (s) in which the request can be processed and an inactive state in which the request is not processed. Some multi-state computers can have multiple inactive states. For example, sleep, hibernate and / or off may be examples of inactive states. Inactive servers use substantially less energy than active servers. However, there may be a latency period of, for example, several seconds to a few minutes involved in transitioning from the inactive-state server to the active state. This latency period can create unwanted processing delay (s) before additional servers are available (ie, active) to process the request.

따라서, 에너지-인식 서버 관리는, 레이턴시 및 성능 기준(performance criteria)과 같은 몇몇 파라미터를 고려 또는 밸런싱하여, 적시에 요청에 응답하면서 에너지 사용을 감소시킬 수 있다. Thus, energy-aware server management may consider or balance some parameters such as latency and performance criteria to reduce energy usage while responding to requests in a timely manner.

도 1은 방법(100)의 형태로 본 개념의 일부의 소개적인 예를 제공한다. 이 경우에, 서버 컴퓨터와 같은 컴퓨터 세트에 대한 미래 작업부하가 102에서 예측 또는 추정된다. 예측은 수 초 내지 수 분과 같은 상대적으로 짧은 시간 기간과 관련될 수 있다. 이 특정한 경우에, 개별 컴퓨터는 2 이상의 에너지 상태를 가질 수 있다. 예를 들어, 컴퓨터는 활성 상태(즉, 온)와 하나 이상의 비활성 상태(즉, 여러 가지 중, 오프, 수면 및 동면)을 가질 수 있다. 1 provides an illustrative example of some of the concepts in the form of method 100. In this case, the future workload for a computer set, such as a server computer, is predicted or estimated at 102. The forecast may be related to a relatively short time period, such as a few seconds to several minutes. In this particular case, an individual computer can have two or more energy states. For example, a computer can have an active state (ie, on) and one or more inactive states (ie, among many, off, sleep, and hibernate).

작업부하 예측 방법의 상세한 예가 아래에 제목 "작업부하 예측 예" 하에서 설명된다. 간략하게, 일부 예에서, 작업 예측은, 작업부하 예측 프로세서에서 고려되는 파라미터로서, 여러 가지 중, 상대적 장기 모델링, 상대적 단기 이력(history), 현재 경향(trends) 및/또는 외부 지식(예를 들어, 비지니스 프로젝트, 스캐줄된 이벤트)를 이용할 수 있다. Detailed examples of workload prediction methods are described below under the heading "Workload Prediction Examples". Briefly, in some examples, job prediction is a parameter considered in the workload prediction processor, among other things, relative long-term modeling, relative short-term history, current trends and / or external knowledge (eg, , Business projects, and scheduled events).

장기 모델링은 시간(time of day), 요일, 연중 시간(time of year), 선거 등과 같은 다년 주기에 대한 작업부하 경향을 관찰할 수 있다. 예를 들어, 작업자가 일터에 도착하고 하루를 시작하면서 다양한 개인 및/또는 작업 관련 요청을 수행하므로 8시에서 9시 사이에 각 주중 오전에 계속적인 작업부하 요청이 있을 수 있다. Long-term modeling can observe workload trends over multiple years such as time of day, day of the week, time of year, and election. For example, as a worker arrives at work and starts the day, he performs various personal and / or work related requests, so there may be a continuous workload request between 8:00 and 9:00 each morning of the week.

단기 이력은 마지막 수 초 또는 수 분에 대한 사용자 요청 수준과 관련된다. 예를 들어, 유명한 TV 쇼에서 웹 사이트를 언급하는 것은 다음 수분 동안 그 웹 사이트로의 히트(hit)를 유인할 수 있다. 최근 수 초 또는 수 분의 상승 경향의 표시는 다음 수 초 또는 수 분에 대한 미래 요청을 예측하는데 유용할 수 있다. Short history is related to the level of user request for the last few seconds or minutes. For example, mentioning a website in a famous TV show can attract a hit to that website for the next few minutes. An indication of the upward trend of recent seconds or minutes may be useful for predicting future requests for the next few seconds or minutes.

이 경향은 작업부하 예측 프로세스 동안 수신되는 사용자 요청과 관련될 수 있다. 예를 들어, 본 경향은 최근 사용가능한 시간에 걸친 요청의 그래프의 모양으로부터 도출될 수 있다. 그래프는 안정적이거나 시계열 분포(예를 들어, 선형, 지수)로 변화할 수 있다.This trend may be related to user requests received during the workload prediction process. For example, the present trend can be derived from the shape of the graph of requests over the time available recently. The graph can be stable or vary in time series distribution (eg linear, exponential).

외부 정보는 현재 또는 과거 요청으로부터 얻어지지 않는 정보로 생각될 수 있다. 대신, 외부 정보는, 예를 들어, 과거 데이터에서 나타나지 않을 수 있는 다가오는 이벤트와 관련될 수 있다. 예를 들어, 외부 정보는 올림픽이 다가온다는 것과, 올림픽 기간 중에 사용자가 이벤트로부터의 비디오를 다운로드하려고 하기 때문에 비일상적인 높은 요청 수가 경험될 수 있다는 것을 전달할 수 있다. External information can be thought of as information not obtained from current or past requests. Instead, external information may be associated with an upcoming event that may not appear in, for example, historical data. For example, external information may convey that the Olympics are approaching and that an unusually high number of requests may be experienced as the user attempts to download video from the event during the Olympics.

다르게는 또는 요청 수에 추가하여, 외부 정보가 요청 크기에 관련될 수 있다. 예를 들어, 위의 예를 계속하면, 외부 정보는 올림픽 동안 요청의 수가 올라갈 수 있다는 것과 요청이 데이터가 많은(data intensive) 비디오를 다운로드하는 것에 관련되는 경향이 있으므로 각 요청의 크기가 보통보다 클 수 있다는 것을 나타낼 수 있다.Alternatively or in addition to the number of requests, external information may be related to the request size. For example, continuing with the example above, the size of each request is larger than usual because the external information can increase in the number of requests during the Olympics and the requests tend to be related to downloading data intensive videos. Can indicate that it can.

위의 설명은 작업부하 예측의 비제한적인 예를 제공한다. 기타 예는 요청 크기를 예측할 수 있다. 예측된 요청 크기는 작업부하 예측에 사용될 수 있다. 요약하면, 미래 작업부하를 예측하는 많은 방식의 가능성이 있다. 그러면 예측된 미래 작업부하는, 여러 가지 중, 후술하는 시스템/방법에서 사용될 수 있다.The above description provides a non-limiting example of workload prediction. Other examples can predict the request size. The estimated request size can be used for workload prediction. In summary, there are many ways of predicting future workloads. The predicted future workload can then be used in the systems / methods described below, among others.

에너지-인식 서버 관리 정책은 104에서 예측된 작업부하에 대해 판정될 수 있다. 간략하게, 에너지-인식 서버 관리 정책은 용량 제공(capacity provisioning)을 포함할 수 있다. 일부 구현에서, 용량 제공은, 작업부하가 변화함에 따라 온라인, 실시간 방식으로 이루어질 수 있다는 점에서 프로액티브(proactive)(즉, 프로액티브 용량 제공)라고 생각될 수 있다. 프로액티브 용량 제공은, 서버가 상이한 전력 상태 사이에서 전이하는데 걸리한 시간을 마스크(mask)하도록 프로액티브하게 수행될 수 있으므로 프로액티브라고 생각할 수 있다. 이는, 결정 및 여하한 응답 동작이 이벤트가 발생한 "후에" 이루어지는 리액티브(reactive) 결정과 대비될 수 있다. The energy-aware server management policy may be determined for the estimated workload at 104. In brief, the energy-aware server management policy may include capacity provisioning. In some implementations, dose provision can be considered proactive (ie, proactive dose provision) in that the workload can be made in an online, real-time manner as the workload changes. Proactive capacity provision can be considered proactive because it can be done proactively to mask the time it took for the server to transition between different power states. This can be contrasted with reactive determinations where decisions and any response actions are made "after" the event occurred.

다른 방식으로 이야기하면, 컴퓨터 세트는 그들의 현재 상태에서 주어진 작업부하를 다룰 수 있는 용량을 갖는다. 컴퓨터의 용량이 그들의 현재 상태에서 예측된 작업부하를 다루기 위한 용량과 다른 경우, 컴퓨터 중 일부의 상태를 조정하여 예측된 작업부하로 미래 용량을 정리하기 위해, 용량 제공이 채용될 수 있다. In other words, computer sets have the capacity to handle a given workload in their current state. If the capacity of the computers is different from the capacity to handle the expected workload in their current state, capacity provisioning may be employed to adjust the state of some of the computers to organize future capacity with the predicted workload.

에너지-인식 서버 관리 정책은 컴퓨터 중 하나 이상의 상태를 변화(즉, 활성 상태에서 비활성 상태로 또는 역으로 전이)시키는 것을 포함한다. 에너지-인식 서버 관리 정책은, 컴퓨터 세트의 에너지 사용, 사용자 요청에 대한 응답에 대한 적시성 기대(expectation), 예측/추정의 확신(confidence), 및/또는 상태 전이와 관련된 개별 컴퓨터의 기대 서비스 수명에 대한 영향을 포함하지만 이에 제한되지 않는 많은 인자의 균형을 맞출 수 있다. 이들 인자는 "용량 제공 예"라는 제목으로 아래에서 더 자세히 설명한다. Energy-aware server management policies include changing (ie, transitioning from an active state to an inactive state or vice versa) of one or more of the computers. Energy-aware server management policies are based on the expected service life of individual computers involved in the energy use of the computer set, timeliness expectations for responses to user requests, confidence in predictions / estimates, and / or transitions. Many factors can be balanced, including, but not limited to, impacts. These factors are described in more detail below under the heading "Examples of dose provision".

개별 컴퓨터의 에너지 상태는 106에서 에너지-인식 서버 관리 정책에 기초하여 조정될 수 있다. 예를 들어, 일부 컴퓨터는 에너지를 보존하기 위해 활성에서 비활성 상태로 전이될 수 있다. 에너지-인식 서버 관리 정책은 요청이 활성 상태 컴퓨터들 사이에서 어떻게 할당되어야 하는지를 특정할 수도 있다. The energy status of an individual computer may be adjusted based on the energy-aware server management policy at 106. For example, some computers may transition from active to inactive to conserve energy. The energy-aware server management policy may specify how a request should be allocated among active computers.

에너지-인식 서버 관리 정책의 다른 태양은, 특정 컴퓨터가 어떤 상태에 있어야 하는지를 특정할 수 있다. 이는 컴퓨터의 신뢰성을 개선하기 위해 수행될 수 있다. 예를 들어, 일부 유형의 컴퓨터는, 활성과 비활성 상태 사이에서 너무 많이 전이되는 경우 장기적으로 안좋은 결과를 겪을 수 있다. 그래서 에너지-인식 서버 관리 정책은 개별 서버가 하루 등의 주어진 시간 기간에 주어진 횟수보다 많이 전이되어서는 안된다는 것을 나타낼 수 있다. 시스템은 "머신 A"가 몇 번의 주기를 겪었는지를 추척하고 머신 A 가 너무 자주 주기를 겪은 경우에는 다른 머신을 전이하도록 선택할 수 있다. 에너지-인식 서버 관리 정책의 다양한 측면이 도 2와 관련하여 "상태 전이 예"라는 제목 하에 아래에서 더 상세히 논의될 것이다. Another aspect of the energy-aware server management policy may specify which state a particular computer should be in. This can be done to improve the reliability of the computer. For example, some types of computers can suffer long term consequences if they transition too much between active and inactive states. Thus, the energy-aware server management policy may indicate that an individual server should not transition more than a given number of times in a given time period, such as one day. The system can keep track of how many cycles "Machine A" has gone through and choose to transition another machine if Machine A has gone too far. Various aspects of the energy-aware server management policy will be discussed in more detail below under the heading “state transition example” in connection with FIG. 2.

시스템 구성의 예Example of system configuration

도 2는 상술한 에너지-인식 서버 관리가 구현될 수 있는 일 예에 불과한 시스템(200)을 도시한다. 이 경우, 시스템(200)은 부하 발송기(dispatcher)(202), 적응형 제어 유닛(204) 및 4 개 서버(206(1), 206(2), 206(3), 및 206(n))의 세트를 포함한다. 부하 발송기(202), 적용형 제어 유닛(204) 및 서버(206(1), 206(2), 206(3), 및 206(n))는 다양한 구현에서 같이 위치하거나 및/또는 서로 분산될 수 있다. 2 illustrates only one example of a system 200 in which the energy-aware server management described above may be implemented. In this case, the system 200 includes a load dispatcher 202, an adaptive control unit 204 and four servers 206 (1), 206 (2), 206 (3), and 206 (n). Includes a set of The load dispatcher 202, the applicable control unit 204 and the servers 206 (1), 206 (2), 206 (3), and 206 (n) may be co-located and / or distributed with each other in various implementations. Can be.

210으로 일반적으로 표시된 사용자는 부하 발송기(202)에 의해 수신되는 요청(212(1)-212(n))을 할 수 있다. 부하 발송기는, 에너지-인식 서버 관리 정책(216)과 활성 머신 목록(218)에 따라서, 214(1)-214(n)에 표시된 바와 같이 개별 요청(212(1)-212(n))을 개별 서버(206(1)-206(n))에 전송한다. 에너지-인식 서버 관리 정책(216)과 활성 머신 목록(218)은 적응형 제어 유닛(204)에 의해 생성되고 부하 발송기(202)로 전송된다. A user, indicated generally at 210, may make requests 212 (1)-212 (n) received by the load dispatcher 202. The load dispatcher issues individual requests 212 (1) -212 (n) as indicated in 214 (1) -214 (n), in accordance with the energy-aware server management policy 216 and the list of active machines 218. Send to individual servers 206 (1) -206 (n). The energy-aware server management policy 216 and the active machine list 218 are generated by the adaptive control unit 204 and sent to the load dispatcher 202.

활성 머신 목록(218)은 적응형 제어 유닛(204)에 의해 서버(206(1)-206(n))로 전달되는 에너지 관리 제어 결정(220)을 반영한다. 에너지 관리 제어 결정은, 개별 서버(206(1)-206(n))의 상태를 제어함으로써 서버 수준에서 에너지-인식 서버 관리 정책을 구현하는 제어로 생각할 수 있다. 적응형 제어 유닛(204)은 다양한 입력 파라미터에 기초하여 에너지-인식 서버 관리 정책(216)과 활성 머신 목록(218)을 생성한다. 이 경우, 입력 파라미터는 성능 카운터(222), 요청 정보(224), 에너지 사용(226) 및/또는 입력 요청 작업부하(구체적으로 도시되지 않음)을 포함하지만 이에 제한되지 않는다. The active machine list 218 reflects the energy management control decisions 220 communicated by the adaptive control unit 204 to the servers 206 (1)-206 (n). An energy management control decision can be thought of as a control that implements an energy-aware server management policy at the server level by controlling the state of individual servers 206 (1) -206 (n). Adaptive control unit 204 generates energy-aware server management policy 216 and active machine list 218 based on various input parameters. In this case, the input parameters include, but are not limited to, performance counter 222, request information 224, energy usage 226, and / or input request workload (not specifically shown).

성능 카운터(222)는 서버(206(1)-206(n))로부터 적응형 제어 유닛(204)으로 전송될 수 있다. 성능 카운터는 개별 서버 및/또는 서버의 총체적 세트가 동작하고 있는 용량을 표시할 수 있다. The performance counter 222 may be sent from the servers 206 (1) -206 (n) to the adaptive control unit 204. Performance counters may indicate the capacity at which individual servers and / or the overall set of servers are operating.

응답 시간과 같은 요청 정보(224)는 부하 발송기(202)로부터 획득될 수 있다. 요청 정보는, 여러 가지 중에서도, 요청 레이트(즉, 단위 시간 당 요청), 요청 크기, 및/또는 요청 응답 시간과 같은 여러 방법으로 명시될 수 있다. Request information 224, such as response time, may be obtained from the load dispatcher 202. The request information may be specified in several ways, among other things, such as request rate (ie, request per unit time), request size, and / or request response time.

에너지 사용(226)은 다양한 소스로부터 얻어질 수 있는데, 하나의 단순한 소스는 전원(미도시)으로부터 서버(206(1)-206(n))로의 에너지 소비 미터(meter)이다. 구체적으로 도시되지 않으나, 다른 구현이 개별 서버에 대한 에너지 사용을 단독으로 또는 전체 에너지 사용과 결합하여 제공할 수 있다. 적응형 제어 유닛은 구체적으로 도시되지 않은 소스에 대한 정보를 수신할 수도 있다. 예를 들어, 적응형 제어 유닛은 SLA에 정의된 성능 정보를 획득할 수 있다. 이 성능 정보는 에너지-인식 서버 관리 정책(216)의 형성에 사용될 수 있다. 또한, 적응형 제어 유닛은 에너지-인식 서버 관리 정책(216)의 특정 부분만을 부하 발송기(202)로 전송할 수 있다. 예를 들어, 에너지-인식 서버 관리 정책은 요청이 서버에 어떻게 발송되는지를 정의하기 위해 부하 발송기로 전송되는 발송 로직을 포함할 수 있다.Energy usage 226 can be obtained from a variety of sources, one simple source being an energy consumption meter from a power source (not shown) to servers 206 (1) -206 (n). Although not specifically shown, other implementations may provide energy usage for individual servers, alone or in combination with overall energy usage. The adaptive control unit may receive information about sources not specifically shown. For example, the adaptive control unit can obtain the performance information defined in the SLA. This performance information can be used in the formation of energy-aware server management policy 216. In addition, the adaptive control unit can send only a specific portion of the energy-aware server management policy 216 to the load dispatcher 202. For example, the energy-aware server management policy may include dispatch logic that is sent to the load dispatcher to define how the request is sent to the server.

일부 경우에, 부하 발송기(202)는 부하 균형기(load balancer)로서 기능할 수 있고, 요청(212(1)-212(n))을 활성 서버(206(1)-206(n))에 균일하게 분배할 수 있다. 다른 경우에, 활성 서버에 관하여, 부하 발송기는 전략적으로 상대적으로 높은 빈도로 활성 서버의 부분집합에 요청을 분배하여 이들 서버를 특정 용량, 예를 들어 전체 용량의 70%로 유지할 수 있다. 이 서버의 부분집합이 특정 용량을 초과하도록 하는 여하한 요청은 활성 서버의 제 2 부분집합으로 보내질 수 있다. 이러한 구성은 활성 서버 중 다수를 특정 또는 희망 용량에서 동작하도록 유지하면서 제 2 부분집합을 예비 역할로 동작하게 할 수 있고, 이에 의해 에너지 효율을 높일 수 있다. 일 측면에서 보면, 활성 서버의 이 제 2 부분집합은 예상치 않은 작업부하 급등에 대한 헤지(hedge)로 생각할 수 있다.In some cases, the load dispatcher 202 can function as a load balancer, sending requests 212 (1) -212 (n) to the active server 206 (1) -206 (n). It can distribute uniformly. In other cases, with respect to active servers, the load sender can strategically distribute requests to a subset of active servers at a relatively high frequency to keep these servers at a specific capacity, for example 70% of the total capacity. Any request for a subset of this server to exceed a certain capacity may be sent to a second subset of active servers. Such a configuration may allow the second subset to operate in a preliminary role while keeping many of the active servers operating at a specific or desired capacity, thereby increasing energy efficiency. In one aspect, this second subset of active servers can be thought of as a hedge against unexpected workload spikes.

또한, 적응형 제어 유닛(204)으로부터 획득된 정보(즉, 에너지-인식 서버 관리 정책(216) 및/또는 활성 머신 목록(218))에 기초하여, 부하 발송기(202)는 비활성 상태로 전이하고 있는 여하한 서버로부터 부하를 재분배할 수 있다. Further, based on the information obtained from the adaptive control unit 204 (ie, the energy-aware server management policy 216 and / or the active machine list 218), the load dispatcher 202 transitions to an inactive state and You can redistribute the load from any server.

요약하면, 일부 구현에서, 부하 발송기(202)는 활성 서버들 사이에서만 요청을 분배할 수 있고, 비활성 상태로 전이하고 있는 서버로부터 요청을 재분배할 수 있다. In summary, in some implementations, the load dispatcher 202 may distribute the request only between active servers and may redistribute the request from a server that is transitioning to an inactive state.

시스템(200)의 도시된 구성에서, 적응형 제어 유닛(204)은 미래의 작업부하(즉, 미래의 요청)을 예측할 수 있다. 적응형 제어 유닛은 에너지 효율적인 방식으로 미래 작업부하를 다루도록 에너지-인식 서버 관리 정책을 형성할 수 있다. 적응형 제어 유닛은 에너지-인식 서버 관리 정책을 형성하는 데 있어 다수의 파라미터를 고려할 수 있다. 이들 파라미터는, 요청 정보(224), 에너지 사용(226) 및/또는 성능 카운터(222)를 포함할 수 있으나 이에 제한되지 않는다. In the illustrated configuration of the system 200, the adaptive control unit 204 can predict future workloads (ie, future requests). The adaptive control unit can form an energy-aware server management policy to handle future workloads in an energy efficient manner. The adaptive control unit may take into account a number of parameters in forming the energy-aware server management policy. These parameters may include, but are not limited to, request information 224, energy usage 226, and / or performance counters 222.

요약하면, 적응형 제어 유닛(204)은 서버(206(1)-206(n))의 상태를, 에너지 관리 제어 결정(220)을 통해 에너지-인식 서버 관리 정책에 따라 제어할 수 있다. 도시된 구성에서, 적응형 제어 유닛은, 시스템 기능을 수신된 입력에 기초하여 생성되는 출력을 통해 제어할 수 있는 상대적으로 단순한 폐루프 제어 시나리오에서 기능할 수 있다.In summary, the adaptive control unit 204 may control the state of the servers 206 (1) -206 (n) in accordance with the energy-aware server management policy via the energy management control decision 220. In the configuration shown, the adaptive control unit can function in a relatively simple closed loop control scenario where the system function can be controlled via an output generated based on the received input.

적응형 제어 유닛은, 일부를 열거하자면, 서버 CPU 사용, 요청 응답 시간 및 에너지 소비와 같은 시스템 성능과 관련한 입력 데이터를 수신함으로써 작동한다. 입력 데이터는, 예측된 미래 작업부하를 다루는 방법을 결정하기 위해, 예측된 미래 작업부하를 반영하여 고려될 수 있다. 예를 들어, 예측된 작업부하와 용량을 균형 맞추고 그에 의해 에너지를 절약하기 위해 각 에너지 상태(즉, 활성, 비활성(수면, 동면, 오프 등))의 서버의 수가 조정될 수 있다. 달리 이야기하면, 적응형 제어 유닛은 에너지 효율적인 방식으로 예측된 작업부하를 다루기 위해 서버(206(1)-206(n)) 사이에서 에너지 상태를 제공할 수 있다. The adaptive control unit, to name a few, operates by receiving input data relating to system performance, such as server CPU usage, request response time, and energy consumption. The input data may be considered to reflect the predicted future workload in order to determine how to handle the predicted future workload. For example, the number of servers in each energy state (ie, active, inactive (sleep, hibernate, off, etc.)) can be adjusted to balance capacity with anticipated workload and thereby conserve energy. In other words, the adaptive control unit can provide an energy state between servers 206 (1)-206 (n) to handle the predicted workload in an energy efficient manner.

일부 경우에, 서버(206(1)-206(n))는 비-서버 관련 사용을 위해 설계된 프로세서를 채용할 수 있다. 예를 들어, 본 개념은 넷북 및 기타 모바일 애플리케이션에서의 사용을 위해 설계된 프로세서가 서버 시나리오에 유리하게 적용될 수 있도록 할 수 있다. 예를 들어, 인텔(Intel) 상표의 아톰(Atom) 프로세서가 본 구성의 일부에서 사용될 수 있다. 아톰 프로세서는 활성 상태에서 상대적으로 에너지 효율적이고, 활성 상태에 비해 약 90%의 에너지 절약을 제공하는 비활성 수면 상태를 갖는다.In some cases, servers 206 (1) -206 (n) may employ a processor designed for non-server related use. For example, the concept may allow processors designed for use in netbooks and other mobile applications to be advantageously applied to server scenarios. For example, an Intel brand of Atom processor may be used in some of the configurations. Atom processors are relatively energy efficient in the active state and have an inactive sleep state that provides about 90% energy savings over the active state.

비활성 상태는 일반적으로 활성 상태로 전이하는데 있어 다른 레이턴시 시간을 제공한다. 예를 들어, 진정한 "오프" 상태는 활성 상태에 비해 99% 이상의 전력 절감을 제공할 수 있다. 그러나, 실질적인 에너티 절약은 상대적으로 긴 전이 레이턴시를 대가로 오는 것이다. 예를 들어, 오프 비활성 상태에서 활성 상태로의 전이 레이턴시는 수 분일 수 있다. 이에 비해, "수면" 비활성 상태는, 예를 들어, 90%의 에너지 절약을 제공할 수 있지만 전이 레이턴시는 예를 들어 10-20초를 제공할 수 있다. 이렇게 긴 전이의 잠재적인 단점은, 작업부하 예측이 실제로 미래 작업부하를 과소추정하는 경우, 오프인 서버는 상대적으로 긴 시간 동안 도움이 되지 않을 것이라는 점이다. Inactive states generally provide different latency times for transitioning to the active state. For example, a true "off" state can provide more than 99% power savings over an active state. However, substantial energy savings come at the expense of relatively long transition latency. For example, the transition latency from the off inactive state to the active state can be several minutes. In contrast, a “sleep” inactive state can provide energy savings of, for example, 90% but transition latency can provide, for example, 10-20 seconds. A potential drawback of this long transition is that if the workload prediction actually underestimates the future workload, the off-in server will not help for a relatively long time.

"동면"의 비활성 상태는 수면과 오프 비활성 상태 중간의 에너지 절약과 전이 레이턴시를 제공할 수 있다. 예를 들어, 동면은 활성 상태에 비해 95%의 에너지 절약과 30초 레이턴시 전이를 제공할 수 있다. 일부 특징에서, 동면은 수면의 깊은 수준으로 특징지워지는 것을 유의하라. 위에서 언급한 인텔의 아톰 프로세서와 관련하여, 활성 상태 에너지 소비는 28-34 와트이지만, 수면 상태에는 3-4 와트를 소비하고 동면 상태는 1-2 와트를 소비하는데, 둘 모두는 적어도 유휴 프로세서의 에너지 소비에서 적어도 1/10의 에너지 절감을 제공한다. 상술한 비활성 상태 예는 논의의 목적으로 제공된 것이다. 본 개념은, 특정 서버 컴퓨터로 제공될 수 있는 비활성 상태의 특정 세트와 연관되지 않는다는 것을 이해하여야 한다. 달리 이야기하면, 에너지 절약 기능은 전원 차단(power down) 및/또는 끄기(power off)될 수 있는 여하한 시스템, 장치 및/또는 소자에 적용될 수 있다. Inactive state of "hibernation" can provide energy savings and transition latency between sleep and off inactive states. For example, hibernation can provide 95% energy savings and a 30 second latency transition compared to the active state. Note that in some features, hibernation is characterized by a deep level of sleep. With regard to Intel's Atom processor mentioned above, the active state energy consumption is 28-34 watts, but it consumes 3-4 watts in the sleep state and 1-2 watts in the hibernation state, both of which are at least idle for the idle processor. Provide at least 1/10 energy savings in energy consumption. The inactive state example described above is provided for the purpose of discussion. It should be understood that the concept is not associated with a particular set of inactive states that can be provided to a particular server computer. In other words, the energy saving function can be applied to any system, device and / or device that can be powered down and / or powered off.

다수의 비활성 상태를 갖는 컴퓨터는 노트북 컴퓨터와 같은 일부 제품 라인에서 사용가능한 경향이 있다. 다수 비활성 상태를 제공하는 제품 라인은, 서버 팜과 같이 조직된(coordinated) 애플리케이션보다는 개인 사용과 같은 독립(freestanding) 애플리케이션을 위해 설계되는 경향이 있다. 조직된 애플리케이션에서 이들 특성이 없는 하나의 이유는 고성능이면서 에너지 효율적인 방식으로 다양한 컴퓨터를 제어하는데 있어서의 복잡성/어려움이다. Computers with multiple inactive states tend to be available in some product lines, such as notebook computers. Product lines that provide multiple inactive states tend to be designed for freestanding applications, such as personal use, rather than coordinated applications such as server farms. One reason for these characteristics in organized applications is the complexity / difficulty of controlling various computers in a high performance and energy efficient manner.

성능과 에너지 효율을 균형맞추는 것의 복잡성은 단일 사용 시나리오에서도 발생한다. 예를 들어, 노트북 컴퓨터는 시간이 종료하면(즉, 사전결정된 시간 기간 동안 사용자 입력이 수신되지 않으면), 비활성 상태로 단순히 전원 차단 된다. 이 시간 종료 방법은 어떠한 방식으로도 미래의 사용을 예측하고 그 미래 사용을 에너지에 민감한(energy conscious) 방식으로 만족시키거나 사용자에게 고성능인 방식으로 컴퓨터를 동작시키려고 하지 않는다. 그러므로, 사용자가 그렇게 비활성 상태로 전이한 컴퓨터로 돌아오면, 사용자는 소정의 입력을 제공하고 컴퓨터가 활성 상태로 다시 전이하는 동안 대기하여야 한다. The complexity of balancing performance and energy efficiency also occurs in single use scenarios. For example, a notebook computer simply shuts down in an inactive state when the time expires (ie no user input is received for a predetermined period of time). This timeout method does not attempt to predict future use in any way and to satisfy the future use in an energy conscious way or to operate the computer in a high performance way for the user. Therefore, when a user returns to a computer that has transitioned to such an inactive state, the user must provide some input and wait while the computer transitions back to the active state.

에너지-인식 서버 관리 정책(216)은 다상태 컴퓨터의 에너지 효율 잠재성이 서버 팜과 같은 집합적인 설정에서 실현될 수 있도록 할 수 있다. 간략하게는, 에너지-인식 서버 관리는 개별 서버(206(1)-206(n))를 언제 비활성 상태와 활성 상태 사이에서 전이시켜 현재 및 예측되는 미래 작업부하를 서비스할지를 결정할 수 있다. Energy-aware server management policy 216 may allow the energy efficiency potential of a multi-state computer to be realized in a collective setup such as a server farm. Briefly, energy-aware server management can determine when individual servers 206 (1) -206 (n) will transition between inactive and active states to service current and anticipated future workloads.

도 3은 에너지-인식 서버 관리를 달성하기 위한 적응형 제어 유닛(204)의 로직 모듈의 예를 도시한다. 이 경우, 로직 모듈은 작업부하 예측 모듈(304), 전략 또는 정책 모듈(306) 및 상태 조정 모듈(308)로서 나타난다. 3 shows an example of a logic module of the adaptive control unit 204 to achieve energy-aware server management. In this case, the logic module appears as workload prediction module 304, strategy or policy module 306, and state adjustment module 308.

작업부하 예측 모듈(304)은 현재의 작업부하를 결정하고 미래 작업부하를 예측할 수 있다. 일 측면에서, 작업부하는 단위 시간 당 요청의 수 곱하기 요청의 크기로 생각될 수 있다. 상대적으로 많은 수의 요청이 관련되는 동작 시나리오에서, 평균 요청 크기는 상당히 높은 정도의 정확성으로 계산될 수 있다. 이들 경우에, 작업부하는 단순히 시간 당 요청 수 곱하기 평균 요청 크기로 계산될 수 있다. 작업부하 예측 모듈은 다양한 기술을 이용하여 미래 작업부하를 예측할 수 있는데, 이들 중 일부는 위에서 소개되었고 일부는 아래에서 더 상세히 논의된다. 간략하게는, 도 2의 시스템에서, 작업부하 예측 모듈(340)은 미래 작업부하를 예측하기 위한 입력 데이터로서 요청 정보(224)를 이용할 수 있다. 다른 경우에, 작업부하 예측 모듈은 외부 정보를 수신하고 이용할 수 있다. 일부 구현에서, 작업부하 예측 모듈은 미래 작업부하를 추정 또는 예측하는데 사용하기 위해 장기 이력 경향(historical trend)을 수집, 모델링 및 저장할 수 있다. The workload prediction module 304 can determine the current workload and predict the future workload. In one aspect, the workload may be thought of as the number of requests multiplied by the number of requests per unit time. In operating scenarios where a relatively large number of requests are involved, the average request size can be calculated with a fairly high degree of accuracy. In these cases, the workload may simply be calculated as the number of requests per hour times the average request size. The workload prediction module can use various techniques to predict future workloads, some of which have been introduced above and some discussed in more detail below. Briefly, in the system of FIG. 2, workload prediction module 340 may use request information 224 as input data for predicting future workload. In other cases, the workload prediction module may receive and use external information. In some implementations, the workload prediction module can collect, model, and store long-term historical trends for use in estimating or predicting future workloads.

정책 모듈(306)은 작업부하 예측 모듈(304)에 의해 공급된 작업부하 예측을 만족시키기 위해 에너지-인식 서버 관리 정책을 형성할 수 있다. 예를 들어, 정책 모듈은 현재 용량을 활성 서버의 수와 단위 시간에 개별 활성 서버에 의해 다루어질 수 있는 요청의 수로서 계산할 수 있다. 정책 모듈은 예측된 작업부하에 대해 적절한 용량을 계산할 수 있다. 요약하면, 에너지-인식 서버 관리 정책은 예측된 작업부하를 다루기 위한 용량 제공을 포함할 수 있다. The policy module 306 may form an energy-aware server management policy to satisfy the workload predictions supplied by the workload prediction module 304. For example, the policy module may calculate the current capacity as the number of active servers and the number of requests that can be handled by individual active servers in unit time. The policy module can calculate the appropriate capacity for the anticipated workload. In summary, energy-aware server management policies may include providing capacity to handle predicted workloads.

정책 모듈(306)은 현재 구성으로부터 예측된 작업부하에 대한 적절한 용량으로 서버를 재구성하기 위해 에너지-인식 서버 관리 정책을 형성할 수 있다. 예를 들어, 각각의 활성 서버가 초당 10개 요청을 다룰 수 있는 10개 서버의 서버 팜이 관련되는 가상 시나리오를 고려한다. 현재 작업부하는 7개의 활성 서버(나머지 3개 서버는 비활성이다)에 의해 다루어지고 있는 초당 67개 요청이다. 작업부하 예측은 미래 시간 t + △t에서 작업부하가 초당 38 요청일 것임을 나타낸다. 이 경우, 정책 모듈은 활성 서버의 수를 감소시키는 에너지-인식 서버 관리 정책을 형성할 수 있다. The policy module 306 may form an energy-aware server management policy to reconfigure the server to the appropriate capacity for the workload expected from the current configuration. For example, consider a hypothetical scenario involving a server farm of 10 servers, where each active server can handle 10 requests per second. The current workload is 67 requests per second being handled by seven active servers (the other three are inactive). Workload prediction indicates that the workload will be 38 requests per second at a future time t + Δt. In this case, the policy module may form an energy-aware server management policy that reduces the number of active servers.

정책 모듈(306)은 에너지-인식 서버 관리 정책을 형성하는 때에 비용 이득(cost benefit) 분석에 있어 다수의 인자를 포함할 수 있다. 예를 들어, 정책 모듈은 서버 수명을 최적화하기 위해 개별 서버가 얼마나 많이 활성화되고 비활성화되는지를 고려할 수 있다. 서버의 수명은 활성과 비활성 에너지 상태 사이의 전이의 횟수에 반비례하는 경향이 있다. 다른 인자는 시스템(200)에 대한 성능 수준을 정의하는 SLA일 수 있다. 고려될 수 있는 다른 인자는 작업부하 예측에서의 확신 수준이다. 예를 들어, 확신 수준이 높은 경우에, 정책 모듈은 4개의 활성 서버가 예측된 작업부하에 충분할 것이라고 결론을 내릴 수 있고 총 6개의 비활성 서버에 대해 3개의 서버를 더 비활성화하는 것을 포함할 수 있다. 확신 수준이 낮으면, 정책 모듈은 4개의 활성 서버를 유지하는 에너지-인식 서버 관리 정책을 형성할 수 있다. The policy module 306 may include a number of factors in cost benefit analysis when forming an energy-aware server management policy. For example, the policy module can consider how many individual servers are activated and deactivated to optimize server life. The lifetime of a server tends to be inversely proportional to the number of transitions between active and inactive energy states. Another factor may be an SLA that defines a level of performance for the system 200. Another factor that can be considered is the level of confidence in the workload prediction. For example, in the case of high confidence, the policy module can conclude that four active servers will be sufficient for the predicted workload and may include deactivating three more servers for a total of six inactive servers. . If the level of confidence is low, the policy module can form an energy-aware server management policy that maintains four active servers.

일부 구현에서, 정책 모듈(306)은 에너지 인식 서버 관리 정책을 형성함에 있어 CPU, 메모리, 디스크, 네트워크 등과 같은 다른 파라미터 또는 메트릭을 포함할 수 있는 성능 학습 모델(performance learning model)을 채용할 수 있다. 또한, 설명의 편의를 위해, 상기 논의는 모든 서버를 동일하게 취급하였다. 그러나, 정책 모듈은, 서버들간의 차이 또는 이질성(heterogeneity)을 인식하거나 및/또는 다루는 에너지-인식 서버 관리 장치(216)를 형성할 수 있다. 차이는 서버에 내재하거나 및/또는 외부적인 것일 수 있다. 예를 들어, 에너지-인식 서버 관리 정책은 개별 서버가 상이한 용량, 상이한 전력 족적(power footprints) 및 상이한 에너지 상태 사이의 전이 시간을 갖는다는 것을 반영할 수 있다. 유사하게, 서버는 온도 핫스팟, 유지 보수 태스크와 같은 외부 인자에 의해 영향을 받을 수 있다.In some implementations, the policy module 306 can employ a performance learning model that can include other parameters or metrics such as CPU, memory, disks, networks, etc. in forming the energy aware server management policy. . Also, for the convenience of explanation, the above discussion treated all servers equally. However, the policy module may form an energy-aware server management device 216 that recognizes and / or handles differences or heterogeneity between servers. The difference may be inherent in the server and / or external. For example, energy-aware server management policies may reflect that individual servers have transition times between different capacities, different power footprints, and different energy states. Similarly, servers can be affected by external factors such as temperature hotspots, maintenance tasks.

에너지-인식 서버 관리 정책은 개별 서버가 어떤 비활성 상태로 전이하여야 하는지를 특정할 수도 있다. 예를 들어, 수면 비활성 상태는 활성 상태로의 더 빠른 전이를 제공하므로, 에너지-인식 서버 관리 장치는, 일부 서버는 수면 상태에서 유지되어야 하는 반면 다른 서버는 더 많은 에너지 절약을 제공하는 다른 비활성 상태로 전이할 수 있다는 것을 나타낼 수 있다. The energy-aware server management policy may specify which inactive state an individual server should transition to. For example, sleep inactivity provides a faster transition to the active state, so energy-aware server management devices require that other servers provide more energy savings while other servers provide more energy savings. It can indicate that it can transition to.

에너지-인식 서버 관리 장치는 서버 전이를 결정하기 위해 추가의 인자를 사용할 수 있다. 예를 들어, 소프트웨어 업그레이드와 같은 보수/유지 태스크를 위해, 활성 서버는 오프로 전이될 수 있고, 시스템 용량이 영향을 받지 않도록 반면 비활성 상태의 다른 서버가 활성으로 전이될 수 있다. The energy-aware server management device may use additional factors to determine server transitions. For example, for maintenance / maintenance tasks such as software upgrades, the active server can transition off, while other servers in the inactive state can transition to active so that system capacity is not affected.

상태 제공 모듈(308)은 정책 모듈(306)에 의하여 제공된 에너지-인식 서버 관리 정책에 맞게 개별 서버로의 상태 변화가 일어나게 할 수 있다. 또한, 부하 발송기(202)(도 2)가 비활성 서버로 요청을 보내는 것을 피하기 위해 상태 조정 모듈은 부하 발송기로 어떤 서버가 활성인지 전달할 수 있다.State provision module 308 may cause a state change to an individual server to occur in accordance with the energy-aware server management policy provided by policy module 306. Also, to avoid the load sender 202 (FIG. 2) sending a request to an inactive server, the state coordination module may communicate which server is active to the load sender.

작업부하 예측 예Workload prediction example

일 구현에서, 작업부하 예측은 가중 선형 회귀(weighted linear regression)를 이용하여 이루어질 수 있다. 이 경우, 가중 선형 회귀는 하나 이상의 독립 변수의 수학적 함수를 이용하여 관측값(observation)이 표현되는 회귀 분석의 형태로 생각될 수 있다. 예를 들어, 관측값은 초당 요청과 같은 종속 변수일 수 있다. 독립 변수의 예는 시간과 같은 입력일 수 있다. 가중 선형 회귀를 위해, 함수는 회귀 계수(coefficients)의 선형 결합으로 표현될 수 있다. 가중 선형 회귀의 목표는 관측값과 함수에 의해 예측되는 값 사이의 가중 제곱합(weighted sum of squares)을 감소시키는 것(그리고 잠재적으로 최소화하는 것)일 수 있다. 가중치는 상이한 관측값에 상이한 중요도 값을 할당하기 위해 사용된다. 요약하면, 이 특정한 작업부하 예측 방법은 회귀 분석을 이력 경향, 장기 모델, 외부 지식 등과 결합하여 미래 작업부하를 예측한다. In one implementation, workload prediction may be made using weighted linear regression. In this case, weighted linear regression can be thought of as a form of regression analysis in which observations are represented using mathematical functions of one or more independent variables. For example, the observation may be a dependent variable, such as a request per second. An example of an independent variable may be an input such as time. For weighted linear regression, the function can be represented as a linear combination of regression coefficients. The goal of weighted linear regression may be to reduce (and potentially minimize) the weighted sum of squares between the observed value and the value predicted by the function. Weights are used to assign different importance values to different observations. In summary, this particular workload prediction method combines regression analysis with historical trends, long-term models, external knowledge, etc. to predict future workloads.

용량 제공 예Capacity provision example

일부 구체적인 예에서, 용량 제공은 성능 학습 모델에서 머신 학습을 이용하여 이루어질 수 있다. 한가지 그러한 경우에, 용량 제공은, 응답 시간의 조건부 분포의 사분위수(quantile)가 입력 작업부하(초 당 요청)와 활성 서버 수의 함수로 표현되는, 사분위 회귀의 머신 학습 방법을 채용한다. In some specific examples, capacity provision may be made using machine learning in a performance learning model. In one such case, capacity provision employs a quartile regression machine learning method where the quantile of the conditional distribution of response times is expressed as a function of the input workload (requests per second) and the number of active servers.

이 사분위 회귀 방법은, 서버 사용이 낮을 때 응답 시간이 거의 선형으로 증가하고 입력 작업부하가 서버의 처리 용량에 근접함에 따라 빠르게 (예를 들어, 잠재적으로 지수적으로)증가한다는 사실을 고려한다. 환언하면, 용량 제공 방법은, 입력 작업부하 파라미터와 활성 서버 수를 변화시킴으로써 시스템의 응답 시간을 오프라인 방식으로 학습할 수 있다. 그러면, 주어진 SLA 요구사항 및 예측작업 부하의 추정에 대해, 특정 SLA 내 작업부하를 만족시키는데 필요한 서버의 수를 계산한다. This quartile regression takes into account the fact that when server usage is low, the response time increases almost linearly and increases rapidly (eg, potentially exponentially) as the input workload approaches the server's processing capacity. . In other words, the capacity provision method can learn the response time of the system in an off-line manner by changing the input workload parameter and the number of active servers. Then, for an estimate of a given SLA requirement and forecast workload, calculate the number of servers needed to satisfy the workload within a particular SLA.

상태 전이 예State transition example

도 4는 에너지-인식 서버 관리에 따라 상태 전이를 이루기 위한 방법(400)의 흐름도를 제공한다. 방법(400)은 블록 402에서 시작한다. 블록 404에서, 방법은 서버(즉, 서버 팜의 서버 또는 서버의 다른 그룹)를 정리한다. 블록 404는 하나 이상의 파라미터에 따라 서버를 정리할 수 있다. 예를 들어, 서버는 에너지 상태(즉, 활성 또는 비활성)에 따라 정리될 수 있다. 또한, 비활성 서버는, 그들의 상대적인 에너지 절약을 반영하는 랭킹된 그룹으로 정리될 수 있다. 예를 들어, 활성 서버는 수면 상태의 비활성 서버 전에 리스트되고, 그 후에 동면 상태의 비활성 서버가 오고 마지막으로 오프 상태의 비활성 서버가 온다.4 provides a flow diagram of a method 400 for achieving a state transition in accordance with energy-aware server management. The method 400 begins at block 402. At block 404, the method cleans up the server (ie, a server in a server farm or another group of servers). Block 404 may clean up the server according to one or more parameters. For example, servers can be organized according to their energy state (ie, active or inactive). Inactive servers can also be organized into ranked groups that reflect their relative energy savings. For example, an active server is listed before a sleep inactive server, after which the inactive server is hibernated and finally the inactive server is off.

블록 406은 에너지 상태를 정리한다. 한 경우에, 에너지 상태는 비활성과 활성 상태 사이에서 전이 레이턴시에 기초하여 정리될 수 있다. 다르게는 또는 추가적으로는, 에너지 상태가 그들의 에너지 사용 또는 족적에 기초하여 정리 또는 랭킹될 수 있다. 그래서 예를 들어, 에너지 상태는 최대 에너지 소비(즉, 활성)에서 최소 에너지 소비(즉, 오프)로 리스트될 수 있다. Block 406 cleans up the energy state. In one case, the energy state can be organized based on the transition latency between inactive and active states. Alternatively or additionally, energy states can be sorted or ranked based on their energy use or footprint. So for example, an energy state may be listed from maximum energy consumption (ie, active) to minimum energy consumption (ie, off).

블록 408은 미래 시간(tf)에서의 예측되는 서버 수요(즉, 작업부하)와 시간 tf에 사용가능한 용량 사이의 차이 또는 △를 계산한다. 작업부하를 예측하는 기술은 상술되어 있다. 요약하면, 블록 408은 어떤 미래 시간에 사용가능한 서버 용량이 딱 맞는지, 너무 높은지 아니면 너무 낮은지 여부를 식별하는 기능을 한다. Block 408 calculates the difference or Δ between the predicted server demand (ie, the workload) at future time t f and the capacity available at time t f . Techniques for predicting workload are described above. In summary, block 408 serves to identify at what future time the available server capacity is just right, too high or too low.

블록 408에서 차이가 0과 같다면(즉, 예측된 작업부하가 미래 용량과 같다면), 방법은 블록 410으로 진행한다. 용량 조정이 필요하지 않으므로 블록 410은 현재 시간에서 서버를 제어하기 위해 프로세스를 중단한다. 30초 와 같은 약간의 증가 시간(incremental time) 후에, 방법은 시작 402으로 돌아가고 방법이 반복된다. If the difference in block 408 is equal to zero (ie, the predicted workload is equal to future capacity), the method proceeds to block 410. Since no capacity adjustment is needed, block 410 stops the process to control the server at the current time. After some incremental time, such as 30 seconds, the method returns to the start 402 and the method is repeated.

블록 408에서 차이가 존재한다면(즉, 차이가 0이 아니라면), 방법은 블록 412로 진행한다. If there is a difference in block 408 (ie, the difference is not zero), the method proceeds to block 412.

블록 412는 현재 시간 t와 미래 시간 tf 사이의 중간 기간에서 상태를 전이하고 있는 (블록 404에서 도입된 전체 서버로부터의) 서버의 세트를 인식한다. 달리 이야기 하면, 블록 412는 상태 사이에서 전이하고 있는 및/또는 이미 그렇게 하도록 스케줄되어 있는 서버를 식별한다. 블록 408의 차이가 양의 값인 경우에(즉, ?gt;0), 방법은 블록 (414)로 진행하고, 그렇지 않고 차이가 음인 경우에(즉, ?lt;0) 방법은 블록 416으로 진행한다. Block 412 recognizes the set of servers (from the entire server introduced at block 404) that are transitioning in the intermediate period between the current time t and the future time t f . In other words, block 412 identifies servers that are transitioning between states and / or are already scheduled to do so. If the difference in block 408 is positive (i.e.? 0; 0), the method proceeds to block 414; otherwise, if the difference is negative (i.e.? Lt; 0), the method proceeds to block 416 do.

블록 414에서, 방법은 활성 상태로 전이할 비활성 서버를 식별함으로써 시간 tf 에 대한 서버 용량을 증가시킨다. 개별 서버의 상태는 위의 블록 404에서 리스트된다. 식별을 위해 고려되는 비활성 서버는 412에서 인식되는 세트에 속하지 않는다. 달리 이야기하면, 식별된 서버는 중간 기간에서 전이하거나 전이하고 있거나 스케줄되지 않은 비활성 서버이다. At block 414, the method increases server capacity for time t f by identifying inactive servers to transition to an active state. The status of individual servers is listed at block 404 above. Inactive servers considered for identification do not belong to the set recognized at 412. In other words, the identified server is an inactive server that is transitioning, transitioning or unscheduled in an intermediate period.

다양한 다른 파라미터가 식별된 서버를 선택하는데 사용될 수 있다. 예를 들어, 전이 레이턴시가 고려될 수 있다. 예를 들어, 미래 시간 tf 가 30초 후라면, 방법은 서버가 전이할 고려사항으로서 전이 레이턴시를 고려할 수 있다. 예를 들어, 수면에서 활성으로의(sleep-to-active) 전이 레이턴시가 20초이고 오프에서 활성으로의(off-to-active) 전이 레이턴시가 1분이라면, 방법은, 전이가 미래 시간 tf(즉, 30초)에서 종료되도록 수면 상태로부터 서버를 선택할 수 있다. Various other parameters can be used to select the identified server. For example, transition latency can be considered. For example, future time t f If is 30 seconds later, the method may consider the transition latency as a consideration for the server to transition. For example, if the sleep-to-active transition latency is 20 seconds and the off-to-active transition latency is 1 minute, then the method may indicate that the transition is a future time t f. (I.e. 30 seconds), the server can be selected from the sleep state to terminate.

방법은 개별 서버가 주어진 시간 기간에서 전이한 횟수를 고려할 수도 있다. 예를 들어, 수면 상태 서버 중 하나가 이미 문턱 횟수만큼 전이한 경우, 방법은 문턱 미만인 다른 수면 상태 서버를 전이하도록 선택할 수 있다. 다른 파라미터도 비용 이득 분석에서의 식별 프로세스에서 사용될 수 있다. 예를 들어, 비용은, 여러 가지 중에, 빈번한 상태 전이에 기인한 응답 시간 증가 및 서버 수명 감소의 위험을 포함할 수 있다. 이득은, 여러 가지 중에, 감소된 에너지 이용일 수 있다.The method may take into account the number of times an individual server has transitioned in a given time period. For example, if one of the sleep state servers has already transitioned by the threshold number of times, the method may choose to transition another sleep state server that is below the threshold. Other parameters can also be used in the identification process in cost benefit analysis. For example, cost may include, among other things, the risk of increased response time and reduced server life due to frequent state transitions. The gain may be, among other things, reduced energy utilization.

블록 416은 미래 시간 tf에서의 서버 용량이 예측된 작업부하보다 큰 시나리오를 다룬다. 블록 416은 비활성 상태로 전이할 개별 활성 서버를 랭킹함으로써 시간 tf에 대한 서버 용량을 감소시킨다. 고려되는 활성 서버는, 이미 전이하고 있을 수 있는 블록 412에서의 세트 {ts}에서 식별된 서버들을 포함하지 않는다. 활성 서버는 비용 이득 분석을 이용하여 고려될 수 있는 하나 이상의 파라미터에 기초하여 선택될 수 있다. 파라미터의 예는 블록 414에 대해 위에서 설명된다. 간략하게, 주어진 서버가 이미 문턱 횟수만큼 전이한 경우, 비용-이득 분석은 그 서버를 다시 전이하는 것에 대해 가중될 수 있다. 대신 다른 서버가 전이하도록 선택될 수 있다. Block 416 deals with a scenario where the server capacity at future time t f is greater than the expected workload. Block 416 reduces server capacity for time t f by ranking the individual active servers to transition to inactive. The active server under consideration does not include the servers identified in set {ts} in block 412 that may already be transitioning. The active server can be selected based on one or more parameters that can be considered using cost benefit analysis. Examples of parameters are described above with respect to block 414. Briefly, if a given server has already transitioned by a threshold number of times, the cost-benefit analysis may be weighted for transitioning that server again. Instead, another server can be chosen to transition.

고려될 수 있는 다른 파라미터는 불충분한 용량에 대한 헤지(hedging)와 관련된다. 예를 들어, 서버 전이가 각 방법에서 20초가 걸리고, 프로세스는 시작하면 멈출 수 없다고 가정한다. 그러므로, 전이가 시작되면 활성 서버(서버 1이라고 하자)를 재활성화하는데 40초가 걸린다(즉, 활성에서 비활성으로의 20초와 비활성에서 활성으로의 추가 20초). 논의의 목적으로 tf가 앞으로 30초라고 가정한다. 이제 다른 비활성 서버(서버 2라고 하자)가 활성 상태로 전이도록 사용가능하다면, 서버 2가 시간 tf이 적어도 앞으로 20초인 이상 적시에 활성화될 수 있기 때문에 서버 1을 전이하는 것과 관련된 위험은 처음 10초 동안은 상대적으로 낮다. 그래서 예를 들어, 서버 1을 비활성화한다는 결정이 이루어지고 8초 후에 시간 tf와 관련한 과소추정(underestimation)이 검출되면, 서버 2는 추가적인 용량 요청을 커버하도록 적시에 활성화될 수 있다(즉, 8초 더하기 20초 전이는 28초에 또는 용량이 부적절할 수 있기 2초 전에 서버 2를 활성 상태로 놓는다). 그러므로, 서버 2의 사용가능성은 비용-이득 분석을 서버 1을 비활성화하는 방향으로 기울어질 수 있다.Other parameters that can be considered are related to hedging for insufficient capacity. For example, suppose the server transition takes 20 seconds in each method, and the process cannot stop once started. Therefore, it takes 40 seconds to reactivate the active server (let's say server 1) once the transition has started (ie 20 seconds from active to inactive and an additional 20 seconds from inactive to active). For the purposes of discussion, suppose t f is 30 seconds in the future. If another inactive server (let's say server 2) is now available to transition to active state, the risk associated with transitioning to server 1 is that the server 10 can be activated in a timely manner as long as time t f is at least 20 seconds ahead. It is relatively low for seconds. So, for example, if a decision is made to deactivate server 1 and an underestimation associated with time t f is detected after 8 seconds, server 2 can be activated in a timely manner to cover additional capacity requests (ie, 8 A second plus 20 second transition leaves server 2 active at 28 seconds or 2 seconds before capacity may be inadequate). Therefore, the availability of server 2 can be tilted toward deactivating server 1 for cost-benefit analysis.

다른 유사한 파라미터는 서버 1 자체가 여하한 과소추정을 커버할 수 있는 능력과 관련된다. 예를 들어, 위의 예를 계속하면, 40초의 활성-활성(active-to-active) 전이에 대해 서버 1이 각 방향으로 전이하는데 20초가 걸린다고 가정한다. 미래 시간 tf가 30초 후인 첫 번째 시나리오를 고려하자. 이런 경우에, 과소추정이 검출되면 서버 1은 미래 시간 tf에서 추가적인 수요를 커버하는데 사용가능하지 않을 것이다. 그런 시나리오에서, 이 파라미터는 서버 1을 전이시키지 않는 방향으로 가중할 수 있다. 미래 시간 tf가 60초 뒤인 다른 시나리오를 고려하자. 이러한 경우에, 과소추정이 검출되면 서버 1은 비활성화되고 시간 tf 전에(즉, 40초 내에) 재활성화될 수 있다. 이 시나오에서, 이 파라미터는 서버를 비활성화하는 방향으로 가중할 수 있다. 당업자는 비용-이득 분석이 에너지를 보존하면서 기대 서비스 수준을 제공하기 위해 많은 파라미터를 고려할 수 있음을 인식할 것이다.Another similar parameter relates to the ability of server 1 itself to cover any underestimation. For example, continuing the above example, assume that for a 40-second active-to-active transition, Server 1 takes 20 seconds to transition in each direction. Consider the first scenario where the future time t f is 30 seconds later. In this case, if an underestimate is detected, Server 1 will not be available to cover additional demand at future time t f . In such a scenario, this parameter may be weighted in a direction that does not transition server 1. Consider another scenario where future time t f is 60 seconds later. In this case, if an underestimate is detected, server 1 may be deactivated and reactivated before time t f (ie within 40 seconds). In this scenario, this parameter can be weighted in the direction of deactivating the server. Those skilled in the art will appreciate that cost-benefit analysis may consider many parameters to provide the expected service level while conserving energy.

블록 410과 같이, 30초와 같은 소정의 증가 시간 후에, 방법은 시작 402로 돌아가고 방법은 반복될 수 있다. As with block 410, after a predetermined incremental time, such as 30 seconds, the method returns to start 402 and the method can be repeated.

알고리즘 1은 에너지-인식 서버 관리 정책의 일부를 생성하기 위해 비용-이득 분석을 채용하는 구체적인 상태 전이 방법을 보여준다. Algorithm 1 shows a specific state transition method that employs cost-benefit analysis to generate part of an energy-aware server management policy.

알고리즘 1Algorithm 1

단계 0. 활성 상태의 서버가 비활성 상태의 서버 보다 먼저 오는 순서에 따라 서버를 정리한다-- SSequence라 한다.Step 0. Clean up servers in the order that active servers come before inactive servers-called SSequence.

그 에너지 상태에서 활성 상태로 전이 레이턴시의 오름차순으로 에너지 상태를 정리한다-- ESequence라 한다. The energy states are arranged in ascending order of their transition from the energy state to the active state-called ESequence.

에너지 족적의 오름차순으로 에너지 상태를 정리한다-- PSequence.
Arrange the energy states in ascending order of energy footprints-PSequence.

단계 1. 예측된 서버 수요(P 서버라고 하자)와 사전결정된 미래 시간단계(timestep)에서 사용가능한 서버의 수(F 서버라고 하자)사이의 차이를 계산. Step 1. Calculate the difference between the predicted server demand (let's say P server) and the number of servers available at a predetermined future timestep (let's say F server).

(사전결정된 미래 시간-단계에서 사용가능한 서버의 수는, 현재 활성인 서버의 수, 현재 전이 중인 서버의 수 및 사전결정된 시간단계 전에 전이할 서버의 수에 의존한다.)
(The number of servers available in a predetermined future time-step depends on the number of servers currently active, the number of servers currently transitioning and the number of servers to transition before a predetermined time step.)

단계 2. 차이가 0이면, 중지 (차이 = D = P - F).
Step 2. If the difference is zero, stop (difference = D = P-F).

단계 3. SSequence에서 처음 T개 서버를 취하고 이들을 (이미 활성이거나 활성으로전이 중인 경우가 아니면) 활성 상태로 전이시키는데, T = MINIMUM (P, F). T 개 서버에서 각각의 i에 대해, NoChangeUntilTime[i] := 사전 결정된 미래 시간 단계로 설정.
Step 3. Take the first T servers in SSequence and transfer them to an active state (unless already active or transitioning to active), T = MINIMUM (P, F). For each i on T servers, NoChangeUntilTime [i]: = set to a predetermined future time step.

단계 4. If D가 양 (즉, 용량을 추가), Step 4.If D is the amount (ie, add capacity),

thenthen

(단계 3에 대하여) SSequence로부터 다음 D개 서버를 ESequence의 오름차순으로 취한다Take the next D servers from the SSequence (for step 3) in ascending order of ESequence

For 각각의 그러한 서버 (s라고 하자)For each such server (let's say s)

NoChangeUntilTime[s] := 사전 결정된 미래 시간 단계로 설정       NoChangeUntilTime [s]: = set to a predetermined future time step

if (미래 시간단계 - 현재 시간 > 그 에너지 상태에서 활성으로의 전이(transition-from-that-energy-state-to-active)) (즉, 아직 시간이 남아 있음) if (future timestep-current time> transition-from-that-energy-state-to-active) (i.e., time still remains)

미래 시간 (미래 시간 단계 - 현재 시간)에서 그 서버 s의 활성 상태로의 전이를 스케줄Schedule the transition from the future time (future time step-current time) to that server's active state

else else

지금 그 서버 s의 활성 상태로의 전이를 스캐줄Now schedule the transition to the active state of that server's

end if end if

end for end for

elseelse

If D가 음 (즉, 낮은 용량)If D is negative (i.e. low capacity)

thenthen

SSequence로부터 활성 상태의 다음 D개 서버(단계 3에 대해)를 취하고 그러한 서버(j라 한다) 각각에 대해 NoTransitionUntilTime[j] <= 현재 시간
Take the next D servers active (for step 3) from SSequence and for each of those servers (called j) NoTransitionUntilTime [j] <= current time

단계 4A. For PSeqeuce 내 각각의 에너지 상태 Step 4A. For each energy state in PSeqeuce

if (미래 시간 단계 - 현재 시간 >= 그 에너지 상태에서 활성으로 전이(transition-from-that-energy-state-to-active) + 활성에서 그 에너지 상태로 전이(transition-from-active-to-that-energy-state))if (future time step-current time> = transition-from-that-energy-state-to-active) + transition-from-active-to-that to energy state -energy-state))

지금 D가 그 에너지 상태로 가도록 스케줄; 중단 Now schedule D to go to that energy state; stop

else if (미래 시간 단계 - 현재 시간 >= 그 에너지 상태에서 활성으로 전이)else if (future time step-current time> = transition from that energy state to active)

AND (그 에너지 상태에 D개의 서버가 있음) AND (there are D servers in that energy state)

then then

지금 D가 그 에너지 상태로 가도록 스케줄; 중단 Now schedule D to go to that energy state; stop

else else

지금 (D - 그 에너지 상태의 서버 수)가 그 에너지 상태로 가도록 스케줄Now schedule (D-number of servers in that energy state) to go to that energy state

D = D - 그 에너지 상태의 서버 수D = D-the number of servers in that energy state

GO TO 단계 4.A (그리고 그 순서로 다음 에너지 상태를 고려) GO TO STEP 4.A (and consider the next energy state in that order)

end if end if

end for end for

end if end if

end ifend if

요약하면, 용량 제공 방법은 서버를 상이한 에너지 상태들로 전이시키는데 프로액티브한 방식을 취하여 에너지 사용을 감소시키면서도 부하 수요를 만족시키기 위해 이들 전이의 레이턴시를 마스크하고 전이를 지연시킨다.In summary, the capacity provisioning method takes a proactive approach to transitioning servers to different energy states, masking the latency of these transitions and delaying transitions to satisfy load demands while reducing energy usage.

두 번째로, 본 구현은, 서버 당 전이 횟수의 이력, 핫 스팟, 유지/보수 동작, 고장(failures) 등과 같은 추가적인 인자를 고려하면서 전이를 적용시킨다. 예를 들어, 노드들에 걸쳐 전이의 횟수를 균형맞추기 위해, 일부 활성 서버를 저 에너지 상태로 놓을 수 있고 그 역일 수도 있다. Secondly, the implementation applies the transition while considering additional factors such as history of transitions per server, hot spots, maintenance operations, failures, and the like. For example, to balance the number of transitions across nodes, some active servers may be placed in a low energy state and vice versa.

방법 예Method example

도 5는 본 개념의 적어도 일부 구현과 일치하는 방법 또는 기술(500)의 흐름도를 도시한다. 방법(500)이 설명되는 순서는 제한으로 해석되도록 의도된 것이 아니고, 설명된 블록의 여하한 수가 여하한 순서로 결합되어 방법 또는 다른 방법을 구현할 수 있다. 또한, 방법은 여하한 적당한 하드웨어, 소프트웨어, 펌웨어 또는 그들의 결합에서 구현될 수 있는데, 연장 장치가 방법을 구현할 수 있다. 하나의 경우에, 방법은, 연산 장치에 의한 실행이 연산 장치가 방법을 수행하게 하도록 하는 방식으로, 컴퓨터 판독가능 저장 매체에 명령의 세트로서 저장될 수 있다. 5 shows a flowchart of a method or technique 500 consistent with at least some implementations of the present concepts. The order in which the method 500 is described is not intended to be interpreted as a limitation, and any number of the described blocks may be combined in any order to implement the method or other methods. In addition, the method may be implemented in any suitable hardware, software, firmware or combination thereof, whereby the extension device may implement the method. In one case, the method may be stored as a set of instructions in a computer readable storage medium in a manner such that execution by the computing device causes the computing device to perform the method.

블록 502에서, 방법은, 활성 상태와 적어도 2개의 상이한 비활성 상태로 구성된 개별 서버를 포함하는 서버 풀로의 미래 요청의 수를 예측한다. At block 502, the method predicts the number of future requests to the server pool including individual servers configured with an active state and at least two different inactive states.

블록 504에서, 방법은 미래 요청에 대한 응답 시간을 미래 요청의 수와 활성 서버의 수의 함수로 모델링한다.At block 504, the method models the response time for future requests as a function of the number of future requests and the number of active servers.

블록 506에서, 방법은 응답 시간을 만족시키기 위해 활성 상태와 각각의 비활성 상태에서 동작할 서버의 수를 계산한다.At block 506, the method calculates the number of servers to operate in each active state and each inactive state to satisfy the response time.

블록 508에서, 방법은 계산된 수를 만족시키도록 개별 서버가 상태들 사이에서 전이되도록 한다. At block 508, the method causes the individual server to transition between states to satisfy the calculated number.

위에서 설명된 방법은 사용자의 기대를 만족(즉, SLA의 조건을 만족시키는 등에 의해)시키는 한편 서버에 의한 에너지 사용을 감소시킬 수 있다.The method described above can reduce energy usage by the server while satisfying the user's expectations (ie, satisfying the conditions of the SLA, etc.).

결론conclusion

에너지-인식 서버 관리와 관련된 기술, 방법, 장치, 시스템 등이 구조적 특징 및/또는 방법론적 행위에 특정한 언어로 설명되지만, 첨부된 청구범위에서 정의된 청구물은 설명된 구체적인 특징 또는 행위에 제한되어야만 하는 것이 아님을 이해하여야 한다. 오히려, 구체적인 특징 및 행위는 청구된 방법, 장치, 시스템 등을 구현하는 예시적인 형태로 개시된다.Although techniques, methods, devices, systems, etc. related to energy-aware server management are described in language specific to structural features and / or methodological acts, the claims defined in the appended claims should be limited to the specific features or acts described. It should be understood that it is not. Rather, the specific features and acts are disclosed as example forms of implementing the claimed methods, apparatus, systems, and the like.

Claims (14)

컴퓨터의 세트에 대한 미래 작업부하를 예측하는 단계로서, 개별 컴퓨터는 적어도 2개의 에너지 상태를 갖는, 예측하는 단계(102)와,
상기 예측된 미래 작업부하에 대해 에너지-인식(energy-aware) 서버 관리 정책을 형성(formulating)하는 단계(104)와,
상기 에너지-인식 서버 관리 정책에 기초하여 개별 컴퓨터의 에너지 상태를 조정하는 단계(106)를 포함하는
방법(100).
Predicting a future workload for a set of computers, wherein each computer has at least two energy states;
Forming 104 an energy-aware server management policy for the predicted future workload;
Adjusting 106 an energy state of an individual computer based on the energy-aware server management policy.
Method 100.
제 1 항에 있어서,
상기 예측하는 단계는, 상기 미래 작업부하를 주어진 미래 시간 기간에 대해 예측된 요청의 수와 과거 시간 기간에서의 요청 당 평균 데이터량의 곱으로 추정하는 단계를 포함하는
방법.
The method of claim 1,
The estimating includes estimating the future workload as the product of the number of requests predicted for a given future time period and the average amount of data per request in the past time period.
Way.
제 1 항에 있어서,
상기 형성하는 단계는, 상기 미래 작업부하와 서비스 수준 계약을 포함하는 함수를 푸는 단계를 포함하는
방법.
The method of claim 1,
The forming step includes solving a function comprising a service level agreement with the future workload.
Way.
제 1 항에 있어서,
상기 형성하는 단계는, 상태 전이와 관련된 개별 컴퓨터에 대한, 잠재적인 부정적 기대 수명 결과(ramifications)를 고려하는
방법.
The method of claim 1,
The forming step takes into account potential negative life expectancy ramifications for the individual computer involved in the state transition.
Way.
제 1 항에 있어서,
상기 형성하는 단계는, 상기 예측된 미래 작업부하가 실제 미래 작업부하보다 작은 시나리오에서 비활성 상태 컴퓨터를 활성 상태로 전이시키는 전이 시간을 고려하는
방법.
The method of claim 1,
The forming step takes into account the transition time for transitioning an inactive computer to an active state in a scenario where the predicted future workload is less than the actual future workload.
Way.
제 1 항에 있어서,
상기 조정하는 단계는, 개별 컴퓨터의 상기 조정된 상태를 식별하는 신호를 전송하는 단계를 더 포함하는
방법.
The method of claim 1,
The adjusting further includes transmitting a signal identifying the adjusted state of the individual computer.
Way.
제 1 항에 있어서,
상기 조정하는 단계는 개별 에너지 상태 사이의 전이 시간을 고려하는
방법.
The method of claim 1,
The adjusting step takes into account the transition time between the individual energy states
Way.
제 1 항에 있어서,
상기 조정하는 단계는 상기 예측된 미래 작업부하와 관련된 불확실성을 고려하는
방법.
The method of claim 1,
The adjusting may take into account the uncertainty associated with the predicted future workload.
Way.
제 1 항에 있어서,
상기 조정하는 단계는 미래 요청에 대한 응답 시간을 유지하기 위해 과소사용(underutilized) 컴퓨터의 버퍼를 헤지로서 남겨두는
방법.

The method of claim 1,
The adjusting step leaves the buffer of the underutilized computer as a hedge to maintain response time for future requests.
Way.

개별 서버를 활성과 비활성 상태 사이에서 전이함으로써 서버 팜(server farm)에서의 에너지 사용을 관리하면서 상기 서버 팜에 대한 응답 시간을 사전결정된 수준으로 유지하도록 구성된 적응형 제어 유닛(204)을 포함하는
시스템(200).
An adaptive control unit 204 configured to maintain a response time for the server farm at a predetermined level while managing energy usage in the server farm by transitioning individual servers between active and inactive states;
System 200.
제 10 항에 있어서,
상기 적응형 제어 유닛은 상기 서버 팜의 미래 작업부하를 예측하도록 구성된 작업부하 예측 모듈을 포함하는
시스템.
The method of claim 10,
The adaptive control unit includes a workload prediction module configured to predict a future workload of the server farm.
system.
제 11 항에 있어서,
상기 적응형 제어 유닛은, 상기 예측된 작업부하와 관련된 성능 기준을 만족시키면서 개별 서버를 활성과 비활성 상태 사이에서 전이함으로써 에너지 사용을 다루는 방식으로 상기 예측된 작업부하를 관리하도록 구성된 정책 모듈을 포함하는
시스템.

The method of claim 11,
The adaptive control unit includes a policy module configured to manage the predicted workload in a manner that handles energy usage by transitioning individual servers between active and inactive states while meeting performance criteria associated with the predicted workload.
system.

제 10 항에 있어서,
상기 적응형 제어 유닛은 개별 서버의 상태를 에너지-인식 서버 관리 정책에 따라 조정하도록 구성된 상태 조정 모듈을 포함하는
시스템.
The method of claim 10,
The adaptive control unit includes a state adjustment module configured to adjust a state of an individual server according to an energy-aware server management policy.
system.
제 10 항에 있어서,
상기 적응형 제어 유닛으로부터의 명령에 기초하여 개별 활성 상태 서버에 작업부하를 할당하는 부하 발송기를 더 포함하는
시스템.
The method of claim 10,
And further comprising a load dispatcher for assigning a workload to the individual active server based on the instructions from the adaptive control unit.
system.
KR1020117019493A 2009-02-23 2010-02-04 Energy-aware server management KR101624765B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/391,188 2009-02-23
US12/391,188 US8225119B2 (en) 2009-02-23 2009-02-23 Energy-aware server management

Publications (2)

Publication Number Publication Date
KR20110128825A true KR20110128825A (en) 2011-11-30
KR101624765B1 KR101624765B1 (en) 2016-05-26

Family

ID=42631937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117019493A KR101624765B1 (en) 2009-02-23 2010-02-04 Energy-aware server management

Country Status (7)

Country Link
US (1) US8225119B2 (en)
EP (1) EP2399183B1 (en)
JP (1) JP5666482B2 (en)
KR (1) KR101624765B1 (en)
CN (1) CN102326134B (en)
ES (1) ES2612951T3 (en)
WO (1) WO2010096283A2 (en)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651558B (en) * 2008-08-15 2012-06-06 中兴通讯股份有限公司 Power saving management method and system
US8839254B2 (en) * 2009-06-26 2014-09-16 Microsoft Corporation Precomputation for data center load balancing
US8190939B2 (en) * 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
US8230249B2 (en) * 2009-07-15 2012-07-24 International Business Machines Corporation Dynamic selection of server states for servers in a cluster of servers
US8219834B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Predictive power gating with optional guard mechanism
US8219833B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Two-level guarded predictive power gating
US20110087522A1 (en) * 2009-10-08 2011-04-14 International Business Machines Corporation Method for deploying a probing environment for provisioned services to recommend optimal balance in service level agreement user experience and environmental metrics
KR101620103B1 (en) * 2009-10-21 2016-05-13 삼성전자주식회사 Appratus and method for power control of central processing unit in a multi-core system
JP5645647B2 (en) * 2010-03-01 2014-12-24 キヤノン株式会社 Power control system and control method thereof
US9207993B2 (en) 2010-05-13 2015-12-08 Microsoft Technology Licensing, Llc Dynamic application placement based on cost and availability of energy in datacenters
US8438410B2 (en) * 2010-06-23 2013-05-07 Intel Corporation Memory power management via dynamic memory operation states
WO2012004418A2 (en) * 2010-07-09 2012-01-12 Stratergia Ltd. Power profiling and auditing consumption systems and methods
US20120053925A1 (en) * 2010-08-31 2012-03-01 Steven Geffin Method and System for Computer Power and Resource Consumption Modeling
US8849469B2 (en) 2010-10-28 2014-09-30 Microsoft Corporation Data center system that accommodates episodic computation
US8516284B2 (en) * 2010-11-04 2013-08-20 International Business Machines Corporation Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint
US8626902B2 (en) * 2010-12-03 2014-01-07 International Business Machines Corporation Modeling and reducing power consumption in large IT systems
CN102043676B (en) * 2010-12-08 2012-09-05 北京航空航天大学 Visualized data centre dispatching method and system
US8527994B2 (en) 2011-02-10 2013-09-03 International Business Machines Corporation Guarded, multi-metric resource control for safe and efficient microprocessor management
US20120221373A1 (en) * 2011-02-28 2012-08-30 Manish Marwah Estimating Business Service Responsiveness
US20120265881A1 (en) * 2011-04-14 2012-10-18 Yuan Chen Provisioning data center resources
US10122653B2 (en) * 2011-04-28 2018-11-06 International Business Machines Corporation Energy management system for a data center network
AU2012260091B2 (en) * 2011-05-23 2016-12-22 Nec Corporation System and system control method
US9595054B2 (en) 2011-06-27 2017-03-14 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US8595525B2 (en) * 2011-09-22 2013-11-26 Qualcomm Incorporated On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
US8904209B2 (en) * 2011-11-14 2014-12-02 Microsoft Corporation Estimating and managing power consumption of computing devices using power models
US9648138B1 (en) 2012-03-27 2017-05-09 Open Text Corporation Method and system for virtual server dormancy
US9319274B1 (en) * 2012-03-29 2016-04-19 Emc Corporation Method and system for dynamic provisioning using server dormant mode for virtual server dormancy
US10067547B2 (en) * 2012-06-28 2018-09-04 Intel Corporation Power management control of remote servers
US10652318B2 (en) * 2012-08-13 2020-05-12 Verisign, Inc. Systems and methods for load balancing using predictive routing
US9568966B2 (en) * 2012-08-31 2017-02-14 Dell Products L.P. Dynamic power budget allocation
US20140067453A1 (en) * 2012-09-05 2014-03-06 International Business Machines Corporation Shared asset management
US8972491B2 (en) * 2012-10-05 2015-03-03 Microsoft Technology Licensing, Llc Consistency-based service-level agreements in cloud storage environments
CN103778474A (en) * 2012-10-18 2014-05-07 华为技术有限公司 Resource load capacity prediction method, analysis prediction system and service operation monitoring system
US9182807B2 (en) * 2012-12-31 2015-11-10 Hewlett-Packard Development Company, L.P. Systems and methods for predictive power management in a computing center
CN103490956A (en) * 2013-09-22 2014-01-01 杭州华为数字技术有限公司 Self-adaptive energy-saving control method, device and system based on traffic predication
WO2015161480A1 (en) 2014-04-24 2015-10-29 Empire Technology Development Llc Resource consumption optimization
US10234835B2 (en) 2014-07-11 2019-03-19 Microsoft Technology Licensing, Llc Management of computing devices using modulated electricity
US9933804B2 (en) 2014-07-11 2018-04-03 Microsoft Technology Licensing, Llc Server installation as a grid condition sensor
EP3089034B1 (en) * 2015-04-29 2019-06-12 Tata Consultancy Services Limited System and method for optimizing energy consumption by processors
US10379560B2 (en) * 2015-10-05 2019-08-13 Savant Systems, Llc Home automation system device power optimization
US9766693B2 (en) * 2016-01-07 2017-09-19 International Business Machines Corporation Scheduling framework for virtual machine power modes
US10133610B2 (en) 2016-08-16 2018-11-20 International Business Machines Corporation System, method and recording medium for temperature-aware task scheduling
US10545567B2 (en) * 2017-01-06 2020-01-28 International Business Machines Corporation Method and apparatus for power savings in communications equipment
WO2019014321A1 (en) * 2017-07-12 2019-01-17 Wiliot, LTD. Energy-aware computing system
US11347295B2 (en) * 2017-07-19 2022-05-31 Citrix Systems, Inc. Virtual machine power management
US10896070B2 (en) 2017-09-22 2021-01-19 Open Text Corporation Stateless content management system
WO2019186243A1 (en) * 2018-03-29 2019-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Global data center cost/performance validation based on machine intelligence
US11226667B2 (en) 2018-07-12 2022-01-18 Wiliot Ltd. Microcontroller operable in a battery-less wireless device
US11023287B2 (en) * 2019-03-27 2021-06-01 International Business Machines Corporation Cloud data center with reduced energy consumption
RU2751441C1 (en) * 2020-09-11 2021-07-13 Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет имени М.В.Ломоносова» (МГУ) Method for forming computer complex
US11711282B2 (en) * 2020-12-16 2023-07-25 Capital One Services, Llc TCP/IP socket resiliency and health management

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018A (en) * 1849-01-09 Improvement in bog-cutters
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US20030196126A1 (en) * 2002-04-11 2003-10-16 Fung Henry T. System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment
US7337333B2 (en) * 2001-09-19 2008-02-26 Dell Products L.P. System and method for strategic power supply sequencing in a computer system with multiple processing resources and multiple power supplies
US7318164B2 (en) * 2001-12-13 2008-01-08 International Business Machines Corporation Conserving energy in a data processing system by selectively powering down processors
US6795928B2 (en) * 2002-03-18 2004-09-21 International Business Machines Corporation Method for managing power consumption of multiple computer servers
JP2003324956A (en) * 2002-05-09 2003-11-14 Origin Electric Co Ltd Method of controlling series resonant bridge inverter circuit and the circuit
US7870241B2 (en) * 2002-11-27 2011-01-11 International Business Machines Corporation Automated power control policies based on application-specific redundancy characteristics
US20040122950A1 (en) * 2002-12-20 2004-06-24 Morgan Stephen Paul Method for managing workloads in an autonomic computer system for improved performance
WO2004092971A1 (en) * 2003-04-14 2004-10-28 Fujitsu Limited Server allocation control method
US7392314B2 (en) * 2003-08-15 2008-06-24 International Business Machines Corporation System and method for load—balancing in a resource infrastructure running application programs
US7379884B2 (en) * 2003-09-11 2008-05-27 International Business Machines Corporation Power on demand tiered response time pricing
US8015289B2 (en) * 2003-12-11 2011-09-06 Ziti Technologies Limited Liability Company System and method predicting and managing network capacity requirements
US8856312B2 (en) * 2004-12-24 2014-10-07 International Business Machines Corporation Method and system for monitoring transaction based system
US8041967B2 (en) * 2005-02-15 2011-10-18 Hewlett-Packard Development Company, L.P. System and method for controlling power to resources based on historical utilization data
US7562234B2 (en) * 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7756972B2 (en) * 2005-12-06 2010-07-13 Cisco Technology, Inc. System for power savings in server farms
JP2007324956A (en) * 2006-06-01 2007-12-13 Canon Inc Image processing apparatus and image processing method
US7797563B1 (en) * 2006-06-09 2010-09-14 Oracle America System and method for conserving power
US7844839B2 (en) * 2006-12-07 2010-11-30 Juniper Networks, Inc. Distribution of network communications based on server power consumption
US20090106571A1 (en) * 2007-10-21 2009-04-23 Anthony Low Systems and Methods to Adaptively Load Balance User Sessions to Reduce Energy Consumption
US7756652B2 (en) * 2008-04-24 2010-07-13 Oracle America, Inc. Estimating a power utilization of a computer system
US8892916B2 (en) * 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management

Also Published As

Publication number Publication date
EP2399183B1 (en) 2016-11-09
WO2010096283A3 (en) 2010-11-25
JP2012518842A (en) 2012-08-16
WO2010096283A2 (en) 2010-08-26
CN102326134A (en) 2012-01-18
JP5666482B2 (en) 2015-02-12
ES2612951T3 (en) 2017-05-19
KR101624765B1 (en) 2016-05-26
US20100218005A1 (en) 2010-08-26
US8225119B2 (en) 2012-07-17
EP2399183A4 (en) 2012-12-12
EP2399183A2 (en) 2011-12-28
CN102326134B (en) 2015-07-29

Similar Documents

Publication Publication Date Title
KR101624765B1 (en) Energy-aware server management
JP5529114B2 (en) System and method for managing energy consumption in a computing environment
US7441135B1 (en) Adaptive dynamic buffering system for power management in server clusters
Gao et al. Service level agreement based energy-efficient resource management in cloud data centers
US9405348B2 (en) System and method for managing energy consumption in a compute environment
US20140298349A1 (en) System and Method for Managing Energy Consumption in a Compute Environment
CN101211215A (en) Performance of a processor in a managing data processing equipment
Xu et al. Efficient server provisioning and offloading policies for internet data centers with dynamic load-demand
US10739835B2 (en) Power management for electronic devices
Mehta et al. Energy conservation in cloud infrastructures
WO2016171950A1 (en) Multivariable control for power-latency management to support optimization of data centers or other systems
Masoumzadeh et al. A cooperative multi agent learning approach to manage physical host nodes for dynamic consolidation of virtual machines
Arabas Modeling and simulation of hierarchical task allocation system for energy-aware HPC clouds
Callau-Zori et al. Merci-miss: Should I turn off my servers?
Kaushik et al. A green energy model for resource allocation in computational grid
Haas et al. On power management policies for data centers
Mehta et al. 8.6. 1 Energy Conservation in Cloud Infrastructures

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 4