TWI503742B - 多核心處理器系統及其排程方法 - Google Patents

多核心處理器系統及其排程方法 Download PDF

Info

Publication number
TWI503742B
TWI503742B TW103114349A TW103114349A TWI503742B TW I503742 B TWI503742 B TW I503742B TW 103114349 A TW103114349 A TW 103114349A TW 103114349 A TW103114349 A TW 103114349A TW I503742 B TWI503742 B TW I503742B
Authority
TW
Taiwan
Prior art keywords
prediction result
upper limit
processing unit
predetermined upper
limit value
Prior art date
Application number
TW103114349A
Other languages
English (en)
Other versions
TW201541347A (zh
Inventor
Yeh Ching Chung
Wei Chih Sun
Original Assignee
Nat Univ Tsing Hua
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 Nat Univ Tsing Hua filed Critical Nat Univ Tsing Hua
Priority to TW103114349A priority Critical patent/TWI503742B/zh
Priority to US14/606,993 priority patent/US20150301858A1/en
Application granted granted Critical
Publication of TWI503742B publication Critical patent/TWI503742B/zh
Publication of TW201541347A publication Critical patent/TW201541347A/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
    • 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
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Description

多核心處理器系統及其排程方法
本發明係有關於處理器系統之排程方法,特別是有關於一種用於多核心處理器之行程排程方法。
隨著使用者對於效能需求的增加,愈來愈多的電子裝置包含多個處理器或多核心的處理器,其中多核心處理器系統可將具有不同能力或不同規格的計算核心進行了組合。ARM針對多核心處理器系統提出了big.LITTLE架構,其概念係將處理器(CPU)由數個時脈較高的處理器稱為big還有數個時脈較低的處理器稱為little所組成,其中大型核心處理器(big CPU)效能強所以比較耗電,而小型核心處理器(little CPU)雖效能不及大型核心處理器,但是卻較大型核心處理器省電。
目前有對big.LITTLE實作的排程方法(Scheduling)只有兩種情形:不是全部都是大型核心處理器,就是全部都是小型核心處理器。而另一個排程判斷的依據主要是用動態電壓與頻率調節(Dynamic Voltage Frequency Scaling,DVFS)。然而,這兩者方法都無法彈性地於不同類型的核心叢集間進行切換。
有鑑於此,本發明提供一種多核心處理器系統及其排程方法。
本發明實施例提供一種適用於多核心處理器系統之排程方法,其中多核心處理器系統包括多個處理單元,包括下列步驟:由一就緒佇列中選擇一欲執行之行程;分析上述欲執行之行程之一耗電量;選擇上述多個處理單元中之一閒置處理單元並依據上述耗電量,估算上述欲執行之行程於上述閒置處理單元執行時之一系統總耗電量,得到一第一預測結果;以及依據上述第一預測結果與一既定上限值,決定是否於上述閒置處理單元上執行上述欲執行之行程。其中,當上述預測結果小於上述既定上限值時,於上述閒置處理單元上執行上述欲執行之行程。
本發明實施例另提供一種多核心處理器系統,包括一儲存單元、複數處理單元、以及一排程單元。排程單元其係耦接至上述儲存單元以及上述複數處理單元,用以執行由一就緒佇列中選擇一欲執行之行程,分析上述欲執行之行程之一耗電量,選擇上述多個處理單元中之一閒置處理單元並依據上述耗電量,估算上述欲執行之行程於上述閒置處理單元執行時之一系統總耗電量,得到一第一預測結果,並依據上述第一預測結果與一既定上限值,決定是否於上述閒置處理單元上執行上述欲執行之行程,其中,當上述預測結果小於上述既定上限值時,上述排程單元決定於上述閒置處理單元上執行上述欲執行之行程。
本發明之方法可以為內嵌於有形媒介中的程式碼形式。當該程式碼被載入機器並由該機器執行時,該機器成為用以實現所揭露的方法的裝置。
100‧‧‧多核心處理器系統
110‧‧‧儲存裝置
112‧‧‧對照表
120‧‧‧排程單元
130‧‧‧多核心處理器
CPU1-CPU8‧‧‧處理器
S202-S212‧‧‧執行步驟
S302-S310‧‧‧執行步驟
S402-S412‧‧‧執行步驟
S502-SS510‧‧‧執行步驟
第1圖顯示本發明一實施例之多核心處理器系統的示意圖。
第2圖顯示依據本發明一實施例之排程方法的流程圖。
第3圖顯示依據本發明另一實施例之排程方法的流程圖。
第4圖顯示依據本發明另一實施例之排程方法的流程圖。
第5圖顯示依據本發明另一實施例之排程方法的流程圖。
為使本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下。注意的是,雖然揭露書係依所附圖式進行說明,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
本發明係針對具有大小核心(big.LITTLE)架構的處理器及其相關處理器系統來設計出能夠將能量維持固定的損耗量且運算效能維持一定水準的行程排程(Process Scheduling)方法,依據整個系統的功耗來作為大型核心處理器叢集(big core cluster)與小型核心處理器叢集(little core cluster)之間的轉換或切換指標,進而於高效能與低能耗之間取得平衡。
第1圖顯示本發明一實施例之多核心處理器系統的示意圖。多核心處理器系統100至少包括儲存單元110、排程單元120以及多核心處理器130。其中,多核心處理器系統100可適用於任何具有多核心處理器架構的電子裝置,如個人數位助理、智慧 型手機、行動電話、行動上網裝置、筆記型電腦、或平板電腦或任何類型的行動計算裝置,然而,本領域熟習技藝者應可理解本發明並不限於此。儲存單元110可為內建記憶體或外接記憶卡,用以儲存相關資料,例如:一對照表112,其記錄有各個行程所需的耗電量資訊以及目前系統總耗電量資訊,其中,目前系統總耗電量資訊係用以表示目前所有正在執行的處理單元上的行程所需的耗電量的總和,可透過加總各個行程的耗電量來獲得。對照表112中也可包含各個行程的相關資訊(未繪示),例如:每個行程的大小、類型或優先權等等,使得排程單元120可參考這些資訊來進行行程管理與排程。排程單元120可執行不同處理核心或處理器之間的行程排程(process scheduling)與不同核心處理器叢集之間的切換判斷。多核心處理器130係包括多個處理核心,且這些處理核心係採用big.LITTLE的概念來加以組成。big.LITTLE的概念係將具有不同能力或不同規格的處理核心(processing core)進行了組合,例如,可由若干個時脈較高的CPU稱為大型處理核心(big core CPU),還有若干個時脈較低的CPU稱為小型處理核心(little core CPU)所組成,其中大型處理核心(big core)可含有不同於小型處理核心(small core)的邏輯元件配置。由於大型處理核心效能強所以比較耗電,而小型處理核心雖效能不及大型處理核心,但是卻比大型處理核心省電,可讓應用軟體或行程在兩個核心之間切換,從而為大部份時間處於待機模式的裝置在一般應用情況下節省整體功耗。舉例來說,於一實施例中,多核心處理器130可包括8個處理核心,其中4個為性能最佳化的大型處理核心以及4個為低功耗待機最佳化的小型處理核心,但本發明不限於此。於本實施例 中,多核心處理器130可包括多個處理器,且每個處理器可包括一或多個核心,其中該些處理器可劃分為大型核心處理器叢集(cluster)以及小型核心處理器叢集。舉例來說,參見第1圖,多核心處理器130係包括處理器CPU1-CPU8,其中CPU1-CPU4具有大型處理核心,因此屬於大型核心處理器叢集,而CPU5-CPU8具有小型處理核心,因此屬於小型核心處理器叢集。
排程單元120(例如:作業系統排程器(OS scheduler))係耦接於儲存單元110與多個處理核心,可用以執行本發明之排程方法來對就緒佇列(ready queue)中的各個行程進行排程,其細節將詳細討論於下。
具體來說,當多核心處理器130從一個行程切換到另一個行程執行之前,作業系統必須保存原有行程的執行狀態,同時載入新的行程的執行狀態,此稱之為內文切換(Context switching)或簡稱為切換。其中,就緒佇列係包含所有等待被執行的行程,且所有行程在獲得多核心處理器130的控制權之前,必須先在就緒佇列中等待排程單元120進行排程。排程單元120係從就緒佇列中選取一適合的行程至多核心處理器130上的其中一處理核心上執行或將執行中的行程送回就緒佇列,以進行排程。於以下實施例中,當一個行程從一個處理核心(例如:小型處理核心)切換到另一個處理核心(例如:大型處理核心)執行時,便會執行前述的內文切換。於另一實施例中,多核心處理器130可為單一處理器,其包含多個處理核心且多個處理核心也可劃分為大型核心處理器叢集與小型核心處理器叢集,因此,也可應用本發明之排程方法來進行排程。
第2圖顯示依據本發明一實施例之排程方法的流程圖。本發明實施例之排程方法可應用於一具有多個處理核心的電子裝置,例如:個人數位助理、智慧型手機、行動電話、行動上網裝置、筆記型電腦、平板電腦或任何類型的行動計算裝置。舉例來說,本發明實施例之排程方法可由第1圖中的電子裝置100的排程單元120來執行,用以對就緒佇列中等待執行的各個行程進行排程。於此實施例中,假設電子裝置100中包括8個處理核心且其中有4顆處理核心屬於大型核心處理器叢集,另4顆則屬於小型核心處理器叢集。
首先,如步驟S202,由一就緒佇列(ready queue)中選擇一欲執行之行程(process)。其次,如步驟S204,分析欲執行之行程的一耗電量。舉例來說,可依據前述對照表112,分析出相應於欲執行之行程的耗電量。
接著,如步驟S206,選擇多個處理單元中的一閒置處理單元(idle CPU)並依據所分析出的欲執行之行程的耗電量,估算欲執行之行程於選定的閒置處理單元上執行時的系統總耗電量,得到一預測結果。此處的系統總耗電量係指系統目前的總耗電量與欲執行之行程於選定的閒置處理單元上執行時的耗電量的總和。舉例來說,假設處理單元CPU1為閒置狀態時,可依據對照表112中所記載的相應於欲執行之行程的耗電量與目前系統總耗電量,估算欲執行之行程於CPU1上執行時的系統總耗電量,得到一預測結果。
於估算出系統總耗電量之後,如步驟S208,接著判斷預測結果是否小於一既定上限值。其中,預測結果表示前述系 統總耗電量。當預測結果小於既定上限值時(步驟S208的是),表示於閒置處理單元上執行此行程時的系統總耗電量不會超過所制定的上限,因此,如步驟S210,決定於閒置處理單元上執行此行程或者將此行程切換至閒置處理單元上執行。
反之,當預測結果大於或等於既定上限值時(步驟S208的否),如步驟S212,表示於閒置處理單元上執行此行程時的系統總耗電量會超過所制定的上限,因此便將此行程放回就緒佇列,繼續等待後續排程並從就緒佇列中找次一個行程進行分析與執行。
於一些實施例中,本發明更提供針對就緒佇列(ready Queue)中的高優先權或是有時效性的行程可優先被處理與可適性調高處理單元的執行頻率的方法。
第3圖顯示依據本發明另一實施例之排程方法的流程圖。本發明實施例之排程方法可應用於一具有多個處理核心的電子裝置,例如:個人數位助理、智慧型手機、行動電話、行動上網裝置、筆記型電腦、平板電腦或任何類型的行動計算裝置。舉例來說,本發明實施例之排程方法可由第1圖中的電子裝置100的排程單元120來執行,用以對就緒佇列中等待執行的各個行程進行排程。於此實施例中,假設電子裝置100中包括8個處理核心且其中有4顆處理核心屬於大型核心處理器叢集,另4顆則屬於小型核心處理器叢集。
首先,如步驟S302,判斷是否有具高優先權之一行程等待被執行。具體來說,此步驟係檢查就緒佇列中是否有高優先權或是有時效性的行程(例如:正在和使用者進行交談的行程) 急需要CPU將其完成的工作。
若是(步驟S302的是),如步驟S304,則將具高優先權之行程切換至一大型處理核心處理單元上並估算具高優先權之行程於大型處理核心處理單元執行時之一系統總耗電量,得到一第二預測結果。
接著,如步驟S306,判斷第二預測結果是否小於既定上限值。當第二預測結果小於既定上限值時(步驟S306的是),表示將具高優先權之行程切換至大型處理核心處理單元上執行並不會超過功耗上限且功耗尚有餘額,因此,便如步驟S308,依據第二預測結果與既定上限值,提高大型處理核心處理單元的執行頻率並以提高後的執行頻率執行具高優先權之行程。也就是說,可依據目前系統功耗與上限值的差異,適性提高大型處理核心處理單元的執行頻率,可確保具高優先權之行程能在更短時間內被完成。
相反地,當第二預測結果大於或等於既定上限值時(步驟S306的否),表示具高優先權之行程切換至大型處理核心處理單元上執行將超過功耗上限,如步驟S310,則依據第二預測結果與既定上限值,送回多個處理單元中之另一處理單元上之行程至就緒佇列。也就是說,具高優先權之行程切換至大型處理核心處理單元上執行會超過功耗上限,因此便從其他處理單元裡面挑選出較不重要的行程放回就緒佇列,以確保具高優先權之行程有足夠的功耗使用。
於一些實施例中,本發明尚提供一行程選擇機制,用以選出就緒佇列中的適合的下一行程來執行。
第4圖顯示依據本發明另一實施例之排程方法的流程圖。本發明實施例之排程方法可應用於一具有多個處理核心的電子裝置,例如:個人數位助理、智慧型手機、行動電話、行動上網裝置、筆記型電腦、平板電腦或任何類型的行動計算裝置。舉例來說,本發明實施例之排程方法可由第1圖中的電子裝置100的排程單元120來執行,用以選出就緒佇列中的下一行程來加以執行。於此實施例中,於此實施例中,假設電子裝置100中包括8個處理核心且其中有4顆處理核心屬於大型核心處理器叢集,另4顆則屬於小型核心處理器叢集。
首先,如步驟S402,判斷是否有剩餘的閒置處理單元。亦即,閒置處理單元係指處理單元上沒有行程需要執行或處於閒置狀態。若是,如步驟S404,分配一行程至每一個剩餘閒置處理單元上執行。舉例來說,假設目前系統有兩個閒置處理單元,則可分配就緒佇列中的兩個行程至這兩個閒置處理單元上執行。據此,可使得所有處理單元上都有行程執行,增加系統的平行化程度,確保系統效能。
若判定沒有剩餘的閒置處理單元時(步驟S402的否),如步驟S406,便挑選符合既定上限值的一行程於閒置處理單元上執行。接著,如步驟S408,估算前述符合既定上限值的行程於閒置處理單元上執行時的系統總耗電量,得到一第三預測結果並如步驟S410,判斷第三預測結果是否小於既定上限值。當第三預測結果小於上述既定上限值時(步驟S410的是),表示系統還有可用的功耗量,因此,便如步驟S412,依據第三預測結果與既定上限值,提高閒置處理單元之執行頻率並以提高後的執行頻率執 行具高優先權之行程。也就是說,可依據目前系統功耗與上限值的差異,適性提高閒置處理單元的執行頻率,增加執行的效能。
於一些實施例中,本發明更提供於大型核心處理器與小型核心處理器中進行切換之方法,用以判斷是否要將某一行程在大型核心處理器與小型核心處理器中進行切換。
第5圖顯示依據本發明另一實施例之排程方法的流程圖。本發明實施例之排程方法可應用於一具有多個處理核心的電子裝置,例如:個人數位助理、智慧型手機、行動電話、行動上網裝置、筆記型電腦、平板電腦或任何類型的行動計算裝置。舉例來說,本發明實施例之排程方法可由第1圖中的電子裝置100的排程單元120來執行,用以判斷是否要將某一行程在大型核心處理器與小型核心處理器中進行切換。於此實施例中,假設電子裝置100中包括8個處理核心且其中有4顆處理核心屬於大型核心處理器叢集,另4顆則屬於小型核心處理器叢集。
首先,偵測是否有大型核心處理器為閒置狀態(步驟S502)。假設未偵測到有大型核心處理器為閒置狀態時,便重複步驟S502。當偵測到有大型核心處理器為閒置狀態時(步驟S502的是),接著,判斷正在執行的小型核心處理器中是否有具優先權之一行程正在執行(步驟S504)。假設正在執行的小型核心處理器中沒有優先權相對較高或具時效性的行程正在或需要執行時(步驟S504的否),便從就緒佇列中找出次一個行程(步驟S508)並執行該行程(步驟S510)。
假設正在執行的小型核心處理器中有具優先權的行程例如優先權相對較高或具時效性的行程正在或需要執行時(步 驟S504的是),則進行內文切換,將該具優先權的行程切換至大型核心處理器上(步驟S506)並執行該行程(步驟S510)。
因此,大型核心處理器只留給優先權高的行程使用,不會隨意的從小型核心處理器中內文切換到大型核心處理器中,可避免在大型核心處理器叢集(big cluster)與小型核心處理器叢集(little cluster)中頻繁轉換所付出的高成本。
於一些實施例中,當大型核心處理器中沒有行程需要被執行時,可關掉(turn off)此大型核心處理器,以增加可用的功耗,使得小型核心處理器可提高其執行頻率,不僅可以節能,也可提升小型核心處理器的效能。
因此,依據本發明之多核心處理器系統及其排程方法,可動態於不同類型核心處理器叢集間切換行程的執行並在指定的功耗內達到較高的效能,可在高效能和低功耗間達到完美平衡,增加整體效能與延長待機時間,進而提升使用者的使用滿意度。再者,本發明之多核心處理器系統及其排程方法可針對就緒佇列中的高優先權或有時效性的行程可優先被處理與可適性調高處理單元的頻率,確保高優先權的行程能在最短時間內被完成,可於一定功效下增加系統效能,因此可以更有效達到高效能低功耗的目的。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可以包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也 可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S202、S204、...、S210、S212‧‧‧執行步驟

Claims (12)

  1. 一種適用於多核心處理器系統之排程方法,其中多核心處理器系統具有多個處理單元,上述方法包括下列步驟:由一就緒佇列(ready queue)中選擇一欲執行之行程(process);分析上述欲執行之行程之一耗電量;選擇上述多個處理單元中之一閒置處理單元並依據上述耗電量,估算上述欲執行之行程於上述閒置處理單元執行時之一系統總耗電量,得到一第一預測結果;以及依據上述第一預測結果與一既定上限值,決定是否於上述閒置處理單元上執行上述欲執行之行程,其中,當上述預測結果小於上述既定上限值時,於上述閒置處理單元上執行上述欲執行之行程。
  2. 如申請專利範圍第1項所述之排程方法,其中上述閒置處理單元係為一大型核心處理單元,且上述方法更包括:判斷是否有具高優先權之一行程等待被執行;以及若是,將具高優先權之上述行程切換至上述大型處理核心處理單元上並估算具高優先權之上述行程於上述大型處理核心處理單元執行時之一系統總耗電量,得到一第二預測結果;判斷上述第二預測結果是否小於上述既定上限值;以及當上述第二預測結果小於上述既定上限值時,依據上述第 二預測結果與上述既定上限值,提高上述大型處理核心處理單元之執行頻率。
  3. 如申請專利範圍第2項所述之排程方法,更包括:當上述第二預測結果大於或等於上述既定上限值時,依據上述第二預測結果與上述既定上限值,送回上述多個處理單元中之另一處理單元上之至少一行程至上述就緒佇列。
  4. 如申請專利範圍第1項所述之排程方法,更包括:判斷是否有剩餘之閒置處理單元;若是,分配上述就緒佇列中之一行程至每一上述剩餘閒置處理單元上執行;以及若否,由上述就緒佇列中挑選符合上述既定上限值之一行程於上述閒置處理單元上執行。
  5. 如申請專利範圍第4項所述之排程方法,更包括:估算符合上述既定上限值之上述行程於上述閒置處理單元上執行時之一系統總耗電量,得到一第三預測結果;判斷上述第三預測結果是否小於上述既定上限值;以及當上述第三預測結果小於上述既定上限值時,依據上述第三預測結果與上述既定上限值,提高上述閒置處理單元之執行頻率。
  6. 如申請專利範圍第1項所述之排程方法,其中上述多個處理單元更包括至少一大型核心處理器以及一小型核心處理器,且該方法更包括: 判斷上述大型核心處理器是否為閒置狀態;若是,判斷上述小型核心處理器中是否有具優先權之一行程等待被執行;以及若上述小型核心處理器中有具優先權之上述行程等待被執行時,則將上述具優先權之行程切換至上述大型核心處理器上執行。
  7. 一種多核心處理器系統,包括:一儲存單元;複數處理單元;以及一排程單元,其係耦接至上述儲存單元以及上述複數處理單元,用以執行由一就緒佇列中選擇一欲執行之行程,分析上述欲執行之行程之一耗電量,選擇上述多個處理單元中之一閒置處理單元並依據上述耗電量,估算上述欲執行之行程於上述閒置處理單元執行時之一系統總耗電量,得到一第一預測結果,並依據上述第一預測結果與一既定上限值,決定是否於上述閒置處理單元上執行上述欲執行之行程,其中,當上述預測結果小於上述既定上限值時,上述排程單元決定於上述閒置處理單元上執行上述欲執行之行程。
  8. 如申請專利範圍第7項所述之多核心處理器系統,其中上述閒置處理單元係為一大型核心處理單元,且上述排程單元更判斷是否有具高優先權之一行程等待被執行,若是,將 具高優先權之上述行程切換至上述大型處理核心處理單元上並估算具高優先權之上述行程於上述大型處理核心處理單元執行時之一系統總耗電量,得到一第二預測結果,判斷上述第二預測結果是否小於上述既定上限值,並且當上述第二預測結果小於上述既定上限值時,依據上述第二預測結果與上述既定上限值,提高上述大型處理核心處理單元之執行頻率。
  9. 如申請專利範圍第8項所述之多核心處理器系統,其中當上述第二預測結果大於或等於上述既定上限值時,上述排程單元更依據上述第二預測結果與上述既定上限值,送回上述多個處理單元中之另一處理單元上之至少一行程至上述就緒佇列。
  10. 如申請專利範圍第7項所述之多核心處理器系統,其中上述排程單元更判斷是否有剩餘之閒置處理單元,若是,分配上述就緒佇列中之一行程至每一上述剩餘閒置處理單元上執行;若否,上述排程單元由上述就緒佇列中挑選符合上述既定上限值之一行程於上述閒置處理單元上執行。
  11. 如申請專利範圍第10項所述之多核心處理器系統,其中上述排程單元更估算符合上述既定上限值之上述行程於上述閒置處理單元上執行時之一系統總耗電量,得到一第三預測結果,判斷上述第三預測結果是否小於上述既定上限值,並且當上述第三預測結果小於上述既定上限值時,依 據上述第三預測結果與上述既定上限值,提高上述閒置處理單元之執行頻率。
  12. 如申請專利範圍第7項所述之多核心處理器系統,其中上述多個處理單元更包括至少一大型核心處理器以及一小型核心處理器,並且上述排程單元更判斷上述大型核心處理器是否為閒置狀態,若是,判斷上述小型核心處理器中是否有具優先權之一行程等待被執行,以及若上述小型核心處理器中有具優先權之上述行程等待被執行時,則將上述具優先權之行程切換至上述大型核心處理器上執行。
TW103114349A 2014-04-21 2014-04-21 多核心處理器系統及其排程方法 TWI503742B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW103114349A TWI503742B (zh) 2014-04-21 2014-04-21 多核心處理器系統及其排程方法
US14/606,993 US20150301858A1 (en) 2014-04-21 2015-01-27 Multiprocessors systems and processes scheduling methods thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103114349A TWI503742B (zh) 2014-04-21 2014-04-21 多核心處理器系統及其排程方法

Publications (2)

Publication Number Publication Date
TWI503742B true TWI503742B (zh) 2015-10-11
TW201541347A TW201541347A (zh) 2015-11-01

Family

ID=54322108

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103114349A TWI503742B (zh) 2014-04-21 2014-04-21 多核心處理器系統及其排程方法

Country Status (2)

Country Link
US (1) US20150301858A1 (zh)
TW (1) TWI503742B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785481B2 (en) * 2014-07-24 2017-10-10 Qualcomm Innovation Center, Inc. Power aware task scheduling on multi-processor systems
CN106020979B (zh) * 2016-05-17 2019-05-31 青岛海信移动通信技术股份有限公司 进程的调度方法及装置
CN109522101B (zh) * 2017-09-20 2023-11-14 三星电子株式会社 用于调度多个操作系统任务的方法、系统和/或装置
US10540202B1 (en) * 2017-09-28 2020-01-21 EMC IP Holding Company LLC Transient sharing of available SAN compute capability
CN109062394B (zh) * 2018-06-28 2020-08-07 珠海全志科技股份有限公司 一种cpu簇的状态控制电路及方法
TWI676109B (zh) * 2018-08-10 2019-11-01 崑山科技大學 巨量資料及時處理與排班之方法
JP7484687B2 (ja) * 2020-12-08 2024-05-16 トヨタ自動車株式会社 車載ネットワークシステム
CN115226048B (zh) * 2021-04-14 2024-06-11 Oppo广东移动通信有限公司 数据传输方法、装置、设备及存储介质
CN115373860B (zh) * 2022-10-26 2023-01-10 小米汽车科技有限公司 Gpu任务的调度方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203816B2 (en) * 2001-03-01 2007-04-10 Semiconductor Technology Academic Research Center Multi-processor system apparatus allowing a compiler to conduct a static scheduling process over a large scale system of processors and memory modules
US7360218B2 (en) * 2003-09-25 2008-04-15 International Business Machines Corporation System and method for scheduling compatible threads in a simultaneous multi-threading processor using cycle per instruction value occurred during identified time interval
TWI382348B (zh) * 2008-10-24 2013-01-11 Univ Nat Taiwan 多核心系統及其排程方法
TW201317897A (zh) * 2011-10-31 2013-05-01 Univ Nat Taiwan 用於多核心/眾核心的工作排程與分配管理架構及其方法
TW201346769A (zh) * 2005-09-30 2013-11-16 Coware Inc 用於多核心架構之排程的方法、電腦程式、及電腦可讀取媒體

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032884B2 (en) * 2006-10-31 2011-10-04 Hewlett-Packard Development Company, L.P. Thread hand off

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203816B2 (en) * 2001-03-01 2007-04-10 Semiconductor Technology Academic Research Center Multi-processor system apparatus allowing a compiler to conduct a static scheduling process over a large scale system of processors and memory modules
US7360218B2 (en) * 2003-09-25 2008-04-15 International Business Machines Corporation System and method for scheduling compatible threads in a simultaneous multi-threading processor using cycle per instruction value occurred during identified time interval
TW201346769A (zh) * 2005-09-30 2013-11-16 Coware Inc 用於多核心架構之排程的方法、電腦程式、及電腦可讀取媒體
TW201349121A (zh) * 2005-09-30 2013-12-01 Coware Inc 用於多核心架構之排程的方法、電腦程式、及電腦可讀取媒體
TWI382348B (zh) * 2008-10-24 2013-01-11 Univ Nat Taiwan 多核心系統及其排程方法
TW201317897A (zh) * 2011-10-31 2013-05-01 Univ Nat Taiwan 用於多核心/眾核心的工作排程與分配管理架構及其方法

Also Published As

Publication number Publication date
TW201541347A (zh) 2015-11-01
US20150301858A1 (en) 2015-10-22

Similar Documents

Publication Publication Date Title
TWI503742B (zh) 多核心處理器系統及其排程方法
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
CN106170742B (zh) 多处理器片上系统中的能效感知热管理的方法和系统
US9632822B2 (en) Multi-core device and multi-thread scheduling method thereof
US10509677B2 (en) Granular quality of service for computing resources
TWI505080B (zh) 在電腦系統中分派任務之方法、系統及電腦程式
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
KR101529016B1 (ko) 멀티-코어 시스템 에너지 소비 최적화
Venkatesh et al. A case for application-oblivious energy-efficient MPI runtime
US20110161978A1 (en) Job allocation method and apparatus for a multi-core system
Kim et al. Utilization-aware load balancing for the energy efficient operation of the big. LITTLE processor
US20110161637A1 (en) Apparatus and method for parallel processing
CN102822801A (zh) 响应于服务水平协议而分配计算系统功率水平
US10089155B2 (en) Power aware work stealing
JP2011059777A (ja) タスクスケジューリング方法及びマルチコアシステム
TWI739345B (zh) 中斷處理系統與中斷處理方法
US20110161965A1 (en) Job allocation method and apparatus for a multi-core processor
CN111343288B (zh) 作业调度方法、系统及计算设备
US20170097854A1 (en) Task placement for related tasks in a cluster based multi-core system
CN103677997A (zh) 多核心装置以及其多线程调度方法
KR101065436B1 (ko) 불확실한 계산량을 가진 실시간 병렬 작업을 위한 멀티코어 프로세서의 확률적 스케줄링 방법
JP2010277171A (ja) タスク割当装置、および、タスク割当方法
US20160170474A1 (en) Power-saving control system, control device, control method, and control program for server equipped with non-volatile memory
Edun et al. Dynamic scheduling on heterogeneous multicores
JP5737298B2 (ja) スケジューリング方法およびスケジューリングシステム