KR20140133883A - 멀티-코어 환경들에서의 전력 소비 제어 - Google Patents
멀티-코어 환경들에서의 전력 소비 제어 Download PDFInfo
- Publication number
- KR20140133883A KR20140133883A KR1020147027020A KR20147027020A KR20140133883A KR 20140133883 A KR20140133883 A KR 20140133883A KR 1020147027020 A KR1020147027020 A KR 1020147027020A KR 20147027020 A KR20147027020 A KR 20147027020A KR 20140133883 A KR20140133883 A KR 20140133883A
- Authority
- KR
- South Korea
- Prior art keywords
- core
- frequency
- tile
- modulated
- power
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
-
- 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)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Dc-Dc Converters (AREA)
Abstract
멀티-코어 환경에서 제1 코어의 주파수를 변조할 수 있게 하는 시스템들 및 방법들은 제1 코어에 할당된 전력 한계를 결정하기 위한 로직, 제1 코어의 스톨 카운트를 결정하기 위한 로직 및 제1 코어에 할당된 전력 한계 및 제1 코어의 스톨 카운트에 적어도 기초하여 제1 코어의 주파수를 변조하기 위한 로직을 포함한다. 제1 코어는 멀티-코어 컴퓨터 환경에서 소켓의 제1 타일에 포함된다.
Description
고성능 컴퓨팅(HPC) 및 슈퍼컴퓨팅 환경들은 다수의 코어들의 통합을 요구할 수 있다. 그러나, 이러한 환경들에서의 전력 소비는 특별한 의미가 있을 수 있다.
본 발명의 실시예들의 각종 장점들은 당업자가 이하의 설명 및 첨부된 청구항들을 읽고, 이하의 도면들을 참조할 때 명백해질 것이다.
도 1은 일부 실시예들에 따른 일례의 컴퓨터 시스템을 도시한 블록도이다.
도 2는 일부 실시예들에 따른 멀티-코어 프로세서의 일례를 도시한 블록도이다.
도 3은 일부 실시예들에 따른 소켓 전력 제어 유닛(PCU)의 일례를 도시한 블록도이다.
도 4는 일부 실시예들에 따른 코어의 주파수를 제어하는데 사용될 수 있는 코어 로컬 전력 유닛(CLPU)의 일례를 도시한 블록도이다.
도 5는 일부 실시예들에 따른 타일의 코어의 주파수를 변조하는 일례의 방법의 흐름도이다.
도 1은 일부 실시예들에 따른 일례의 컴퓨터 시스템을 도시한 블록도이다.
도 2는 일부 실시예들에 따른 멀티-코어 프로세서의 일례를 도시한 블록도이다.
도 3은 일부 실시예들에 따른 소켓 전력 제어 유닛(PCU)의 일례를 도시한 블록도이다.
도 4는 일부 실시예들에 따른 코어의 주파수를 제어하는데 사용될 수 있는 코어 로컬 전력 유닛(CLPU)의 일례를 도시한 블록도이다.
도 5는 일부 실시예들에 따른 타일의 코어의 주파수를 변조하는 일례의 방법의 흐름도이다.
실시예들은 멀티-코어 환경에서 제1 코어의 주파수를 변조할 수 있게 하는 장치를 수반할 수 있으며, 본 장치는 제1 코어에 할당된 전력 한계를 결정하기 위한 로직, 제1 코어의 스톨 카운트를 결정하기 위한 로직 및 제1 코어에 할당된 전력 한계 및 제1 코어의 스톨 카운트에 적어도 기초하여 제1 코어의 주파수를 변조하기 위한 로직을 포함할 수 있다. 제1 코어는 멀티-코어 컴퓨터 환경에서 소켓의 제1 타일에 포함될 수 있다.
실시예들은 위상 동기 루프(PLL)가 멀티-코어 환경에서 클록 신호와 연관되도록 구성된 시스템을 수반할 수 있다. 본 시스템은 PLL과 연결되며 다수의 타일들을 포함하도록 구성된 소켓을 포함할 수 있다. 타일들 중 적어도 하나는 제1 코어 및 제2 코어를 포함할 수 있다. 제1 코어는 제1 코어에 할당된 전력 한계를 결정하고, 제1 코어의 스톨 카운트를 결정하며, 제1 코어에 할당된 전력 한계 및 제1 코어의 스톨 카운트에 적어도 기초하여 제1 코어의 주파수를 변조하기 위한 로직을 포함하도록 구성될 수 있다. 제1 코어의 주파수의 변조는 제1 코어와 연관되지 않은 타일들의 주파수와 무관하게 실행될 수 있다.
실시예들은 코어의 추정된 전력 요구 사항, 코어에 할당된 전력 한계 및 코어의 스톨 카운트에 적어도 기초하여 멀티-코어 환경의 제1 타일의 코어의 주파수를 다른 타일들의 코어들과 적어도 무관하게 변조하기 위한 컴퓨터 구현 방법을 수반할 수 있다. 제1 타일 및 다른 타일들은 소켓의 위상 동기 루프(PLL)와 연관될 수 있다.
도 1을 참조하면, 일부 실시예들에 따라, 일례의 컴퓨터 시스템(100)을 도시한 블록도가 도시되어 있다. 컴퓨터 시스템(100)은 중앙 처리 장치(CPU)(105), 그래픽 및 메모리 제어기 허브(GMCH)(110) 및 입력/출력 제어기 허브(ICH)(125)를 포함할 수 있다. GMCH(110)는 버스(107)를 통해 CPU(105)에 연결될 수 있다. ICH(125)는 버스(122)를 통해 GMCH(110)에 연결될 수 있다. GMCH(110)는 메모리 장치들(115) 및 디스플레이 장치들(120)에 또한 연결될 수 있다. ICH(125)는 I/O 장치들(130)에 연결될 수 있다. GMCH(110)는 그래픽 시스템(200)(도시되지 않음)을 포함할 수 있다. CPU(105), GMCH(110) 및 ICH(125)가 별개의 컴포넌트들로서 도시될 수 있더라도, 이 컴포넌트들 중 2개의 또는 그 이상의 컴포넌트들의 기능들은 결합될 수 있다. 전원(150)이 컴퓨터 시스템(100)에 전력을 제공하는데 사용될 수 있다. 전원(150)은 배터리 또는 외부 전원일 수 있다.
일부 실시예들에서, CPU(105)는 멀티-코어 프로세서일 수 있다. 예를 들어, 멀티-코어 프로세서는 캘리포니아주 산타클라라(Santa Clara, California)의 인텔사(Intel Corporation)의 MIC(Many Integrated Core) 아키텍처에 기초할 수 있으며, PCI 익스프레스(Peripheral Component Interconnect Express) 카드로서 구현될 수 있다. 컴퓨터 시스템(100)은 다수의 다른 컴포넌트들을 또한 포함할 수 있다; 그러나, 간단함을 위해, 도시되지 않았다. 일부 실시예들에서, 컴퓨터 시스템(100)은 서버 컴퓨터 시스템일 수 있다.
도 2를 참조하면, 일부 실시예들에 따라, 일례의 멀티-코어 프로세서를 도시한 블록도가 도시되어 있다. 멀티-코어 프로세서(200)는 다수의 코어들(240, 242, 250, 252, 260, 262, 270 및 272) 및 다수의 타일들(205, 215, 225 및 235)을 포함할 수 있다. 각각의 타일은 2개의 코어들을 포함할 수 있다. 예를 들어, 타일(205)은 코어들(240 및 242)을 포함할 수 있다. 멀티-코어 프로세서(200)에서 타일들 및 코어들의 수는 더욱 많을 수 있음을 주지해야만 한다. 예를 들어, 25개의 타일들에 50개의 코어들이 포함될 수 있다. 코어들(240-272) 및 타일들(205-235)은 소켓과 연관될 수 있다.
일반적으로, 멀티-코어 프로세서(200)는 모든 타일들(205-235) 및 코어들(240-272)에 대해 공통 기준 신호를 제공해서 동일한 주파수를 제공하는 단일 위상 동기 루프(PLL)(280)로 구현될 수 있다. 이는 모든 코어들(240-272)을 단일 주파수로 따라서 단일 성능 (P) 상태로 제한할 수 있다. 이러한 제한을 극복하기 위한 한가지 가능한 해결책은 코어 또는 타일당 하나의 PLL을 구현하는 것이다. 이는 타일(205)의 코어(240)를 하나의 P 상태(예를 들어, P0)로 두고, 타일(215)의 코어(250)를 상이한 P 상태(예를 들어, P1)로 둘 수 있게 할 수 있다. 그러나, 이 해결책은 설계 또는 전력 제한이 있을 때 실용적이지 못할 수 있다.
도 3을 참조하면, 일부 실시예들에 따라, 일례의 소켓 전력 제어 유닛(PCU)을 도시한 블록도가 도시되어 있다. PCU(305)는 소켓의 타일들 각각이 할당될 수 있는 전력 한계(310)를 할당하도록 구성될 수 있다. PCU(305)는 온도 한계(thermal limit)(315)를 타일에 또한 할당할 수 있다. PCU(305)는 타일들 각각으로부터 전력 추정치(320)를 수신하도록 구성될 수 있는 소켓 계량기(325)를 포함할 수 있다. 일부 실시예들에서, 타일에 할당된 전력 한계(310)는 타일의 전력 추정치(320)에 비례할 수 있다. PCU(305)는 소켓 전력 한계(실행 평균 전력 한계(310)(RAPL)라고도 함)(330)와 연관될 수 있다.
PCU(305)는 RAPL(330)에 기초하여 타일 전력 한계(310)를 정기적으로 (예를 들어, 매 수 밀리초마다) 재평가할 수 있다. PCU(305)는 타일로부터 수신된 전력 추정치(320)를 할당된 전력 한계(310)와 비교하도록 구성될 수 있다. 일부 실시예들에서, 전력 추정치(320)가 전력 한계(310)보다 더 적을 때, PCU(305)는 전력 한계(310)를 감소시킬 수 있다. 일부 실시예들에서, 전력 추정치(320)가 미리 결정된 범위 내에서 전력 한계(310)에 가까울 때, PCU(305)는 전력 한계(310)를 증가시킬 수 있다.
도 4를 참조하면, 일부 실시예들에 따라, 코어의 주파수를 제어하는데 사용될 수 있는 코어 로컬 전력 유닛의 도면이 도시되어 있다. 개별 코어들에서 실행중인 작업량들이 상이할 수 있으므로, 소켓에 대해 동일한 PLL을 사용하면서 동일한 소켓의 다른 코어들 또는 타일들과 무관하게 각각의 코어 또는 타일에 대해 P 상태를 제어할 수 있는 것이 유익할 수 있다. 본 일례에서, 코어 로컬 전력 유닛(CLPU)(400)은 코어(240)(도 3)와 연관될 수 있고, CLPU(401)는 코어(242)(도 3)와 연관될 수 있다.
CLPU(400)는 코어 에너지 모니터(405)를 포함할 수 있다. 일부 실시예들에서, 전력 추정치(320)(도 3에 도시됨)는 CLPU(400)의 코어 에너지 모니터(405) 및 CLPU(401)의 코어 에너지 모니터(도시되지 않음)에 의해 결정될 수 있다. CLPU(400)는 성능/스로틀(P/T) 선택 로직(410)을 포함할 수 있다. P/T 선택 로직(410)은 코어(240)의 전력 소비를 제어하도록 구성될 수 있다. 이는 코어(240)를 상이한 성능(P) 상태들 또는 스로틀(T) 상태들로 두는 것을 포함할 수 있다.
P/T 선택 로직(410)은 코어(240)가 동작중일 수 있는 클록 속도 또는 주파수를 변경하도록 구성될 수 있다. P/T 선택 로직(410)은 코어(240)의 전압 동작점을 또한 제어할 수 있다. 예를 들어, P0 상태일 때, 코어(240)는 비교적 높은 주파수 높은 성능 레벨에서 동작할 수 있으며, 더 많은 전력 소비를 할 수 있다; P1 상태일 때, 코어(240)의 주파수 및 성능은 더 낮을 수 있으며, 전력 소비가 더 적을 수 있다; T 또는 스로틀 상태일 때, 코어(240)는 주파수를 변조함으로써 스로틀링될 수 있고, 전력 소비는 최저일 수 있다. 코어(240)가 저 주파수 레벨로 동작하게 하여 코어(240)와 연관된 열 부하 및 냉각 요구 사항을 감소시킬 수 있다.
코어 에너지 모니터(405)는 코어 에너지(420)를 결정하기 위해 코어(240)로부터 활동 카운터(407)를 수신하도록 구성될 수 있다. 활동 카운터(407)는 코어(240)가 C0 상태로 되는 회수, 회수된 명령어들의 수, 코어 스톨들의 수 등과 관련된 정보를 포함할 수 있다.
P/T 선택 로직(410)은 코어 에너지 모니터(405)로부터의 코어 에너지(420), 코어(240)로부터의 코어 스톨 카운트(409), PCU(305)로부터의 온도 한계(315) 및 PCU(305)로부터의 전력 한계(310)에 관한 정보를 수신하도록 구성될 수 있다. 일부 실시예들에서, 전력 추정치(320)가 할당된 전력 한계(310)보다 더 크다고 결정될 때, CLPU(400)는 더 높은 코어 스톨들을 가진 코어의 주파수가 변조되게 야기할 수 있다. 임계값은 코어 스톨 카운트(409)가 코어(240)의 주파수의 변조에 영향을 줄 수 있는 레벨인 지를 결정하는데 사용될 수 있다. 예를 들어, 코어가 스톨할 때, 어떠한 명령어도 실행하지 않을 수 있다. 따라서, 코어의 주파수를 더 낮은 주파수로 변조하는 것은 성능에 영향을 주지 않을 수 있지만, 전력 소비를 감소시킬 수 있다. 주파수의 변조는 코어 스톨 비율(예를 들어, 스톨 대 비스톨(not stall))에 비례할 수 있으며, 전력 한계에 의해 제한될 수 있다. 코어의 주파수의 변조는 코어 클록 변조 모듈(420)에 의해 실행될 수 있다. 코어 클록 변조 모듈(420)은 코어 클록 게이팅 제어(415)에 연결될 수 있다. 코어 클록 게이팅 제어(415)는 PLL(280)(도 2에 도시됨)에 연결될 수 있다. 추정된 전력(320) 및 전력 한계(310)에 기초하여 소켓의 코어들의 주파수를 변조함으로써, 개별 코어들의 성능 및 전력 소비가 최적화될 수 있다. 일부 실시예들에서, 코어의 주파수의 변조는 할당된 온도 한계(315)에 더 기초할 수 있다. 예를 들어, 코어의 온도가 할당된 온도 한계(315)에 가깝다고 결정될 때, P/T 선택 로직(410)은 코어의 주파수를 감소시킬 수 있다. P/T 선택 로직(410)은 사용자 요구 사항(490) 및 운영 체제(OS) 요구 사항(495)을 수신하고, 이 요구 사항들을 사용해서 어떻게 주파수를 변조할 지를 결정할 수 있다.
도 5를 참조하면, 일부 실시예들에 따라, 코어 로컬 전력 유닛(CLPU)에 의해 실행되는 프로세스를 도시한 일례의 흐름도가 도시되어 있다. 프로세스는 코어(240)의 전력 소비를 관리하는 CLPU(400)에 대응할 수 있다. 블록(505)에서, CLPU는 코어에 할당된 전력 한계를 결정할 수 있다. 전력 한계는 PCU(305)(도 4에 도시됨)에 의해 할당될 수 있다. 블록(510)에서, 코어에 의해 요구된 추정 전력이 결정될 수 있다. 추정 전력 요구 사항은 코어 에너지 모니터(405)(도 4 및 도 5에 도시됨)에 의해 결정될 수 있다. 도시된 블록(515)에서, 전력 한계는 PCU(305)에 의해 코어에 할당된 전력이 적합한 지를 결정하기 위해 추정 전력 요구 사항과 비교된다. 예를 들어, 추정 전력 요구 사항이 PCU(305)에 의해 할당된 전력 한계보다 훨씬 더 적을 때, 전력 한계는 감소할 수 있다. 블록(520)에서, 코어 스톨들의 수가 결정될 수 있다. 블록(525)에서, 코어의 주파수가 추정 전력 요구 사항과 전력 한계 간의 비교 결과에 기초하여 또한 코어 스톨들의 수에 기초하여 변조될 수 있다. 예를 들어, 코어 스톨들의 수가 미리 결정된 임계값보다 더 크고 추정 전력 요구 사항이 전력 한계보다 더 적을 때, 주파수는 감소할 수 있다. 도 5에 도시되지 않았지만, 코어의 주파수는 PCU(305)에 의해 코어에 할당된 온도 한계에 기초하여 또한 변조될 수 있다.
각종 실시예들은 하드웨어 요소들, 소프트웨어 요소들 또는 둘의 조합을 사용해서 구현될 수 있다. 하드웨어 요소들의 일례들은 프로세서들, 마이크로프로세서들, 회로들, 회로 요소들(예를 들어, 트랜지스터들, 저항기들, 커패시터들, 인덕터들 등), 집적 회로들, 주문형 반도체들(ASIC), 프로그래밍 가능 로직 장치들(PLD), 디지털 신호 프로세서들(DSP), 필드 프로그래밍 가능 게이트 어레이(FPGA), 로직 게이트들, 레지스터들, 반도체 장치, 칩들, 마이크로칩들, 칩셋들 등을 포함할 수 있다. 소프트웨어의 일례들은 소프트웨어 컴포넌트들, 프로그램들, 애플리케이션들, 컴퓨터 프로그램들, 애플리케이션 프로그램들, 시스템 프로그램들, 기계 프로그램들, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈들, 루틴들, 서브루틴들, 함수들, 메소드들, 프로시져들, 소프트웨어 인터페이스들, 애플리케이션 프로그램 인터페이스들(API), 명령어 집합들, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트들, 컴퓨터 코드 세그먼트들, 단어들, 값들, 심볼들 또는 그 임의의 조합을 포함할 수 있다. 실시예가 하드웨어 요소들 및/또는 소프트웨어 요소들을 사용해서 구현될 지를 결정하는 것은 희망 계산율, 전력 레벨들, 열 허용 오차들, 프로세싱 순환 예산, 입력 데이터율, 출력 데이터율, 메모리 리소스들, 데이터 버스 속도들 및 다른 설계 또는 성능 제약 사항들 등의 임의의 수의 요인들에 따라 변할 수 있다.
적어도 하나의 실시예의 하나의 또는 그 이상의 양상들은, 기계에 의해 판독될 때, 기계가 본 명세서에 기술된 기술들을 실행하기 위한 로직을 제조하게 야기하는, 프로세서 내의 각종 로직을 나타내는 기계 판독 가능 매체에 저장된 대표적인 명령어들에 의해 구현될 수 있다. "IP 코어들"이라고 공지된 이러한 표현들은 유형의 기계 판독 가능 매체에 저장되고, 로직 또는 프로세서를 실제로 만드는 제조 기계들에 로드하기 위해 각종 고객들 또는 제조 설비들에 제공될 수 있다.
일례의 크기들/모델들/값들/범위들이 제공되었을 수 있지만, 본 발명의 실시예들은 동일한 것으로 제한되지 않는다. 제조 기술들(예를 들어, 포토리소그래피)이 시간이 지남에 따라 발달하기에, 더 작은 크기의 장치들이 제조될 수 있다고 예상된다. 또한, 실례 및 설명의 평이성을 위해, 또한, 본 발명의 실시예들의 특정 양상들을 모호하게 하지 않도록, 집적 회로(IC) 칩들 및 다른 컴포넌트들로의 널리 공지된 전력/접지 커넥션들은 도면들 내에 도시될 수도 도시되지 않을 수도 있다. 또한, 본 발명의 실시예들을 모호하게 함을 방지하기 위해, 또한, 블록도 구성들의 구현에 대한 세부 사항들이 실시예가 구현될 플랫폼에 매우 좌우된다는 사실의 견지에서, 즉, 이러한 세부 사항들은 당업자의 권한 안에 있다는 견지에서, 구성들은 블록도 형태로 도시될 수 있다. 특정 세부 사항들(예를 들어, 회로들)이 본 발명의 일례의 실시예들을 기술하기 위해 기재되는 경우, 본 발명의 실시예들은 이러한 특정 세부 사항들의 변형 없이, 또는 변형하여 실시될 수 있음이 당업자에게 명백하다. 따라서, 본 설명은 제한이 아니라 예시적인 것으로 간주될 것이다.
용어 "연결된(coupled)"은 본 명세서에서 해당 컴포넌트들 간의, 직접적이든 또는 간접적이든, 임의의 타입의 관계를 나타내는데 사용되며, 전기적, 기계적, 유동적, 광학적, 전자기적, 전기 기계적 또는 다른 커넥션들에 적용될 수 있다. 또한, 용어들 "제1(first)", "제2(second)" 등은 오직 설명을 용이하게 하기 위해서만 본 명세서에서 사용될 수 있으며, 달리 지시되지 않는 한, 특정한 시간적 또는 발생 순서적 의미를 지니지 않는다.
당업자는 본 발명의 실시예들의 광범위한 기술들이 다양한 형태들로 구현될 수 있음을 상술된 설명으로부터 알 것이다. 따라서, 본 발명의 실시예들이 특정 일례들과 관련하여 기술되었지만, 도면들, 명세서 및 이하의 청구항들을 연구할 때 당업자에게 다른 변경들이 명백해질 것이므로, 본 발명의 실시예들의 참 범위는 그렇게 제한되지 않아야만 한다.
Claims (28)
- 제1 코어에 할당된 전력 한계를 결정하기 위한 로직;
상기 제1 코어의 스톨 카운트를 결정하기 위한 로직; 및
상기 제1 코어에 할당된 전력 한계 및 상기 제1 코어의 스톨 카운트에 적어도 기초하여 상기 제1 코어의 주파수를 변조하기 위한 로직
을 포함하고, 상기 제1 코어는 멀티-코어 컴퓨터 환경에서 소켓의 제1 타일에 포함되는 장치. - 제1항에 있어서,
상기 제1 코어의 추정된 전력 요구 사항을 결정하기 위한 로직을 더 포함하며, 상기 제1 코어의 주파수는 상기 제1 코어의 추정된 전력 요구 사항에 더 기초하여 변조되는 장치. - 제2항에 있어서,
상기 전력 한계는 상기 소켓과 연관된 전력 제어 유닛(PCU)에 의해 상기 제1 코어에 할당되는 장치. - 제1항에 있어서,
상기 제1 코어의 주파수를 변조하기 위한 로직은 상기 소켓과 연관된 위상 동기 루프(PLL)와 연결되는 장치. - 제4항에 있어서,
상기 소켓은 상기 제1 타일 및 제2 타일을 포함하도록 구성되고, 상기 제1 타일 및 상기 제2 타일은 상기 PLL과 연관되는 장치. - 제5항에 있어서,
상기 제1 코어의 주파수는 상기 제2 타일과 연관된 주파수와 무관하게 변조되는 장치. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 제1 타일은 상기 제1 코어 및 제2 코어를 포함하며, 상기 제1 코어의 주파수는 상기 제2 코어와 연관된 주파수와 무관하게 변조되는 장치. - 제3항에 있어서,
상기 PCU에 의해 상기 제1 코어에 할당된 온도 한계(thermal limit)를 결정하기 위한 로직을 더 포함하는 장치. - 제8항에 있어서,
상기 제1 코어의 주파수는 상기 온도 한계에 기초하여 변조되는 장치. - 제2항에 있어서,
상기 스톨 카운트가 임계값보다 더 높고 상기 추정된 전력 요구 사항이 상기 전력 한계보다 더 적을 때 상기 제1 코어의 주파수가 감소하는 장치. - 제2항에 있어서,
상기 제1 코어의 주파수는 코어 스톨 비율(core stall ratio)에 비례하여 변조되는 장치. - 제1항 내지 제11항 중 어느 한 항에 있어서,
상기 제1 코어의 주파수는 상기 전력 한계의 경계 내에서 변조되는 장치. - 제2항에 있어서,
상기 제1 코어의 추정된 전력 요구 사항은 상기 제1 코어와 연관된 코어 로컬 전력 유닛(CLPU)의 코어 에너지 모니터에 의해 결정되는 장치. - 코어의 추정된 전력 요구 사항, 상기 코어에 할당된 전력 한계 및 상기 코어의 스톨 카운트에 적어도 기초하여 멀티-코어 환경의 제1 타일의 코어의 주파수를 다른 타일들의 코어들과 적어도 무관하게 변조하는 단계
를 포함하고, 상기 제1 타일 및 상기 다른 타일들은 소켓의 위상 동기 루프(PLL)와 연관되는 컴퓨터 구현 방법. - 제14항에 있어서,
상기 코어의 추정된 전력 요구 사항을 결정하는 단계;
상기 코어에 할당된 전력 한계를 결정하는 단계; 및
상기 코어의 스톨 카운트를 결정하는 단계
를 더 포함하는 컴퓨터 구현 방법. - 제15항에 있어서,
상기 제1 타일의 코어의 주파수를 변조하는 단계는, 코어 스톨들의 수가 임계값보다 더 높고 상기 추정된 전력 요구 사항이 상기 전력 한계보다 더 적을 때 상기 코어의 주파수를 감소하는 단계를 포함하는 컴퓨터 구현 방법. - 제15항에 있어서,
상기 코어의 주파수는 코어 스톨 비율에 비례하여 변조되는 컴퓨터 구현 방법. - 제17항에 있어서,
상기 코어의 주파수는 상기 전력 한계의 경계 내에서 변조되는 컴퓨터 구현 방법. - 제14항에 있어서,
상기 코어의 추정된 전력 요구 사항은 상기 코어와 연관된 코어 로컬 전력 유닛(CLPU)의 코어 에너지 모니터에 의해 결정되는 컴퓨터 구현 방법. - 제14항에 있어서,
상기 제1 타일의 코어의 주파수는 상기 제1 타일의 다른 코어와 무관하게 변조되는 컴퓨터 구현 방법. - 제14항에 있어서,
상기 스톨 카운트가 임계값보다 더 높고 상기 추정된 전력 요구 사항이 상기 전력 한계보다 더 적을 때 상기 제1 타일의 코어의 주파수가 감소하는 컴퓨터 구현 방법. - 제14항 내지 제21항 중 어느 한 항에 있어서,
상기 코어의 주파수는 코어 스톨 비율에 비례하여 변조되는 컴퓨터 구현 방법. - 제14항 내지 제21항 중 어느 한 항에 있어서,
상기 코어의 주파수는 상기 전력 한계의 경계 내에서 변조되는 컴퓨터 구현 방법. - 멀티-코어 환경에서 클록 신호와 연관되도록 구성된 위상 동기 루프(PLL); 및
상기 PLL과 연결되며 다수의 타일들을 포함하도록 구성된 소켓
을 포함하고,
상기 타일들 중 적어도 하나는 제1 코어 및 제2 코어를 포함하며, 상기 제1 코어는
제1 코어에 할당된 전력 한계를 결정하고;
상기 제1 코어의 스톨 카운트를 결정하며;
상기 제1 코어와 연관되지 않은 타일들의 주파수와 무관하게 상기 제1 코어에 할당된 전력 한계 및 상기 제1 코어의 스톨 카운트에 적어도 기초하여 상기 제1 코어의 주파수를 변조하기 위한
로직을 포함하도록 구성되는 시스템. - 제24항에 있어서,
상기 제1 코어는 상기 제1 코어의 추정된 전력 요구 사항을 결정하기 위한 로직을 포함하도록 더 구성되는 시스템. - 제25항에 있어서,
상기 제1 코어의 주파수는 상기 제1 코어의 추정된 전력 요구 사항에 기초하여 변조되는 시스템. - 제25항에 있어서,
상기 제1 코어의 주파수는 상기 제1 코어에 할당된 전력 한계와 상기 제1 코어의 추정된 전력 요구 사항 간의 비교에 기초하여 변조되는 시스템. - 제24항 내지 제27항 중 어느 한 항에 있어서,
상기 제1 코어의 주파수는 상기 제2 코어의 주파수와 무관하게 변조되는 시스템.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/031751 WO2013147906A1 (en) | 2012-03-31 | 2012-03-31 | Controlling power consumption in multi-core environments |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140133883A true KR20140133883A (ko) | 2014-11-20 |
KR101677115B1 KR101677115B1 (ko) | 2016-11-18 |
Family
ID=49260959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147027020A KR101677115B1 (ko) | 2012-03-31 | 2012-03-31 | 멀티-코어 환경들에서의 전력 소비 제어 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9846475B2 (ko) |
KR (1) | KR101677115B1 (ko) |
CN (1) | CN104185827B (ko) |
DE (1) | DE112012006163T5 (ko) |
GB (1) | GB2514972B (ko) |
TW (1) | TWI483101B (ko) |
WO (1) | WO2013147906A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9846475B2 (en) | 2012-03-31 | 2017-12-19 | Intel Corporation | Controlling power consumption in multi-core environments |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10114649B2 (en) | 2015-05-26 | 2018-10-30 | International Business Machines Corporation | Thermal availability based instruction assignment for execution |
US20170212581A1 (en) * | 2016-01-25 | 2017-07-27 | Qualcomm Incorporated | Systems and methods for providing power efficiency via memory latency control |
WO2019117962A1 (en) * | 2017-12-15 | 2019-06-20 | Intel Corporation | Power control circuitry |
US11709748B2 (en) * | 2019-11-21 | 2023-07-25 | Apple Inc. | Adaptive memory performance control by thread group |
US11106267B2 (en) * | 2019-11-27 | 2021-08-31 | Amazon Technologies, Inc. | Dynamic processor core frequency adjustment |
US20240004444A1 (en) * | 2022-06-30 | 2024-01-04 | Advanced Micro Devices, Inc. | Rest-of-chip power optimization through data fabric performance state management |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060090086A1 (en) * | 2004-10-27 | 2006-04-27 | Efraim Rotem | Method and apparatus to monitor power consumption of processor |
JP2011089950A (ja) * | 2009-10-26 | 2011-05-06 | Renesas Electronics Corp | 半導体集積回路およびその動作方法 |
JP2011233158A (ja) * | 2006-12-29 | 2011-11-17 | Intel Corp | Pcuにプロセッサアーキテクチャイベントをファクタリングすることによる電力使用の最適化 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849332B1 (en) * | 2002-11-14 | 2010-12-07 | Nvidia Corporation | Processor voltage adjustment system and method |
US8086884B2 (en) * | 2002-12-16 | 2011-12-27 | Hewlett-Packard Development Company, L.P. | System and method for implementing an integrated circuit having dynamically variable power limit |
US20050050310A1 (en) | 2003-07-15 | 2005-03-03 | Bailey Daniel W. | Method, system, and apparatus for improving multi-core processor performance |
KR101108397B1 (ko) * | 2005-06-10 | 2012-01-30 | 엘지전자 주식회사 | 멀티-코어 프로세서의 전원 제어 장치 및 방법 |
US7490254B2 (en) | 2005-08-02 | 2009-02-10 | Advanced Micro Devices, Inc. | Increasing workload performance of one or more cores on multiple core processors |
US8079031B2 (en) | 2005-10-21 | 2011-12-13 | Intel Corporation | Method, apparatus, and a system for dynamically configuring a prefetcher based on a thread specific latency metric |
US7949887B2 (en) * | 2006-11-01 | 2011-05-24 | Intel Corporation | Independent power control of processing cores |
US7730340B2 (en) * | 2007-02-16 | 2010-06-01 | Intel Corporation | Method and apparatus for dynamic voltage and frequency scaling |
US8443209B2 (en) * | 2009-07-24 | 2013-05-14 | Advanced Micro Devices, Inc. | Throttling computational units according to performance sensitivity |
US8943334B2 (en) * | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US8631256B2 (en) * | 2010-12-22 | 2014-01-14 | Via Technologies, Inc. | Distributed management of a shared power source to a multi-core microprocessor |
US9292070B2 (en) * | 2012-03-05 | 2016-03-22 | Advanced Micro Devices, Inc. | Method and apparatus with stochastic control based power saving operation |
WO2013137859A1 (en) * | 2012-03-13 | 2013-09-19 | Intel Corporation | Providing energy efficient turbo operation of a processor |
CN104185827B (zh) | 2012-03-31 | 2017-03-15 | 英特尔公司 | 控制多核环境中的功率消耗 |
-
2012
- 2012-03-31 CN CN201280072139.6A patent/CN104185827B/zh active Active
- 2012-03-31 DE DE112012006163.2T patent/DE112012006163T5/de active Granted
- 2012-03-31 US US13/977,525 patent/US9846475B2/en active Active
- 2012-03-31 WO PCT/US2012/031751 patent/WO2013147906A1/en active Application Filing
- 2012-03-31 KR KR1020147027020A patent/KR101677115B1/ko active IP Right Grant
- 2012-03-31 GB GB1417066.6A patent/GB2514972B/en active Active
-
2013
- 2013-03-05 TW TW102107669A patent/TWI483101B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060090086A1 (en) * | 2004-10-27 | 2006-04-27 | Efraim Rotem | Method and apparatus to monitor power consumption of processor |
JP2011233158A (ja) * | 2006-12-29 | 2011-11-17 | Intel Corp | Pcuにプロセッサアーキテクチャイベントをファクタリングすることによる電力使用の最適化 |
JP2011089950A (ja) * | 2009-10-26 | 2011-05-06 | Renesas Electronics Corp | 半導体集積回路およびその動作方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9846475B2 (en) | 2012-03-31 | 2017-12-19 | Intel Corporation | Controlling power consumption in multi-core environments |
Also Published As
Publication number | Publication date |
---|---|
DE112012006163T5 (de) | 2015-01-08 |
GB2514972B (en) | 2020-10-21 |
TW201403301A (zh) | 2014-01-16 |
CN104185827A (zh) | 2014-12-03 |
KR101677115B1 (ko) | 2016-11-18 |
TWI483101B (zh) | 2015-05-01 |
US9846475B2 (en) | 2017-12-19 |
GB2514972A (en) | 2014-12-10 |
GB201417066D0 (en) | 2014-11-12 |
CN104185827B (zh) | 2017-03-15 |
US20150019891A1 (en) | 2015-01-15 |
WO2013147906A1 (en) | 2013-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101677115B1 (ko) | 멀티-코어 환경들에서의 전력 소비 제어 | |
US11402887B2 (en) | Techniques to enable communication between a processor and voltage regulator | |
US11221857B2 (en) | Collaborative processor and system performance and power management | |
EP2879017B1 (en) | Performing an operating frequency change using a dynamic clock control technique | |
US9671854B2 (en) | Controlling configurable peak performance limits of a processor | |
JP5770300B2 (ja) | 処理ノードの熱制御のための方法および装置 | |
US9760158B2 (en) | Forcing a processor into a low power state | |
CN108885483B (zh) | 确定多管芯处理器中的热余量 | |
US10025361B2 (en) | Power management across heterogeneous processing units | |
US11029744B2 (en) | System, apparatus and method for controlling a processor based on effective stress information | |
US20130033306A1 (en) | Performance of digital circuits using current management | |
RU2014106859A (ru) | Способ и система для построения маломощной компьютерной системы | |
US9405351B2 (en) | Performing frequency coordination in a multiprocessor system | |
US20160378551A1 (en) | Adaptive hardware acceleration based on runtime power efficiency determinations | |
US10860083B2 (en) | System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail | |
US20240111560A1 (en) | Workload linked performance scaling for servers | |
CN116263723A (zh) | 功率管理看门狗 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |