KR20110128825A - Energy-aware server management - Google Patents
Energy-aware server management Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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.
Description
설명된 실시형태는 에너지-인식(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
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
활성 머신 목록(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
성능 카운터(222)는 서버(206(1)-206(n))로부터 적응형 제어 유닛(204)으로 전송될 수 있다. 성능 카운터는 개별 서버 및/또는 서버의 총체적 세트가 동작하고 있는 용량을 표시할 수 있다. The performance counter 222 may be sent from the servers 206 (1) -206 (n) to the
응답 시간과 같은 요청 정보(224)는 부하 발송기(202)로부터 획득될 수 있다. 요청 정보는, 여러 가지 중에서도, 요청 레이트(즉, 단위 시간 당 요청), 요청 크기, 및/또는 요청 응답 시간과 같은 여러 방법으로 명시될 수 있다. Request information 224, such as response time, may be obtained from the
에너지 사용(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
일부 경우에, 부하 발송기(202)는 부하 균형기(load balancer)로서 기능할 수 있고, 요청(212(1)-212(n))을 활성 서버(206(1)-206(n))에 균일하게 분배할 수 있다. 다른 경우에, 활성 서버에 관하여, 부하 발송기는 전략적으로 상대적으로 높은 빈도로 활성 서버의 부분집합에 요청을 분배하여 이들 서버를 특정 용량, 예를 들어 전체 용량의 70%로 유지할 수 있다. 이 서버의 부분집합이 특정 용량을 초과하도록 하는 여하한 요청은 활성 서버의 제 2 부분집합으로 보내질 수 있다. 이러한 구성은 활성 서버 중 다수를 특정 또는 희망 용량에서 동작하도록 유지하면서 제 2 부분집합을 예비 역할로 동작하게 할 수 있고, 이에 의해 에너지 효율을 높일 수 있다. 일 측면에서 보면, 활성 서버의 이 제 2 부분집합은 예상치 않은 작업부하 급등에 대한 헤지(hedge)로 생각할 수 있다.In some cases, the
또한, 적응형 제어 유닛(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
요약하면, 일부 구현에서, 부하 발송기(202)는 활성 서버들 사이에서만 요청을 분배할 수 있고, 비활성 상태로 전이하고 있는 서버로부터 요청을 재분배할 수 있다. In summary, in some implementations, the
시스템(200)의 도시된 구성에서, 적응형 제어 유닛(204)은 미래의 작업부하(즉, 미래의 요청)을 예측할 수 있다. 적응형 제어 유닛은 에너지 효율적인 방식으로 미래 작업부하를 다루도록 에너지-인식 서버 관리 정책을 형성할 수 있다. 적응형 제어 유닛은 에너지-인식 서버 관리 정책을 형성하는 데 있어 다수의 파라미터를 고려할 수 있다. 이들 파라미터는, 요청 정보(224), 에너지 사용(226) 및/또는 성능 카운터(222)를 포함할 수 있으나 이에 제한되지 않는다. In the illustrated configuration of the system 200, the
요약하면, 적응형 제어 유닛(204)은 서버(206(1)-206(n))의 상태를, 에너지 관리 제어 결정(220)을 통해 에너지-인식 서버 관리 정책에 따라 제어할 수 있다. 도시된 구성에서, 적응형 제어 유닛은, 시스템 기능을 수신된 입력에 기초하여 생성되는 출력을 통해 제어할 수 있는 상대적으로 단순한 폐루프 제어 시나리오에서 기능할 수 있다.In summary, the
적응형 제어 유닛은, 일부를 열거하자면, 서버 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
작업부하 예측 모듈(304)은 현재의 작업부하를 결정하고 미래 작업부하를 예측할 수 있다. 일 측면에서, 작업부하는 단위 시간 당 요청의 수 곱하기 요청의 크기로 생각될 수 있다. 상대적으로 많은 수의 요청이 관련되는 동작 시나리오에서, 평균 요청 크기는 상당히 높은 정도의 정확성으로 계산될 수 있다. 이들 경우에, 작업부하는 단순히 시간 당 요청 수 곱하기 평균 요청 크기로 계산될 수 있다. 작업부하 예측 모듈은 다양한 기술을 이용하여 미래 작업부하를 예측할 수 있는데, 이들 중 일부는 위에서 소개되었고 일부는 아래에서 더 상세히 논의된다. 간략하게는, 도 2의 시스템에서, 작업부하 예측 모듈(340)은 미래 작업부하를 예측하기 위한 입력 데이터로서 요청 정보(224)를 이용할 수 있다. 다른 경우에, 작업부하 예측 모듈은 외부 정보를 수신하고 이용할 수 있다. 일부 구현에서, 작업부하 예측 모듈은 미래 작업부하를 추정 또는 예측하는데 사용하기 위해 장기 이력 경향(historical trend)을 수집, 모델링 및 저장할 수 있다. The
정책 모듈(306)은 작업부하 예측 모듈(304)에 의해 공급된 작업부하 예측을 만족시키기 위해 에너지-인식 서버 관리 정책을 형성할 수 있다. 예를 들어, 정책 모듈은 현재 용량을 활성 서버의 수와 단위 시간에 개별 활성 서버에 의해 다루어질 수 있는 요청의 수로서 계산할 수 있다. 정책 모듈은 예측된 작업부하에 대해 적절한 용량을 계산할 수 있다. 요약하면, 에너지-인식 서버 관리 정책은 예측된 작업부하를 다루기 위한 용량 제공을 포함할 수 있다. The
정책 모듈(306)은 현재 구성으로부터 예측된 작업부하에 대한 적절한 용량으로 서버를 재구성하기 위해 에너지-인식 서버 관리 정책을 형성할 수 있다. 예를 들어, 각각의 활성 서버가 초당 10개 요청을 다룰 수 있는 10개 서버의 서버 팜이 관련되는 가상 시나리오를 고려한다. 현재 작업부하는 7개의 활성 서버(나머지 3개 서버는 비활성이다)에 의해 다루어지고 있는 초당 67개 요청이다. 작업부하 예측은 미래 시간 t + △t에서 작업부하가 초당 38 요청일 것임을 나타낸다. 이 경우, 정책 모듈은 활성 서버의 수를 감소시키는 에너지-인식 서버 관리 정책을 형성할 수 있다. The
정책 모듈(306)은 에너지-인식 서버 관리 정책을 형성하는 때에 비용 이득(cost benefit) 분석에 있어 다수의 인자를 포함할 수 있다. 예를 들어, 정책 모듈은 서버 수명을 최적화하기 위해 개별 서버가 얼마나 많이 활성화되고 비활성화되는지를 고려할 수 있다. 서버의 수명은 활성과 비활성 에너지 상태 사이의 전이의 횟수에 반비례하는 경향이 있다. 다른 인자는 시스템(200)에 대한 성능 수준을 정의하는 SLA일 수 있다. 고려될 수 있는 다른 인자는 작업부하 예측에서의 확신 수준이다. 예를 들어, 확신 수준이 높은 경우에, 정책 모듈은 4개의 활성 서버가 예측된 작업부하에 충분할 것이라고 결론을 내릴 수 있고 총 6개의 비활성 서버에 대해 3개의 서버를 더 비활성화하는 것을 포함할 수 있다. 확신 수준이 낮으면, 정책 모듈은 4개의 활성 서버를 유지하는 에너지-인식 서버 관리 정책을 형성할 수 있다. The
일부 구현에서, 정책 모듈(306)은 에너지 인식 서버 관리 정책을 형성함에 있어 CPU, 메모리, 디스크, 네트워크 등과 같은 다른 파라미터 또는 메트릭을 포함할 수 있는 성능 학습 모델(performance learning model)을 채용할 수 있다. 또한, 설명의 편의를 위해, 상기 논의는 모든 서버를 동일하게 취급하였다. 그러나, 정책 모듈은, 서버들간의 차이 또는 이질성(heterogeneity)을 인식하거나 및/또는 다루는 에너지-인식 서버 관리 장치(216)를 형성할 수 있다. 차이는 서버에 내재하거나 및/또는 외부적인 것일 수 있다. 예를 들어, 에너지-인식 서버 관리 정책은 개별 서버가 상이한 용량, 상이한 전력 족적(power footprints) 및 상이한 에너지 상태 사이의 전이 시간을 갖는다는 것을 반영할 수 있다. 유사하게, 서버는 온도 핫스팟, 유지 보수 태스크와 같은 외부 인자에 의해 영향을 받을 수 있다.In some implementations, the
에너지-인식 서버 관리 정책은 개별 서버가 어떤 비활성 상태로 전이하여야 하는지를 특정할 수도 있다. 예를 들어, 수면 비활성 상태는 활성 상태로의 더 빠른 전이를 제공하므로, 에너지-인식 서버 관리 장치는, 일부 서버는 수면 상태에서 유지되어야 하는 반면 다른 서버는 더 많은 에너지 절약을 제공하는 다른 비활성 상태로 전이할 수 있다는 것을 나타낼 수 있다. 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
작업부하 예측 예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
블록 406은 에너지 상태를 정리한다. 한 경우에, 에너지 상태는 비활성과 활성 상태 사이에서 전이 레이턴시에 기초하여 정리될 수 있다. 다르게는 또는 추가적으로는, 에너지 상태가 그들의 에너지 사용 또는 족적에 기초하여 정리 또는 랭킹될 수 있다. 그래서 예를 들어, 에너지 상태는 최대 에너지 소비(즉, 활성)에서 최소 에너지 소비(즉, 오프)로 리스트될 수 있다.
블록 408은 미래 시간(tf)에서의 예측되는 서버 수요(즉, 작업부하)와 시간 tf에 사용가능한 용량 사이의 차이 또는 △를 계산한다. 작업부하를 예측하는 기술은 상술되어 있다. 요약하면, 블록 408은 어떤 미래 시간에 사용가능한 서버 용량이 딱 맞는지, 너무 높은지 아니면 너무 낮은지 여부를 식별하는 기능을 한다.
블록 408에서 차이가 0과 같다면(즉, 예측된 작업부하가 미래 용량과 같다면), 방법은 블록 410으로 진행한다. 용량 조정이 필요하지 않으므로 블록 410은 현재 시간에서 서버를 제어하기 위해 프로세스를 중단한다. 30초 와 같은 약간의 증가 시간(incremental time) 후에, 방법은 시작 402으로 돌아가고 방법이 반복된다. If the difference in
블록 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으로 진행한다.
블록 414에서, 방법은 활성 상태로 전이할 비활성 서버를 식별함으로써 시간 tf 에 대한 서버 용량을 증가시킨다. 개별 서버의 상태는 위의 블록 404에서 리스트된다. 식별을 위해 고려되는 비활성 서버는 412에서 인식되는 세트에 속하지 않는다. 달리 이야기하면, 식별된 서버는 중간 기간에서 전이하거나 전이하고 있거나 스케줄되지 않은 비활성 서버이다. At
다양한 다른 파라미터가 식별된 서버를 선택하는데 사용될 수 있다. 예를 들어, 전이 레이턴시가 고려될 수 있다. 예를 들어, 미래 시간 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에 대해 위에서 설명된다. 간략하게, 주어진 서버가 이미 문턱 횟수만큼 전이한 경우, 비용-이득 분석은 그 서버를 다시 전이하는 것에 대해 가중될 수 있다. 대신 다른 서버가 전이하도록 선택될 수 있다.
고려될 수 있는 다른 파라미터는 불충분한 용량에 대한 헤지(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
다른 유사한 파라미터는 서버 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
블록 410과 같이, 30초와 같은 소정의 증가 시간 후에, 방법은 시작 402로 돌아가고 방법은 반복될 수 있다. As with
알고리즘 1은 에너지-인식 서버 관리 정책의 일부를 생성하기 위해 비용-이득 분석을 채용하는 구체적인 상태 전이 방법을 보여준다.
알고리즘 1
단계 0. 활성 상태의 서버가 비활성 상태의 서버 보다 먼저 오는 순서에 따라 서버를 정리한다-- 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 서버라고 하자)사이의 차이를 계산.
(사전결정된 미래 시간-단계에서 사용가능한 서버의 수는, 현재 활성인 서버의 수, 현재 전이 중인 서버의 수 및 사전결정된 시간단계 전에 전이할 서버의 수에 의존한다.)
(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).
단계 3. SSequence에서 처음 T개 서버를 취하고 이들을 (이미 활성이거나 활성으로전이 중인 경우가 아니면) 활성 상태로 전이시키는데, T = MINIMUM (P, F). T 개 서버에서 각각의 i에 대해, NoChangeUntilTime[i] := 사전 결정된 미래 시간 단계로 설정.
단계 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
블록 504에서, 방법은 미래 요청에 대한 응답 시간을 미래 요청의 수와 활성 서버의 수의 함수로 모델링한다.At
블록 506에서, 방법은 응답 시간을 만족시키기 위해 활성 상태와 각각의 비활성 상태에서 동작할 서버의 수를 계산한다.At
블록 508에서, 방법은 계산된 수를 만족시키도록 개별 서버가 상태들 사이에서 전이되도록 한다. At
위에서 설명된 방법은 사용자의 기대를 만족(즉, 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)
상기 예측된 미래 작업부하에 대해 에너지-인식(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.
상기 예측하는 단계는, 상기 미래 작업부하를 주어진 미래 시간 기간에 대해 예측된 요청의 수와 과거 시간 기간에서의 요청 당 평균 데이터량의 곱으로 추정하는 단계를 포함하는
방법.
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.
상기 형성하는 단계는, 상기 미래 작업부하와 서비스 수준 계약을 포함하는 함수를 푸는 단계를 포함하는
방법.
The method of claim 1,
The forming step includes solving a function comprising a service level agreement with the future workload.
Way.
상기 형성하는 단계는, 상태 전이와 관련된 개별 컴퓨터에 대한, 잠재적인 부정적 기대 수명 결과(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.
상기 형성하는 단계는, 상기 예측된 미래 작업부하가 실제 미래 작업부하보다 작은 시나리오에서 비활성 상태 컴퓨터를 활성 상태로 전이시키는 전이 시간을 고려하는
방법.
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.
상기 조정하는 단계는, 개별 컴퓨터의 상기 조정된 상태를 식별하는 신호를 전송하는 단계를 더 포함하는
방법.
The method of claim 1,
The adjusting further includes transmitting a signal identifying the adjusted state of the individual computer.
Way.
상기 조정하는 단계는 개별 에너지 상태 사이의 전이 시간을 고려하는
방법.
The method of claim 1,
The adjusting step takes into account the transition time between the individual energy states
Way.
상기 조정하는 단계는 상기 예측된 미래 작업부하와 관련된 불확실성을 고려하는
방법.
The method of claim 1,
The adjusting may take into account the uncertainty associated with the predicted future workload.
Way.
상기 조정하는 단계는 미래 요청에 대한 응답 시간을 유지하기 위해 과소사용(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.
시스템(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.
상기 적응형 제어 유닛은 상기 서버 팜의 미래 작업부하를 예측하도록 구성된 작업부하 예측 모듈을 포함하는
시스템.
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.
상기 적응형 제어 유닛은, 상기 예측된 작업부하와 관련된 성능 기준을 만족시키면서 개별 서버를 활성과 비활성 상태 사이에서 전이함으로써 에너지 사용을 다루는 방식으로 상기 예측된 작업부하를 관리하도록 구성된 정책 모듈을 포함하는
시스템.
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.
상기 적응형 제어 유닛은 개별 서버의 상태를 에너지-인식 서버 관리 정책에 따라 조정하도록 구성된 상태 조정 모듈을 포함하는
시스템.
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.
상기 적응형 제어 유닛으로부터의 명령에 기초하여 개별 활성 상태 서버에 작업부하를 할당하는 부하 발송기를 더 포함하는
시스템.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.
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)
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)
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 |
-
2009
- 2009-02-23 US US12/391,188 patent/US8225119B2/en active Active
-
2010
- 2010-02-04 WO PCT/US2010/023253 patent/WO2010096283A2/en active Application Filing
- 2010-02-04 JP JP2011551110A patent/JP5666482B2/en active Active
- 2010-02-04 EP EP10744134.7A patent/EP2399183B1/en active Active
- 2010-02-04 ES ES10744134.7T patent/ES2612951T3/en active Active
- 2010-02-04 CN CN201080009556.7A patent/CN102326134B/en active Active
- 2010-02-04 KR KR1020117019493A patent/KR101624765B1/en active IP Right Grant
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 |