TW200809628A - Power aware dynamic scheduling in multiprocessor system employing voltage islands - Google Patents

Power aware dynamic scheduling in multiprocessor system employing voltage islands Download PDF

Info

Publication number
TW200809628A
TW200809628A TW096100181A TW96100181A TW200809628A TW 200809628 A TW200809628 A TW 200809628A TW 096100181 A TW096100181 A TW 096100181A TW 96100181 A TW96100181 A TW 96100181A TW 200809628 A TW200809628 A TW 200809628A
Authority
TW
Taiwan
Prior art keywords
task
voltage
time
processor
processor core
Prior art date
Application number
TW096100181A
Other languages
Chinese (zh)
Inventor
Milind Manohar Kulkarni
Nagaraju Bussa
Original Assignee
Koninkl Philips Electronics Nv
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 Koninkl Philips Electronics Nv filed Critical Koninkl Philips Electronics Nv
Publication of TW200809628A publication Critical patent/TW200809628A/en

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/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

Minimizing the overall power conservation in a symmetric multiprocessor system disposed in a system-on-chip (SoC) depends on using voltage islands operated at different voltages such that similar circuits will perform at significantly different levels because of the voltage differences. Otherwise identical processor cores of a symmetric multiprocessor system are placed in various ones of the voltage islands such that they consume differing operating powers because of the voltage differences. The slack-time experienced by each of a variety of tasks during execution by the processor cores is calculated and tabulated. Thereafter, each task is scheduled for a particular processor core according to its performance level as determined by its operating voltage, and depending on the corresponding slack-time calculation for the task. Such scheduling will minimize power consumption by selecting a minimum power processor core, and still allow for complete execution in the time available.

Description

200809628 九、發明說明: 【發明所屬之技術領域】 本發明係關於藉助電壓島構建之對稱式多處理器系統’ 且更具體而言係關於藉由量測執行時期執行狀態之效能及 估計以自動地適應於變化之應用程式工作負載來節省晶片 上系統(SoC)功率消耗之方法及電路。 【先前技術】200809628 IX. Description of the Invention: [Technical Field of the Invention] The present invention relates to a symmetric multiprocessor system constructed by means of a voltage island' and more specifically to the performance and estimation of an execution state by means of measurement A method and circuit that adapts to changing application workloads to save system-on-a-chip (SoC) power consumption. [Prior Art]

對稱式多處理(SMP)使相同處理器連接一單個共用主記 憶體。當今之多數常見多處理器系統使用一讀架構。可 指配任-任務供任—處理器執行,此乃因彼任務之資料係 位於共用記憶體中HSMp作業系統可在各處理器之間 移動任務以有效率地平衡卫作負冑實施方案中之 諸夕個別處理$可能急需資料’此乃因記憶體通常遠遠慢 於存取該記憶體之每一處理器。 SMP在其中軟龍客製化程式料㈣於多執行緒處理 之科學、產業及商業領域中有諸多應用。然而,文書處理 益、電腦遊戲及其他多數消費者產品並非以-可自SMP受 盈之方式予以撰寫。執行於SMp系統上之程式甚至在盆已 針對單處理H系統而被撰寫人時亦可執行得更好。… 、、硬體中斷通常會暫停程式執行,而在一讀系統中,核 心則父遞出該箸締赫士涵 /中斷以θ代地執行於-閒置處理器 散式之作業系統(os)支援,諸如軟體編譯器及分 [麵隸切經㈣乎㈣外處理器之 數置成倍増長之加逮。 115716.doc 200809628 當在一 SMP環境中處理諸多工作時,可能導致硬體效率 之損失。軟體程式經發展以按各種方式排程工作,從而使 處理器利用率最佳化。 右以一較咼速率計時時,一既定處理器一般可提高其效 • 忐。最咼計時速率由半導體技術及操作電壓限定。對於一 - 既定操作電壓及半導體技術,將存在一最大時鐘速率。若 操作電壓增加,則時鐘可按比例增加以在實際限度内增加 效能^然而,功率消耗將隨電壓平方增加而升高, 。從而以一大大增加之功率消耗為代價獲得增加之 效能。 先則技術已基於離線計算之任務執行狀態使用動態電壓 排程。較佳之情形係使用一效能量測及估計單元來分析執 行時期期間之執行狀態。以此方式,系統可自動地適應於 文隻之應用权式工作負冑。該等任務至一單個I理器之靜 悲映射亦非合意。基於一組對稱式多處理器之經估計執行 •時間將任務動態地排程至該等對稱式多處理器 佳。 先蝻技術亦處理將任務排程至一支援不同電壓之處理器 上,從而保持功率消耗作為成本函數。但此類處理並不在 • ϋ務基礎上使用DVS。此類習用裝置按最終期限以升 , 務進行分類。任務被置於目標處理元件之保留清單 Μ #藉助由該目標處理元件支援之最高及最低電壓位準計 二=任務之鬆弛時間。計算該最高及最低電壓處任務之 ^夺間。找出該任務能滿足最終期限之目標處理元件之 115716.doc 200809628 電壓位準。隨後,使用DVS改變其電壓位準並將任務排程 至其上。 所需要者係一種其中一 SoC之不同核心具有不同電源電 壓之系統。電壓島會藉由對每一核心使用一唯一電源電壓 來達成SoC設計之核心位準功率最佳化。因此,於一具有 同種核心及電壓島之SoC中,可將所有任務保持於一清單 上。為每一任務分析其效能要求。隨後,選擇一其電源電 壓已能保證該任務之效能要求之特定處理器來執行該任 務。其次,再次分析該任務且可將同一任務映射至一具有 可保證其效能要求之不同電源電壓之不同處理器上。 【發明内容】 簡言之’具有電壓島之對稱式多處理器系統包括應用程 式任務在可用處理器上之動態排程。電壓島使得能夠給每 一處理器提供不同之獨立操作電壓及對應之最大時鐘頻 率。ΐ測可用與實際處理器任務執行時間之間的差以便可 估《十該等任務之再發生之鬆弛時間。根據特定操作電壓及 頻率給各個處理器之處理能力編目錄。—動態排程器基於 所而之視在處理器為該等任務選擇—適當處理器及電壓島 設定值。此會產生最佳功率消耗。 本發月t U係提供一種將保存功率之對稱式多處理 器系統之SoC實施方案。 本發月之另優點係提供一種使用電壓島來避免與 功率控制相關聯之即時開銷之對稱式多處理器系統之就 115716.doc 200809628 本發明之再另—優點係提供—種根據—㈣時間計算写 排程:務之對稱式多處理器系統之s〇c實施方案。 考里本發明之特定實關之下料細闡述 合附圖時,將清彗睑紐士 2欠。 八疋社、'、口 是瞭解本&明之上述及進一步目標、特徵 及優點。 【實施方式】 回、曰本毛明之一對稱式多處理器系統實施例,且在Symmetric Multiprocessing (SMP) connects the same processor to a single shared primary memory. Most common multiprocessor systems today use a first-read architecture. Can be assigned to - task-to-processor execution, because the data of the task is in shared memory. The HSMp operating system can move tasks between processors to efficiently balance the implementation of the workload. The eve of the individual processing $ may be urgently needed data 'this is because the memory is usually much slower than accessing each processor of the memory. SMP has many applications in the scientific, industrial, and commercial fields of soft-threaded customization (4) in multi-thread processing. However, paper processing benefits, computer games and most other consumer products are not written in a way that can be profitable from SMP. Programs executed on the SMp system can perform better even when the basin has been written for a single-processing H system. ..., hardware interrupts usually suspend program execution, while in a read system, the core is the parent to hand out the 箸 赫 赫 涵 / interrupt to θ generation to execute - idle processor scatter operating system (os) Support, such as the software compiler and the number of sub-processes (four) and (four) external processors are set to double the length of the increase. 115716.doc 200809628 When dealing with a lot of work in an SMP environment, it can lead to a loss of hardware efficiency. Software programs have been developed to schedule work in a variety of ways to optimize processor utilization. When the right is clocked at a higher rate, a given processor can generally improve its efficiency. The most accurate timing rate is defined by semiconductor technology and operating voltage. For a given operating voltage and semiconductor technology, there will be a maximum clock rate. If the operating voltage is increased, the clock can be scaled up to increase efficiency within practical limits. However, power consumption will increase as the square of the voltage increases. This results in increased performance at the expense of a greatly increased power consumption. The prior art has used dynamic voltage scheduling based on the task execution state of offline computing. Preferably, an energy measurement and estimation unit is used to analyze the execution status during the execution period. In this way, the system can automatically adapt to the application of the application only. The static mapping of these tasks to a single I processor is also undesirable. Estimated execution based on a set of symmetric multiprocessors • Time to dynamically schedule tasks to these symmetric multiprocessors. Advanced technology also handles scheduling tasks to a processor that supports different voltages, thereby maintaining power consumption as a function of cost. However, such processing does not use DVS on a transaction basis. Such conventional devices are classified by the deadline. The task is placed in the reserved list of target processing elements Μ #With the highest and lowest voltage levels supported by the target processing element, the slack time of the task = two. Calculate the task between the highest and lowest voltages. Find out the voltage level at which the task can meet the deadline for the target processing component. The DVS is then used to change its voltage level and schedule the task onto it. Those in need are systems in which different cores of one SoC have different power supply voltages. The voltage island optimizes the core level power of the SoC design by using a single supply voltage for each core. Therefore, in an SoC with the same core and voltage island, all tasks can be kept on a list. Analyze its performance requirements for each task. Subsequently, a particular processor whose power supply voltage is sufficient to ensure the performance requirements of the task is selected to perform the task. Second, the task is analyzed again and the same task can be mapped to a different processor with different supply voltages that guarantee its performance requirements. SUMMARY OF THE INVENTION Briefly, a symmetric multiprocessor system with voltage islands includes dynamic scheduling of application tasks on available processors. The voltage island enables each processor to be supplied with a different independent operating voltage and a corresponding maximum clock frequency. The difference between the available and actual processor task execution times can be estimated to estimate the relaxation time of the recurrence of the ten tasks. The processing power of each processor is cataloged according to the specific operating voltage and frequency. - The dynamic scheduler selects the appropriate processor and voltage island settings based on the apparent processor. This will result in the best power consumption. The present month t U provides an SoC implementation of a symmetric multiprocessor system that will conserve power. Another advantage of this month is to provide a symmetric multiprocessor system that uses voltage islands to avoid the immediate overhead associated with power control. 115716.doc 200809628 Still another advantage of the present invention is that the basis is - (iv) time Calculate the write schedule: the s〇c implementation of the symmetric multiprocessor system. Under the specific conditions of the invention, the details of the invention will be clarified. Gossip, ', and mouth are to understand the above and further goals, features and advantages of this & [Embodiment] One embodiment of a symmetric multiprocessor system of back and 曰本毛明, and

本文:由通用參考數字⑽指代。對稱式多處理器系統100 匕括女置於一共同半導體晶片106中之複數個電壓島m 04 、°該等電壓島提供三種不同操作電壓:hi、mid及1〇 電壓。電壓島1〇2_1〇4中分別安置有複數個相同之處理器 核。108 11 〇,但該等不同之操作電壓導致處理器核心1 〇8 具有相對高效能(hi-MIPS)、處理器核心1〇9具有中等效能 (nnd-MIPS)及處理器核心11〇具有相對低效能(i〇_Mips)。 所有二個處理器核心108-110分別具有對一共用記憶體112 之存取權。 由於所有三個處理器核心108· 110以不同電壓位準運 作’其各自之功率消耗亦不同。功率消耗將隨電壓平方增 加而升尚。例如,^ = ^。因此,以大大增加之功率消耗 κ 為代價在(例如)處理器核心108中獲得增加之效能。於現代 電池運作之可攜式裝置中,必須嚴格消除所有功率消耗之 浪費。 一作業系統(〇S)l 14提供欲由處理器核心108-110之不同 核心執行之特定軟體任務116-120之選擇。一鬆弛時間計 115716.doc 200809628 算器m經連接以比較一經指配任務U6_120在一對應處理 器核心108-11 〇上執行所花費之時間。根據鬆弛時間計算 器122所獲得資料構建一處理能力及任務載入表格124。其 為處理器核心108-110之每一者之處理能力編目錄。輸入 一針對先前已執行任務所施加之處理負載之相關量度。 於作業期間,可如表格124中以百萬指令每秒(]^11>8)為 單位給一 ”任務所需之效能製成表格。舉例而言,可 聚集試探性證據顯示”任務_d"需要一中等MIPS效能。可給 第二圖表編索引以顯示"CPU-2"將係用於排程任務_d之合 適選擇。自表格124發送一訊息至排程器126,以當〇s 114 想要執行任務-d 119時,其經排程供派遣至處理器核心 109。於該任務執行之後,鬆弛時間計算器122可再次驗證 此係一良好選擇。由於避開了較高功率消耗之處理器核心 108,藉由使用一具有較低功率之替代處理器核心節省了 功率。 為SoC之不同處理器核心提供不同電源電壓。電壓島藉 由為母-處理器核心提供一唯一固定電源電壓來達成s〇c 設計之核則4準功率最優化。具有電壓島及同種處理器核 。之SoC谷許將所有任務保持於一可應用於該中所有 ,心之單個清單中。先前技術裝置為每—處理器核心製備 單獨之任務清單。根據其效能要求評估每一任務。 逐-地,使該等任務匹配_特定處理器,該特定處理器 因其電源電Μ足夠高而能夠在所分配時間框内保證執行完 成每田該任務本身出現時,再次分析該任務並動態地將 115716.doc -10- 200809628 八排程、、"最適當之處理器核心。以此方式實施動態排程。 DVS技術具有可能過於昂貴纽於不能在逐任務基礎上使 用之固有開銷。對稱式多處理器系統100改為選擇其電源 電壓可在既疋時間窗内產生必要效能等級之處理器核心。 鬆弛時間計算器與處理能力及任務載入表袼124提供效 旎ϊ測及估計以在一應用程式軟體中捕獲任務之執行時 間。效能量測可係基於追蹤或自執行時間及各個任務之最 終期限要求累積而來。計算鬆弛時間之平均/中間值,及 使用某一時間窗内多個鬆弛時間值來特徵化每一任務之每 氣、弛時間。其後,使用此特徵化資訊預測一將來執行及 該任務之鬆弛時間,從而將任務動態地排程至適當之處理 器$任務已重新排程於一不同處理器核心上時,鬆弛時 間計算器與處理能力及任務載入表格進一步為該等任務提 供量測資訊重設。 圖2描繪本發明之一對稱式多處理器系統實施例,該對 稱式多處理器系統使每一電壓島可藉助DVS來調整且在本 文中由通用參考數字200指代。對稱式多處理器系統2〇〇包 括安置於一共同半導體晶片206中之複數個電壓島2〇2_ 204。該等為每一電壓島提供獨立及可控制之動態電壓縮 放(DVS)。 動態電壓縮放(DVS)已成為一種調整操作電壓及時鐘以 平衡一電路之效能與其伴隨之功率消耗之通用方式。已在 習用設計中使用電壓島以容許一晶片之多個部分接受獨立 DVS控制。但在DVS已改變至一新值之後,穩定時間可長 115716.doc •11- 200809628 達200宅秒。因此,最佳之情形係應不非常頻繁地改變 DVS設定值,或在初始化之後根本不改變。This article: Refers to the general reference number (10). The symmetrical multiprocessor system 100 includes a plurality of voltage islands m 04 placed in a common semiconductor wafer 106. The voltage islands provide three different operating voltages: hi, mid, and 1 电压. A plurality of identical processor cores are respectively disposed in the voltage islands 1〇2_1〇4. 108 11 〇, but these different operating voltages result in processor cores 1 〇 8 having relatively high performance (hi-MIPS), processor cores 1 〇 9 with moderate performance (nnd-MIPS), and processor cores 11 〇 relative Low performance (i〇_Mips). All two processor cores 108-110 have access to a shared memory 112, respectively. Since all three processor cores 108·110 operate at different voltage levels, their respective power consumptions are also different. Power consumption will increase as the square of the voltage increases. For example, ^ = ^. Thus, increased performance is achieved, for example, in processor core 108 at the expense of greatly increased power consumption κ. In modern portable battery-operated devices, all waste of power consumption must be strictly eliminated. An operating system (〇S) 14 provides a selection of specific software tasks 116-120 to be executed by different cores of processor cores 108-110. A relaxation time meter 115716.doc 200809628 The calculator m is connected to compare the time it takes for an assigned task U6_120 to execute on a corresponding processor core 108-11. A processing capability and task loading table 124 is constructed based on the data obtained by the slack time calculator 122. It catalogs the processing power of each of the processor cores 108-110. Enter a measure of the processing load applied to the previously executed task. During the operation, the performance required for a "task" can be tabulated in the form of a million instructions per second (]^11>8) in Table 124. For example, the tentative evidence can be gathered to show "task_d&quot A medium MIPS performance is required. The second chart can be indexed to show that "CPU-2" will be used for the appropriate selection of scheduling tasks _d. A message is sent from the form 124 to the scheduler 126 to be dispatched to the processor core 109 when the ss 114 wants to perform the task -d 119. After the task is executed, the slack time calculator 122 can again verify that the system is a good choice. By avoiding the higher power consumption processor core 108, power is saved by using an alternative processor core with lower power. Different supply voltages are provided for different processor cores of the SoC. The voltage island is optimized by providing a single fixed supply voltage for the mother-processor core to achieve the s〇c design. Has a voltage island and the same processor core. The SoC Valley allows all tasks to be maintained in a single list that can be applied to all of them. Prior art devices prepare separate task lists for each processor core. Each task is evaluated according to its performance requirements. Depending on the ground, the tasks are matched to a specific processor that is capable of re-analysing the task and dynamically revising the task itself when the task itself is completed within the allocated time frame because its power supply is high enough. The ground will be 115716.doc -10- 200809628 eight schedules, " the most appropriate processor core. Dynamic scheduling is implemented in this way. DVS technology has the potential to be too expensive to use on a task-by-task basis. The symmetrical multiprocessor system 100 instead selects a processor core whose power supply voltage can produce the necessary performance level within the time window. The slack time calculator and processing power and task loading table 124 provides effects and estimates to capture the execution time of the task in an application software. Effective energy measurements can be accumulated based on tracking or self-execution time and the deadlines for each task. The average/intermediate value of the relaxation time is calculated, and a plurality of relaxation time values within a certain time window are used to characterize each gas and relaxation time of each task. Thereafter, the characterization information is used to predict a future execution and the relaxation time of the task, thereby dynamically scheduling the task to the appropriate processor. The task has been rescheduled on a different processor core, the relaxation time calculator The processing capabilities and task loading tables further provide measurement information reset for such tasks. 2 depicts an embodiment of a symmetric multiprocessor system of the present invention that allows each voltage island to be adjusted by means of DVS and is referred to herein by the general reference numeral 200. The symmetric multiprocessor system 2 includes a plurality of voltage islands 2〇2_204 disposed in a common semiconductor wafer 206. These provide independent and controllable dynamic electrical compression (DVS) for each voltage island. Dynamic voltage scaling (DVS) has become a common way to adjust the operating voltage and clock to balance the performance of a circuit with its accompanying power consumption. Voltage islands have been used in conventional designs to allow multiple portions of a wafer to undergo independent DVS control. However, after DVS has changed to a new value, the settling time can be 115716.doc •11- 200809628 up to 200 home seconds. Therefore, the best case is that the DVS setting should not be changed very frequently, or not changed at all after initialization.

複數個處理器核心208-210各具有對一共用記憶體212之 存取。分別將母一處理器核心安置於該等電壓島之一對應 者中,以使DVS中之變化將按比例地影響每一處理器核心 之效能及功率消耗。一作業系統(〇8)214提供對欲由處理 器核心208-210之不同核心執行之特定軟體任務216_22〇之 選擇。一鬆弛時間計算器222經連接以比較經指配任務 216-220以一特定^^8設定值於一對應處理器核心2〇8_21〇 上執行所花費之時間。 根據鬆弛時間計算器222所獲得之資料構建一處理能力 及任務載入表格224。其以多-Dvs設定值給處理器核心 208-210之每-者之處理能力編目冑。輸人—針對先前執 行之任務所施加之處理負載之相關量度。 OS 214控制一排程器226。該排程器尋找欲排程之每一 新接續任務在處理能力及任務載入表格224中之一項目。 若該任務先前已特徵化,則排程器226將該任務發送至一 適當、可用之處理器核心2〇8_21()中。一 DVS控制為對應 之電壓島發出—將使功率消耗最小化且仍在可用時間 現完全執行之值。 一動恶排程將應用程式任務指配至對稱式多處理器系統之 、、工可用電壓島隔離之處理器上。為該等處理器之每一者提 供不同之獨立㈣頻率。藉由採㈣任務之最終期 限與實際執行時間之間的時間差來量測鬆弛時間。將該等 115716.doc -12- 200809628 ^時間置於-應用程式任務圖表中。該等量測追縱 任務之將來鬆他時間。靜態地維持各個處理器之處理 態排程主要基本上基於該等任務之鬆他時間 ‘、、、〜* &選擇適當之處理器以產生最佳功率消耗。A plurality of processor cores 208-210 each have access to a shared memory 212. The parent-processor cores are each placed in one of the voltage island counterparts such that changes in the DVS will proportionally affect the performance and power consumption of each processor core. An operating system (〇8) 214 provides a selection of specific software tasks 216_22 to be executed by different cores of the processor cores 208-210. A relaxation time calculator 222 is coupled to compare the time taken by the assigned tasks 216-220 to execute on a corresponding processor core 2〇8_21〇 with a particular set value. A processing capability and task loading table 224 is constructed based on the information obtained by the relaxation time calculator 222. It catalogs the processing power of each of the processor cores 208-210 with a multi-Dvs setting. Input – A measure of the processing load imposed on a previously performed task. The OS 214 controls a scheduler 226. The scheduler looks for one of the items in the processing capability and task loading table 224 for each new task to be scheduled. If the task has been previously characterized, scheduler 226 sends the task to an appropriate, available processor core 2〇8_21(). A DVS control is issued for the corresponding voltage island - a value that will minimize power consumption and is still fully executed at the available time. A dynamic schedule assigns application tasks to processors on a symmetric multiprocessor system that can be isolated by a voltage island. Different independent (four) frequencies are provided for each of the processors. The relaxation time is measured by the time difference between the final period of the task and the actual execution time. Place the 115716.doc -12- 200809628 ^ time in the -Application Tasks chart. The measurement will track the future of the mission. Statically maintaining the processing schedules of the various processors is primarily based on the loose time of the tasks ‘, , 〜* & select the appropriate processor to produce the optimal power consumption.

該處理能力表格指示由各個處理器提供的以MIPS 位之效能。由各個步、 处里1§棱供之MIPS相依於該等處理写 ;操作電鼓頻率。可藉由查看處理器之電壓源以隨後估 。所期望效能而靜態地組態該表格。其亦可藉由做出數個 在進行之觀測來计异各任務之平均鬆弛時間。 動態排程器使用靜態估計及分析結果(㈣仙吨⑽也)將 任務映射至可用處理器上。其自效能量測及估計單元獲取 所錢用程式任務之鬆他資訊。考量映射至第一處理器上 t第一任務,若一第一處理器上之第一任務之經量測鬆他 時間偏離其平均鬆他時間,則可將此第一任務動態地排程 I配該效I要求之第二處理器上。任務至其他處理器 之映射係基於一處理能力表格尋找。 般而σ ’本發明之實施例係如此:對一可用處理器之 任務指配假設該處理器係對稱式但使用使該處理器能夠提 7不同通過量之不同電源電壓。任務排程係基於該任務之 I弛0守間。使用電屢島及基於其估計效能要求或鬆弛週期 動態地排程該等任務可提供顯著之功率節省。 、儘管本文已闡述及圖解說明本發明之特定實施例,但此 ^寺定實施例並不意欲限定本發明。各種修改及變化對於 …白此項技術者氅無疑問將係顯而易見,且本發明意欲僅 H5716.doc 13- 200809628 由iw附申請專利範圍之範疇限定。 【圖式簡單說明】 圖1係本發明之一對稱式多處理器系統實施例之“匸實施 、二力I方塊圖’其中該對稱式多處理ϋ系統使用固定 電壓島為處理器核心提供功率選擇;及The processing capability table indicates the performance of the MIPS bit provided by each processor. MIPS, which is supplied by each step and at 1 棱, depends on the processing of the processing; the drum frequency is operated. This can be estimated by looking at the voltage source of the processor. The table is statically configured with the desired performance. It can also account for the average relaxation time of each task by making several observations that are being made. The dynamic scheduler uses static estimates and analysis results ((4) cents (10) also maps tasks to available processors. Its self-efficient energy measurement and estimation unit obtains the loose information of the money application task. Considering mapping to the first task on the first processor, if the first task on the first processor measures the time to deviate from the average loose time, the first task can be dynamically scheduled. On the second processor with the I requirement. The mapping of tasks to other processors is based on a processing capability table lookup. The embodiment of the present invention is such that the task assignment to an available processor assumes that the processor is symmetric but uses different supply voltages that enable the processor to provide different throughputs. The task schedule is based on the task's I. Using power islands and dynamically scheduling these tasks based on their estimated performance requirements or slack cycles can provide significant power savings. While the specific embodiments of the invention have been illustrated and described herein, the embodiments are not intended to limit the invention. Various modifications and variations will be apparent to those skilled in the art, and the invention is intended to be limited only by the scope of the scope of the patent application of the Japanese Patent Application No. H5716.doc 13-200809628. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram of a "single implementation, two-force I block diagram" of a symmetric multiprocessor system embodiment of the present invention, wherein the symmetric multi-processing system uses a fixed voltage island to provide power to the processor core. Choose; and

每圖2係本發明之—對稱❹處理器系統實施例之另-SoC 實施方案之功能方塊圖,其中該對稱式多處理器系統為電 壓島提供DVS控制。Each Figure 2 is a functional block diagram of another SoC embodiment of the symmetry ❹ processor system embodiment of the present invention, wherein the symmetrical multiprocessor system provides DVS control for the voltage islands.

【主要元件符號說明】 100 對稱式多處理器系統 102 電壓島 103 電壓島 104 電壓島 106 半導體晶片 108 處理器核心 109 處理器核心 110 處理器核心 112 共用記憶體 114 作業系統(OS) 116 軟體任務 117 軟體任務 118 軟體任務 119 軟體任務 120 軟體任務 115716.doc -14- 200809628 122 鬆弛時間計算器 124 處理能力及任務載入表格 126 排程器 200 202 203 204 206 208 209 210 212 214 216 217 218 219 220 222 224 226[Major component symbol description] 100 Symmetric multiprocessor system 102 Voltage island 103 Voltage island 104 Voltage island 106 Semiconductor wafer 108 Processor core 109 Processor core 110 Processor core 112 Shared memory 114 Operating system (OS) 116 Software task 117 Software Tasks 118 Software Tasks 119 Software Tasks 120 Software Tasks 115716.doc -14- 200809628 122 Relaxation Time Calculator 124 Processing Capabilities and Task Load Table 126 Scheduler 200 202 203 204 206 208 209 210 212 214 216 217 218 219 220 222 224 226

對稱式多處理器系統 電壓島 電壓島 電壓島 半導體晶片 處理器核心 處理器核心 處理器核心 共用記憶體 作業系統(OS) 軟體任務 軟體任務 軟體任務 軟體任務 軟體任務 鬆弛時間計算器 處理能力及任務載入表格 排程器 115716.doc -15-Symmetric multiprocessor system voltage island voltage island voltage island semiconductor chip processor core processor core processor core shared memory operating system (OS) software task software task software task software task software task relaxation time calculator processing capability and task Into the table scheduler 115716.doc -15-

Claims (1)

200809628 十、申請專利範圍: 一種多處理器系統,其包括: 複數個電壓島,其安置於一共 μ牛導體晶片内且在每 一電壓島内提供不同之獨立操作電壓· 複數個處理器核心,其具有對—共用記憶體之存取, 且每-者皆安置於該等電壓島之相應一者中,以使今等 操作電壓差按比例地影響每—處理器核心之效能及 消耗;200809628 X. Patent Application Scope: A multiprocessor system comprising: a plurality of voltage islands disposed in a total of μ cattle conductor wafers and providing different independent operating voltages in each voltage island · a plurality of processor cores, Having access to the shared memory, and each of them is placed in a corresponding one of the voltage islands such that the current operating voltage difference proportionally affects the performance and consumption of each processor core; -鬆他時間計算器,其經連接以比較__經指配任務於 一對應處理器核心上執行所花費之時間; -處理能力及任務載入表袼,其用於根據由亀時 間計算器獲得之資料構建以給該等處理器核心、之每一者 之該等處理能力編目錄,及用於料前執行之任務所施 加之該等處理負載之相關量度製成表格;及 排轾器,其經連接以檢查欲排程之下一任務在該處 理,力及任務載人表格中之_項目,且若該任務先前已 特斂化,則將其排程至一將使功率消耗最小化且仍容許 在該可用時間内完全執行之處理器核心。 2·如請求項丨之系統,其進一步包括: 一作業系統(OS),其提供對欲由該等處理器核心之不 同者執行之特定軟體任務之選擇,並連接至該排程器以 容許將任務排程至所選處理器核心上。 3·如請求項1之系統,其中: 該鬆弛時間計算器與處理能力及任務載入表格提供效 115716.doc 200809628 能量測及估計以捕獲-應用程式軟體中之任務之執行時 間0 4·如請求項3之系統,其中·· 处,鬆弛時間計算器與處理能力及任務载入表格提供效 - 能量測,該等效能量測或基於追蹤或自各個任務之該等 ^ 執行時間及該最終期限要求累積而來,且其中計算鬆他 時間之該等平均/中間值,及使用某一時間窗内之多個鬆 馨弛時間值來特徵化每一任務之每一鬆弛時間,及其後使 用該經特徵化資訊預測該任務之將來執行及鬆弛時間, 從而將任務動態地排程至該等適當處理器。 5·如請求項4之系統,其中: 當一任務被重新排程至一不同處理器核心上時,該鬆 弛時間計算器與處理能力及任務載入表格提供對該任務 之該量測資訊之重設。 6· 一種對稱式多處理器系統,其包括: 參 複數個電壓島,其安置於一共同半導體晶片内且提供 對每一電壓島之獨立及可控制動態電壓縮放(Dvs); 複數個處理器核心,其具有對一共用記憶體之存取, 且分別安置於該等電壓島之相應一者中以使該Dvs中之 變化按比例地影響每一處理器核心之效能及功率消耗· 一作業系統(OS),其提供對欲由該等處理器核心之不 同核心執行之特定軟體任務之選擇; 一鬆弛時間計算器,其經連接以比較一經指配任務以 特定DVS設定值於一對應處理器核心上執行所花費之時 115716.doc 200809628 間; -處理能力及任務載入表格,其用於根據由該鬆弛時 FaUt#l1獲得之資料進行構建,讀以各種DVS設定值 及由先則執仃之任務所施加之該等處理負载之相關量 冑⑺4等處理器核心之每_者之該等處理能力編目 , 錄;及 排私器,其連接至該〇s,該〇s偵測下一欲排程之 _ 接續任務在該處理能力及任務載入表格中之一項目,且 若該任務先前已特徵化,則將此任務排程至-處理器核 心及將其電壓島之該DVS設定至—將最小化功率消耗且 仍容許在可用時間内完全執行之值。 7. -種安置於一晶片上系統(s〇c)中之多處理器系統中之總 功率節省之方法,其包括: 運作複數個以不同電壓安置於一 s〇c中之電壓島,以 使相似電路將因該等電壓差而以明顯不同之位準運作; • 冑一多處理器系統之相同處理器核心安置於該複數個 電壓島之不同者中’以使其因其操作電壓差而消耗不同 之操作功率; 計算由該等處理器核心執行之多個任務之每一者所經 歷之鬆弛時間並將其製成表格;及 ^ , M該任務之操作電壓所確定之其效能等級及相依於 ’ 該任務之―對應㈣時間計算,將每-該任務排程至二 特定該處理器核心,其中該排程促使功率消耗將最小化 且仍容許在一可用時間内完全執行。 115716.doca loose time calculator that is connected to compare the time taken by the __ assigned task to execute on a corresponding processor core; - processing capability and task loading table for use by the time calculator The acquired data is constructed to catalog the processing capabilities of each of the processor cores, and the associated metrics of the processing loads imposed by the tasks performed prior to the execution; and the drainer , which is connected to check the _project in the process, force and task manned form under a schedule, and if the task has been previously confined, scheduling it to one will minimize power consumption And still allows the processor core to be fully executed within this available time. 2. A system as claimed, further comprising: an operating system (OS) that provides a selection of a particular software task to be executed by a different one of the processor cores and is coupled to the scheduler to allow Schedule tasks to the selected processor core. 3. The system of claim 1, wherein: the relaxation time calculator and the processing capability and the task loading form provide the effect 115716.doc 200809628 Energy measurement and estimation to capture the execution time of the task in the application software. For example, in the system of claim 3, where the relaxation time calculator and the processing capability and the task loading form provide an effect-energy measurement, the equivalent energy measurement or the tracking time or the execution time of each task and The deadlines are cumulative, and wherein the average/intermediate values of the relaxation time are calculated, and a plurality of relaxation times in a time window are used to characterize each relaxation time of each task, and The characterized information is then used to predict the future execution and slack time of the task, thereby dynamically scheduling the tasks to the appropriate processors. 5. The system of claim 4, wherein: the relaxation time calculator and processing capability and task loading form provide the measurement information for the task when a task is rescheduled to a different processor core reset. 6. A symmetric multiprocessor system, comprising: a plurality of voltage islands disposed in a common semiconductor wafer and providing independent and controllable dynamic voltage scaling (Dvs) for each voltage island; a plurality of processors a core having access to a shared memory and respectively disposed in a respective one of the voltage islands such that the change in the Dvs proportionally affects the performance and power consumption of each processor core. An system (OS) that provides for selection of specific software tasks to be performed by different cores of the processor cores; a relaxation time calculator coupled to compare an assigned task to a particular DVS setting for a corresponding processing The time spent on the execution of the core is 115716.doc 200809628; - processing capability and task loading table, which is used to construct according to the data obtained by the relaxation time FaUt#l1, read with various DVS settings and by the first The relevant amount of processing load imposed by the task of the task 胄(7)4, etc., of each processing capability of the processor core, cataloging; and the squirrel, the connection Up to the 〇s, the 〇s detect the next scheduled _ continuation task in the processing capability and one of the tasks loading table, and if the task has been previously characterized, the task is scheduled to - The processor core and the DVS of its voltage island are set to values that will minimize power consumption and still allow full execution within the available time. 7. A method of total power savings in a multi-processor system disposed in a system on a wafer (s〇c), comprising: operating a plurality of voltage islands placed in a s〇c at different voltages, Having similar circuits operate at significantly different levels due to such voltage differences; • The same processor core of a multi-processor system is placed in a different one of the plurality of voltage islands to cause it to operate due to its operating voltage difference Compensating for different operating powers; calculating the slack time experienced by each of the plurality of tasks performed by the processor cores and tabulating them; and ^, M determining the performance level of the task's operating voltage And depending on the 'correspondence (four) time calculation of the task, each task is scheduled to two specific processor cores, wherein the schedule causes the power consumption to be minimized and still allows full execution in an available time. 115716.doc
TW096100181A 2006-01-06 2007-01-03 Power aware dynamic scheduling in multiprocessor system employing voltage islands TW200809628A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US75716606P 2006-01-06 2006-01-06

Publications (1)

Publication Number Publication Date
TW200809628A true TW200809628A (en) 2008-02-16

Family

ID=38055463

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096100181A TW200809628A (en) 2006-01-06 2007-01-03 Power aware dynamic scheduling in multiprocessor system employing voltage islands

Country Status (2)

Country Link
TW (1) TW200809628A (en)
WO (1) WO2007077516A1 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941682B2 (en) 2007-05-09 2011-05-10 Gainspan, Inc. Optimum power management of system on chip based on tiered states of operation
CN105930289A (en) * 2010-07-30 2016-09-07 富士通株式会社 Multi-core processor system, allocation program, control program, allocation method, and control method
WO2012014312A1 (en) 2010-07-30 2012-02-02 富士通株式会社 Multi-core processor system, allocation program, control program, allocation method and control method
US8799697B2 (en) 2011-09-26 2014-08-05 Qualcomm Incorporated Operating system synchronization in loosely coupled multiprocessor system and chips
WO2013101016A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Individual core voltage margining
US9703613B2 (en) 2013-12-20 2017-07-11 Qualcomm Incorporated Multi-core dynamic workload management using native and dynamic parameters
US9618999B1 (en) 2015-11-17 2017-04-11 International Business Machines Corporation Idle-aware margin adaption
WO2017108079A1 (en) 2015-12-21 2017-06-29 Telefonaktiebolaget Lm Ericsson (Publ) Priority trainer for many core processing system
CN109960576B (en) * 2019-03-29 2021-04-16 北京工业大学 Low-energy-consumption task scheduling strategy oriented to CPU-GPU (Central processing Unit-graphics processing Unit) heterogeneous

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792582B1 (en) * 2000-11-15 2004-09-14 International Business Machines Corporation Concurrent logical and physical construction of voltage islands for mixed supply voltage designs
US6986066B2 (en) * 2001-01-05 2006-01-10 International Business Machines Corporation Computer system having low energy consumption
WO2004006089A1 (en) * 2002-05-28 2004-01-15 Sendo International Limited A processor system and method for controlling signal timing therein
GB2403823B (en) * 2003-07-08 2005-09-21 Toshiba Res Europ Ltd Controller for processing apparatus
JP4433782B2 (en) * 2003-12-17 2010-03-17 株式会社日立製作所 Information processing apparatus and operating system

Also Published As

Publication number Publication date
WO2007077516A1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
Juarez et al. Dynamic energy-aware scheduling for parallel task-based application in cloud computing
TW200809628A (en) Power aware dynamic scheduling in multiprocessor system employing voltage islands
Kim et al. Racing and pacing to idle: Theoretical and empirical analysis of energy optimization heuristics
Miller et al. Booster: Reactive core acceleration for mitigating the effects of process variation and application imbalance in low-voltage chips
JP6289444B2 (en) Method and apparatus for varying energy per instruction according to the amount of parallelism available
Von Laszewski et al. Power-aware scheduling of virtual machines in dvfs-enabled clusters
KR101476568B1 (en) Providing per core voltage and frequency control
Wang et al. XChange: A market-based approach to scalable dynamic multi-resource allocation in multicore architectures
TWI489265B (en) A method, apparatus, and system for energy efficiency and energy conservation including balancing power among multi-frequency domains of a processor based on efficiency rating scheme
Etinski et al. Utilization driven power-aware parallel job scheduling
TW201337771A (en) A method, apparatus, and system for energy efficiency and energy conservation including thread consolidation
WO2012170214A2 (en) System and apparatus for modeling processor workloads using virtual pulse chains
Yoshii et al. Evaluating power-monitoring capabilities on IBM Blue Gene/P and Blue Gene/Q
Yun et al. Hars: A heterogeneity-aware runtime system for self-adaptive multithreaded applications
Jeon et al. Load unbalancing strategy for multicore embedded processors
Kumar et al. A green SLA constrained scheduling algorithm for parallel/scientific applications in heterogeneous cluster systems
Molnos et al. Conservative dynamic energy management for real-time dataflow applications mapped on multiple processors
Qi et al. Power management for real-time embedded systems on block-partitioned multicore platforms
Iskandar et al. Dynamic thread mapping for maximizing performance in power-efficient multi-core systems
Quinones et al. Exploiting intra-task slack time of load operations for DVFS in hard real-time multi-core systems
KR101449046B1 (en) Multi processor and method for reducing power consumption using the same
Islam et al. Learning based power management for periodic real-time tasks
Petrides et al. Heterogeneous-and NUMA-aware scheduling for many-core architectures
BARTOLINI et al. Energy saving and thermal management opportunities in a workload-aware MPI runtime for a scientific HPC computing node
Tang et al. Exploring hardware profile-guided green datacenter scheduling