TWI550413B - 用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程 - Google Patents

用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程 Download PDF

Info

Publication number
TWI550413B
TWI550413B TW103120160A TW103120160A TWI550413B TW I550413 B TWI550413 B TW I550413B TW 103120160 A TW103120160 A TW 103120160A TW 103120160 A TW103120160 A TW 103120160A TW I550413 B TWI550413 B TW I550413B
Authority
TW
Taiwan
Prior art keywords
core
memory
performance
processor
logic
Prior art date
Application number
TW103120160A
Other languages
English (en)
Other versions
TW201437828A (zh
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 TW201437828A publication Critical patent/TW201437828A/zh
Application granted granted Critical
Publication of TWI550413B publication Critical patent/TWI550413B/zh

Links

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
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • 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/461Saving or restoring of program or task context
    • 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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Power Sources (AREA)
  • Multi Processors (AREA)
  • Microcomputers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程
本發明之揭示係大致有關電子學之領域。更具體而言,本發明之一實施例係有關將異質多處理器運算平台中之應用程式排程之技術。
為了改善效能,某些運算系統包含多個處理器。然而,多處理器運算系統的擴展受到電力之限制。亦即,當將更多的處理器加入一系統時,電力消耗將增加。此外,額外的電力消耗將產生更多的熱。因此,熱及電力要求可能限制了多處理器運算系統的擴展。
本發明說明了用來將異質多處理器運算平台中之應用程式排程之方法及裝置。在一實施例中,在一些計數器及/或表中儲存(且追蹤)一處理器的複數個處理器核心的 與效能(例如,執行效能及/或電力消耗效能)有關之資訊。該處理器中之邏輯根據該被儲存之資訊決定哪一處理器核心應執行一應用程式。也申請其他實施例之專利範圍,且揭示該等其他實施例。
100,500,600‧‧‧運算系統
102,102-1~102-N,502,602,604‧‧‧處理器
104,112,504‧‧‧互連網路
106,106-1~106-M‧‧‧處理器核心
108‧‧‧共用式快取記憶體
110‧‧‧路由器
114,512,610,612‧‧‧記憶體
116,116-1‧‧‧第1階(L1)及/或第2階(L2)快取記憶體
120‧‧‧邏輯
122‧‧‧計數器
124,124-1‧‧‧效能歷史表
202‧‧‧提取單元
204‧‧‧解碼單元
206‧‧‧排程單元
208‧‧‧執行單元
210‧‧‧引退單元
214‧‧‧匯流排單元
503‧‧‧電腦網路
506,620‧‧‧晶片組
508,606,608‧‧‧記憶體控制中心
510‧‧‧記憶體控制器
514‧‧‧圖形介面
516‧‧‧顯示裝置
518‧‧‧控制中心介面
520‧‧‧輸入/輸出控制中心
522,640,644‧‧‧匯流排
524‧‧‧周邊裝置橋接器
526‧‧‧音訊裝置
528‧‧‧磁碟機
530‧‧‧網路介面裝置
616,618,626,628,630,632,637,641‧‧‧點對點介面電路
614,622,624‧‧‧點對點介面
634‧‧‧圖形電路
636‧‧‧圖形介面
642‧‧‧匯流排橋接器
643‧‧‧輸入/輸出裝置
645‧‧‧鍵盤/滑鼠
646‧‧‧通訊裝置
647‧‧‧音訊輸入/輸出裝置
648‧‧‧資料儲存裝置
649‧‧‧程式碼
前文中已參照各附圖而提供了實施方式。在該等圖式中,代號最左方的數字識別該代號首次出現的圖式。在不同的圖式中使用相同的代號時,係標示類似的或相同的項目。
第1、5、及6圖示出可被用來實施本發明中述及的各實施例的運算系統的實施例之方塊圖。
第2圖示出根據一實施例的運算系統的處理器核心及其他組件的一些部分之方塊圖。
第3-4圖示出根據某些實施例之流程圖。
在下文的說明中,述及了許多特定細節,以便提供對各實施例的徹底了解。然而,可在沒有這些特定細節的情形下實施本發明的各實施例。在其他的情形中,並未詳述習知的方法、程序、組件、及電路,以便不會模糊了本發明的特定實施例。此外,可使用諸如半導體積體電路("硬體")、被組織成一或多個程式之電腦可讀取的指令("軟體")、或硬體及軟體的某一組合等的各種方式執行 本發明的該等實施例之各種態樣。在本發明的揭示中,提及"邏輯"時將意指硬體、軟體、或硬體及軟體的某一組合。此外,在本說明書的說明中,對"指令"及"微運算"(uop)的使用是可互換的。
由於諸如用於伺服器及用戶端平台的晶片多處理器(Chip Multiprocessor;簡稱CMP)的日漸普及,所以異質CMP開始獲得重視。例如,較小的處理器核心可提供較佳的效能/瓦特優勢。因而將一些較小的處理器核心加入一些較大的處理器核心可能是有吸引力的。如本發明所述,異質CMP包含在效能、面積、及/或功率消耗上不同的一組核心。此種平台有機會可將運算資源對應到各種應用程式,因而可在某些實施例中實現效能及功率效率(power efficiency)。
然而,異質CMP平台設計中之一個關鍵性挑戰是應用程式的排程,亦即,將效能及/或功率效率最佳化的各應用程式至該複數個處理器核心之對應。為了達到此一目的,一實施例係有關:將各應用程式動態地排程到(諸如單一積體電路(Integrated Circuit;簡稱IC)晶片/晶粒上的)一些異質核心。在一實施例中,可將兩個組件用來將應用程式排程。第一,可提供一處理器核心模型化預測試探法(processor core modeling prediction heuristics)。第二,可將一排程邏輯用來根據該核心模型化預測試探法而將一些應用程式排程到各異質處理器核心。
可將本發明述及的該等技術用於諸如參照第1圖及5- 6圖所述的處理器等的具有效能狀態設定之任何類型的處理器。更具體而言,第1圖示出根據本發明的一實施例的運算系統100之方塊圖。系統100可包含一或多個處理器102-1至102-N(在本說明書中一般被稱為"各處理器102"或"處理器102")。該等處理器102可經由一互連網路或匯流排104而通訊。每一處理器可包含各種組件,但是為了顧及清晰,只參照處理器102-1而說明該等組件中之某些組件。因此,其餘處理器102-2至102-N中之每一處理器可包含與參照處理器102-1所述的組件相同或類似之組件。
在一實施例中,處理器102-1可包含一或多個處理器核心106-1至106-M(在本說明書中被稱為"各核心106",或更一般被"核心106")、一共用式快取記憶體108、及/或一路由器110。可在積體電路(IC)單晶片上實施該等處理器核心106。此外,該晶片可包含一或多個共用式及/或私有快取記憶體(諸如快取記憶體108)、匯流排或互連(諸如匯流排或互連網路112、記憶體控制器(諸如參照第5及6圖所述的那些記憶體控制器)、或其他組件。此外,該等核心106可以是異質的(例如,如本發明所述,具有不同的尺寸、效能特性、電力消耗特性等的特性)。
在一實施例中,路由器110可被用於處理器102-1及/或系統100的各組件間之通訊。此外,處理器102-1可包含一個以上的路由器110。此外,可使該等多個路由器 110進行通訊,而使資料能夠在處理器102-1之內或之外的各組件之間傳送。
共用式快取記憶體108可儲存被處理器102-1的諸如該等核心106等的一或多個組件利用之資料(例如,其中包括指令)。例如,共用式快取記憶體108可在本地緩衝儲存一記憶體114中儲存之資料,以供處理器102的各組件可進行較快速的存取。在一實施例中,快取記憶體108可包括一中間階快取記憶體(諸如一第2階(L2)、一第3階(L3)、一第4階(L4)、或其他階的快取記憶體)、一最後階快取記憶體(Last Level Cache;簡稱LLC)、及/或以上各項之組合。此外,處理器102-1的各組件可經由一匯流排(例如,匯流排112)及/或一記憶體控制器或記憶體控制中心而與共用式快取記憶體108直接通訊。如第1圖所示,在某些實施例中,該等核心106中之一或多個核心可包含一第1階(L1)及/或第2階(L2)快取記憶體116-1(在本說明書中一般被稱為"L1/L2快取記憶體116")。在各實施例中,L1及/或L2快取記憶體116可以是私有的或被共用的。
在一實施例中,如將於下文中參照第2-4圖而進一步說明的,該等核心中之每一核心可包含用來協助將各應用程式指定給該系統中之各處理器核心之一邏輯120。例如,可根據一或多個計數器122(諸如用來指示該系統中之一或多個其他核心的效能之一或多個效能計數器)中儲存之資訊而(諸如由一作業系統(Operating System;簡 稱OS))指定該等應用程式。亦可根據可被用來作為索引而檢索一表(諸如一效能歷史表(Performance History Table;簡稱PHT)124-1)之一程序識別碼(ID)而(諸如由該OS)指定該等應用程式。該表可被儲存在共用式記憶體(諸如記憶體114及/或共用式快取記憶體108)或處理器102或核心106(例如,PHT 124-1)中之諸如一私有快取記憶體(例如,L1/L2快取記憶體116)等的一專用儲存裝置。如將於下文中參照諸如第2-4圖而進一步說明的,於將各應用程式排程時,該表可將資訊,提示提供給該作業系統(OS)。在某些實施例中,可將該OS及應用程式儲存在記憶體114(或第5圖所示之記憶體512及第6圖所示之記憶體610/612)。
第2圖示出根據本發明的一實施例的運算系統的處理器核心106及其他組件的一些部分之方塊圖。在一實施例中,第2圖所示之箭頭示出指令通過核心106之流動方向。可在諸如參照第1圖所述的一單一積體電路晶片(或晶粒)中實施一或多個處理器核心(諸如處理器核心106)。此外,該晶片可包含一或多個共用式及/或私有快取記憶體(例如,第1圖所示之快取記憶體106及108)、一些互連(例如,第1圖所示之互連104及/或112)、邏輯120、一或多個計數器、一些記憶體控制器、或其他組件。
如第2圖所示,處理器核心106可包含一提取單元202,用以提取指令(其中包括具有條件分支之指令)以 供核心106執行。可自諸如記憶體114及/或參照第4及5圖述及的記憶體裝置等的任何儲存裝置提取該等指令。核心106亦可包含一解碼單元204,用以將被提取的指令解碼。例如,解碼單元204可將被提取的指令解碼為複數個微運算(micro-operation)。此外,核心106可包含一排程單元206。在被解碼的指令(例如,自解碼單元204接收的指令)已準備好可供派發之前,例如,在取得被解碼的指令之所有來源值之前,排程單元206可執行與該等指令相關聯的各種操作。在一實施例中,排程單元206可將被解碼的指令排程且/或將被解碼的指令發出(或派發)到一執行單元208以供執行。在指令被解碼(例如,被解碼單元204解碼)且被派發(例如,被排程單元206派發)之後,執行單元208可執行該等被派發的指令。在一實施例中,執行單元208可包括一個以上的執行單元。執行單元208亦可執行諸如加法、減法、乘法、及/或除法等的各種算術運算,且可包含一或多個算術邏輯單元(Arithmetic Logic Unit;簡稱ALU)。在一實施例中,一共處理器(圖中未示出)可配合執行單元208而執行各種算術運算。
此外,執行單元208可以非循序方式執行各指令。因此,在一實施例中,處理器核心106可以是一非循序處理器核心。核心106亦可包含一引退單元210。在提交(commit)了被執行的指令之後,引退單元210可引退該等指令。在一實施例中,被執行的指令之引退可能導致: 處理器狀態被自指令之執行提交;以及該等指令使用的實體暫存器被解除分配等的程序。
核心106亦可包含一匯流排單元214,用以啟動處理器核心106的各組件與其他組件(諸如參照第1圖所述的該等組件)之間經由一或多個匯流排(例如,匯流排104及/或102)的通訊。核心106亦可包含一或多個計數器122,用以儲存核心106的其中包括(參照第1及3-4圖所述的)邏輯120的各組件所存取之資料。
此外,在某些實施例中,邏輯120不只是追蹤應用程式的效能,而且在該應用程式係在該系統中之另一核心被執行時,也(諸如根據該等計數器122中儲存的值而)預測該應用程式的執行及/或電力消耗效能。可將該資訊提供給OS,且該OS可根據諸如電力、效能、能量臨界值、及以上各項的組合等的各種臨界值執行排程。例如,該OS及/或邏輯120可比較所考慮的該等處理器核心之各種執行或電力消耗效能資料,且(根據本發明述及的各種臨界值)作出與哪一核心將提供較佳的執行或電力消耗效能有關之決定。
根據一實施例,可使用一基於簽章(signature)的方法。例如,每一應用程式可在該系統中之一或多個核心上被執行,且應用程式效能統計資料可被儲存在該PHT中。效能統計資料可包括每一指令的週期數(Cycles Per Instruction;簡稱CPI)及每一指令的未命中數(Misses Per Instruction;簡稱MPI)等的效能統計資料。例如, 如樣本表1所示,每一表條目可具有三或四個欄位。第一欄位指示程序識別碼,第二欄位被用來儲存該應用程式在大核心上被執行時的CPI,且最後的欄位儲存該應用程式在小核心上被執行時的效能。當該應用程式的執行環境被切換到另一核心時,邏輯120可取得新資訊,且更新PHT 124。
PHT 124的大小可以是相當小的。例如,如果只使用CPI,則每一條目的位元組數目是儲存該歷史資訊所需的記憶體容量。PHT 124亦可被儲存在該應用程式之程序控制區塊(Process Control Block;簡稱PCB),且/或於該應用程式被排程執行時可被載入另一記憶體(例如,PHT 124、快取記憶體116、記憶體114、或快取記憶體108等)。該方法可被延伸到一程序之外,且可被用於一程序內之各熱點(hotspot)。
如第3圖所示,一旦建立了該PHT之後,每當該應用程式被排程執行時,邏輯120自該PHT讀取資訊,並將提示提供給該OS,以供該OS根據一些預定度量(諸如電力/效能等的度量)而訂出最佳的排程政策。
請參閱第3圖,圖中示出根據一實施例的基於簽章的模型化預測試探法之流程圖。在某些實施例中,可將參照第1-2及5-6圖所述的各組件用來執行參照第3圖所述的一或多個操作。
請參閱第1-3圖,在一操作302中,於環境切換(context switch)時,(諸如自一程序控制區塊或本發明述及的另一位置)載入應用程式。在一操作304中,邏輯120自PHT讀取資訊。在操作306中,根據該PHT資訊而決定該程序是對一大處理器核心或小處理器核心(諸如在效能或電力消耗上)是最佳的。然後在操作308中,(於根據諸如邏輯120決定的電力消耗及/或效能考慮的一實施例中)將該資訊傳送到OS。在一操作310中,邏輯120(諸如根據操作306中之該最新決定)收集進一步的歷史資訊,且更新該PHT資訊。
請參閱第4圖,圖中示出根據一實施例的基於效能的模型化預測試探法之流程圖。在某些實施例中,可將參照第1-2及5-6圖所述的各組件用來執行參照第4圖所述的一或多個操作。
請參閱第1-2及4圖,在一操作402中,於環境切換時,(諸如自一程序控制區塊或本發明述及的另一位置)載入應用程式。在一操作404中,邏輯120讀取效能計數器(諸如計數器122)中儲存之值。在操作406中,根據該效能計數器資訊而決定該程序是對一大處理器核心或小處理器核心(諸如在效能或電力消耗上)是最佳的。然後 在操作408中,(於根據諸如邏輯120決定的電力消耗及/或效能考慮的一實施例中)將該資訊傳送到OS。在一操作410中,邏輯120(諸如根據操作406中之該最新決定)收集進一步的歷史資訊,且更新該效能計數器(諸如計數器122)。
在一基於效能計數器之方法中,根據某些實施例,可使用一動態模型,該動態模型可在一應用程式正在一大核心上被執行時有效地預測該應用程式在一小核心上之效能,且可作反向的預測。該方法使用效能計數器(諸如計數器122),且根據下列方程式而預測效能:小核心中之週期數=((大核心中之週期數-大核心中之停頓週期數)*小核心之發出寬度/大核心之發出寬度*乘法因子)+(大核心中之L1未命中*小核心之L1未命中損失)+(大核心中之L2未命中*小核心之L2未命中損失)
在一實施例中,可根據L2未命中以及載入/儲存指令的數目而以經驗方式推導出該乘法因子。在某些實施例中,大核心可具有數目為小核心所具有的兩倍之載入/儲存單元。此外,在某些實施例中,由於缺少在某些工作負載中觀測到的記憶體層級平行性,所以有顯著L2未命中的應用程式可能無法受益於大核心的非循序本質。
大核心中之週期數=((小核心中之週期數-小核心中之停頓週期數)*大核心之發出寬度/小核心之發出寬度)/(1-停頓因子)
可在大核心上執行該等應用程式一次,且收集停頓週 期數及總週期數效能資料,而推導出停頓因子。此外,某些平台可包含各種效能計數器,用以識別由於諸如快取記憶體未命中及浮點停頓等的長延遲時間操作而造成的停頓。這些停頓被用於邏輯120時,再配合諸如被引退的載入/儲存指令及L2未命中計數器等的其他計數器,可協助預測該應用程式若在另一核心上執行時的效能。縱然該等平台中並無特定的記憶體停頓計數器,也可以使用該等平台中之其他停頓計數器估計該等停頓。
關於排程,某些實施例可根據邏輯120提供的效能資訊而將各應用程式對應到大其小核心,其方式如下:(1)對於單一應用程式而言,如果大核心與小核心間之效能比率大於一可程式值,則將該應用程式排程到該大核心;否則,將該應用程式排程到該小核心。該可程式值可被儲存在該核心,且可根據各種電力/效能度量而使用一些機器狀態暫存器(Machine State Register;簡稱MSR)寫入該可程式值;(2)對於多個應用程式而言,諸如有需要被排程的N個應用程式時,將根據該等N個應用程式的大核心與小核心之效能比率而將各應用程式排序。前面N/2個應用程式(例如,具有最大增益的應用程式)被排程到該大核心,且後面N/2個應用程式被排程到該小核心。
在某些實施例中,可使用下列計數器(例如,計數器122)中之一或多個計數器:(1)核心時脈週期:該計數器計算該核心處於 現用狀態而執行指令的週期之數目;(2)被引退的指令:該計數器計算該核心在特定時間樣本期間引退的指令之數目;(3)L2未命中:該計數器計算未命中L2的記憶體參照(memory reference)之數目;(4)排程器停頓:該計數器計算該小核心無法將指令排程的週期之數目(亦可根據該小核心中之L2未命中及L2未命中延遲時間之乘積而推導出該計數);(5)資源停頓:該計數器計算由於諸如保留區(reservation station)等的資源之無法取得或長延遲時間未命中等的因素而導致該大核心停頓的週期之數目;及/或(6)分支停頓:該計數器計算由於分支錯誤預測而損失的週期之總數目。
第5圖示出根據本發明的一實施例的運算系統500之方塊圖。運算系統500可包含經由一互連網路(或匯流排)504而通訊之一或多個中央處理單元(Central Processing Unit;簡稱CPU)502或處理器。該等處理器502可包括一般用途處理器、網路處理器(該網路處理器處理經由一電腦網路503而傳送的資料)、或其他類型的處理器(其中包括精簡指令集電腦(Reduced Instruction Set Computer;簡稱RISC)處理器或複雜指令集電腦(Complex Instruction Set Computer;簡稱CISC)處理器))。此外,處理器502可具有單一或多個核心的設 計。具有多個核心設計之處理器502可將不同類型的處理器核心整合到相同的積體電路(IC)晶粒中。此外,可將有多個核心設計之處理器502實施為對稱式或非對稱式多處理器。在一實施例中,該等處理器502中之一或多個處理器可相同於或類似於第1圖所示之該等處理器102。例如,該等處理器502中之一或多個處理器可包含參照第1-4圖所述之核心106。此外,可以運算系統500的一或多個組件執行參照第1-4圖所述的該等操作。
一晶片組506亦可與互連網路504通訊。晶片組506可包含一記憶體控制中心(Memory Control Hub;簡稱MCH)508。MCH 808可包含與一記憶體512通訊之一記憶體控制器510(記憶體512可相同於或類似於第1圖所示之記憶體114)。記憶體512可儲存可被CPU 502或運算系統500中包含的任何其他裝置執行的其中包括指令序列之資料。在本發明的一實施例中,記憶體512可包括一或多個諸如隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、同步動態隨機存取記憶體(Synchronous DRAM;簡稱SDRAM)、靜態機存取記憶體(Static RAM;簡稱SRAM)、或其他類型的儲存裝置等的揮發性儲存(或記憶體)裝置。亦可使用諸如硬碟等的非揮發性記憶體。諸如多個CPU及/或多個系統記憶體等的額外之裝置可經由互連網路504而通訊。
MCH 508亦可包含與一顯示裝置516通訊之一圖形介面514。在本發明的一實施例中,圖形介面514可經由一 加速圖形埠(Accelerated Graphics Port;簡稱AGP)而與顯示裝置516通訊。在本發明的一實施例中,顯示裝置516(諸如一平板顯示器)可經由諸如一信號轉換器而與圖形介面514通訊,該信號轉換器將諸如視訊記憶體或系統記憶體等的一儲存裝置中儲存的影像之數位表示法轉換為將被該顯示器516解譯及顯示之顯示信號。該顯示裝置產生的該等顯示信號可先通過各種控制裝置,然後才被顯示器516解譯且隨即在顯示器516上顯示。
一控制中心介面518可讓MCH 508與一輸入/輸出控制中心(Input/output Control Hub;簡稱ICH)520通訊。ICH 520可將一介面提供給與運算系統500通訊之一或多個輸入/輸出(I/O)裝置。ICH 520可經由諸如一周邊組件互連(Peripheral Component Interconnect;簡稱PCI)橋接器、一通用序列匯流排(Universal Serial Bus;簡稱USB)控制器、或其他類型的周邊裝置橋接器或控制器等的一周邊裝置橋接器(或控制器)524而與一匯流排522通訊。橋接器524可提供CPU 502與各周邊裝置間之一資料路徑。可使用其他類型的拓撲。此外,多個匯流排可諸如經由多個橋接器或控制器而與ICH 520通訊。此外,在本發明的各實施例中,與ICH 520通訊的其他周邊裝置可包括一或多個整合式磁碟電子介面(Integrated Drive Electronics;簡稱IDE)或小型電腦系統介面(Small Computer System Interface;簡稱SCSI)硬碟機、一或多個USB埠、一鍵盤、一滑鼠、一或多個 平行埠、一或多個序列埠、一或多個軟碟機、以及數位輸出支援(例如,數位視訊介面(Digital Video Interface;簡稱DVI)、或其他裝置。
匯流排522可與一音訊裝置526、一或多個磁碟機528、以及一網路介面裝置530(該網路介面裝置530係與電腦網路503通訊)。其他裝置亦可經由匯流排522而通訊。此外,在本發明之某些實施例中,各種組件(例如,網路介面裝置530)可與MCH 508通訊。此外,處理器502及MCH 508可被合併,而構成一單晶片。此外,在本發明的其他實施例中,圖形加速器516可被包含在MCH 508中。
此外,運算系統500可包含揮發性及/或非揮發性記憶體(或儲存裝置)。例如,非揮發性記憶體可包括下列各項中之一或多項:唯讀記憶體(Read Only Memory;簡稱ROM)、可程式唯讀記憶體(Programmable ROM;簡稱PROM)、可抹除可程式唯讀記憶體(Erasable PROM;簡稱EPROM)、電氣可抹除可程式唯讀記憶體(Electrically EPROM;簡稱EEPROM)、磁碟機(例如528)、軟碟、唯讀光碟(Compact Disk ROM;簡稱CD-ROM)、數位多功能光碟(Digital Versatile Disk;簡稱DVD)、快閃記憶體、磁光碟、或可儲存電子資料(例如,其中包括指令)的其他類型之非揮發性機器可讀取的媒體。
第6圖示出根據本發明的一實施例而被配置成點對點 (Point-to-Point;簡稱PtP)組態之一運算系統600。第6圖尤其示出以一些點對點介面將處理器、記憶體、及輸入/輸出裝置互連之一系統。系統600的一或多個組件可執行參照第1-5圖所述之該等操作。
如第6圖所示,系統600可包含數個處理器,而為了顧及圖式的清晰,圖中只示出兩個處理器602及604。處理器602及604可分別包含一本地記憶體控制中心(MCH)606及608,用以進行與記憶體610及612間之通訊。記憶體610及/或612可儲存諸如參照第5圖的記憶體512所述之各種資料。
在一實施例中,處理器602及604可以是參照第5圖所述的該等處理器502中之一處理器。處理器602及604可分別使用點對點介面電路616及618而經由一點對點介面614交換資料。此外,處理器602及604可分別使用點對點介面電路626、628、630、及632而經由個別的點對點介面622及624與一晶片組620交換資料。晶片組620可進一步使用諸如一點對點介面電路637以經由一圖形介面636而與一圖形電路634交換資料。
本發明的至少一實施例可提供於處理器602及604內。例如,第1-5圖所示之該等核心106可被設置在處理器602及604內。然而,本發明之其他實施例可在第6圖所示之系統600內存在有其他的電路、邏輯單元、或裝置。此外,本發明的其他實施例可能被分佈了第6圖所示之數個電路、邏輯單元、或裝置。
晶片組620可使用一點對點介面電路641與一匯流排640通訊。匯流排640可與諸如一匯流排橋接器642及一些I/O裝置643等的一或多個裝置通訊。匯流排橋接器642可經由一匯流排644而與諸如一鍵盤/滑鼠645、一些通訊裝置646(例如,可與電腦網路503通訊的數據機、網路介面裝置、或其他通訊裝置)、音訊I/O裝置647、及/或資料儲存裝置648等的其他裝置通訊。資料儲存裝置648可儲存處理器602及/或604可執行的程式碼649。
在本發明之各實施例中,可將本發明參照諸如第1-6圖所述之該等操作實施為硬體(例如,邏輯電路)、軟體、韌體、或以上各項之組合,且可以電腦程式產品之形式提供以上各項或其組合,例如,該電腦程式產品包括儲存了用來將電腦程式化成執行本發明述及的程序的指令(或軟體程序)之(諸如非暫時性)機器可讀取的或電腦可讀取的媒體。該機器可讀取的媒體可包括諸如參照第1-6圖所述之儲存裝置等的儲存裝置。
此外,可以電腦程式產品之形式下載此種電腦可讀取的媒體,其中可經由一通訊鏈路(例如,一匯流排、一數據機、或一網路連接)且利用載波或其他傳播媒介中提供之資料信號而將程式自一遠端電腦(例如,一伺服器)傳輸到提出要求的電腦(例如,一用戶端電腦)。
在本說明書中提及"一個實施例"或"一實施例"時,意指參照該一或多個實施例述及的一特定的特性、結構、或特徵可被包含在至少一實施方式中。在本說明書的各處中 出現詞語"在一實施例中"時,可以或並不會都參照到相同的實施例。
此外,在說明及申請專利範圍中,可使用術語"被耦合"及"被連接"以及其衍生詞。在本發明之某些實施例中,"被連接"可被用來指示兩個或更多個元件相互在實體上或電性上直接接觸。"被耦合"可意指:兩個或更多個元件在實體上或電性上直接接觸。然而,"被耦合"亦可意指:兩個或更多個元件可能沒有相互直接接觸,但仍然可相互配合或作用。
因此,雖然已以與結構特徵及/或方法行動有關的語文說明了本發明之實施例,但是我們應可了解:所申請之專利標的物可不限於本說明書中述及的該等特定的特徵或行動。更確切地說,係以實施所申請之專利標的物之樣本形式揭示該等特定的特徵或行動。
100‧‧‧運算系統
102-1~-102-N‧‧‧處理器
104‧‧‧互連網路
106~106-M‧‧‧處理器核心
108‧‧‧共用式快取記憶體
110‧‧‧路由器
112‧‧‧互連網路
114‧‧‧記憶體
116-1‧‧‧第1階(L1)及/或第2階(L2)快取記憶體
124-1‧‧‧效能歷史表

Claims (4)

  1. 一種晶片多處理器,包括:複數個異質處理器核心,包含至少一或多個大核心及一或多個小核心,其中該一或多個小核心相較於該一或該些多個大核心具有效能/瓦特優勢;儲存單元,用以當程序在該一或多個大核心上或在該一或多個小核心上執行時,儲存用於該程序的歷史資訊;以及邏輯,用以基於效能及電力臨界值,排程用於在該一或多個大核心之一者,或在該一或多個小核心之一者上執行的該程序;其中,該邏輯係用於提供該歷史資訊至作業系統以排程該程序,且用於更新該歷史資訊。
  2. 如申請專利範圍第1項之晶片多處理器,其中,該邏輯係回應於環境切換,用於提供該歷史資訊至作業系統且用於更新該歷史資訊。
  3. 如申請專利範圍第2項之晶片多處理器,其中,該邏輯收集進一步的歷史資訊,以基於收集的資訊更新儲存的該歷史資訊。
  4. 如申請專利範圍第1項之晶片多處理器,其中,該邏輯係每當該程序被環境切換至其他核心大小時,收集進一步的歷史資訊,以更新儲存的該歷史資訊。
TW103120160A 2010-09-25 2011-09-26 用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程 TWI550413B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/890,653 US9268611B2 (en) 2010-09-25 2010-09-25 Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores

Publications (2)

Publication Number Publication Date
TW201437828A TW201437828A (zh) 2014-10-01
TWI550413B true TWI550413B (zh) 2016-09-21

Family

ID=45871864

Family Applications (3)

Application Number Title Priority Date Filing Date
TW105119960A TWI603207B (zh) 2010-09-25 2011-09-26 用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程
TW100134629A TWI450104B (zh) 2010-09-25 2011-09-26 用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程
TW103120160A TWI550413B (zh) 2010-09-25 2011-09-26 用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程

Family Applications Before (2)

Application Number Title Priority Date Filing Date
TW105119960A TWI603207B (zh) 2010-09-25 2011-09-26 用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程
TW100134629A TWI450104B (zh) 2010-09-25 2011-09-26 用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程

Country Status (9)

Country Link
US (2) US9268611B2 (zh)
JP (1) JP5774707B2 (zh)
KR (2) KR101561496B1 (zh)
CN (1) CN103119580B (zh)
BR (1) BR112013006483A2 (zh)
DE (1) DE112011103216T5 (zh)
GB (1) GB2497449B (zh)
TW (3) TWI603207B (zh)
WO (1) WO2012040684A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI742964B (zh) * 2016-12-31 2021-10-11 美商英特爾股份有限公司 用於異質計算之系統,方法,及設備

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397088B1 (en) 2009-07-21 2013-03-12 The Research Foundation Of State University Of New York Apparatus and method for efficient estimation of the energy dissipation of processor based systems
WO2013162589A1 (en) * 2012-04-27 2013-10-31 Intel Corporation Migrating tasks between asymmetric computing elements of a multi-core processor
WO2013178864A1 (en) * 2012-05-29 2013-12-05 Nokia Corporation A method and apparatus for deferring processor selection
WO2013177765A1 (en) 2012-05-30 2013-12-05 Intel Corporation Runtime dispatching among heterogeneous group of processors
KR102001414B1 (ko) 2012-09-27 2019-07-18 삼성전자주식회사 데이터 트랜잭션에 따라 전력공급을 제어하는 시스템-온-칩 및 그 동작방법
US9037889B2 (en) 2012-09-28 2015-05-19 Intel Corporation Apparatus and method for determining the number of execution cores to keep active in a processor
US9619284B2 (en) 2012-10-04 2017-04-11 Intel Corporation Dynamically switching a workload between heterogeneous cores of a processor
US8949659B2 (en) 2012-10-18 2015-02-03 International Business Machines Corporation Scheduling workloads based on detected hardware errors
CN111522585A (zh) * 2012-12-28 2020-08-11 英特尔公司 基于平台热以及功率预算约束,对于给定工作负荷的最佳逻辑处理器计数和类型选择
US9442559B2 (en) 2013-03-14 2016-09-13 Intel Corporation Exploiting process variation in a multicore processor
US9727345B2 (en) 2013-03-15 2017-08-08 Intel Corporation Method for booting a heterogeneous system and presenting a symmetric core view
KR101553649B1 (ko) 2013-05-13 2015-09-16 삼성전자 주식회사 멀티 코어 장치 및 멀티 코어 장치의 작업 스케줄링 방법
KR102110812B1 (ko) * 2013-05-30 2020-05-14 삼성전자 주식회사 멀티 코어 시스템 및 멀티 코어 시스템의 작업 스케줄링 방법
WO2014204437A2 (en) * 2013-06-18 2014-12-24 Empire Technology Development Llc Tracking core-level instruction set capabilities in a chip multiprocessor
US20150220340A1 (en) * 2013-10-04 2015-08-06 Rajkishore Barik Techniques for heterogeneous core assignment
CN103645954B (zh) * 2013-11-21 2018-12-14 华为技术有限公司 一种基于异构多核体系的cpu调度方法、装置和系统
CN103646006B (zh) * 2013-11-26 2016-08-31 乐视致新电子科技(天津)有限公司 一种处理器的调度方法、装置和系统
JP6260303B2 (ja) 2014-01-29 2018-01-17 富士通株式会社 演算処理装置及び演算処理装置の制御方法
CN103942103A (zh) * 2014-04-16 2014-07-23 乐视致新电子科技(天津)有限公司 多核体系中处理器调度策略的生成方法及装置、调度系统
WO2015165045A1 (zh) * 2014-04-29 2015-11-05 华为技术有限公司 一种功率控制方法及装置
KR102197874B1 (ko) 2014-09-01 2021-01-05 삼성전자주식회사 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 쓰레드 스케줄링 방법
KR102354848B1 (ko) 2014-11-28 2022-01-21 삼성전자주식회사 캐시 메모리 장치 및 이를 포함하는 전자 시스템
US10101786B2 (en) * 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US10133602B2 (en) * 2015-02-19 2018-11-20 Oracle International Corporation Adaptive contention-aware thread placement for parallel runtime systems
CN104809078B (zh) * 2015-04-14 2019-05-14 苏州中晟宏芯信息科技有限公司 基于退出退让机制的共享高速缓存硬件资源访问方法
US11003565B2 (en) 2015-04-21 2021-05-11 Hewlett-Packard Development Company, L.P. Performance change predictions
US10073718B2 (en) 2016-01-15 2018-09-11 Intel Corporation Systems, methods and devices for determining work placement on processor cores
US10303488B2 (en) * 2016-03-30 2019-05-28 Sony Interactive Entertainment Inc. Real-time adjustment of application-specific operating parameters for backwards compatibility
US10296074B2 (en) * 2016-08-12 2019-05-21 Qualcomm Incorporated Fine-grained power optimization for heterogeneous parallel constructs
US11513805B2 (en) * 2016-08-19 2022-11-29 Wisconsin Alumni Research Foundation Computer architecture with synergistic heterogeneous processors
FR3056786B1 (fr) * 2016-09-29 2019-11-22 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede de gestion des taches de calcul sur un processeur multi-cœurs fonctionnellement asymetrique
US9747139B1 (en) * 2016-10-19 2017-08-29 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance
US11281586B2 (en) 2017-05-09 2022-03-22 Andes Technology Corporation Processor and way prediction method thereof
US10628223B2 (en) * 2017-08-22 2020-04-21 Amrita Vishwa Vidyapeetham Optimized allocation of tasks in heterogeneous computing systems
CN109937410B (zh) * 2017-10-25 2021-02-23 华为技术有限公司 核心调度方法和终端
US11138037B2 (en) 2017-11-02 2021-10-05 Mediatek Inc. Switch policy for hybrid scheduling in multi-processor systems
US10812416B2 (en) * 2017-12-27 2020-10-20 International Business Machines Corporation Reduced number of counters for reliable messaging
US11347679B2 (en) 2018-02-08 2022-05-31 Alibaba Group Holding Limited Hybrid system-on-chip for power and performance prediction and control
CN108664285A (zh) * 2018-05-10 2018-10-16 Oppo广东移动通信有限公司 应用程序预加载方法、装置、存储介质及移动终端
TWI698798B (zh) * 2018-10-22 2020-07-11 致茂電子股份有限公司 一種多核心運算裝置及其運作方法
US10649688B1 (en) * 2018-11-01 2020-05-12 Intel Corporation Precise longitudinal monitoring of memory operations
KR102552954B1 (ko) * 2018-11-07 2023-07-06 삼성전자주식회사 컴퓨팅 시스템 및 컴퓨팅 시스템의 동작 방법
GB2583103B (en) * 2019-04-16 2022-11-16 Siemens Ind Software Inc Tracing instruction execution
US11544105B2 (en) * 2019-09-11 2023-01-03 Google Llc Recommendations for scheduling jobs on distributed computing devices
TWI791929B (zh) * 2019-11-28 2023-02-11 瑞昱半導體股份有限公司 通用分析裝置與方法
US20210182194A1 (en) * 2020-12-26 2021-06-17 Intel Corporation Processor unit resource exhaustion detection and remediation
CN113609126B (zh) * 2021-07-06 2022-03-11 无锡四维时空信息科技有限公司 一种众源时空数据的一体化存储管理方法及系统
CN118170503A (zh) * 2022-12-02 2024-06-11 华为技术有限公司 一种异构处理器及相关调度方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200638267A (en) * 2005-04-22 2006-11-01 Chi Mei Comm Systems Inc Method for adjusting CPU speed of an electronic appliance
TW200703116A (en) * 2005-07-01 2007-01-16 Hon Hai Prec Ind Co Ltd Method for estimating CPU power
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US20090055826A1 (en) * 2007-08-21 2009-02-26 Kerry Bernstein Multicore Processor Having Storage for Core-Specific Operational Data
US20090055122A1 (en) * 2007-08-24 2009-02-26 International Business Machines Corportation On-Chip Frequency Response Measurement

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2683344B1 (fr) * 1991-10-30 1996-09-20 Bull Sa Systeme multiprocesseur avec moyens microprogrammes pour la repartition des processus aux processeurs.
GB2272085A (en) 1992-10-30 1994-05-04 Tao Systems Ltd Data processing system and operating system.
JPH09167141A (ja) 1995-12-18 1997-06-24 Hitachi Ltd 負荷分散制御方法
US6298370B1 (en) 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
US6134675A (en) 1998-01-14 2000-10-17 Motorola Inc. Method of testing multi-core processors and multi-core processor testing device
US6021076A (en) 1998-07-16 2000-02-01 Rambus Inc Apparatus and method for thermal regulation in memory subsystems
US6161188A (en) 1998-11-17 2000-12-12 Ip-First, L.L.C. Microprocessor having fuse control and selection of clock multiplier
US6728892B1 (en) 1999-09-15 2004-04-27 Koninklijke Philips Electronics N.V. Method for conserving power in a can microcontroller and a can microcontroller that implements this method
JP2001175627A (ja) * 1999-12-21 2001-06-29 Toshiba Corp 分散処理計算機システム
US7165257B2 (en) 2000-02-08 2007-01-16 Mips Technologies, Inc. Context selection and activation mechanism for activating one of a group of inactive contexts in a processor core for servicing interrupts
US7032119B2 (en) 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US20030070013A1 (en) 2000-10-27 2003-04-10 Daniel Hansson Method and apparatus for reducing power consumption in a digital processor
US7140016B2 (en) 2000-11-29 2006-11-21 Texas Instruments Incorporated Media accelerator quality of service
JP3817449B2 (ja) 2001-07-30 2006-09-06 株式会社ルネサステクノロジ データ処理装置
EP1306632A1 (en) * 2001-10-25 2003-05-02 Shell Internationale Researchmaatschappij B.V. Process for liquefying natural gas and producing liquid hydrocarbons
US6804632B2 (en) 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US6907548B2 (en) 2002-01-02 2005-06-14 Intel Corporation Automatic testing for multi-core architecture
US20040006729A1 (en) 2002-07-03 2004-01-08 Pendurkar Rajesh Y. Hierarchical test methodology for multi-core chips
KR100498487B1 (ko) 2003-02-08 2005-07-01 삼성전자주식회사 고속제어회로 및 저속·저전력 제어회로를 구비하는프로세서
JP4090908B2 (ja) 2003-02-21 2008-05-28 シャープ株式会社 画像処理装置および画像形成装置
DE10313605B4 (de) 2003-03-26 2009-03-19 Qimonda Ag Vorrichtung und Verfahren zum Steuern mehrerer Speicherbausteine
US7093147B2 (en) 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7673784B2 (en) * 2003-12-09 2010-03-09 Swagelok Company High production welding fixture
US7197652B2 (en) 2003-12-22 2007-03-27 International Business Machines Corporation Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring
EP1555595A3 (en) 2004-01-13 2011-11-23 LG Electronics, Inc. Apparatus for controlling power of processor having a plurality of cores and control method of the same
US7984442B2 (en) 2004-01-29 2011-07-19 Klingman Edwin E Intelligent memory device multilevel ASCII interpreter
US20050204346A1 (en) * 2004-03-09 2005-09-15 Intel Corporation Using sampling data for program phase detection
JP3862715B2 (ja) 2004-06-01 2006-12-27 株式会社ソニー・コンピュータエンタテインメント タスク管理方法、タスク管理装置、半導体集積回路、電子装置、およびタスク管理システム
JP4197672B2 (ja) 2004-09-30 2008-12-17 株式会社東芝 マルチプロセッサ計算機及びプログラム
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US20060168571A1 (en) * 2005-01-27 2006-07-27 International Business Machines Corporation System and method for optimized task scheduling in a heterogeneous data processing system
US20060212677A1 (en) 2005-03-15 2006-09-21 Intel Corporation Multicore processor having active and inactive execution cores
CN100527089C (zh) 2005-04-27 2009-08-12 松下电器产业株式会社 信息处理装置中的功率控制装置
JP4367856B2 (ja) 2005-07-07 2009-11-18 レノボ シンガポール プライヴェート リミテッド プロセス制御システム及びその制御方法
US7694107B2 (en) * 2005-08-18 2010-04-06 Hewlett-Packard Development Company, L.P. Dynamic performance ratio proportionate distribution of threads with evenly divided workload by homogeneous algorithm to heterogeneous computing units
US7412353B2 (en) 2005-09-28 2008-08-12 Intel Corporation Reliable computing with a many-core processor
GB0519981D0 (en) 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
TW200805047A (en) 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
US20070198981A1 (en) 2006-02-17 2007-08-23 Jacobs Paul E System and method for multi-processor application support
US7596430B2 (en) 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US7406407B2 (en) 2006-06-01 2008-07-29 Microsoft Corporation Virtual machine for operating N-core application on M-core processor
US20070294693A1 (en) 2006-06-16 2007-12-20 Microsoft Corporation Scheduling thread execution among a plurality of processors based on evaluation of memory access data
US7493477B2 (en) 2006-06-30 2009-02-17 Intel Corporation Method and apparatus for disabling a processor core based on a number of executions of an application exceeding a threshold
JP2008090546A (ja) 2006-09-29 2008-04-17 Toshiba Corp マルチプロセッサシステム
US7463992B2 (en) 2006-09-29 2008-12-09 Intel Corporation Method and system to self-test single and multi-core CPU systems
US7596714B2 (en) 2006-11-20 2009-09-29 Intel Corporation Methods and apparatus to manage throttling in computing environments
US8819699B2 (en) * 2006-12-29 2014-08-26 Intel Corporation Controlling virtual machines based on performance counters
US8022685B2 (en) 2007-02-06 2011-09-20 International Business Machines Corporation Temperature dependent voltage source compensation
US7865750B2 (en) 2007-02-06 2011-01-04 International Business Machines Corporation Fan speed control from adaptive voltage supply
US7714635B2 (en) 2007-02-06 2010-05-11 International Business Machines Corporation Digital adaptive voltage supply
US7936153B2 (en) 2007-02-06 2011-05-03 International Business Machines Corporation On-chip adaptive voltage compensation
US7895454B2 (en) 2007-02-06 2011-02-22 International Business Machines Corporation Instruction dependent dynamic voltage compensation
US7971035B2 (en) 2007-02-06 2011-06-28 International Business Machines Corporation Using temperature data for instruction thread direction
US8615767B2 (en) 2007-02-06 2013-12-24 International Business Machines Corporation Using IR drop data for instruction thread direction
US7779235B2 (en) * 2007-02-06 2010-08-17 International Business Machines Corporation Using performance data for instruction thread direction
US7560945B2 (en) 2007-02-06 2009-07-14 International Business Machines Corporation Integrated circuit failure prediction
US8161482B1 (en) * 2007-04-13 2012-04-17 Marvell International Ltd. Power optimization for multi-core devices
WO2009002880A1 (en) * 2007-06-22 2008-12-31 Biofuelbox Corporation Vessels and methods for synthesis of biofuel
US7561770B2 (en) * 2007-07-30 2009-07-14 Hewlett-Packard Development Company, L.P. Microresonator systems and methods of fabricating the same
US8001338B2 (en) 2007-08-21 2011-08-16 Microsoft Corporation Multi-level DRAM controller to manage access to DRAM
US8005880B2 (en) 2007-08-24 2011-08-23 International Business Machines Corporation Half width counting leading zero circuit
US8185572B2 (en) 2007-08-24 2012-05-22 International Business Machines Corporation Data correction circuit
US20090210740A1 (en) * 2008-02-14 2009-08-20 Song Huang Off-chip access workload characterization methodology for optimizing computing efficiency
US8332865B2 (en) 2008-02-21 2012-12-11 International Business Machines Corporation Adjunct processor load balancing
US20090288092A1 (en) * 2008-05-15 2009-11-19 Hiroaki Yamaoka Systems and Methods for Improving the Reliability of a Multi-Core Processor
US8276145B2 (en) * 2008-06-27 2012-09-25 Microsoft Corporation Protected mode scheduling of operations
JP2010039923A (ja) * 2008-08-07 2010-02-18 Hitachi Ltd 情報処理装置
US8661129B2 (en) * 2008-11-05 2014-02-25 Xerox Corporation System and method for decentralized job scheduling and distributed execution in a network of multifunction devices
US8161304B2 (en) 2009-01-20 2012-04-17 Microsoft Corporation Power management for large memory subsystems
US8572581B2 (en) * 2009-03-26 2013-10-29 Microsoft Corporation Measurement and reporting of performance event rates
US8055805B2 (en) 2009-03-31 2011-11-08 Intel Corporation Opportunistic improvement of MMIO request handling based on target reporting of space requirements
JP5091912B2 (ja) * 2009-05-21 2012-12-05 株式会社東芝 マルチコアプロセッサシステム
US8924975B2 (en) * 2009-07-23 2014-12-30 Empire Technology Development Llc Core selection for applications running on multiprocessor systems based on core and application characteristics

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254812B1 (en) * 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
TW200638267A (en) * 2005-04-22 2006-11-01 Chi Mei Comm Systems Inc Method for adjusting CPU speed of an electronic appliance
TW200703116A (en) * 2005-07-01 2007-01-16 Hon Hai Prec Ind Co Ltd Method for estimating CPU power
US20090055826A1 (en) * 2007-08-21 2009-02-26 Kerry Bernstein Multicore Processor Having Storage for Core-Specific Operational Data
US20090055122A1 (en) * 2007-08-24 2009-02-26 International Business Machines Corportation On-Chip Frequency Response Measurement

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI742964B (zh) * 2016-12-31 2021-10-11 美商英特爾股份有限公司 用於異質計算之系統,方法,及設備
US11416281B2 (en) 2016-12-31 2022-08-16 Intel Corporation Systems, methods, and apparatuses for heterogeneous computing
US11693691B2 (en) 2016-12-31 2023-07-04 Intel Corporation Systems, methods, and apparatuses for heterogeneous computing

Also Published As

Publication number Publication date
US20160132354A1 (en) 2016-05-12
DE112011103216T5 (de) 2013-07-04
GB2497449B (en) 2019-02-20
BR112013006483A2 (pt) 2016-07-26
WO2012040684A2 (en) 2012-03-29
GB2497449A (en) 2013-06-12
KR20140114074A (ko) 2014-09-25
US9268611B2 (en) 2016-02-23
US20120079235A1 (en) 2012-03-29
TW201229781A (en) 2012-07-16
WO2012040684A3 (en) 2012-06-07
TW201437828A (zh) 2014-10-01
TW201714103A (en) 2017-04-16
TWI450104B (zh) 2014-08-21
TWI603207B (zh) 2017-10-21
GB201303285D0 (en) 2013-04-10
KR20130062999A (ko) 2013-06-13
CN103119580B (zh) 2016-08-17
CN103119580A (zh) 2013-05-22
JP2013537346A (ja) 2013-09-30
KR101561496B1 (ko) 2015-10-20
JP5774707B2 (ja) 2015-09-09

Similar Documents

Publication Publication Date Title
TWI550413B (zh) 用於最大預測的效能增益之異質多處理器運算平台中之應用程式排程
Barroso The price of performance: An economic case for chip multiprocessing
US10156884B2 (en) Local power gate (LPG) interfaces for power-aware operations
US9069671B2 (en) Gather and scatter operations in multi-level memory hierarchy
TWI454905B (zh) 在多核心平台中之受限制的啓動技術
TW201337771A (zh) 用於包括執行緒合併之能源效率及能源節約的方法、裝置及系統
US20170003725A1 (en) Internal communication interconnect scalability
TWI512629B (zh) 用於表格驅動之多重被動跳脫平台被動熱管理之設備及方法、計算系統及電腦可讀媒體
US8918446B2 (en) Reducing power consumption in multi-precision floating point multipliers
US9684541B2 (en) Method and apparatus for determining thread execution parallelism
JP5881198B2 (ja) 優先度ベースのインテリジェントプラットフォームの受動的熱管理
Pandey et al. Performance analysis of intel ivy bridge and intel broadwell microarchitectures using intel vtune amplifier software
Bielby Ultra low power cooperative branch prediction
Bouvry et al. Energy Efficiency and High‐Performance Computing
Jacob The Case for VLIW-CMP as a Building Block for Exascale
Desenfans et al. Design and implementation of a multi-core embedded real-time operating system kernel

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees