KR101624765B1 - 에너지-인식 서버 관리 - Google Patents

에너지-인식 서버 관리 Download PDF

Info

Publication number
KR101624765B1
KR101624765B1 KR1020117019493A KR20117019493A KR101624765B1 KR 101624765 B1 KR101624765 B1 KR 101624765B1 KR 1020117019493 A KR1020117019493 A KR 1020117019493A KR 20117019493 A KR20117019493 A KR 20117019493A KR 101624765 B1 KR101624765 B1 KR 101624765B1
Authority
KR
South Korea
Prior art keywords
servers
state
energy
server
active
Prior art date
Application number
KR1020117019493A
Other languages
English (en)
Other versions
KR20110128825A (ko
Inventor
나벤두 자인
씨 제이 윌리엄스
제임스 라루스
댄 리드
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20110128825A publication Critical patent/KR20110128825A/ko
Application granted granted Critical
Publication of KR101624765B1 publication Critical patent/KR101624765B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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

Abstract

설명된 구현은 에너지-인식 서버 관리에 관련된다. 일 구현에는 개별 서버를 활성과 비활성 상태 사이에서 전이함으로써 서버 팜에서의 에너지 사용을 관리하면서 서버 팜에 대한 응답 시간을 사전결정된 수준으로 유지하도록 구성된 적응형 제어 유닛이 관여된다.

Description

에너지-인식 서버 관리{ENERGY-AWARE SERVER MANAGEMENT}
설명된 실시형태는 에너지-인식(energy-aware) 서버 관리에 관한 것이다. 더 구체적으로, 본 특허 출원은 요청/응답 서비스에 대한 에너지-인식 제공 및 부하 발송(dispatching)을 위한 도구에 관한 것이다.
데이터 센터는 흔히 많은 수의 컴퓨터(즉, 서버)를 포함한다. 이들 서버 중 많은 것은 일시적으로 덜 사용되거나(underutilized) 심지어 사용되지 않지만, 데이터 센터에 도달하는 요청에서의 서지(surge)를 다루기 위해 유지된다. 예를 들어, 온라인 쇼핑 사이트에서의 크리스마스 러시(rush)나 통근자 교통 정보 사이트에서의 늦은 오후의 정체(congestion)를 생각해 보라. 데이터 센터에서 현재 사용되는 서버는 그들이 유휴일 때(일부 서버에 대해, 유휴는 풀 에너지 사용의 70%)도 많은 에너지양을 소비한다. 이들 서버를 끄는 것은 에너지를 절약할 수 있지만, 고객의 서지가 도달하고 충분한 서버가 켜져 있지 않으면 웹 서비스의 응답 시간에 악영향을 줄 수도 있다. 데이터 센터의 에너지 사용을 고려하는 한편 요청 서비스 응답 시간을 만족시키는 방식으로 본 개념은 데이터 센터를 관리할 수 있다.
설명된 실시형태는 에너지-인식(energy-aware) 서버 관리에 관한 것이다. 더 구체적으로, 본 특허 출원은 요청/응답 서비스에 대한 에너지-인식 제공 및 부하 발송(dispatching)을 위한 도구에 관한 것이다.
일 실시형태에는, 서버 팜(farm)에 대한 응답 시간을 사전 정의된 수준으로 유지하면서 활성과 비활성 상태 사이에서 개별 서버를 전이시킴으로써 서버 팜에서 에너지 사용을 관리하도록 구성된 적응적 컨트롤 유닛이 관련된다. 예를 들어, 사정 전의된 수준은 서비스 수준 계약(SLA; Service Level Agreement)에서 정의될 수 있다.
다른 구현에서, 도구는 컴퓨터의 세트에 대한 미래 작업부하를 예측한다. 개별 컴퓨터는 온/액티브, 수면 및 오프와 같은 적어도 2개의 에너지 상태를 갖는다. 도구는 예측된 미래 작업부하에 대한 에너지-인식 서버 관리 정책을 만들고, 에너지-인식 서버 관리 정책에 기초하여 개별 컴퓨터의 에너지 상태를 조정한다.
"도구"라는 용어는, 예를 들어, 위의 문맥에 의해 그리고 문서를 통해 허용되는 바와 같은, 장치(들), 시스템(들), 컴퓨터 판독가능 매체(예를 들어, 실행가능한 명령을 갖는 하나 이상의 컴퓨터 판독가능 매체), 구성요소(들), 모듈(들) 및/또는 방법을 지칭할 수 있다. 다양한 예에서, 도구는 하드웨어, 소프트웨어, 펌웨어 또는 그들의 결합으로 구현될 수 있다. 위의 열거된 예는 읽는 사람을 돕기 위한 간단한 참조(quick reference)를 제공하기 위한 것이고, 여기에 설명된 개념의 범위를 정의하려는 것이 아니다.
첨부된 도면은 본 출원에서 전달되는 개념의 구현을 도시한다. 도시된 구현의 특징은 첨부된 도면과 함께 아래의 설명을 참조함으로써 더 잘 이해할 수 있다. 여러 도면에서 유사한 참조부호는 가능한 한 유사한 구성요소를 나타내도록 사용된다. 또한, 각 참조부호에서 가장 왼쪽의 숫자는, 참조부호가 처음 나타난 도면 및 관련 논의를 나타낸다.
도 1은 본 개념의 일부 구현에 따라 에너지-인식 서버 관리 개념을 구현하기 위한 방법의 예를 도시한다.
도 2는 본 발명의 일부 구현에 따라 에너지-인식 서버 관리를 이루기 위한 시스템의 예를 도시한다.
도 3은 본 개념의 일부 구현에 따라 에너지-인식 서버 관리를 이루기 위한 구성요소의 예를 도시한다.
도 4-5는 본 개념의 일부 구현에 따라 에너지-인식 서버 관리 방법과 관련된 흐름도를 도시한다.
본 출원은 에너지-인식 서버 관리에 관한 것이다. 간략하게는, 본 특허는, 서버 팜과 같은 컴퓨터의 세트를, 에너지 소비를 감소시키면서 기대된 성능 수준으로 동작시키기 위한 개념을 설명한다.
본 개념은 사용자-요청 또는 "요청"에 응답하는 서버 팜에서 다중 상태 서버를 채용할 수 있다. 전체적으로 보면, 요청은 서버 팜의 "작업부하(workload)"로 생각될 수 있다. 다중 상태 서버는, 요청이 처리될 수 있는 활성 상태(들)과 요청을 처리하지 않는 비활성 상태를 가질 수 있다. 일부 다중 상태 컴퓨터는 다수의 비활성 상태를 가질 수 있다. 예를 들어, 수면(sleep), 동면(hibernate) 및/또는 오프가 비활성 상태의 예일 수 있다. 비활성 상태의 서버는 활성 상태 서버보다 실질적으로 적은 에너지를 사용한다. 그러나, 비활성-상태 서버에서 활성 상태로 전이하는데 관여되는, 예를 들어, 수 초 내지 소 분의 레이턴시 기간이 있을 수 있다. 이 레이턴시 기간은 요청을 처리하는데 추가적인 서버가 사용가능(즉, 활성)하기 전에 원치않는 처리 지연(들)을 생성할 수 있다.
따라서, 에너지-인식 서버 관리는, 레이턴시 및 성능 기준(performance criteria)과 같은 몇몇 파라미터를 고려 또는 밸런싱하여, 적시에 요청에 응답하면서 에너지 사용을 감소시킬 수 있다.
도 1은 방법(100)의 형태로 본 개념의 일부의 소개적인 예를 제공한다. 이 경우에, 서버 컴퓨터와 같은 컴퓨터 세트에 대한 미래 작업부하가 102에서 예측 또는 추정된다. 예측은 수 초 내지 수 분과 같은 상대적으로 짧은 시간 기간과 관련될 수 있다. 이 특정한 경우에, 개별 컴퓨터는 2 이상의 에너지 상태를 가질 수 있다. 예를 들어, 컴퓨터는 활성 상태(즉, 온)와 하나 이상의 비활성 상태(즉, 여러 가지 중, 오프, 수면 및 동면)을 가질 수 있다.
작업부하 예측 방법의 상세한 예가 아래에 제목 "작업부하 예측 예" 하에서 설명된다. 간략하게, 일부 예에서, 작업 예측은, 작업부하 예측 프로세서에서 고려되는 파라미터로서, 여러 가지 중, 상대적 장기 모델링, 상대적 단기 이력(history), 현재 경향(trends) 및/또는 외부 지식(예를 들어, 비지니스 프로젝트, 스캐줄된 이벤트)를 이용할 수 있다.
장기 모델링은 시간(time of day), 요일, 연중 시간(time of year), 선거 등과 같은 다년 주기에 대한 작업부하 경향을 관찰할 수 있다. 예를 들어, 작업자가 일터에 도착하고 하루를 시작하면서 다양한 개인 및/또는 작업 관련 요청을 수행하므로 8시에서 9시 사이에 각 주중 오전에 계속적인 작업부하 요청이 있을 수 있다.
단기 이력은 마지막 수 초 또는 수 분에 대한 사용자 요청 수준과 관련된다. 예를 들어, 유명한 TV 쇼에서 웹 사이트를 언급하는 것은 다음 수분 동안 그 웹 사이트로의 히트(hit)를 유인할 수 있다. 최근 수 초 또는 수 분의 상승 경향의 표시는 다음 수 초 또는 수 분에 대한 미래 요청을 예측하는데 유용할 수 있다.
이 경향은 작업부하 예측 프로세스 동안 수신되는 사용자 요청과 관련될 수 있다. 예를 들어, 본 경향은 최근 사용가능한 시간에 걸친 요청의 그래프의 모양으로부터 도출될 수 있다. 그래프는 안정적이거나 시계열 분포(예를 들어, 선형, 지수)로 변화할 수 있다.
외부 정보는 현재 또는 과거 요청으로부터 얻어지지 않는 정보로 생각될 수 있다. 대신, 외부 정보는, 예를 들어, 과거 데이터에서 나타나지 않을 수 있는 다가오는 이벤트와 관련될 수 있다. 예를 들어, 외부 정보는 올림픽이 다가온다는 것과, 올림픽 기간 중에 사용자가 이벤트로부터의 비디오를 다운로드하려고 하기 때문에 비일상적인 높은 요청 수가 경험될 수 있다는 것을 전달할 수 있다.
다르게는 또는 요청 수에 추가하여, 외부 정보가 요청 크기에 관련될 수 있다. 예를 들어, 위의 예를 계속하면, 외부 정보는 올림픽 동안 요청의 수가 올라갈 수 있다는 것과 요청이 데이터가 많은(data intensive) 비디오를 다운로드하는 것에 관련되는 경향이 있으므로 각 요청의 크기가 보통보다 클 수 있다는 것을 나타낼 수 있다.
위의 설명은 작업부하 예측의 비제한적인 예를 제공한다. 기타 예는 요청 크기를 예측할 수 있다. 예측된 요청 크기는 작업부하 예측에 사용될 수 있다. 요약하면, 미래 작업부하를 예측하는 많은 방식의 가능성이 있다. 그러면 예측된 미래 작업부하는, 여러 가지 중, 후술하는 시스템/방법에서 사용될 수 있다.
에너지-인식 서버 관리 정책은 104에서 예측된 작업부하에 대해 판정될 수 있다. 간략하게, 에너지-인식 서버 관리 정책은 용량 제공(capacity provisioning)을 포함할 수 있다. 일부 구현에서, 용량 제공은, 작업부하가 변화함에 따라 온라인, 실시간 방식으로 이루어질 수 있다는 점에서 프로액티브(proactive)(즉, 프로액티브 용량 제공)라고 생각될 수 있다. 프로액티브 용량 제공은, 서버가 상이한 전력 상태 사이에서 전이하는데 걸리한 시간을 마스크(mask)하도록 프로액티브하게 수행될 수 있으므로 프로액티브라고 생각할 수 있다. 이는, 결정 및 여하한 응답 동작이 이벤트가 발생한 "후에" 이루어지는 리액티브(reactive) 결정과 대비될 수 있다.
다른 방식으로 이야기하면, 컴퓨터 세트는 그들의 현재 상태에서 주어진 작업부하를 다룰 수 있는 용량을 갖는다. 컴퓨터의 용량이 그들의 현재 상태에서 예측된 작업부하를 다루기 위한 용량과 다른 경우, 컴퓨터 중 일부의 상태를 조정하여 예측된 작업부하로 미래 용량을 정리하기 위해, 용량 제공이 채용될 수 있다.
에너지-인식 서버 관리 정책은 컴퓨터 중 하나 이상의 상태를 변화(즉, 활성 상태에서 비활성 상태로 또는 역으로 전이)시키는 것을 포함한다. 에너지-인식 서버 관리 정책은, 컴퓨터 세트의 에너지 사용, 사용자 요청에 대한 응답에 대한 적시성 기대(expectation), 예측/추정의 확신(confidence), 및/또는 상태 전이와 관련된 개별 컴퓨터의 기대 서비스 수명에 대한 영향을 포함하지만 이에 제한되지 않는 많은 인자의 균형을 맞출 수 있다. 이들 인자는 "용량 제공 예"라는 제목으로 아래에서 더 자세히 설명한다.
개별 컴퓨터의 에너지 상태는 106에서 에너지-인식 서버 관리 정책에 기초하여 조정될 수 있다. 예를 들어, 일부 컴퓨터는 에너지를 보존하기 위해 활성에서 비활성 상태로 전이될 수 있다. 에너지-인식 서버 관리 정책은 요청이 활성 상태 컴퓨터들 사이에서 어떻게 할당되어야 하는지를 특정할 수도 있다.
에너지-인식 서버 관리 정책의 다른 태양은, 특정 컴퓨터가 어떤 상태에 있어야 하는지를 특정할 수 있다. 이는 컴퓨터의 신뢰성을 개선하기 위해 수행될 수 있다. 예를 들어, 일부 유형의 컴퓨터는, 활성과 비활성 상태 사이에서 너무 많이 전이되는 경우 장기적으로 안좋은 결과를 겪을 수 있다. 그래서 에너지-인식 서버 관리 정책은 개별 서버가 하루 등의 주어진 시간 기간에 주어진 횟수보다 많이 전이되어서는 안된다는 것을 나타낼 수 있다. 시스템은 "머신 A"가 몇 번의 주기를 겪었는지를 추척하고 머신 A 가 너무 자주 주기를 겪은 경우에는 다른 머신을 전이하도록 선택할 수 있다. 에너지-인식 서버 관리 정책의 다양한 측면이 도 2와 관련하여 "상태 전이 예"라는 제목 하에 아래에서 더 상세히 논의될 것이다.
시스템 구성의 예
도 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))는 다양한 구현에서 같이 위치하거나 및/또는 서로 분산될 수 있다.
210으로 일반적으로 표시된 사용자는 부하 발송기(202)에 의해 수신되는 요청(212(1)-212(n))을 할 수 있다. 부하 발송기는, 에너지-인식 서버 관리 정책(216)과 활성 머신 목록(218)에 따라서, 214(1)-214(n)에 표시된 바와 같이 개별 요청(212(1)-212(n))을 개별 서버(206(1)-206(n))에 전송한다. 에너지-인식 서버 관리 정책(216)과 활성 머신 목록(218)은 적응형 제어 유닛(204)에 의해 생성되고 부하 발송기(202)로 전송된다.
활성 머신 목록(218)은 적응형 제어 유닛(204)에 의해 서버(206(1)-206(n))로 전달되는 에너지 관리 제어 결정(220)을 반영한다. 에너지 관리 제어 결정은, 개별 서버(206(1)-206(n))의 상태를 제어함으로써 서버 수준에서 에너지-인식 서버 관리 정책을 구현하는 제어로 생각할 수 있다. 적응형 제어 유닛(204)은 다양한 입력 파라미터에 기초하여 에너지-인식 서버 관리 정책(216)과 활성 머신 목록(218)을 생성한다. 이 경우, 입력 파라미터는 성능 카운터(222), 요청 정보(224), 에너지 사용(226) 및/또는 입력 요청 작업부하(구체적으로 도시되지 않음)을 포함하지만 이에 제한되지 않는다.
성능 카운터(222)는 서버(206(1)-206(n))로부터 적응형 제어 유닛(204)으로 전송될 수 있다. 성능 카운터는 개별 서버 및/또는 서버의 총체적 세트가 동작하고 있는 용량을 표시할 수 있다.
응답 시간과 같은 요청 정보(224)는 부하 발송기(202)로부터 획득될 수 있다. 요청 정보는, 여러 가지 중에서도, 요청 레이트(즉, 단위 시간 당 요청), 요청 크기, 및/또는 요청 응답 시간과 같은 여러 방법으로 명시될 수 있다.
에너지 사용(226)은 다양한 소스로부터 얻어질 수 있는데, 하나의 단순한 소스는 전원(미도시)으로부터 서버(206(1)-206(n))로의 에너지 소비 미터(meter)이다. 구체적으로 도시되지 않으나, 다른 구현이 개별 서버에 대한 에너지 사용을 단독으로 또는 전체 에너지 사용과 결합하여 제공할 수 있다. 적응형 제어 유닛은 구체적으로 도시되지 않은 소스에 대한 정보를 수신할 수도 있다. 예를 들어, 적응형 제어 유닛은 SLA에 정의된 성능 정보를 획득할 수 있다. 이 성능 정보는 에너지-인식 서버 관리 정책(216)의 형성에 사용될 수 있다. 또한, 적응형 제어 유닛은 에너지-인식 서버 관리 정책(216)의 특정 부분만을 부하 발송기(202)로 전송할 수 있다. 예를 들어, 에너지-인식 서버 관리 정책은 요청이 서버에 어떻게 발송되는지를 정의하기 위해 부하 발송기로 전송되는 발송 로직을 포함할 수 있다.
일부 경우에, 부하 발송기(202)는 부하 균형기(load balancer)로서 기능할 수 있고, 요청(212(1)-212(n))을 활성 서버(206(1)-206(n))에 균일하게 분배할 수 있다. 다른 경우에, 활성 서버에 관하여, 부하 발송기는 전략적으로 상대적으로 높은 빈도로 활성 서버의 부분집합에 요청을 분배하여 이들 서버를 특정 용량, 예를 들어 전체 용량의 70%로 유지할 수 있다. 이 서버의 부분집합이 특정 용량을 초과하도록 하는 여하한 요청은 활성 서버의 제 2 부분집합으로 보내질 수 있다. 이러한 구성은 활성 서버 중 다수를 특정 또는 희망 용량에서 동작하도록 유지하면서 제 2 부분집합을 예비 역할로 동작하게 할 수 있고, 이에 의해 에너지 효율을 높일 수 있다. 일 측면에서 보면, 활성 서버의 이 제 2 부분집합은 예상치 않은 작업부하 급등에 대한 헤지(hedge)로 생각할 수 있다.
또한, 적응형 제어 유닛(204)으로부터 획득된 정보(즉, 에너지-인식 서버 관리 정책(216) 및/또는 활성 머신 목록(218))에 기초하여, 부하 발송기(202)는 비활성 상태로 전이하고 있는 여하한 서버로부터 부하를 재분배할 수 있다.
요약하면, 일부 구현에서, 부하 발송기(202)는 활성 서버들 사이에서만 요청을 분배할 수 있고, 비활성 상태로 전이하고 있는 서버로부터 요청을 재분배할 수 있다.
시스템(200)의 도시된 구성에서, 적응형 제어 유닛(204)은 미래의 작업부하(즉, 미래의 요청)을 예측할 수 있다. 적응형 제어 유닛은 에너지 효율적인 방식으로 미래 작업부하를 다루도록 에너지-인식 서버 관리 정책을 형성할 수 있다. 적응형 제어 유닛은 에너지-인식 서버 관리 정책을 형성하는 데 있어 다수의 파라미터를 고려할 수 있다. 이들 파라미터는, 요청 정보(224), 에너지 사용(226) 및/또는 성능 카운터(222)를 포함할 수 있으나 이에 제한되지 않는다.
요약하면, 적응형 제어 유닛(204)은 서버(206(1)-206(n))의 상태를, 에너지 관리 제어 결정(220)을 통해 에너지-인식 서버 관리 정책에 따라 제어할 수 있다. 도시된 구성에서, 적응형 제어 유닛은, 시스템 기능을 수신된 입력에 기초하여 생성되는 출력을 통해 제어할 수 있는 상대적으로 단순한 폐루프 제어 시나리오에서 기능할 수 있다.
적응형 제어 유닛은, 일부를 열거하자면, 서버 CPU 사용, 요청 응답 시간 및 에너지 소비와 같은 시스템 성능과 관련한 입력 데이터를 수신함으로써 작동한다. 입력 데이터는, 예측된 미래 작업부하를 다루는 방법을 결정하기 위해, 예측된 미래 작업부하를 반영하여 고려될 수 있다. 예를 들어, 예측된 작업부하와 용량을 균형 맞추고 그에 의해 에너지를 절약하기 위해 각 에너지 상태(즉, 활성, 비활성(수면, 동면, 오프 등))의 서버의 수가 조정될 수 있다. 달리 이야기하면, 적응형 제어 유닛은 에너지 효율적인 방식으로 예측된 작업부하를 다루기 위해 서버(206(1)-206(n)) 사이에서 에너지 상태를 제공할 수 있다.
일부 경우에, 서버(206(1)-206(n))는 비-서버 관련 사용을 위해 설계된 프로세서를 채용할 수 있다. 예를 들어, 본 개념은 넷북 및 기타 모바일 애플리케이션에서의 사용을 위해 설계된 프로세서가 서버 시나리오에 유리하게 적용될 수 있도록 할 수 있다. 예를 들어, 인텔(Intel) 상표의 아톰(Atom) 프로세서가 본 구성의 일부에서 사용될 수 있다. 아톰 프로세서는 활성 상태에서 상대적으로 에너지 효율적이고, 활성 상태에 비해 약 90%의 에너지 절약을 제공하는 비활성 수면 상태를 갖는다.
비활성 상태는 일반적으로 활성 상태로 전이하는데 있어 다른 레이턴시 시간을 제공한다. 예를 들어, 진정한 "오프" 상태는 활성 상태에 비해 99% 이상의 전력 절감을 제공할 수 있다. 그러나, 실질적인 에너티 절약은 상대적으로 긴 전이 레이턴시를 대가로 오는 것이다. 예를 들어, 오프 비활성 상태에서 활성 상태로의 전이 레이턴시는 수 분일 수 있다. 이에 비해, "수면" 비활성 상태는, 예를 들어, 90%의 에너지 절약을 제공할 수 있지만 전이 레이턴시는 예를 들어 10-20초를 제공할 수 있다. 이렇게 긴 전이의 잠재적인 단점은, 작업부하 예측이 실제로 미래 작업부하를 과소추정하는 경우, 오프인 서버는 상대적으로 긴 시간 동안 도움이 되지 않을 것이라는 점이다.
"동면"의 비활성 상태는 수면과 오프 비활성 상태 중간의 에너지 절약과 전이 레이턴시를 제공할 수 있다. 예를 들어, 동면은 활성 상태에 비해 95%의 에너지 절약과 30초 레이턴시 전이를 제공할 수 있다. 일부 특징에서, 동면은 수면의 깊은 수준으로 특징지워지는 것을 유의하라. 위에서 언급한 인텔의 아톰 프로세서와 관련하여, 활성 상태 에너지 소비는 28-34 와트이지만, 수면 상태에는 3-4 와트를 소비하고 동면 상태는 1-2 와트를 소비하는데, 둘 모두는 적어도 유휴 프로세서의 에너지 소비에서 적어도 1/10의 에너지 절감을 제공한다. 상술한 비활성 상태 예는 논의의 목적으로 제공된 것이다. 본 개념은, 특정 서버 컴퓨터로 제공될 수 있는 비활성 상태의 특정 세트와 연관되지 않는다는 것을 이해하여야 한다. 달리 이야기하면, 에너지 절약 기능은 전원 차단(power down) 및/또는 끄기(power off)될 수 있는 여하한 시스템, 장치 및/또는 소자에 적용될 수 있다.
다수의 비활성 상태를 갖는 컴퓨터는 노트북 컴퓨터와 같은 일부 제품 라인에서 사용가능한 경향이 있다. 다수 비활성 상태를 제공하는 제품 라인은, 서버 팜과 같이 조직된(coordinated) 애플리케이션보다는 개인 사용과 같은 독립(freestanding) 애플리케이션을 위해 설계되는 경향이 있다. 조직된 애플리케이션에서 이들 특성이 없는 하나의 이유는 고성능이면서 에너지 효율적인 방식으로 다양한 컴퓨터를 제어하는데 있어서의 복잡성/어려움이다.
성능과 에너지 효율을 균형맞추는 것의 복잡성은 단일 사용 시나리오에서도 발생한다. 예를 들어, 노트북 컴퓨터는 시간이 종료하면(즉, 사전결정된 시간 기간 동안 사용자 입력이 수신되지 않으면), 비활성 상태로 단순히 전원 차단 된다. 이 시간 종료 방법은 어떠한 방식으로도 미래의 사용을 예측하고 그 미래 사용을 에너지에 민감한(energy conscious) 방식으로 만족시키거나 사용자에게 고성능인 방식으로 컴퓨터를 동작시키려고 하지 않는다. 그러므로, 사용자가 그렇게 비활성 상태로 전이한 컴퓨터로 돌아오면, 사용자는 소정의 입력을 제공하고 컴퓨터가 활성 상태로 다시 전이하는 동안 대기하여야 한다.
에너지-인식 서버 관리 정책(216)은 다상태 컴퓨터의 에너지 효율 잠재성이 서버 팜과 같은 집합적인 설정에서 실현될 수 있도록 할 수 있다. 간략하게는, 에너지-인식 서버 관리는 개별 서버(206(1)-206(n))를 언제 비활성 상태와 활성 상태 사이에서 전이시켜 현재 및 예측되는 미래 작업부하를 서비스할지를 결정할 수 있다.
도 3은 에너지-인식 서버 관리를 달성하기 위한 적응형 제어 유닛(204)의 로직 모듈의 예를 도시한다. 이 경우, 로직 모듈은 작업부하 예측 모듈(304), 전략 또는 정책 모듈(306) 및 상태 조정 모듈(308)로서 나타난다.
작업부하 예측 모듈(304)은 현재의 작업부하를 결정하고 미래 작업부하를 예측할 수 있다. 일 측면에서, 작업부하는 단위 시간 당 요청의 수 곱하기 요청의 크기로 생각될 수 있다. 상대적으로 많은 수의 요청이 관련되는 동작 시나리오에서, 평균 요청 크기는 상당히 높은 정도의 정확성으로 계산될 수 있다. 이들 경우에, 작업부하는 단순히 시간 당 요청 수 곱하기 평균 요청 크기로 계산될 수 있다. 작업부하 예측 모듈은 다양한 기술을 이용하여 미래 작업부하를 예측할 수 있는데, 이들 중 일부는 위에서 소개되었고 일부는 아래에서 더 상세히 논의된다. 간략하게는, 도 2의 시스템에서, 작업부하 예측 모듈(340)은 미래 작업부하를 예측하기 위한 입력 데이터로서 요청 정보(224)를 이용할 수 있다. 다른 경우에, 작업부하 예측 모듈은 외부 정보를 수신하고 이용할 수 있다. 일부 구현에서, 작업부하 예측 모듈은 미래 작업부하를 추정 또는 예측하는데 사용하기 위해 장기 이력 경향(historical trend)을 수집, 모델링 및 저장할 수 있다.
정책 모듈(306)은 작업부하 예측 모듈(304)에 의해 공급된 작업부하 예측을 만족시키기 위해 에너지-인식 서버 관리 정책을 형성할 수 있다. 예를 들어, 정책 모듈은 현재 용량을 활성 서버의 수와 단위 시간에 개별 활성 서버에 의해 다루어질 수 있는 요청의 수로서 계산할 수 있다. 정책 모듈은 예측된 작업부하에 대해 적절한 용량을 계산할 수 있다. 요약하면, 에너지-인식 서버 관리 정책은 예측된 작업부하를 다루기 위한 용량 제공을 포함할 수 있다.
정책 모듈(306)은 현재 구성으로부터 예측된 작업부하에 대한 적절한 용량으로 서버를 재구성하기 위해 에너지-인식 서버 관리 정책을 형성할 수 있다. 예를 들어, 각각의 활성 서버가 초당 10개 요청을 다룰 수 있는 10개 서버의 서버 팜이 관련되는 가상 시나리오를 고려한다. 현재 작업부하는 7개의 활성 서버(나머지 3개 서버는 비활성이다)에 의해 다루어지고 있는 초당 67개 요청이다. 작업부하 예측은 미래 시간 t + △t에서 작업부하가 초당 38 요청일 것임을 나타낸다. 이 경우, 정책 모듈은 활성 서버의 수를 감소시키는 에너지-인식 서버 관리 정책을 형성할 수 있다.
정책 모듈(306)은 에너지-인식 서버 관리 정책을 형성하는 때에 비용 이득(cost benefit) 분석에 있어 다수의 인자를 포함할 수 있다. 예를 들어, 정책 모듈은 서버 수명을 최적화하기 위해 개별 서버가 얼마나 많이 활성화되고 비활성화되는지를 고려할 수 있다. 서버의 수명은 활성과 비활성 에너지 상태 사이의 전이의 횟수에 반비례하는 경향이 있다. 다른 인자는 시스템(200)에 대한 성능 수준을 정의하는 SLA일 수 있다. 고려될 수 있는 다른 인자는 작업부하 예측에서의 확신 수준이다. 예를 들어, 확신 수준이 높은 경우에, 정책 모듈은 4개의 활성 서버가 예측된 작업부하에 충분할 것이라고 결론을 내릴 수 있고 총 6개의 비활성 서버에 대해 3개의 서버를 더 비활성화하는 것을 포함할 수 있다. 확신 수준이 낮으면, 정책 모듈은 4개의 활성 서버를 유지하는 에너지-인식 서버 관리 정책을 형성할 수 있다.
일부 구현에서, 정책 모듈(306)은 에너지 인식 서버 관리 정책을 형성함에 있어 CPU, 메모리, 디스크, 네트워크 등과 같은 다른 파라미터 또는 메트릭을 포함할 수 있는 성능 학습 모델(performance learning model)을 채용할 수 있다. 또한, 설명의 편의를 위해, 상기 논의는 모든 서버를 동일하게 취급하였다. 그러나, 정책 모듈은, 서버들간의 차이 또는 이질성(heterogeneity)을 인식하거나 및/또는 다루는 에너지-인식 서버 관리 장치(216)를 형성할 수 있다. 차이는 서버에 내재하거나 및/또는 외부적인 것일 수 있다. 예를 들어, 에너지-인식 서버 관리 정책은 개별 서버가 상이한 용량, 상이한 전력 족적(power footprints) 및 상이한 에너지 상태 사이의 전이 시간을 갖는다는 것을 반영할 수 있다. 유사하게, 서버는 온도 핫스팟, 유지 보수 태스크와 같은 외부 인자에 의해 영향을 받을 수 있다.
에너지-인식 서버 관리 정책은 개별 서버가 어떤 비활성 상태로 전이하여야 하는지를 특정할 수도 있다. 예를 들어, 수면 비활성 상태는 활성 상태로의 더 빠른 전이를 제공하므로, 에너지-인식 서버 관리 장치는, 일부 서버는 수면 상태에서 유지되어야 하는 반면 다른 서버는 더 많은 에너지 절약을 제공하는 다른 비활성 상태로 전이할 수 있다는 것을 나타낼 수 있다.
에너지-인식 서버 관리 장치는 서버 전이를 결정하기 위해 추가의 인자를 사용할 수 있다. 예를 들어, 소프트웨어 업그레이드와 같은 보수/유지 태스크를 위해, 활성 서버는 오프로 전이될 수 있고, 시스템 용량이 영향을 받지 않도록 반면 비활성 상태의 다른 서버가 활성으로 전이될 수 있다.
상태 제공 모듈(308)은 정책 모듈(306)에 의하여 제공된 에너지-인식 서버 관리 정책에 맞게 개별 서버로의 상태 변화가 일어나게 할 수 있다. 또한, 부하 발송기(202)(도 2)가 비활성 서버로 요청을 보내는 것을 피하기 위해 상태 조정 모듈은 부하 발송기로 어떤 서버가 활성인지 전달할 수 있다.
작업부하 예측 예
일 구현에서, 작업부하 예측은 가중 선형 회귀(weighted linear regression)를 이용하여 이루어질 수 있다. 이 경우, 가중 선형 회귀는 하나 이상의 독립 변수의 수학적 함수를 이용하여 관측값(observation)이 표현되는 회귀 분석의 형태로 생각될 수 있다. 예를 들어, 관측값은 초당 요청과 같은 종속 변수일 수 있다. 독립 변수의 예는 시간과 같은 입력일 수 있다. 가중 선형 회귀를 위해, 함수는 회귀 계수(coefficients)의 선형 결합으로 표현될 수 있다. 가중 선형 회귀의 목표는 관측값과 함수에 의해 예측되는 값 사이의 가중 제곱합(weighted sum of squares)을 감소시키는 것(그리고 잠재적으로 최소화하는 것)일 수 있다. 가중치는 상이한 관측값에 상이한 중요도 값을 할당하기 위해 사용된다. 요약하면, 이 특정한 작업부하 예측 방법은 회귀 분석을 이력 경향, 장기 모델, 외부 지식 등과 결합하여 미래 작업부하를 예측한다.
용량 제공 예
일부 구체적인 예에서, 용량 제공은 성능 학습 모델에서 머신 학습을 이용하여 이루어질 수 있다. 한가지 그러한 경우에, 용량 제공은, 응답 시간의 조건부 분포의 사분위수(quantile)가 입력 작업부하(초 당 요청)와 활성 서버 수의 함수로 표현되는, 사분위 회귀의 머신 학습 방법을 채용한다.
이 사분위 회귀 방법은, 서버 사용이 낮을 때 응답 시간이 거의 선형으로 증가하고 입력 작업부하가 서버의 처리 용량에 근접함에 따라 빠르게 (예를 들어, 잠재적으로 지수적으로)증가한다는 사실을 고려한다. 환언하면, 용량 제공 방법은, 입력 작업부하 파라미터와 활성 서버 수를 변화시킴으로써 시스템의 응답 시간을 오프라인 방식으로 학습할 수 있다. 그러면, 주어진 SLA 요구사항 및 예측작업 부하의 추정에 대해, 특정 SLA 내 작업부하를 만족시키는데 필요한 서버의 수를 계산한다.
상태 전이 예
도 4는 에너지-인식 서버 관리에 따라 상태 전이를 이루기 위한 방법(400)의 흐름도를 제공한다. 방법(400)은 블록 402에서 시작한다. 블록 404에서, 방법은 서버(즉, 서버 팜의 서버 또는 서버의 다른 그룹)를 정리한다. 블록 404는 하나 이상의 파라미터에 따라 서버를 정리할 수 있다. 예를 들어, 서버는 에너지 상태(즉, 활성 또는 비활성)에 따라 정리될 수 있다. 또한, 비활성 서버는, 그들의 상대적인 에너지 절약을 반영하는 랭킹된 그룹으로 정리될 수 있다. 예를 들어, 활성 서버는 수면 상태의 비활성 서버 전에 리스트되고, 그 후에 동면 상태의 비활성 서버가 오고 마지막으로 오프 상태의 비활성 서버가 온다.
블록 406은 에너지 상태를 정리한다. 한 경우에, 에너지 상태는 비활성과 활성 상태 사이에서 전이 레이턴시에 기초하여 정리될 수 있다. 다르게는 또는 추가적으로는, 에너지 상태가 그들의 에너지 사용 또는 족적에 기초하여 정리 또는 랭킹될 수 있다. 그래서 예를 들어, 에너지 상태는 최대 에너지 소비(즉, 활성)에서 최소 에너지 소비(즉, 오프)로 리스트될 수 있다.
블록 408은 미래 시간(tf)에서의 예측되는 서버 수요(즉, 작업부하)와 시간 tf에 사용가능한 용량 사이의 차이 또는 △를 계산한다. 작업부하를 예측하는 기술은 상술되어 있다. 요약하면, 블록 408은 어떤 미래 시간에 사용가능한 서버 용량이 딱 맞는지, 너무 높은지 아니면 너무 낮은지 여부를 식별하는 기능을 한다.
블록 408에서 차이가 0과 같다면(즉, 예측된 작업부하가 미래 용량과 같다면), 방법은 블록 410으로 진행한다. 용량 조정이 필요하지 않으므로 블록 410은 현재 시간에서 서버를 제어하기 위해 프로세스를 중단한다. 30초 와 같은 약간의 증가 시간(incremental time) 후에, 방법은 시작 402으로 돌아가고 방법이 반복된다.
블록 408에서 차이가 존재한다면(즉, 차이가 0이 아니라면), 방법은 블록 412로 진행한다.
블록 412는 현재 시간 t와 미래 시간 tf 사이의 중간 기간에서 상태를 전이하고 있는 (블록 404에서 도입된 전체 서버로부터의) 서버의 세트를 인식한다. 달리 이야기 하면, 블록 412는 상태 사이에서 전이하고 있는 및/또는 이미 그렇게 하도록 스케줄되어 있는 서버를 식별한다. 블록 408의 차이가 양의 값인 경우에(즉, ?gt;0), 방법은 블록 (414)로 진행하고, 그렇지 않고 차이가 음인 경우에(즉, ?lt;0) 방법은 블록 416으로 진행한다.
블록 414에서, 방법은 활성 상태로 전이할 비활성 서버를 식별함으로써 시간 tf 에 대한 서버 용량을 증가시킨다. 개별 서버의 상태는 위의 블록 404에서 리스트된다. 식별을 위해 고려되는 비활성 서버는 412에서 인식되는 세트에 속하지 않는다. 달리 이야기하면, 식별된 서버는 중간 기간에서 전이하거나 전이하고 있거나 스케줄되지 않은 비활성 서버이다.
다양한 다른 파라미터가 식별된 서버를 선택하는데 사용될 수 있다. 예를 들어, 전이 레이턴시가 고려될 수 있다. 예를 들어, 미래 시간 tf 가 30초 후라면, 방법은 서버가 전이할 고려사항으로서 전이 레이턴시를 고려할 수 있다. 예를 들어, 수면에서 활성으로의(sleep-to-active) 전이 레이턴시가 20초이고 오프에서 활성으로의(off-to-active) 전이 레이턴시가 1분이라면, 방법은, 전이가 미래 시간 tf(즉, 30초)에서 종료되도록 수면 상태로부터 서버를 선택할 수 있다.
방법은 개별 서버가 주어진 시간 기간에서 전이한 횟수를 고려할 수도 있다. 예를 들어, 수면 상태 서버 중 하나가 이미 문턱 횟수만큼 전이한 경우, 방법은 문턱 미만인 다른 수면 상태 서버를 전이하도록 선택할 수 있다. 다른 파라미터도 비용 이득 분석에서의 식별 프로세스에서 사용될 수 있다. 예를 들어, 비용은, 여러 가지 중에, 빈번한 상태 전이에 기인한 응답 시간 증가 및 서버 수명 감소의 위험을 포함할 수 있다. 이득은, 여러 가지 중에, 감소된 에너지 이용일 수 있다.
블록 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을 비활성화하는 방향으로 기울어질 수 있다.
다른 유사한 파라미터는 서버 1 자체가 여하한 과소추정을 커버할 수 있는 능력과 관련된다. 예를 들어, 위의 예를 계속하면, 40초의 활성-활성(active-to-active) 전이에 대해 서버 1이 각 방향으로 전이하는데 20초가 걸린다고 가정한다. 미래 시간 tf가 30초 후인 첫 번째 시나리오를 고려하자. 이런 경우에, 과소추정이 검출되면 서버 1은 미래 시간 tf에서 추가적인 수요를 커버하는데 사용가능하지 않을 것이다. 그런 시나리오에서, 이 파라미터는 서버 1을 전이시키지 않는 방향으로 가중할 수 있다. 미래 시간 tf가 60초 뒤인 다른 시나리오를 고려하자. 이러한 경우에, 과소추정이 검출되면 서버 1은 비활성화되고 시간 tf 전에(즉, 40초 내에) 재활성화될 수 있다. 이 시나오에서, 이 파라미터는 서버를 비활성화하는 방향으로 가중할 수 있다. 당업자는 비용-이득 분석이 에너지를 보존하면서 기대 서비스 수준을 제공하기 위해 많은 파라미터를 고려할 수 있음을 인식할 것이다.
블록 410과 같이, 30초와 같은 소정의 증가 시간 후에, 방법은 시작 402로 돌아가고 방법은 반복될 수 있다.
알고리즘 1은 에너지-인식 서버 관리 정책의 일부를 생성하기 위해 비용-이득 분석을 채용하는 구체적인 상태 전이 방법을 보여준다.
알고리즘 1
단계 0. 활성 상태의 서버가 비활성 상태의 서버 보다 먼저 오는 순서에 따라 서버를 정리한다-- SSequence라 한다.
그 에너지 상태에서 활성 상태로 전이 레이턴시의 오름차순으로 에너지 상태를 정리한다-- ESequence라 한다.
에너지 족적의 오름차순으로 에너지 상태를 정리한다-- PSequence.
단계 1. 예측된 서버 수요(P 서버라고 하자)와 사전결정된 미래 시간단계(timestep)에서 사용가능한 서버의 수(F 서버라고 하자)사이의 차이를 계산.
(사전결정된 미래 시간-단계에서 사용가능한 서버의 수는, 현재 활성인 서버의 수, 현재 전이 중인 서버의 수 및 사전결정된 시간단계 전에 전이할 서버의 수에 의존한다.)
단계 2. 차이가 0이면, 중지 (차이 = D = P - F).
단계 3. SSequence에서 처음 T개 서버를 취하고 이들을 (이미 활성이거나 활성으로전이 중인 경우가 아니면) 활성 상태로 전이시키는데, T = MINIMUM (P, F). T 개 서버에서 각각의 i에 대해, NoChangeUntilTime[i] := 사전 결정된 미래 시간 단계로 설정.
단계 4. If D가 양 (즉, 용량을 추가),
then
(단계 3에 대하여) SSequence로부터 다음 D개 서버를 ESequence의 오름차순으로 취한다
For 각각의 그러한 서버 (s라고 하자)
NoChangeUntilTime[s] := 사전 결정된 미래 시간 단계로 설정
if (미래 시간단계 - 현재 시간 > 그 에너지 상태에서 활성으로의 전이(transition-from-that-energy-state-to-active)) (즉, 아직 시간이 남아 있음)
미래 시간 (미래 시간 단계 - 현재 시간)에서 그 서버 s의 활성 상태로의 전이를 스케줄
else
지금 그 서버 s의 활성 상태로의 전이를 스캐줄
end if
end for
else
If D가 음 (즉, 낮은 용량)
then
SSequence로부터 활성 상태의 다음 D개 서버(단계 3에 대해)를 취하고 그러한 서버(j라 한다) 각각에 대해 NoTransitionUntilTime[j] <= 현재 시간
단계 4A. For PSeqeuce 내 각각의 에너지 상태
if (미래 시간 단계 - 현재 시간 >= 그 에너지 상태에서 활성으로 전이(transition-from-that-energy-state-to-active) + 활성에서 그 에너지 상태로 전이(transition-from-active-to-that-energy-state))
지금 D가 그 에너지 상태로 가도록 스케줄; 중단
else if (미래 시간 단계 - 현재 시간 >= 그 에너지 상태에서 활성으로 전이)
AND (그 에너지 상태에 D개의 서버가 있음)
then
지금 D가 그 에너지 상태로 가도록 스케줄; 중단
else
지금 (D - 그 에너지 상태의 서버 수)가 그 에너지 상태로 가도록 스케줄
D = D - 그 에너지 상태의 서버 수
GO TO 단계 4.A (그리고 그 순서로 다음 에너지 상태를 고려)
end if
end for
end if
end if
요약하면, 용량 제공 방법은 서버를 상이한 에너지 상태들로 전이시키는데 프로액티브한 방식을 취하여 에너지 사용을 감소시키면서도 부하 수요를 만족시키기 위해 이들 전이의 레이턴시를 마스크하고 전이를 지연시킨다.
두 번째로, 본 구현은, 서버 당 전이 횟수의 이력, 핫 스팟, 유지/보수 동작, 고장(failures) 등과 같은 추가적인 인자를 고려하면서 전이를 적용시킨다. 예를 들어, 노드들에 걸쳐 전이의 횟수를 균형맞추기 위해, 일부 활성 서버를 저 에너지 상태로 놓을 수 있고 그 역일 수도 있다.
방법 예
도 5는 본 개념의 적어도 일부 구현과 일치하는 방법 또는 기술(500)의 흐름도를 도시한다. 방법(500)이 설명되는 순서는 제한으로 해석되도록 의도된 것이 아니고, 설명된 블록의 여하한 수가 여하한 순서로 결합되어 방법 또는 다른 방법을 구현할 수 있다. 또한, 방법은 여하한 적당한 하드웨어, 소프트웨어, 펌웨어 또는 그들의 결합에서 구현될 수 있는데, 연장 장치가 방법을 구현할 수 있다. 하나의 경우에, 방법은, 연산 장치에 의한 실행이 연산 장치가 방법을 수행하게 하도록 하는 방식으로, 컴퓨터 판독가능 저장 매체에 명령의 세트로서 저장될 수 있다.
블록 502에서, 방법은, 활성 상태와 적어도 2개의 상이한 비활성 상태로 구성된 개별 서버를 포함하는 서버 풀로의 미래 요청의 수를 예측한다.
블록 504에서, 방법은 미래 요청에 대한 응답 시간을 미래 요청의 수와 활성 서버의 수의 함수로 모델링한다.
블록 506에서, 방법은 응답 시간을 만족시키기 위해 활성 상태와 각각의 비활성 상태에서 동작할 서버의 수를 계산한다.
블록 508에서, 방법은 계산된 수를 만족시키도록 개별 서버가 상태들 사이에서 전이되도록 한다.
위에서 설명된 방법은 사용자의 기대를 만족(즉, SLA의 조건을 만족시키는 등에 의해)시키는 한편 서버에 의한 에너지 사용을 감소시킬 수 있다.
결론
에너지-인식 서버 관리와 관련된 기술, 방법, 장치, 시스템 등이 구조적 특징 및/또는 방법론적 행위에 특정한 언어로 설명되지만, 첨부된 청구범위에서 정의된 청구물은 설명된 구체적인 특징 또는 행위에 제한되어야만 하는 것이 아님을 이해하여야 한다. 오히려, 구체적인 특징 및 행위는 청구된 방법, 장치, 시스템 등을 구현하는 예시적인 형태로 개시된다.

Claims (18)

  1. 명령어들을 저장한 컴퓨터 판독가능 저장 매체로서,
    상기 명령어들은 컴퓨팅 장치에 의해 실행되는 경우, 상기 컴퓨팅 장치로 하여금,
    활성 상태와 적어도 두 개의 상이한 비활성 상태로 구성되는 복수의 서버를 포함하는 서버 풀(server pool)로의 미래 요청의 수를 예측하는 동작 - 상기 예측하는 동작은 장기 모델링(long term model), 현재 경향, 또는 비즈니스 프로젝트나 스케줄된 이벤트를 포함하는 외부 지식을 분석하는 동작에 기초함 -,
    상기 미래 요청의 수 및 상기 서버 풀 내의 활성 서버의 수의 함수로서 상기 미래 요청에 대한 응답 시간을 모델링하는 동작- 상기 응답 시간은 상기 서버 풀이 상기 미래 요청을 처리하고 응답하기 위한 시간의 분포를 사용하여 모델링됨 -,
    상기 응답 시간을 사전정의된 수준으로 유지하기 위해 상기 활성 상태 및 상기 비활성 상태들 각각에서 동작할 서버의 수를 계산하는 동작, 및
    상기 활성 상태 및 상기 적어도 두 개의 상이한 비활성 상태 각각에서 상기 계산된 수의 서버를 충족시키도록 개개의 서버들이 상기 상태들 사이에서 전이되게 하는 동작 - 상기 전이하는 동작은 상기 서버 풀 내의 개별 서버들과, 상기 활성 상태 및 상기 적어도 두 개의 상이한 비활성 상태를 포함하는 에너지 상태 각각을 순서화하는 동작을 포함함 -
    을 수행하게 하는 컴퓨터 판독가능 저장 매체.
  2. 삭제
  3. 제1항에 있어서,
    상기 예측하는 동작은 개개의 미래 요청의 수, 크기 및 콘텐츠를 예측하는 동작을 포함하는
    컴퓨터 판독가능 저장 매체.
  4. 제1항에 있어서,
    상기 계산하는 동작은 개개의 서버의 수명에 대한 상태 전이의 영향(ramifications of state transitions on a lifespan of individual severs)을 고려하는
    컴퓨터 판독가능 저장 매체.
  5. 제1항에 있어서,
    상기 계산하는 동작은 개개의 비활성 상태와 상기 활성 상태 간의 전이 레이턴시 기간, 및 개개의 비활성 상태와 연관된 에너지 절약을 고려하는
    컴퓨터 판독가능 저장 매체.
  6. 제1항에 있어서,
    상기 전이되게 하는 동작은 상기 활성 상태와 상기 적어도 두 개의 상이한 비활성 상태 사이에 상태 전이를 야기하는 신호를 개개의 서버들에 전송하는 동작을 포함하는
    컴퓨터 판독가능 저장 매체.
  7. 활성 상태와 적어도 두 개의 상이한 비활성 상태로 구성되는 복수의 서버를 포함하는 서버 풀로의 미래 요청의 수를 예측하는 단계 - 상기 예측하는 단계는 장기 모델링, 현재 경향, 또는 비즈니스 프로젝트나 스케줄된 이벤트를 포함하는 외부 지식을 분석하는 단계에 기초함 -,
    상기 미래 요청의 수 및 상기 서버 풀 내의 활성 서버의 수의 함수로서 상기 미래 요청에 대한 응답 시간을 모델링하는 단계- 상기 응답 시간은 상기 서버 풀이 상기 미래 요청을 처리하고 응답하기 위한 시간의 분포를 사용하여 모델링됨 -,
    상기 응답 시간을 사전정의된 수준으로 유지하기 위해 상기 활성 상태 및 상기 비활성 상태들 각각에서 동작할 서버의 수를 계산하는 단계, 및
    상기 활성 상태 및 상기 적어도 두 개의 상이한 비활성 상태 각각에서 상기 계산된 수의 서버를 충족시키도록 개개의 서버들이 상기 상태들 사이에서 전이되게 하는 단계 - 상기 전이되게 하는 단계는 상기 서버 풀 내의 개별 서버들과, 상기 활성 상태 및 상기 적어도 두 개의 상이한 비활성 상태를 포함하는 에너지 상태 각각을 순서화하는 단계를 포함함 -
    를 포함하되, 상기 예측하는 단계, 상기 모델링하는 단계, 상기 계산하는 단계 또는 상기 전이되게 하는 단계는 컴퓨팅 장치에 의해 수행되는
    방법.
  8. 삭제
  9. 제7항에 있어서,
    상기 예측하는 단계는 개개의 미래 요청의 수, 크기 및 콘텐츠를 예측하는 단계를 포함하는
    방법.
  10. 제7항에 있어서,
    상기 계산하는 단계는 개개의 서버의 수명에 대한 상태 전이의 영향을 고려하는
    방법.
  11. 제7항에 있어서,
    상기 계산하는 단계는 개개의 비활성 상태와 상기 활성 상태 간의 전이 레이턴시 기간, 및 개개의 비활성 상태와 연관된 에너지 절약을 고려하는
    방법.
  12. 제7항에 있어서,
    상기 전이되게 하는 단계는 상기 활성 상태와 상기 적어도 두 개의 상이한 비활성 상태들 사이에 상태 전이를 야기하는 신호를 개개의 서버들에 전송하는 단계를 포함하는
    방법.
  13. 적응형 제어 유닛, 및
    상기 적응형 제어 유닛을 실행하도록 구성된 컴퓨팅 장치
    를 포함하되,
    상기 적응형 제어 유닛은,
    활성 상태와 적어도 두 개의 상이한 비활성 상태로 구성되는 복수의 서버를 포함하는 서버 풀로의 미래 요청의 수를 예측 - 상기 미래 요청의 수의 예측은 장기 모델링, 현재 경향, 또는 비즈니스 프로젝트나 스케줄된 이벤트를 포함하는 외부 지식의 분석에 기초함 - 하고,
    상기 미래 요청의 수 및 상기 서버 풀 내의 활성 서버의 수의 함수로서 상기 미래 요청에 대한 응답 시간을 모델링하고- 상기 응답 시간은 상기 서버 풀이 상기 미래 요청을 처리하고 응답하기 위한 시간의 분포를 사용하여 모델링됨 -,
    상기 응답 시간을 사전정의된 수준으로 유지하기 위해 상기 활성 상태 및 상기 비활성 상태들 각각에서 동작할 서버의 수를 계산하고,
    상기 활성 상태 및 상기 적어도 두 개의 상이한 비활성 상태 각각에서 상기 계산된 수의 서버를 충족시키도록 개개의 서버들이 상기 상태들 사이에서 전이 - 상기 전이는 상기 서버 풀 내의 개별 서버들과, 상기 활성 상태 및 상기 적어도 두 개의 상이한 비활성 상태를 포함하는 에너지 상태 각각을 순서화하는 단계를 포함함 - 되게 하도록 구성된
    시스템.
  14. 삭제
  15. 제13항에 있어서,
    상기 적응형 제어 유닛은 개개의 미래 요청의 수, 크기 및 콘텐츠를 예측하도록 구성된
    시스템.
  16. 제13항에 있어서,
    상기 적응형 제어 유닛은 개개의 서버의 수명에 대한 상태 전이의 영향을 고려함으로써 상기 서버의 수를 계산하도록 구성된
    시스템.
  17. 제13항에 있어서,
    상기 적응형 제어 유닛은 개개의 비활성 상태와 상기 활성 상태 간의 전이 레이턴시 기간, 및 개개의 비활성 상태와 연관된 에너지 절약을 고려함으로써 상기 서버의 수를 계산하도록 구성된
    시스템.
  18. 제13항에 있어서,
    상기 적응형 제어 유닛은 상기 활성 상태와 상기 적어도 두 개의 상이한 비활성 상태들 사이에 상태 전이를 야기하는 신호를 개개의 서버들에 전송함으로써 상기 개개의 서버들이 전이되게 하도록 구성된
    시스템.
KR1020117019493A 2009-02-23 2010-02-04 에너지-인식 서버 관리 KR101624765B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=42631937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117019493A KR101624765B1 (ko) 2009-02-23 2010-02-04 에너지-인식 서버 관리

Country Status (7)

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

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651558B (zh) * 2008-08-15 2012-06-06 中兴通讯股份有限公司 节电管理方法和系统
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
US8219833B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Two-level guarded predictive power gating
US8219834B2 (en) * 2009-08-12 2012-07-10 International Business Machines Corporation Predictive power gating with optional guard mechanism
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 (ko) * 2009-10-21 2016-05-13 삼성전자주식회사 멀티 코어 시스템에서 중앙 처리 장치의 전력 제어 장치 및 방법
JP5645647B2 (ja) * 2010-03-01 2014-12-24 キヤノン株式会社 電力制御システムおよびその制御方法
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
US9170916B2 (en) * 2010-07-09 2015-10-27 Damian Dalton 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 (zh) * 2010-12-08 2012-09-05 北京航空航天大学 虚拟化数据中心调度方法及系统
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
WO2012160978A1 (ja) * 2011-05-23 2012-11-29 日本電気株式会社 システムおよびシステムの制御方法
US9450838B2 (en) 2011-06-27 2016-09-20 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
US9595054B2 (en) 2011-06-27 2017-03-14 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 (zh) * 2012-10-18 2014-05-07 华为技术有限公司 资源负载量预测方法、分析预测系统及业务运营监控系统
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 (zh) * 2013-09-22 2014-01-01 杭州华为数字技术有限公司 基于业务量预测的自适应节能控制方法及设备、系统
US9753782B2 (en) 2014-04-24 2017-09-05 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
EP3610354A4 (en) * 2017-07-12 2021-01-13 Wiliot, Ltd. ENERGY CONSCIOUS 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 (ru) * 2020-09-11 2021-07-13 Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет имени М.В.Ломоносова» (МГУ) Способ формирования вычислительного комплекса
US11711282B2 (en) * 2020-12-16 2023-07-25 Capital One Services, Llc TCP/IP socket resiliency and health management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004092971A1 (ja) * 2003-04-14 2004-10-28 Fujitsu Limited サーバ割当制御方法
US20060184287A1 (en) 2005-02-15 2006-08-17 Belady Christian L System and method for controlling power to resources based on historical utilization data
JP2007324956A (ja) 2006-06-01 2007-12-13 Canon Inc 画像処理装置及び画像処理方法

Family Cites Families (21)

* 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 (ja) * 2002-05-09 2003-11-14 Origin Electric Co Ltd 直列共振型ブリッジインバータ回路の制御方法及び直列共振型ブリッジインバータ回路
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
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
EP1828903B1 (en) * 2004-12-24 2016-12-14 International Business Machines Corporation A method and system for monitoring transaction based systems
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
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
EP2203818A2 (en) * 2007-10-21 2010-07-07 Citrix Systems, Inc. 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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004092971A1 (ja) * 2003-04-14 2004-10-28 Fujitsu Limited サーバ割当制御方法
US20060184287A1 (en) 2005-02-15 2006-08-17 Belady Christian L System and method for controlling power to resources based on historical utilization data
JP2007324956A (ja) 2006-06-01 2007-12-13 Canon Inc 画像処理装置及び画像処理方法

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101624765B1 (ko) 에너지-인식 서버 관리
US10429921B2 (en) Datacenter power management optimizations
US7441135B1 (en) Adaptive dynamic buffering system for power management in server clusters
US10128684B2 (en) Energy control via power requirement analysis and power source enablement
Gao et al. Service level agreement based energy-efficient resource management in cloud data centers
US8904213B2 (en) Saving power by managing the state of inactive computing devices according to specific constraints
US9037880B2 (en) Method and system for automated application layer power management solution for serverside applications
US8788864B2 (en) Coordinated approach between middleware application and sub-systems
Ying et al. Optimizing energy, locality and priority in a mapreduce cluster
Mehta et al. Energy conservation in cloud infrastructures
US10739835B2 (en) Power management for electronic devices
Li et al. CSL-driven and energy-efficient resource scheduling in cloud data center
WO2016171950A1 (en) Multivariable control for power-latency management to support optimization of data centers or other systems
US11640195B2 (en) Service-level feedback-driven power management framework
Callau-Zori et al. Merci-miss: Should I turn off my servers?
Aschberger et al. Energy efficiency in cloud computing
Terzopoulos et al. Maximizing performance and energy efficiency of a real-time heterogeneous 2-level grid system using DVS
CN110308991A (zh) 一种基于随机任务的数据中心节能优化方法及系统
Hamdi et al. A transition state cost sensitive virtual machines consolidation
Haas et al. On power management policies for data centers
Darwish Autonomic power aware cloud resources orchestration architecture for web applications
Globa et al. Intelligent Workload Scheduling in Distributed Computing Environment for Balance between Energy Efficiency and Performance
Ghodousian et al. An Integer-Linear Algorithm for Optimizing Energy Efficiency in Data Centers
Mehta et al. 8.6. 1 Energy Conservation in Cloud Infrastructures
Abdallah et al. Stability and Robustness issues in Real-time Sustainable Wireless Sensors

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