KR20140140636A - 컴퓨팅 시스템의 동작 관리 - Google Patents

컴퓨팅 시스템의 동작 관리 Download PDF

Info

Publication number
KR20140140636A
KR20140140636A KR1020147030735A KR20147030735A KR20140140636A KR 20140140636 A KR20140140636 A KR 20140140636A KR 1020147030735 A KR1020147030735 A KR 1020147030735A KR 20147030735 A KR20147030735 A KR 20147030735A KR 20140140636 A KR20140140636 A KR 20140140636A
Authority
KR
South Korea
Prior art keywords
performance
computing system
power
workload
state
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020147030735A
Other languages
English (en)
Inventor
데바닷타 브이. 보다스
존 에이치. 크로포드
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20140140636A publication Critical patent/KR20140140636A/ko
Ceased legal-status Critical Current

Links

Images

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26—Power supply means, e.g. regulation thereof
    • G06F1/32—Means for saving power
    • G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26—Power supply means, e.g. regulation thereof
    • G06F1/32—Means for saving power
    • G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26—Power supply means, e.g. regulation thereof
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

컴퓨팅 시스템의 동작을 관리하는 방법 및 시스템이 개시된다. 본 방법은 컴퓨팅 시스템 상의 다수의 작업부하를 판정하는 것을 포함한다. 본 방법은 또한 각 작업부하에 대한 다수의 성능-전력 상태 및 각 성능-전력 상태에 대한 대응 성능 범위 및 전력 소비 범위를 판정하는 것을 포함한다. 본 방법은 성능-전력 상태에 기초하여 컴퓨팅 시스템의 성능 및 전력 소비를 관리하는 것을 더 포함한다.

Description

컴퓨팅 시스템의 동작 관리{MANAGING THE OPERATION OF A COMPUTING SYSTEM}
본 발명은 일반적으로 하나 이상의 컴퓨팅 시스템의 동작 관리에 관한 것이다. 보다 구체적으로, 본 발명은 하나 이상의 컴퓨팅 시스템의 성능 및 전력 특징 판정에 관한 것이다.
컴퓨팅 시스템의 수행 능력 및 전력 소비 특징들에 관한 특정 데이터를 판정하는 것이 종종 바람직하다. 이러한 데이터는, 컴퓨팅 시스템에 의해 소비되는 전력량을 수용가능한 전력 레벨로 유지하는데 사용될 수 있거나, 또는 컴퓨팅 시스템의 성능을 수용가능한 성능 레벨로 유지하는데 사용될 수 있다. 그러나, 컴퓨팅 시스템의 전력 소비 및 성능 양자 모두를 수용가능한 레벨로 동시에 유지하는 것은 종종 곤란하다. 다수의 경우에 있어서, 이는, 전력 소비가 수용가능한 전력 레벨 미만이 되도록, 예를 들어, 주파수를 낮추는 등, 컴퓨팅 시스템을 조절하여 달성될 수 있다. 그러나, 특정 전력 레벨에 도달하기 위한 조절량은 시스템 컴포넌트의 전력 소비 특징에서의 변경으로 인해 5-10% 정도 변동될 수 있다. 이에 의해, 컴퓨팅 시스템의 전력 소비 및 성능의 적절한 판정 및 이에 대한 제어를 달성하는 것이 종종 곤란하다.
도 1은 실시예에 따라 사용될 수 있는 컴퓨팅 시스템의 블럭도이다.
도 2는 컴퓨팅 시스템의 동작을 관리하는 기술을 구현하기 위해 사용될 수 있는 컴퓨팅 환경의 블럭도이다.
도 3은 컴퓨팅 시스템의 동작을 관리하는 방법을 도시하는 처리 순서도이다.
도 4는 컴퓨팅 시스템의 동작을 관리하는 코드를 저장하는 실재하는 비일시적 컴퓨터-판독가능 매체를 도시하는 블럭도이다.
본 명세서 및 도면 전반에 걸쳐 동일한 번호는 같은 컴포넌트 및 부분들을 참조하는데 사용된다. 100 계열의 번호는 도 1에서 본래 발견되는 부분들을 참조하고; 200 계열의 번호는 도 2에서 처음 발견되는 부분들을 참조하며; 기타 등등이다.
상술된 바와 같이, 본 명세서에 개시되는 실시예는 일반적으로 컴퓨팅 시스템의 동작 관리에 관한 것이다. 보다 구체적으로, 본 명세서에 개시되는 실시예는 컴퓨팅 시스템의 성능 및 전력 특징 판정에 관한 것이다. 이러한 성능 및 전력 특징은, 예를 들어, 컴퓨팅 시스템의 전력 소비 및 성능이 적정 레벨로 유지되도록 하는 적절한 시스템 동작 환경설정들을 판정하는데 사용될 수 있다.
본 명세서에 사용된 바와 같이, "성능(performance)"이라는 용어는 특정 작업부하의 실행 중 및 그 후 컴퓨팅 시스템의 응답을 지칭한다. 다양한 실시예에서, 특정 컴퓨팅 시스템에 대한 성능의 정의는 사용자 인터페이스를 통해 컴퓨팅 시스템의 사용자에 정의될 수 있다. 성능은, 예를 들어, 완료 시간, 주파수, 응답 시간 또는 프레임 속도 등 다수의 상이한 파라미터들 중 임의의 것에 기초하여 정의될 수 있다. 다양한 실시예에서, 성능은 컴퓨팅 시스템의 아키텍쳐 특성에 기초하여 정의된다.
컴퓨팅 시스템은 임의 수의 시스템 동작 상태에서 작동할 수 있다. 본 명세서에 사용되는 바와 같이, "시스템 동작 상태(system operational state)"라는 용어는 구성가능한 파라미터들을 변경함으로써 컴퓨팅 시스템이 특정 작업부하를 운영할 수 있는 상태를 지칭한다. 본 명세서에 개시되는 실시예에 따르면, 컴퓨팅 시스템은 다수의 작업부하 각각에 대한 각각의 시스템 동작 상태에서 동작될 수 있다. 각각의 작업부하에 대한 다수의 시스템 동작 성능-전력(SOPP: System Operational Performance-Power) 상태를 판정하기 위해 각각의 작업부하에 대한 전력 소비 및 성능 데이터가 사용될 수 있다. SOPP 상태는 본 명세서에서 일반적으로 "성능-전력 상태(performance-power states)"라고 지칭될 수 있다.
성능-전력 상태는, 컴퓨팅 시스템의 성능이 미리정해진 성능 범위 내에 있고, 컴퓨팅 시스템의 전력 소비가 미리정해진 전력 범위 내에 있는 동작 상태이다. 또한, 각각의 성능-전력 상태는, 이하의 수학식 1 및 2에서 보이는 바와 같이, 미리정해진 성능 및 미리정해진 전력 소비만큼 이전 또는 이후 성능-전력 상태와 분리된다.
Figure pct00001
Figure pct00002
이하의 설명 및 특허청구범위에서는, "연결된다(coupled)" 및 "접속된다(connected)"라는 용어가 그 파생어와 함께 사용될 수 있다. 이들 용어는 상호 동의어로서 의도되는 것은 아니라는 점이 이해되어야 한다. 오히려, 특정 실시예에서, "접속된다(connected)"는 2개 이상의 엘리먼트가 상호 직접적인 물리적 또는 전기적 접촉상태에 있는 것을 나타내는데 사용될 수 있다. "연결된다(coupled)"는 2개 이상의 엘리먼트가 직접적인 물리적 또는 전기적 접촉상태에 있는 것을 의미할 수 있다. 그러나, "연결된다(coupled)"는, 2개 이상의 엘리먼트가 상호 직접적인 접촉 상태에 있지는 않지만, 여전히 서로 협조하거나 상호작용을 하는 것을 의미할 수도 있다.
일부 실시예는 하드웨어, 펌웨어 및 소프트웨어 중 하나 또는 이들의 조합으로 구현될 수 있다. 일부 실시예는 또한 머신-판독가능 매체에 저장되는 명령어로서 구현될 수 있고, 이는 컴퓨팅 플랫폼에 의해 판독 및 실행되어 본 명세서에 개시되는 동작들을 수행할 수 있다. 머신-판독가능 매체는, 예를 들어, 컴퓨터 등 머신에 의해 판독가능한 형태로 정보를 저장하거나 전송하는 임의의 매커니즘을 포함할 수 있다. 예를 들어, 머신-판독가능 매체는 ROM(Read Only Memory); RAM(Random Access Memory); 자기 디스크 스토리지 매체; 광 스토리지 매체; 플래시 메모리 디바이스; 또는 예를 들어, 반송파, 적외선 신호, 디지털 신호 등 전기 신호, 광 신호, 음향 신호 또는 기타 형태의 전파 신호, 또는 다른 것들 중 신호를 전송 및/또는 수신하는 인터페이스를 포함할 수 있다.
일 실시예는 구현 또는 예이다. 명세서에서 "일 실시예(an embodiment)", "하나의 실시예(one embodiment)", "일부 실시예(some embodiments)", "다양한 실시예(various embodiments)" 또는 "기타 실시예(other embodiments)"라는 용어는, 실시예와 관련되는 특정 특성, 구조 또는 특징이, 반드시 본 발명의 모든 실시예는 아니지만, 적어도 일부 실시예에 포함된다는 것을 의미한다. "일 실시예(an embodiment)", "하나의 실시예(one embodiment)" 및 "일부 실시예(some embodiments)"라는 다양한 표현이 반드시 모두 동일한 실시예들을 지칭하는 것은 아니다.
본 명세서에 개시되고 도시되는 컴포넌트, 특성, 구조, 특징 등이 모두 특정 실시예 또는 실시예들에 포함될 필요는 없다. 본 명세서가 컴포넌트, 특성, 구조 또는 특징이, 예를 들어, 포함될 "수 있다"("may", "might", "can" 또는 "could")고 언급한다면, 그 특정 컴포넌트, 특성, 구조 또는 특징이 포함되어야 한다고 요구되는 것은 아니다. 본 명세서 또는 특허청구범위가 "하나의"("a" 또는 "an") 엘리먼트를 언급한다면, 해당 엘리먼트가 하나만 존재한다는 것을 의미하는 것은 아니다. 본 명세서 또는 특허청구범위가 "추가의(an additional)" 엘리먼트를 언급한다면, 해당 추가 엘리먼트가 하나보다 많이 존재한다는 것을 배제하는 것은 아니다.
특정 실시예들은 특정 구현들을 참조하여 개시되지만, 일부 실시예들에 따라서 다른 구현이 가능하다는 점에 주의하여야 한다. 또한, 도면에 도시되고 및/또는 본 명세서에 개시되는 회로 엘리먼트들 또는 기타 특성들의 배치 및/또는 순서가 도시되고 설명된 특정 방식으로 배치될 필요는 없다. 일부 실시예들에 따라 다수의 다른 배치가 가능하다.
도면에 도시된 각 시스템에서, 일부 경우의 엘리먼트들은 각각 표현되는 엘리먼트들이 다르다 및/또는 유사하다는 것을 시사하기 위해 동일한 참조 번호 또는 다른 참조 번호를 가질 수 있다. 그러나, 엘리먼트는, 다른 구현을 갖기에, 그리고 본 명세서에 도시되거나 개시되는 일부 또는 모든 시스템들과 함께 작업하기에, 충분히 융통성이 있을 수 있다. 도면에 도시된 다양한 엘리먼트는 동일하거나 다를 수 있다. 어느 것이 제1 엘리먼트라 지칭되고 어느 것이 제2 엘리먼트라 불리는가는 임의적인 것이다.
도 1은 실시예에 따라 사용될 수 있는 컴퓨팅 시스템(100)의 블럭도이다. 컴퓨팅 시스템(100)은, 예를 들어, 모바일 폰, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 또는 서버 등일 수 있다. 컴퓨팅 시스템(100)은 저장된 명령어들을 실행하도록 적응된 프로세서(102) 뿐만 아니라 프로세서(102)에 의해 실행될 수 있는 명령어를 저장하는 메모리 디바이스(104)를 포함할 수 있다. 프로세서(102)는 싱글 코어 프로세서, 멀티-코어 프로세서, 컴퓨팅 클러스터 또는 임의 수의 기타 구성일 수 있다. 메모리 디바이스(104)는 RAM(Random Access Memory), ROM(Read Only Memory), 플래시 메모리 또는 임의의 기타 적합한 메모리 시스템을 포함할 수 있다. 프로세서(102)에 의해 실행되는 명령어는, 예를 들어 성능 및 전력 특징들 등, 하나 이상의 컴퓨팅 시스템의 동작을 관리하는 프로시져를 구현하는데 사용될 수 있다.
프로세서(102)는 컴퓨팅 시스템(100)을 하나 이상의 I/O 디바이스(110)에 접속시키도록 적응되는 입력/출력(I/O) 디바이스 인터페이스(108)에 버스(106)를 통해 접속될 수 있다. I/O 디바이스(110)는, 예를 들어, 키보드 및 포인팅 디바이스를 포함할 수 있고, 포인팅 디바이스는 터치패드 또는 터치 스크린 등을 포함할 수 있다. I/O 디바이스(110)는, 컴퓨팅 시스템(100)의 내장 컴포넌트이거나, 또는 외부에서 컴퓨팅 시스템(100)에 접속되는 디바이스일 수 있다.
프로세서(102)는 컴퓨팅 시스템(100)을 디스플레이 디바이스(114)에 접속시키도록 적응되는 디스플레이 인터페이스(112)에 버스(106)를 통해 링크될 수도 있다. 디스플레이 디바이스(114)는 컴퓨팅 시스템(100)의 내장 컴포넌트인 디스플레이 스크린을 포함할 수 있다. 디스플레이 디바이스(114)는 외부에서 컴퓨팅 시스템(100)에 접속되는 컴퓨터 모니터, 텔레비전, 또는 프로젝터 등을 포함할 수도 있다.
NIC(Network Interface Controller)(116)는 컴퓨팅 시스템(100)을 버스(106)를 통해 네트워크(118)에 접속시키도록 적응될 수 있다. 네트워크(118)는 WAN(Wide Area Network), LAN(Local Area Network), 또는 인터넷 등일 수 있다. 네트워크(118)를 통해, 컴퓨팅 시스템(100)은 전자 텍스트 및 이미징 문서(120)를 액세스할 수 있다. 컴퓨팅 시스템(100)은, 전자 텍스트 및 이미징 문서(120)를 다운로드할 수 있고, 컴퓨팅 시스템(100)의 스토리지 디바이스(122) 내에 전자 텍스트 및 이미징 문서(120)를 저장할 수도 있다.
네트워크(118)를 통해, 컴퓨팅 시스템(100)은 다수의 원격 컴퓨팅 시스템(124)에 통신 연결될 수 있다. 일부 실시예에서, 전력 및 성능 데이터(126)가, 원격 컴퓨팅 시스템(124)으로부터 다운로드될 수 있고, 컴퓨팅 시스템(100)의 스토리지 디바이스(122) 내에 저장될 수 있다. 또한, 임의 수의 작업부하(128), 또는 작업부하(128)에 관련된 데이터가, 원격 컴퓨팅 시스템(124)으로부터 다운로드될 수 있고, 컴퓨팅 시스템(100)의 스토리지 디바이스(122)에 저장될 수 있다. 또한, 컴퓨팅 시스템(100)에 관련된 전력 및 성능 데이터(126) 및 임의 수의 작업부하(128)가 컴퓨팅 시스템(100)의 스토리지 디바이스(122) 내에 저장될 수 있다.
스토리지 디바이스(122)는 하드 드라이브, 광 드라이브, 썸드라이브(thumbdrive), 드라이브의 배열 또는 이들의 임의의 조합을 포함할 수 있다. 스토리지 디바이스(122)는 본 명세서에 개시되는 컴퓨팅 시스템의 동작을 관리하는 기술을 수행하도록 구성되는 시스템 매니저(130)를 포함할 수 있다. 다양한 실시예에서, 시스템 매니저(130)는 컴퓨팅 시스템(100) 뿐만 아니라 임의의 원격 컴퓨팅 시스템(124)에 관련된 다수의 성능-전력 상태(132)를 생성하는데 사용될 수 있다. 성능-전력 상태(132)가 컴퓨팅 시스템(100)의 스토리지 디바이스(122) 내에 저장될 수도 있다.
도 1의 블럭도는 컴퓨팅 시스템(100)이 도 1에 도시된 모든 컴포넌트들을 포함하여야 한다는 것을 나타내고자 하는 것은 아니다. 더욱이, 컴퓨팅 시스템(100)은 특정 구현의 상세에 따라서 도 1에 도시되지 않은 임의 수의 추가 컴포넌트를 포함할 수 있다.
도 2는 컴퓨팅 시스템의 동작을 관리하는 기술을 구현하는데 사용될 수 있는 컴퓨팅 환경(200)의 블럭도이다. 컴퓨팅 환경(200)은 시스템 관리 에이전트(202)를 포함할 수 있다. 일부 실시예에서, 시스템 관리 에이전트(202)는 도 1을 참조하여 상술된 컴퓨팅 시스템(100) 내에 저장되는 시스템 매니저(130)이다. 그러나, 시스템 관리 에이전트(202)는 임의 타입의 컴퓨팅 디바이스에 의해 실행되는 프로그램 또는 애플리케이션일 수 있다. 예를 들어, 시스템 관리 에이전트(202)는 정보 기술(IT: Information Technology) 관리 프로그램 내의 자동화된 프로그램 또는 애플리케이션일 수 있다. 또한, 시스템 관리 에이전트(202)는 컴퓨팅 시스템의 BIOS(Basic I/O System) 레벨 또는 운영 체제(OS: Operating System) 레벨에서 동작하는 데이터센터 매니저, 노드 매니저 또는 프로그램일 수 있다.
컴퓨팅 환경(200)은, 예를 들어, 컴퓨팅 시스템 A(204A), 컴퓨팅 시스템 B(204B) 및 컴퓨팅 시스템 C(204C) 등 다수의 컴퓨팅 시스템(204)을 포함할 수도 있다. 컴퓨팅 시스템(204)은 네트워크(206)를 통해 시스템 관리 에이전트(202)에 통신 연결될 수 있다. 네트워크(206)는, 예를 들어, WAN, LAN 또는 인터넷일 수 있다.
컴퓨팅 시스템(204)은 서버, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터 또는 모바일 디바이스 등 임의 타입의 컴퓨팅 디바이스일 수 있다. 일부 실시예에서, 컴퓨팅 시스템(204)은 분산형 컴퓨팅 환경 내에 포함될 수 있다. 컴퓨팅 시스템(204)은, 모든 컴퓨팅 시스템(204)이 동일한 하드웨어 및 소프트웨어 구성을 포함하는 것을 의미하는 동종의 것, 또는 임의 수의 컴퓨팅 시스템(204)이 이질적인 하드웨어 또는 소프트웨어 구성을 포함하는 것을 의미하는 이종의 것일 수 있다.
시스템 관리 에이전트(202)는 임의 수의 컴퓨팅 시스템(204)에 의해 실행되는 다수의 작업부하 각각에 대한 성능-전력 상태를 판정하는 처리를 수행하도록 구성될 수 있다. 일부 실시예에서, 시스템 관리 에이전트(202)는 GUI(Graphical User Interface) 등 사용자 인터페이스를 통한 사용자로부터의 입력에 응답하여 이러한 처리를 수행할 수 있다. 예를 들어, 시스템 관리 에이전트(202)는 데이터센터 관리자 또는 IT 직원 등으로부터의 입력에 의해 제어될 수 있다.
상술된 바와 같이, 컴퓨팅 시스템의 성능은 특정 작업부하의 실행 중 및 그 후 시스템 응답을 지칭한다. 다양한 실시예에서, 컴퓨팅 시스템의 성능은 특정 성능 메트릭에 따라 정량화된다. 성능 메트릭은 시스템 관리 에이전트(202)의 사용자로부터의 입력에 따라 정의될 수 있다. 성능 메트릭은 특정 파라미터에 기초할 수 있다. 이러한 파라미터는, 예를 들어, 특정 작업부하에 대한 완료 시간, 시스템의 반응성, 프레임 속도, 완료된 트랜잭션의 수, 완료 속도 또는 통신 속도, 예를 들어 대역폭 등을 포함할 수 있다. 또한, 성능 메트릭은, 다수의 개별 파라미터에 기초할 수 있거나, 또는 다수 파라미터의 평균 등 통계적 동작에 기초할 수 있다.
시스템 관리 에이전트(202)는 컴퓨팅 시스템(204)의 아키텍쳐에 기초하여 컴퓨팅 시스템(204) 중 하나에 대한 다수의 가능한 시스템 동작 상태를 생성할 수 있다. 예를 들어, 시스템 동작 상태를 생성하는데 컴퓨팅 시스템(204)의 임의 수의 아키텍쳐 특성들이 사용될 수 있다. 그리고, 컴퓨팅 시스템(204)에 의해 실행되는 특정 작업부하에 대한 성능-전력 상태를 판정하는데 시스템 동작 상태가 사용될 수 있다.
다양한 실시예에서, 시스템 동작 상태를 생성하는데 사용되는 아키텍쳐 특성들은 코어 주파수, 프로세서 주파수, 논-코어 주파수 또는 메모리 주파수 등을 포함할 수 있다. "주파수(frequency)"라는 용어는 단위 시간 당 반복되는 이벤트의 발생 수를 지칭한다. 예를 들어, 컴퓨팅 시스템(204)의 CPU(Central Processing Unit)의 주파수 또는 클럭 속도는 CPU가 실행하는 속도를 특징짓는 데 사용될 수 있다. 본 명세서에 사용되는 바와 같이, 주파수라는 용어는 표준 주파수 또는 전압과 주파수의 조합을 지칭할 수 있다. 일부 실시예에서, 코어 주파수는 컴퓨팅 시스템(204)의 CPU에 관련되는 주파수를 포함한다. 반면, 논-코어 주파수는, 최종 레벨 캐시, 다양한 처리 블럭들 사이의 상호접속 또는 다양한 내부 에이전트나 집적화된 I/O 제어기들 등에 관련되는 주파수를 포함할 수 있다.
임의 수의 아키텍쳐 특성들이 인에이블 또는 디스에이블되어 시스템 동작 상태의 판정을 도울 수 있다. 이는, 예를 들어, 다수 실행 유닛, 다수 중단(retirement) 유닛, 큐 또는 다수 그래픽 엔진 등 상호 병렬로 자주 사용되는 아키텍쳐 특성들에 특히 적용될 수 있다. 또한, 특정 동작의 파라미터들은 변경되어 시스템 동작 상태의 판정을 도울 수 있다. 이러한 파라미터는, 예를 들어, 디스플레이 리프레시 속도 또는 이미지 품질 등을 포함할 수 있다. 더욱이, 특정 아키텍쳐 특성들은 "무산(defeatured)"되어 시스템 동작 상태의 판정을 도울 수 있다. 이는, 예를 들어, 한 번에 명령어들을 덜 실행하는 것, 벡터 처리 유닛을 보다 적은 용량으로 운영하는 것, 또는 I/O 통신 링크를 보다 낮은 대역폭으로 운영하는 것을 포함할 수 있다.
일부 실시예에서, 컴퓨팅 시스템(204) 각각은 대응 로컬 시스템 관리 에이전트(도시되지 않음)를 포함한다. 이러한 실시예에서, 각 로컬 시스템 관리 에이전트는 대응 컴퓨팅 시스템(204)에 대한 성능-전력 상태를 판정하는 프로세스를 수행하도록 구성될 수 있다. 시스템 관리 에이전트(202)는 중앙 시스템 관리 에이전트로서의 역할을 할 수 있다. 중앙 시스템 관리 에이전트(202)는, 각 컴퓨팅 시스템(204) 상의 로컬 시스템 관리 에이전트로부터의 데이터를 컴파일하고, 성능-전력 상태에 기초하여 성능 및 전력 정보를 생성하도록 구성될 수 있다. 예를 들어, 중앙 시스템 관리 에이전트(202)는, 로컬 시스템 관리 에이전트로부터의 데이터를 사용하여, 각 타입의 컴퓨팅 시스템(204) 상의 각 타입의 작업부하에 대한 성능-전력 상태에 관한 성능-전력 상태 테이블을 생성할 수 있다.
도 2의 블럭도는 컴퓨팅 환경(200)이 도 2에 도시된 모든 컴포넌트들을 포함하여야 한다는 것을 나타내고자 하는 것은 아니다. 더욱이, 컴퓨팅 환경(200)은 특정 응용에 따라 도 2에 도시되지 않은 임의 수의 추가 컴포넌트들을 포함할 수 있다.
도 3은 컴퓨팅 시스템의 동작을 관리하는 방법(300)을 도시하는 처리 순서도이다. 방법(300)은 컴퓨팅 시스템의 성능 및 전력 소비 특징을 판정하는데 사용될 수 있다. 보다 구체적으로, 방법(300)은 컴퓨팅 시스템에 대한 성능-전력 상태를 판정함으로써 컴퓨팅 시스템을 보정(calibrate)하는데 사용될 수 있다.
다양한 실시예에서, 방법(300)에 따라 사용되는 컴퓨팅 시스템은 도 1을 참조하여 상술된 컴퓨팅 시스템(100)이다. 또한, 방법(300)은 도 2를 참조하여 상술된 컴퓨팅 환경(200) 내에 구현될 수 있다. 더욱이, 방법(300)은 시스템 관리 에이전트(202) 등 시스템 매니저로부터의 입력에 응답하여 구현될 수 있다.
다양한 실시예에서, 방법(300)은, 미리-로드된 작업부하를 사용하여 컴퓨팅 시스템의 초기 부트 중 개시되거나, 또는 운영 체제나 주문형 가상 운영 체제에 의해 개시될 수 있다. 또한, 방법(300)은, 컴퓨팅 시스템의 사용자에 의한 요청 또는 다른 컴퓨팅 시스템의 사용자에 의한 요청에 응답하여 개시될 수 있다. 더욱이, 방법(300)은 컴퓨팅 시스템이 구축되고 구성되는 동안 수행될 수 있다.
본 방법은 컴퓨팅 시스템 상의 다수의 작업부하가 판정되는 블럭 302에서 시작한다. 또한, 각 작업부하에 대응하는 다수의 파라미터가 판정될 수 있다. 각 작업부하에 대응하는 이들 파라미터는 각 작업부하에 대한 성능의 정의를 포함할 수 있다. 성능의 정의는 도 2에 대해 상술된 바와 같이 컴퓨팅 시스템의 특정 아키텍쳐 특성들에 기초할 수 있다. 또한, 각 작업부하에 대응하는 파라미터는 각 작업부하에 대한 수용가능한 전력 소비 범위 및 수용가능한 성능 범위를 포함할 수 있다. 일부 실시예에서, 컴퓨팅 시스템의 사용자는 GUI 등의 사용자 인터페이스를 통해 각 작업부하에 대응하는 파라미터를 입력한다.
블럭 304에서, 각 작업부하에 대한 다수의 성능-전력 상태 뿐만 아니라 각 성능-전력 상태에 대한 대응 성능 범위 및 전력 소비 범위가 판정된다. 각 성능-전력 상태는 컴퓨팅 시스템이 대응 성능 범위 및 전력 소비 범위 내에서 특정 작업부하를 운영할 수 있는 상태를 나타낸다. 성능-전력 상태의 판정은 각 작업부하에 대한 각 시스템 동작 상태에서 컴퓨팅 시스템을 동작시킴으로써 달성될 수 있다. 그리고, 각 작업부하에 대한 각 시스템 동작 상태에 관한 데이터가 처리될 수 있다. 다양한 실시예에서, 이러한 데이터는, 각 시스템 동작 상태에서 각 작업부하에 대한 성능에 관한 정보, 및 각 시스템 동작 상태에서 각 작업부하에 대한 컴퓨팅 시스템의 전력 소비에 관한 정보를 포함할 수 있다. 성능-전력 상태는 각 작업부하에 대한 시스템 동작 상태에 기초하는 데이터 뿐만 아니라 수용가능한 전력 소비 범위 및 수용가능한 성능 범위로부터 판정될 수 있다. 다양한 실시예에서, 각 성능-전력 상태는, 최소 성능 및 최소 전력 소비만큼, 이전 성능-전력 상태 및 이후 성능-전력 상태와 분리된다.
블럭 306에서는, 컴퓨팅 시스템의 성능 및 전력 소비가 성능-전력 상태에 기초하여 관리된다. 이는 전력 소비를 미리정해진 전력 한계 미만으로 유지하는 것 및 성능을 미리정해진 성능 한계 초과로 유지하는 것을 포함할 수 있다. 다른 실시예에서, 이는 전력 소비를 미리정해진 전력 한계 미만으로 유지하는 것 및 성능을 미리결정된 성능 레벨로 유지하는 것을 포함한다. 예를 들어, 컴퓨팅 시스템은 미리결정된 성능 레벨로 유지되어, 컴퓨팅 시스템의 동작이 컴퓨팅 시스템에 통신 연결되는 임의 수의 다른 컴퓨팅 시스템의 동작과 호환되는 것을 보장할 수 있다.
일부 실시예에서, 성능-전력 상태는 컴퓨팅 시스템에 대한 동작 환경설정을 판정하는데 사용되어 성능과 에너지 사용 사이의 균형이 달성된다. 성능-전력 상태는 성능의 에너지 비용의 메트릭을 수립할 수 있고, 이는 컴퓨팅 시스템의 사용자에게 효율적인 배터리 사용과 고 성능 사이에서의 선택을 제공하는데 사용될 수 있다. 예를 들어, 사용자는 성능-전력 상태를 사용하여 주어진 전력 사용율에서 컴퓨팅 시스템의 최고 성능을 유지할 수 있다. 더욱이, 일부 실시예에서, 성능-전력 상태는 컴퓨팅 시스템의 전력 소비를 특정 전력 소비 한계 미만으로 유지하는데 사용된다. 이는 "절전(brown out)" 조건 중 컴퓨팅 시스템의 가용성을 유지할 수 있게 해 준다.
도 3의 처리 순서도는 방법(300)의 단계들이 특정 순서로 실행되어야 한다는 것, 또는 방법(300)의 모든 단계들이 모든 경우에 포함되어야 한다는 것을 나타내고자 하는 것은 아니라는 점이 이해되어야 한다. 더욱이, 특정 구현의 상세에 따라서, 방법(300) 내에 임의 수의 추가 단계들이 포함될 수 있다.
다양한 실시예에서, 방법(300)은 다수 컴퓨팅 시스템에 대해 구현될 수 있다. 이러한 실시예에서, 방법(300)은 컴퓨팅 시스템에 대응하는 다수의 작업부하 및 각 작업부하에 대응하는 파라미터를 판정하는 것을 포함한다. 방법(300)은 또한 각 작업부하에 대한 다수의 성능-전력 상태 및 각 성능-전력 상태에 대한 대응 성능 범위 및 전력 소비 범위를 판정하는 것을 포함한다. 이는, 각 컴퓨팅 시스템을 각 작업부하에 대한 각각의 시스템 동작 상태로 동작시키고, 각 작업부하에 대한 각각의 시스템 동작 상태에 관련한 데이터를 처리함으로써 달성될 수 있다. 방법(300)은 성능-전력 상태에 기초하여 컴퓨팅 시스템의 성능 및 전력 소비를 관리하는 것을 더 포함한다. 이는, 예를 들어, 컴퓨팅 시스템의 성능을 균일한 성능 레벨로 유지하면서 컴퓨팅 시스템의 전체 전력 소비를 전력 한계 미만으로 유지하는 것을 포함할 수 있다. 더욱이, 이러한 실시예에 따르면, 방법(300)은, 컴퓨팅 시스템 외부에 위치되고 컴퓨팅 시스템과 통신 연결되는 데이터센터 매니저에 의해 구현될 수 있다.
도 4는 컴퓨팅 시스템의 동작을 관리하는 코드를 저장하는 실재하는 비일시적 컴퓨터-판독가능 매체(400)를 도시하는 블럭도이다. 실재하는 비일시적 컴퓨터-판독가능 매체(400)는 컴퓨터 버스(404)를 통해 프로세서(402)에 의해 액세스될 수 있다. 더욱이, 실재하는 비일시적 컴퓨터-판독가능 매체(400)는 본 명세서에 개시되는 기술들을 수행하라고 프로세서(402)에게 지시하도록 구성되는 코드를 포함할 수 있다.
본 명세서에 논의되는 다양한 소프트웨어 컴포넌트가 도 4에 도시된 바와 같이 실재하는 비일시적 컴퓨터-판독가능 매체(400)에 저장될 수 있다. 예를 들어, 전력 소비 판정 모듈(406)은 다수의 작업부하 각각에 대한 각 시스템 동작 상태에서 하나 이상의 컴퓨팅 시스템의 전력 소비를 판정하도록 구성될 수 있다. 성능 판정 모듈(408)은 다수의 작업부하 각각에 대한 각 시스템 동작 상태에서 하나 이상의 컴퓨팅 시스템의 성능을 판정하도록 구성될 수 있다.
또한, 성능-전력 상태 생성 모듈(410)은 각 시스템 동작 상태에 대한 전력 소비 및 성능 데이터에 기초하여 각 작업부하에 대한 다수의 성능-전력 상태를 생성하도록 구성될 수 있다. 시스템 관리 모듈(412)은 성능-전력 상태에 기초하여 하나 이상의 컴퓨팅 시스템의 동작, 예를 들어, 전력 소비 및 성능을 제어하도록 구성될 수 있다.
실재하는 비일시적 컴퓨터-판독가능 매체(400)가 도 4에 도시된 모든 컴포넌트를 포함하여야 한다는 것을 도 4의 블럭도가 나타내고자 하는 것은 아니라는 점이 이해되어야 한다. 더욱이, 특정 구현의 상세에 따라서, 실재하는 비일시적 컴퓨터-판독가능 매체(400) 내에 임의 수의 추가 컴포넌트가 포함될 수 있다.
실시예 1
컴퓨팅 시스템의 동작을 관리하는 방법이 개시된다. 본 방법은 컴퓨팅 시스템 상의 다수의 작업부하를 판정하는 것을 포함한다. 본 방법은, 또한, 각 작업부하에 대한 다수의 성능-전력 상태 및 각 성능-전력 상태에 대한 대응 성능 범위 및 전력 소비 범위를 판정하는 것을 포함한다. 본 방법은 성능-전력 상태에 기초하여 컴퓨팅 시스템의 성능 및 전력 소비를 관리하는 것을 더 포함한다.
각 작업부하에 대응하는 파라미터는 각 작업부하에 대한 성능의 정의를 특정함으로써 판정될 수 있다. 성능의 정의는 컴퓨팅 시스템의 아키텍쳐 특성에 기초할 수 있다. 각 작업부하에 대한 성능의 정의는 사용자 인터페이스를 통해 사용자로부터 수신될 수 있다.
각 작업부하에 대한 다수의 성능-전력 상태는, 각 작업부하를 각 시스템 동작 상태에서 운영하고, 각 시스템 동작 상태에서 각 작업부하에 대한 컴퓨팅 시스템의 성능을 측정하고, 각 시스템 동작 상태에서 각 작업부하에 대한 컴퓨팅 시스템의 전력 소비를 측정함으로써 판정될 수 있다. 또한, 컴퓨팅 시스템의 동작은 시스템 관리 에이전트로부터의 입력에 응답하여 관리될 수 있다. 컴퓨팅 시스템의 동작을 관리하는 것은, 전력 소비를 미리정해진 전력 한계 미만으로 유지하는 것 및 성능을 미리정해진 성능 레벨로 유지하는 것을 포함할 수 있다.
각각의 성능-전력 상태는 최소 전력 소비 및 최소 성능만큼 이전 성능-전력 상태 및 이후 성능-전력 상태와 분리될 수 있다.
다수의 컴퓨팅 시스템에 대응하는 다수의 작업부하 및 각 작업부하에 대응하는 파라미터가 판정될 수 있다. 각 작업부하에 대한 다수의 성능-전력 상태 및 각 성능-전력 상태에 대한 대응 성능 범위 및 전력 범위가 판정될 수 있다. 컴퓨팅 시스템의 성능 및 전력 소비는 성능-전력 상태에 기초하여 관리될 수 있다. 이는 컴퓨팅 시스템의 외부에 위치되는 데이터센터 매니저로부터의 입력에 응답하여 수행될 수 있다. 컴퓨팅 시스템의 성능 및 전력 소비를 관리하는 것은, 컴퓨팅 시스템의 성능을 균일한 성능 레벨로 유지하면서 컴퓨팅 시스템의 전체 전력 소비를 전력 한계 미만으로 유지하는 것을 포함할 수 있다.
실시예 2
저장된 명령어를 실행하도록 적응된 프로세서 및 명령어를 저장하는 스토리지 디바이스를 포함하는 컴퓨팅 시스템이 개시된다. 스토리지 디바이스는, 프로세서에 의해 실행될 때, 컴퓨팅 시스템의 다수의 작업부하를 판정하도록 적응되는 프로세서 실행가능 코드를 포함한다. 프로세서 실행가능 코드는 또한 각 작업부하에 대한 다수의 성능-전력 상태를 판정하도록 적응되며, 성능-전력 상태를 판정하는 것은 성능-전력 상태에 대한 성능 레벨 범위 및 전력 레벨 범위를 정의하는 것을 포함한다. 프로세서 실행가능 코드는 성능-전력 상태에 기초하여 컴퓨팅 시스템의 성능 및 전력 소비를 관리하도록 더욱 적응된다.
시스템 동작 상태는 구성가능한 파라미터를 변경함으로써 컴퓨팅 시스템이 특정 작업부하를 운영할 수 있는 상태이다. 성능-전력 상태는 컴퓨팅 시스템이 특정 작업부하를 성능 레벨 범위 및 전력 레벨 범위 내에서 운영할 수 있는 상태이다.
프로세서 실행가능 코드는 초기 시스템 부트 동안 프로세서에 의해 실행될 수 있다. 프로세서 실행가능 코드는 주문형 운영 체제에 의해 프로세서에 의해 실행될 수 있다. 프로세서 실행가능 코드는 다른 컴퓨팅 시스템의 사용자에 의한 요청에 대한 응답으로서 프로세서에 의해 실행될 수도 있다.
각 성능-전력 상태는 최소 전력 소비 및 최소 성능만큼 이전 성능-전력 상태 및 이후 성능-전력 상태와 분리될 수 있다.
실시예 3
명령어가 저장된 적어도 하나의 비일시적 머신 판독가능 매체가 개시된다. 컴퓨팅 시스템 상에서 실행되는 것에 응답하여, 명령어는 컴퓨팅 시스템으로 하여금 컴퓨팅 시스템의 다수의 작업부하를 판정하게 한다. 이러한 명령어는 또한 컴퓨팅 시스템으로 하여금 각 작업부하에 대한 다수의 성능-전력 상태 및 각 성능-전력 상태에 대한 대응 성능 범위 및 전력 범위를 판정하게 한다. 또한, 이러한 명령어는 컴퓨팅 시스템으로 하여금 성능-전력 상태에 기초하여 컴퓨팅 시스템의 성능 및 전력 소비를 제어하게 한다.
시스템 동작 상태는 구성가능한 파라미터를 변경함으로써 컴퓨팅 시스템이 특정 작업부하를 운영할 수 있는 상태이다. 성능-전력 상태는 컴퓨팅 시스템이 특정 작업부하를 특정 성능 레벨 범위 및 특정 전력 레벨 범위 내에서 운영할 수 있는 상태이다.
각 작업부하에 대응하는 파라미터는 컴퓨팅 시스템의 다수의 아키텍쳐 특성 중 임의의 것에 기초하여 각 작업부하에 대한 성능의 정의를 특정함으로써 판정될 수 있다. 컴퓨팅 시스템의 성능 및 전력 소비를 제어하는 것은 주어진 전력 사용율에서 컴퓨팅 시스템의 최고 성능을 유지하는 것을 포함할 수 있다.
상술된 실시예들에서의 상세는 하나 이상의 실시예 어느 곳에서도 사용될 수 있다는 점이 이해되어야 한다. 예를 들어, 상술된 컴퓨팅 시스템의 모든 선택적 특성들은 본 명세서에 개시되는 방법 또는 컴퓨터-판독가능 매체 중 어느 하나에 대하여 구현될 수도 있다. 더욱이, 실시예들을 설명하기 위해 본 명세서에서 순서도 및/또는 상태도가 사용되었지만, 본 발명이 본 명세서의 이러한 도면들 또는 대응 설명에 한정되는 것은 아니다. 예를 들어, 각각의 도시된 박스 또는 상태로 또는 도시되고 설명된 것과 정확히 동일한 순서로 흐름이 이동될 필요는 없다.
본 발명은 본 명세서에 열거된 특정 상세로 제한되는 것이 아니다. 실제로, 본 명세서의 이점을 알고 있는 당업자는 본 발명의 범위 내에서 지금까지의 설명 및 도면에 다수의 다른 변경사항들이 이루어질 수 있다는 점을 이해할 것이다. 따라서, 본 발명의 범위를 정의하는 것은 임의의 보정을 포함하여 이하의 특허청구 범위이다.

Claims (24)

  1. 컴퓨팅 시스템의 동작을 관리하는 방법으로서,
    상기 컴퓨터 시스템 상의 다수의 작업부하를 판정하는 단계;
    각 작업부하에 대한 다수의 성능-전력 상태 및 각 성능-전력 상태에 대한 대응 성능 범위 및 전력 소비 범위를 판정하는 단계; 및
    상기 성능-전력 상태들에 기초하여 상기 컴퓨팅 시스템의 성능 및 전력 소비를 관리하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    각 작업부하에 대한 성능의 정의를 특정함으로써 각 작업부하에 대응하는 파라미터들을 판정하는 단계를 포함하는 방법.
  3. 제2항에 있어서,
    상기 성능의 정의는 상기 컴퓨팅 시스템의 아키텍쳐 특성들에 기초하는 방법.
  4. 제2항에 있어서,
    사용자 인터페이스를 통해 사용자로부터 각 작업부하에 대한 상기 성능의 정의를 수신하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    각 작업부하에 대한 상기 다수의 성능-전력 상태를 판정하는 단계는:
    각 시스템 동작 상태에서 각 작업부하를 운영하는 단계;
    각 시스템 동작 상태에서 각 작업부하에 대한 상기 컴퓨팅 시스템의 성능을 측정하는 단계; 및
    각 시스템 동작 상태에서 각 작업부하에 대한 상기 컴퓨팅 시스템의 전력 소비를 측정하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    시스템 관리 에이전트로부터의 입력에 응답하여 상기 컴퓨팅 시스템의 동작을 관리하는 단계를 포함하는 방법.
  7. 제6항에 있어서,
    상기 컴퓨팅 시스템의 동작을 관리하는 단계는:
    상기 전력 소비를 미리정해진 전력 한계 미만으로 유지하는 단계; 및
    상기 성능을 미리정해진 성능 레벨로 유지하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    각 성능-전력 상태는 최소 전력 소비 및 최소 성능만큼 이전 성능-전력 상태 및 이후 성능-전력 상태와 분리되는 방법.
  9. 제1항에 있어서,
    복수의 컴퓨팅 시스템에 대응하는 다수의 작업부하 및 각 작업부하에 대응하는 파라미터들을 판정하는 단계;
    각 작업부하에 대한 다수의 성능-전력 상태 및 각 성능-전력 상태에 대한 대응 성능 범위 및 전력 범위를 판정하는 단계; 및
    상기 성능-전력 상태들에 기초하여 상기 복수의 컴퓨팅 시스템의 성능 및 전력 소비를 관리하는 단계를 포함하는 방법.
  10. 제9항에 있어서,
    상기 복수의 컴퓨팅 시스템 외부에 위치되는 데이터센터 매니저로부터의 입력에 응답하여 상기 복수의 컴퓨팅 시스템의 동작을 관리하는 단계를 포함하는 방법.
  11. 제9항에 있어서,
    상기 복수의 컴퓨팅 시스템의 성능 및 전력 소비를 관리하는 단계는, 상기 복수의 컴퓨팅 시스템의 성능을 균일한 성능 레벨로 유지하면서 상기 복수의 컴퓨팅 시스템의 전체 전력 소비를 전력 한계 미만으로 유지하는 단계를 포함하는 방법.
  12. 컴퓨팅 시스템으로서,
    저장된 명령어들을 실행하도록 적응되는 프로세서; 및
    명령어들을 저장하는 스토리지 디바이스를 포함하고,
    상기 스토리지 디바이스는, 상기 프로세서에 의해 실행될 때,
    상기 컴퓨팅 시스템의 다수의 작업부하를 판정하고;
    각 작업부하에 대한 다수의 성능-전력 상태를 판정하고- 상기 성능-전력 상태를 판정하는 것은 상기 성능-전력 상태에 대한 성능 레벨 범위 및 전력 레벨 범위를 정의하는 것을 포함함 -;
    상기 성능-전력 상태들에 기초하여 상기 컴퓨팅 시스템의 성능 및 전력 소비를 관리하도록 적응되는 프로세서 실행가능 코드를 포함하는, 컴퓨팅 시스템.
  13. 제12항에 있어서,
    시스템 동작 상태는 구성가능한 파라미터들을 변경함으로써 상기 컴퓨팅 시스템이 특정 작업부하를 운영할 수 있는 상태를 포함하는 컴퓨팅 시스템.
  14. 제12항에 있어서,
    상기 성능-전력 상태는 상기 컴퓨팅 시스템이 상기 성능 레벨 범위 및 전력 레벨 범위 내에서 특정 작업부하를 운영할 수 있는 상태를 포함하는 컴퓨팅 시스템.
  15. 제12항에 있어서,
    상기 프로세서 실행가능 코드는 초기 시스템 부트 동안 상기 프로세서에 의해 실행되는 컴퓨팅 시스템.
  16. 제12항에 있어서,
    상기 프로세서 실행가능 코드는 주문형 운영 체제에 의해 상기 프로세서에 의해 실행되는 컴퓨팅 시스템.
  17. 제12항에 있어서,
    상기 프로세서 실행가능 코드는 다른 컴퓨팅 시스템의 사용자에 의한 요청에 대한 응답으로서 상기 프로세서에 의해 실행되는 컴퓨팅 시스템.
  18. 제12항에 있어서,
    상기 프로세서 실행가능 코드는 상기 성능-전력 상태들을 사용하여 상기 컴퓨팅 시스템의 성능과 전력 소비 사이의 균형을 달성하도록 적응되는 컴퓨팅 시스템.
  19. 제12항에 있어서,
    각 성능-전력 상태는 최소 전력 소비 및 최소 성능만큼 이전 성능-전력 상태 및 이후 성능-전력 상태와 분리되는 컴퓨팅 시스템.
  20. 명령어들이 저장된 적어도 하나의 비일시적 머신 판독가능 매체로서, 상기 명령어들은
    컴퓨팅 시스템 상에서 실행되는 것에 응답하여, 상기 컴퓨팅 시스템으로 하여금:
    상기 컴퓨팅 시스템의 다수의 작업부하를 판정하고;
    각 작업부하에 대한 다수의 성능-전력 상태 및 각 성능-전력 상태에 대한 대응 성능 범위 및 전력 범위를 판정하고;
    상기 성능-전력 상태들에 기초하여 상기 컴퓨팅 시스템의 성능 및 전력 소비를 제어하게 하는, 적어도 하나의 비일시적 머신 판독가능 매체.
  21. 제20항에 있어서,
    시스템 동작 상태는 구성가능한 파라미터들을 변경함으로써 상기 컴퓨팅 시스템이 특정 작업부하를 운영할 수 있는 상태를 포함하는, 적어도 하나의 비일시적 머신 판독가능 매체.
  22. 제20항에 있어서,
    성능-전력 상태는 상기 컴퓨팅 시스템이 특정 작업부하를 특정 성능 레벨 범위 및 특정 전력 레벨 범위 내에서 운영할 수 있는 상태를 포함하는, 적어도 하나의 비일시적 머신 판독가능 매체.
  23. 제20항에 있어서,
    상기 명령어들은 상기 컴퓨팅 시스템으로 하여금 상기 컴퓨팅 시스템의 복수의 아키텍쳐 특성 중 임의의 아키텍쳐 특성에 기초하여 각 작업부하에 대한 성능의 정의를 특정함으로써 각 작업부하에 대응하는 파라미터들을 판정하게 하는, 적어도 하나의 비일시적 머신 판독가능 매체.
  24. 제20항에 있어서,
    상기 컴퓨팅 시스템의 성능 및 전력 소비를 제어하는 것은 주어진 전력 사용율에서 상기 컴퓨팅 시스템의 최고 성능을 유지하는 것을 포함하는, 적어도 하나의 비일시적 머신 판독가능 매체.
KR1020147030735A 2012-05-14 2012-05-14 컴퓨팅 시스템의 동작 관리 Ceased KR20140140636A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/037812 WO2013172816A1 (en) 2012-05-14 2012-05-14 Managing the operation of a computing system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167026156A Division KR20160114195A (ko) 2012-05-14 2012-05-14 컴퓨팅 시스템의 동작 관리

Publications (1)

Publication Number Publication Date
KR20140140636A true KR20140140636A (ko) 2014-12-09

Family

ID=49584077

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147030735A Ceased KR20140140636A (ko) 2012-05-14 2012-05-14 컴퓨팅 시스템의 동작 관리
KR1020167026156A Ceased KR20160114195A (ko) 2012-05-14 2012-05-14 컴퓨팅 시스템의 동작 관리

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167026156A Ceased KR20160114195A (ko) 2012-05-14 2012-05-14 컴퓨팅 시스템의 동작 관리

Country Status (5)

Country Link
US (1) US9524009B2 (ko)
KR (2) KR20140140636A (ko)
CN (1) CN104246705B (ko)
TW (1) TWI594116B (ko)
WO (1) WO2013172816A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140140636A (ko) 2012-05-14 2014-12-09 인텔 코오퍼레이션 컴퓨팅 시스템의 동작 관리
US9927857B2 (en) 2014-08-22 2018-03-27 Intel Corporation Profiling a job power and energy consumption for a data processing system
US9588823B2 (en) 2014-12-24 2017-03-07 Intel Corporation Adjustment of execution of tasks
US9939834B2 (en) 2014-12-24 2018-04-10 Intel Corporation Control of power consumption
US10325217B2 (en) * 2015-02-10 2019-06-18 Ca, Inc. Generating state predictive metrics based on Markov chain model from application operational state sequences
US9891700B2 (en) * 2015-10-02 2018-02-13 Infineon Technologies Austria Ag Power management for datacenter power architectures
US10996737B2 (en) 2016-03-31 2021-05-04 Intel Corporation Method and apparatus to improve energy efficiency of parallel tasks
CN106020422A (zh) * 2016-05-24 2016-10-12 英业达科技有限公司 计算机系统的功耗控制方法及系统
US20180032418A1 (en) * 2016-08-01 2018-02-01 Futurewei Technologies, Inc. Application-Specific, Performance-Aware Energy Optimization
US10332320B2 (en) * 2017-04-17 2019-06-25 Intel Corporation Autonomous vehicle advanced sensing and response
US11940859B2 (en) 2018-11-16 2024-03-26 Hewlett Packard Enterprise Development Lp Adjusting power consumption limits for processors of a server
US11360827B2 (en) * 2019-06-04 2022-06-14 Hewlett Packard Enterprise Development Lp Regulating core and un-core processor frequencies of computing node clusters
US20210397476A1 (en) * 2020-06-18 2021-12-23 International Business Machines Corporation Power-performance based system management
KR20240022908A (ko) * 2022-08-12 2024-02-20 삼성전자주식회사 컴퓨팅 시스템 제어 장치 및 방법
CN115437565A (zh) * 2022-08-18 2022-12-06 至誉科技(武汉)有限公司 一种存储设备的主动功耗管理方法及系统
US12353730B2 (en) * 2022-09-08 2025-07-08 SK Hynix Inc. SSD performance per power state improvement by deterministic utilization control

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339445A (en) 1992-11-16 1994-08-16 Harris Corporation Method of autonomously reducing power consumption in a computer sytem by compiling a history of power consumption
US7475262B2 (en) * 2005-06-29 2009-01-06 Intel Corporation Processor power management associated with workloads
US7861068B2 (en) * 2006-03-07 2010-12-28 Intel Corporation Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
US8041521B2 (en) * 2007-11-28 2011-10-18 International Business Machines Corporation Estimating power consumption of computing components configured in a computing system
WO2009100528A1 (en) * 2008-02-13 2009-08-20 Cirba Inc. System and method for estimating combined workloads of systems with uncorrelated and non-deterministic workload patterns
US8301742B2 (en) * 2008-04-07 2012-10-30 International Business Machines Corporation Systems and methods for coordinated management of power usage and runtime performance in performance-managed computing environments
EP2283405A4 (en) * 2008-04-21 2014-07-30 Adaptive Computing Entpr Inc SYSTEM AND METHOD FOR MANAGING ENERGY CONSUMPTION IN A DATA PROCESSING ENVIRONMENT
US8103884B2 (en) 2008-06-25 2012-01-24 International Business Machines Corporation Managing power consumption of a computer
US8055477B2 (en) * 2008-11-20 2011-11-08 International Business Machines Corporation Identifying deterministic performance boost capability of a computer system
US9965333B2 (en) * 2009-04-13 2018-05-08 International Business Machines Corporation Automated workload selection
US8271818B2 (en) * 2009-04-30 2012-09-18 Hewlett-Packard Development Company, L.P. Managing under-utilized resources in a computer
US8589709B2 (en) * 2009-07-23 2013-11-19 Carnegie Mellon University Systems and methods for managing power consumption and performance of a processor
US9342375B2 (en) * 2011-10-26 2016-05-17 Hewlett Packard Enterprise Development Lp Managing workload at a data center
KR20140140636A (ko) 2012-05-14 2014-12-09 인텔 코오퍼레이션 컴퓨팅 시스템의 동작 관리

Also Published As

Publication number Publication date
TWI594116B (zh) 2017-08-01
US9524009B2 (en) 2016-12-20
US20140281647A1 (en) 2014-09-18
WO2013172816A1 (en) 2013-11-21
KR20160114195A (ko) 2016-10-04
CN104246705B (zh) 2019-10-11
CN104246705A (zh) 2014-12-24
TW201403312A (zh) 2014-01-16

Similar Documents

Publication Publication Date Title
US9524009B2 (en) Managing the operation of a computing device by determining performance-power states
US9857858B2 (en) Managing power consumption and performance of computing systems
TWI885210B (zh) 硬體處理器以及用於配置硬體資源的方法和系統
US11249811B2 (en) Method, apparatus, and computer program product for processing computing task
US9477295B2 (en) Non-volatile memory express (NVMe) device power management
US11106506B2 (en) Mapping resources to each layer of a neural network model based computing task
JP2026076225A (ja) クラスタコンピューティング環境を修正するための技術
US20170024285A1 (en) Automatic serial starting of resource groups on failover
CN114490048B (zh) 任务执行方法、装置、电子设备及计算机存储介质
CN107003901A (zh) 整体全局性能和功率管理
JP7654005B2 (ja) データセンタのためのパターン認識対応自律的構成最適化
US9984044B2 (en) Predicting performance regression of a computer system with a complex queuing network model
US20230342122A1 (en) Canary deployments based on changeset complexity in containerized environments
JP7265618B2 (ja) 深層学習トレーニングタスクに向けたプロセッサメモリを最適化するための方法及び装置
JP2021099860A (ja) タスク計算量決定方法、装置、電子機器及びコンピュータプログラム製品
CN111966361A (zh) 用于确定待部署模型的方法、装置、设备及其存储介质
US20250045102A1 (en) Systems, methods, and apparatus for assigning compute tasks to computational devices
CN103917950A (zh) 具有控制变量、性能度量和/或满意度函数的计算机系统性能管理
CN114764353B (zh) 用于信息处置系统(ihs)全系统优化的ml到ml的编排系统和方法
US20260119243A1 (en) Dock-based neural processing unit handoff to client computing device on disconnect of the client computing device
US12386409B2 (en) Power-aware scheduling in data centers
US9716640B2 (en) Managing isolation requirements of a multi-node workload application
KR101586712B1 (ko) 멀티 프로세서 시스템에서 태스크 의존성 그래프를 이용한 스케줄링 방법 및 장치
US20160142271A1 (en) Predicting Performance by Analytically Solving a Queueing Network Model
WO2019028596A1 (zh) 一种虚拟机的启动方法、装置和智能终端

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20141031

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20151007

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20160502

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20151007

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

AMND Amendment
PX0901 Re-examination

Patent event code: PX09011S01I

Patent event date: 20160502

Comment text: Decision to Refuse Application

Patent event code: PX09012R01I

Patent event date: 20160107

Comment text: Amendment to Specification, etc.

PX0601 Decision of rejection after re-examination

Comment text: Decision to Refuse Application

Patent event code: PX06014S01D

Patent event date: 20160823

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20160801

Comment text: Decision to Refuse Application

Patent event code: PX06011S01I

Patent event date: 20160502

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20160107

Comment text: Notification of reason for refusal

Patent event code: PX06013S01I

Patent event date: 20151007

A107 Divisional application of patent
J201 Request for trial against refusal decision
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20160922

PJ0201 Trial against decision of rejection

Patent event date: 20160922

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20160823

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Patent event date: 20160502

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Appeal identifier: 2016101005503

Request date: 20160922

J301 Trial decision

Free format text: TRIAL NUMBER: 2016101005503; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20160922

Effective date: 20180813

PJ1301 Trial decision

Patent event code: PJ13011S01D

Patent event date: 20180813

Comment text: Trial Decision on Objection to Decision on Refusal

Appeal kind category: Appeal against decision to decline refusal

Request date: 20160922

Decision date: 20180813

Appeal identifier: 2016101005503