TWI602125B - 資源分配方法 - Google Patents
資源分配方法 Download PDFInfo
- Publication number
- TWI602125B TWI602125B TW103114053A TW103114053A TWI602125B TW I602125 B TWI602125 B TW I602125B TW 103114053 A TW103114053 A TW 103114053A TW 103114053 A TW103114053 A TW 103114053A TW I602125 B TWI602125 B TW I602125B
- Authority
- TW
- Taiwan
- Prior art keywords
- sensitivity
- application
- thread
- threads
- core
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Description
本發明是有關於一種系統排程技術,且特別是有關於一種基於敏感度之多核心行動裝置的資源分配方法。
近年來人們對行動運算需求的巨大轉變,導致行動應用程式「Google Play」資料庫上有著爆炸性的成長。為滿足更複雜的行動應用,越來越多廠商盡可能地提升行動裝置的硬體效能。例如,現代的智慧型手機已配備1.4GHz四核中央處理單元(Central Processing Unit,CPU)。預期市場上將會有更多的核心和/或更高頻率新型的行動裝置。然而,廠商通常以較大的功率消耗為代價換取硬體性的增長。因此,下一代行動設備的電源管理變得比以往還更佳重要。
於習知技術中,已有學者提出動態電壓及頻率調節(Dynamic Voltage and Frequency Scaling,DVFS)方法,其是以單核中央處理單元排程模型來進行分析,並透過動態調整中央處理單元的運行速度,以減少能量消耗。之後許多理論成果也已應用於不同系統和電源模式下的即時應用程式排程演算法。隨著多
核心中央處理單元的問世,不但衍伸出更加複雜的DVFS,也引發人們對動態電源管理(Dynamic Power Management,DPM)的研究,其目的是使中央處理單元核心進入低功耗狀態。之後也有學者研究DVFS和DPM這兩種技術之間的相互作用,並結合此兩種技術以達最大限度能源效率。
由於近年來的行動應用已經越來越普遍與多樣化,且用戶通常為了不同目的而安裝各種應用程式,因此使得DVFS和DPM的設計變得更具挑戰性。然而,目前的解決方案係將傳統操作系統上(如Linux作業系統)的公平排程器和調速器直接應用到行動作業系統,但此除了無法提升系統效能以外,反而導致用戶體驗或能源效率的退化。舉例來說,當有任一應用程式瞬間產生極大的中央處理單元工作量時,為了滿足應用程式的需求,調速器將會提升中央處理單元工作頻率或調用更多的運算核心,進而導致能源效率低落;反之,若調速器未及時反應突然來的工作量,或因節能而減少可用之運算資源,則由於所有的應用程式公平分享所有運算資源,因此將會壓縮用戶所關注的應用程式的反應時間,進而削弱用戶體驗。基此,行動作業系統的排程與調速情況,有別於傳統個人電腦或伺服器,因此應針對其特殊進行全新的設計,以兼顧行動裝置能源與用戶體驗。
本發明提供一種資源分配方法,其是以用戶體驗為導
向,並引入敏感度(sensitivity)的概念來設計排程器(scheduler)與調速器(governor),藉以在用戶體驗與能源效率之間取得平衡,進而改善用戶體驗以及增加電源使用效率。
本發明提出一種資源分配方法,適用於具有多個核心的中央處理單元的行動裝置,其中中央處理單元執行至少一應用程式,而此方法包括以下步驟。根據用戶對各應用程式的關注程度,取得各應用程式的使用狀態。根據各應用程式的各使用狀態,判斷各應用程式的至少一執行緒的敏感度。根據這些核心中執行緒的敏感度,分配中央處理單元的資源。
基於上述,本實施例的資源分配方法是以用戶的使用行為為中心,並利用敏感度的概念來設計排程器與調速器,藉以將中央處理單元的資源根據敏感度來分配給各應用程式。其中,排程器會運用敏感度來決定執行緒優先次序、執行緒分配以及執行緒遷移。另外,調速器會基於敏感度進行中央處理單元資源的動態電源管理和動態電壓和調頻調整。如此一來,本資源分配方法,可根據用戶的使用行為來改善用戶體驗,以及增加電源使用效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100‧‧‧行動裝置
110‧‧‧中央處理單元
120‧‧‧應用程式模組
130‧‧‧作業系統模組
132‧‧‧內核
1322‧‧‧排程器
1324‧‧‧調速器
a1、a1、a3、a4、a5‧‧‧方向
S310、S320、S330、S340、S342、S344、S346、S350‧‧‧資源分配方法的各步驟
V、Z1~Z4‧‧‧執行緒
圖1A是依照本發明一實施例所繪示之行動裝置的方塊圖。
圖1B是依照本發明一實施例所繪示之執行緒敏感度遷移的示意圖。
圖2A為採用習知技術的排程器與調速器設計所獲得的效能之示意圖。
圖2B為採用本實施例的排程器與調速器設計所獲得的效能之示意圖。
圖3是依照本發明一實施例所繪示的資源分配方法的流程圖。
圖4為行動裝置處於閒置狀態時的功率消耗之本實施例與習知技術的比較圖。
圖5為本實施例以及習知技術在執行不同應用程式時所需的能量之比較圖。
圖6A至圖6C依序為本實施例以及習知技術的反應時間、幀頻以及完成時間之比較圖。
為滿足用戶於行動裝置上的各項需求,現今行動應用程式提供各式各樣的應用,其中有些應用程式對延遲十分地敏感,有些則否。若拉長其執行時間對於用戶體驗沒有顯著的傷害者則稱為「可容忍延遲的應用持式(Delay-tolerance application)」,例如:壓縮程式,其無需要即時反應。反之,若應用程式執行時的延遲會對用戶體驗造成顯著的傷害者則稱為「不可容忍延遲的應
用持式(Delay-sensitive application)」,例如:影片播放,也就是用戶對影片播放之延遲容易發覺且難以忍受。換言之,不同的應用程式在用戶感知方面有著不同的敏感度,因此,中央處理單元的資源分配不應一視同仁,而應根據應用程式的敏感度來分配。亦即,屬於高敏感度的應用程式應獲得較多的中央處理單元的資源,以改善用戶體驗;而屬於低敏感度的應用程式應獲得較少的中央處理單元的資源,以減少能源消耗。本發明便是基於上述觀點而提出的資源分配方法。為了使本發明之內容更為明瞭,以下特舉實施例做為本發明確實能夠據以實施的範例。
圖1A是依照本發明一實施例所繪示之行動裝置的方塊圖。請參照圖1A,行動裝置100例如是筆記型電腦、個人數位助理、智慧型手機或其他具運算功能之行動電子裝置等,不限於上述。行動裝置100包括中央處理單元110、應用程式模組120以及作業系統模組130。這些元件的功能分述如下。
中央處理單元110用以行動裝置100的整體運作。中央處理單元110可包括多個核心處理器,例如雙核心處理器、三核心處理器或四核心處理器等,但本實施例並不限制核心的數量。在此,中央處理單元110之基本執行單元(Basic Unit)為執行緒(Thread),而行動裝置100可視其多元性之工作內容,允許依不同工作內容分割出多個執行緒,利用中央處理單元110分時執行方法(Time Sharing),在一個時間中執行多個任務(Tasks)。
應用程式模組120用以提供一個或多個應用程式,而這
些應用程式可自網路中下載而安裝於行動裝置100。基於用戶與這些應用程式之間的互動關係(例如使用或操作),這些應用程式受到用戶的關注程度也不相同,也就是應用程式會處於不同的使用狀態。因此,這些應用程式可根據其使用狀態而被區分成屬於不同等級敏感度(Sensitivity)的應用程式。舉例來說,根據應用程式受到用戶的關注程度,這些應用程式可被放在前景(Foreground)或背景(Background)其中之一裡執行,但不限於此。因此,當應用程式在前景執行或用戶正在觸控此應用程式時,也就是應用程式受到用戶的關注程度較高,故此應用程式屬於較高的敏感度;而當應用程式在背景執行時,也就是應用程式受到用戶的關注程度較低,故應用程式則屬於較低的敏感度。另一方面,用戶使用到一半而暫停使用的應用程式,則也可被分類成屬於較低的敏感度的應用程式。在此說明的是,屬於相同應用程式的一個或多個執行緒,其敏感度亦與所述應用程式相對應。例如,屬於較高敏感度的應用程式之一個或多個執行緒,其敏感度也是屬於較高敏感度。
為了方便說明,在本實施例中,應用程式可被區分成高敏感度應用程式、中敏感度應用程式以及低敏感度應用程式。但須說明的是,本實施例並不限制將應用程式區分為高、中及低敏感度,於其他實施例中,應用程式亦可區分多種敏感度。
進一步而言,屬於同一個應用程式的一個或多個執行緒之敏感度可相互繼承。舉例來說,當應用程式的執行緒(假設其
敏感度為中敏感度)產生另一個執行緒的時候,則後產生的執行緒的敏感度會繼承前一個執行緒,也就是中敏感度。另一方面,屬於同一個應用程式的一個或多個執行緒之敏感度也可遷移為不同的敏感度。圖1B是依照本發明一實施例所繪示之執行緒敏感度遷移的示意圖,其中屬於前景應用程式的執行緒可為高敏感度或中敏感度,而屬於背景應用程式的執行緒可為低敏感度。請參照圖1B,當屬於中敏感度的應用程式由前景切換到背景執行而屬於低敏感度時,則屬於此應用程式的所有執行緒也會隨著從中敏感度切換為低敏感度(如方向a1)。或者,當屬於低敏感度的應用程式由背景切換到前景執行而屬於中敏感度時,則屬於此應用程式的所有執行緒也會隨著從低敏感度切換為中敏感度(如方向a2)。此外,對於前景應用程式來說,當用戶和行動裝置100之間進行互動時(例如接收來自用戶觸碰行動裝置100螢幕的操作指令,或觸碰行動裝置100上實體按鍵或軟體按鍵等的操作指令),則屬於前景應用程式的所有執行緒,皆會從中敏感度切換為高敏感度(如方向a3);反之,當用戶和行動裝置100停止前述的互動關係時,例如用戶停止觸控行動裝置100的螢幕或者行動裝置100上的實體按鍵或軟體按鍵時,則屬於前景的應用程式的所有執行緒,皆會從高敏感度切換為中敏感度(如方向a4),也就是說,這些前景的執行緒會在觸控之後的一預設時間內維持在高敏感度,但超過此預設時間之後,則會切換成中敏感度。此外,當行動裝置100的螢幕被關閉時,則所有應用程式皆會被切換為背景執行,
因此這些應用程式的所有執行緒將會隨著被切換為低敏感度,例如可直接從高敏感度切換為低敏感度(如方向a5),而當行動裝置100的螢幕被開啟時,上述各執行緒才會恢復到螢幕關閉前的敏感度。
請再參照圖1A,作業系統模組130為管理行動裝置100的系統軟硬體資源的系統程式,其例如為Android或Linux作業系統,但不限於此。具體來說,作業系統模組130之主要工作可包括將中央處理單元110有效地安排給各個程序使用、分配記憶體(未繪示)給各個程序使用、讓用戶安全存取及控制檔案、管理各項週邊系統,或者依據程序控制表安排資源等。在本實施例中,作業系統模組130會根據用戶對各應用程式的關注程度,取得各應用程式的使用狀態,其中用戶對各應用程式的關注程度例如是用戶對應用程式或行動裝置100上的各種操作指令或者觸控事件。並且,作業系統模組130會根據應用程式的各使用狀態,判斷各應用程式的執行緒的敏感度,也就是,各敏感度可對應於一種使用狀態。此外,當應用程式的使用狀態改變時,作業系統模組130也會對應調整各應用程式的執行緒的敏感度,例如,當應用程式的使用狀態由「用戶之關注程度較高」的高使用狀態改變為「用戶之關注程度較低」的低使用狀態時,作業系統模組130會將應用程式的執行緒的敏感度降低,而當應用程式的使用狀態由「用戶之關注程度較低」的低使用狀態改變為「用戶之關注程度較高」的高使用狀態時,作業系統模組130會將應用程式的執
行緒的敏感度降低。如此一來,作業系統模組130可根據這些核心中執行緒的敏感度來分配CPU資源。
進一步而言,作業系統模組130包括內核132(Kernel),而內核132更包括排程器(Scheduler)1322以及調速器(Governor)1324。排程器1322用以監控執行緒的執行,例如是透過一個選擇機制,以決定下一個核心的使用權是交給那一個執行緒來執行。例如,排程器1322會根據目前運作中各個執行緒的狀態及性質,結合中央處理單元110之核心獨立電壓及時脈調整技術,輸出不同的排程計劃。調速器1324用以決定了中央處理單元110的工作方式,例如是根據工作負載來決定調高或調低頻率,或者是決定是否開啟或關閉核心。
此外,上述的應用程式模組120以及作業系統模組130可以是由程式語言所撰寫的程式碼或是獨立的晶片。舉例來說,應用程式模組120以及作業系統模組130可以是由程式語言所撰寫的程式碼,而這些程式碼儲存在一儲存單元(未繪示)中,以供中央處理單元110來執行之,其中所述儲存單元例如是非揮發性記憶、快閃記憶體或硬碟等。
底下將說明本實施例之基於用戶體驗而設計的排程器1322與調速器1324,以及習知技術的排程器與調速器,在效能上的差異。圖2A為採用習知技術的排程器與調速器設計所獲得的效能之示意圖,而圖2B為採用本實施例的排程器與調速器設計所獲得的效能之示意圖,其中皆假設是以雙核心中央處理單元110來
執行,並以壓縮檔應用程式與影音播放應用程式為例來進行說明。請參照圖2A,在習知技術中,剛開始核心2是處於關閉狀態(如時間軸上的虛線區段)以進行省電。當壓縮檔應用程式於時間T開始執行時,核心1與2皆會被開啟,以執行壓縮檔應用程式所產生的四個執行緒Z1~Z4,且執行緒Z1~Z4皆被排程器平均分配到核心1與2,其中每個執行緒Z1~Z4被分配到0.5mega計算週期(computing cycles)。接著,影音播放應用程式於時間2T開始執行。由於核心1與2分別佔有兩個執行緒Z1~Z2以及執行緒Z3~Z4,故此時影音播放應用程式所產生的執行緒V會被隨機分配到核心2。由於執行緒V必須要平均地和執行緒Z3~Z4共用計算週期,因此執行緒V與執行緒Z3~Z4分別被分配到0.33計算週期。此時由於核心1與2已是使用最高操作頻率,因此調速器無法再增加中央處理單元的頻率。由此可見,在影音播放應用程式結束於時間17T以前,用戶使用影音播放應用程式之體驗會受到停滯。待執行緒Z1~Z2結束後,排程器將重新分配較多的計算週期於執行緒Z3~Z4,直到執行緒Z3~Z4在核心1與2中執行於時間19.5T,核心2才隨之關閉(如時間軸上的虛線區段)而進行省電。顯然地,在此設計中,用戶體驗並非理想。
然而在本實施例中,由於影音播放應用程式會在前景執行,因此影音播放應用程式具有中敏感度,而其所屬的執行緒也具有中敏感度;由於壓縮檔應用程式會在背景執行,因此壓縮檔應用程式具有低敏感度,而其所屬的執行緒也具有低敏感度。據
此,本實施例將會根據應用程式的敏感度來分配CPU資源。請參照圖2B,當壓縮檔應用程式於時間T開始執行時,本實施例的排程器1322也是將壓縮檔應用程式所產生的四個執行緒Z1~Z4平均分配到核心1與2。接著,影音播放應用程式於時間2T開始執行。為了使影音播放應用程式以流暢的影格速度播放,排程器1322會將執行緒Z3遷移到核心1,並根據這五個執行緒V與執行緒Z1~Z4的敏感度來重新分配計算週期。由於執行緒V僅需要0.5mega計算週期,因此調速器1324會將CPU頻率調降至0.5mega計算週期來省電。在影音播放應用程式結束於時間12T後,排程器1322會將執行緒Z3從核心1遷回到核心2,並重新分配計算週期。最後,壓縮檔應用程式結束於時間24T。由此可見,雖然壓縮檔應用程式較晚結束(比較圖1A),然而,用戶並不會特別去感受到壓縮檔應用程式之結束延遲,反之,用戶可體驗到影音播放應用程式之播放流暢度。須說明的是,壓縮檔應用程式也可被切換到前景來執行以提早結束,或者被操作於背景以節省電源。換言之,本實施例之基於用戶體驗而設計的排程器1322以及調速器1324,可增進用戶體驗以及節省電源。
底下將詳細說明本實施例如何以敏感度的概念,設計應用於行動裝置100上的排程器1322以及調速器1324,藉以在用戶體驗與能源效率之間取得一個平衡。
1.設計原理
用戶體驗之考量:
為了改善用戶體驗,較高敏感度執行緒應比較低敏感度執行緒被分配到較多的CPU資源。基此,本實施例的排程器1322會根據各執行緒的敏感度之狀態,例如是高敏感度、中敏感度以及低敏感度,來分配各每一個排程週期的CPU處理時間(CPU time per scheduling period)於各執行緒,其中高敏感度、中敏感度以及低敏感度為舉例說明,本實施例並不限制於此三種敏感度。此外,排程器1322還會將高敏感度執行緒或中敏感度執行緒分配給已開啟的核心來執行,藉以平衡所述已開啟的核心中所有執行緒的總敏感度。
能源效率之考量:
為了降低耗能,CPU資源應根據執行中的執行緒的敏感度來分配。基此,調速器1324會盡可能地分配較多的CPU資源於較高敏感度執行緒,而分配適量的CPU資源於中敏感度執行緒,以及分配有限的CPU資源於較低敏感度執行緒。此外,由於核心之使用不平衡也會消耗更多的電源,因此,排程器1322不僅會平均各核心中執行緒的總敏感度,同時也會平衡這些核心之使用。
2.排程器的設計
底下將詳述排程器1322如何根據應用程式的敏感度來執行執行緒優先次序(thread prioritization)、執行緒分配(thread allocation)以及執行緒遷移(thread migration)。
執行緒優先次序:
排程器1322會根據執行中之執行緒的敏感度來分配CPU處理時間。本實施例是以Samsung Galaxy S3(出產於韓國三星電子)智慧型手機為平台,其CPU處理時間為6.6ms。此外,本實施例使用Android系統的優化系統,而此優化系統是根據一個優先化數值,稱為「nice value」,來優先化執行緒,其中「nice value」介於-20至19之間。在此,越小的「nice value」表示執行緒具有較高的優先順序。倘若兩個執行緒的「nice value」之間的差異為k,則排程器1322分配給較高優先的執行緒的CPU處理時間,約是分配給較低優先的執行緒的1.25k倍。因此,當k值越大,則排程器1322分配給執行緒的CPU處理時間越不平均。在本實施例中,高敏感度、中敏感度及低敏感度執行緒所對應的「nice value」分別為「-20」、「-10」及「0」。由這些「nice value」可看出,雖然低敏感度具有較低的優先順序,但用戶對低敏感度所對應的應用程式之體驗並不會有很大的影響。另外須說明的是,當執行緒的敏感度改變時,排程器1322便會執行此執行緒優先次序。
執行緒分配:
排程器1322會根據敏感度,將每個已執行「FORK」指令的新執行緒分配給已開啟的核心,其中執行緒會依據繼承關係而繼承先前之執行緒的敏感度。倘若執行緒的敏感度為中敏感度或高敏感度,則排程器1322會分配此執行緒於具有最低總敏感度的核心,以使執行緒可獲得較多的CPU資源。反之,倘若執行緒的敏感度為低敏感度,則排程器1322會分配此執行緒於具有最低
總工作負載的核心,以使這些核心的使用上達平衡。在本實施例中,上述屬於高敏感度、中敏感度及低敏感度的執行緒,其敏感度值依序可設定為「3」、「2」及「1」,而上述核心的總敏感度為所執行的每個執行緒的敏感度值之總和。此外,總工作負載為每個取樣週期(sampling period)內執行中之執行緒的計算週期之總和。如此一來,排程器1322可根據這些設定來將高敏感度、低敏感度及低敏感度執行緒分配於不同的核心。
執行緒遷移:
排程器1322會藉由執行緒遷移,來平衡各核心總敏感度及使用量。為了平衡額外資源負擔與工作負載改變時之反應時間,本實施例設定取樣週期為200ms。在此可分為兩大步驟:於第一步驟中,執行緒會重複地自具有最大總敏感度的核心,遷移到具有最低總敏感度的核心,直到所述具有最大總敏感度的核心之總敏感度低於所述具有最低總敏感度的核心之總敏感度。由於敏感度之平衡,可讓執行較少執行緒的核心來執行高敏感度執行緒,且通常具有最低總敏感度的核心會執行較少的執行緒,故在此較高敏感度執行緒會被遷移到其他核心。於第二步驟中,執行緒會重複地自具有最大總工作負載的核心,遷移到具有最低總工作負載的核心,直到所述具有最大總工作負載的核心之總工作負載低於所述具有最低總工作負載的核心之總工作負載。在此,具有較低階敏感度執行緒較適合被遷移到其他核心,其中這些執行緒會依據「先進先出」(First-In-First-Out,FIFO)方式被遷移,
因此在所述第一步驟中被遷移的所述執行緒不會再被遷移到原本所在的核心。
3.調速器的設計
底下將詳細說明調速器1324如何根據敏感度而利用動態電源管理(Dynamic Power Management,DPM)及動態電壓及頻率調節(Dynamic Voltage and Frequency Scaling,DVFS)方法來調節CPU資源。
動態電源管理:
調速器1324會根據總工作負載及CPU功率模型(CPU power mode)週期地開啟或關閉核心的運作,藉以避免不必要的功率消耗,其中取樣週期例如為200ms(如前所述)。在多核心系統中,由於核心的功率消耗與操作頻率之間的關係為遞增凸函數(Convex increasing function),因此關閉越多核心並不一定會省電。在本實施例中,以配置有四核心之中央處理單元110的Samsung Galaxy S3為例來進行說明。其中,假設總工作負載可平均分配於兩個核心,當使用單核心操作時所需要的頻率超過400MHz時,則使用雙核心會較有效率。此外,當使用雙核心操作時所需要的頻率超過400MHz時,則使用三個核心也較佳。對於每個取樣週期(例如200ms)而言,單核心、雙核心、三核心分別以400MHz、400MHz及566MHz頻率來操作,則分別可提供400*0.2=80(mega),400*0.2*2=160(mega),566*0.2*3=340(mega)的計算週期。換言之,核心的開啟數目取決於總工作負載於所述
取樣週期中是否超過前述三個門檻值。然而,於所述取樣週期中的總工作負載與正在執行的執行緒之敏感度高度相關。此外,開啟的核心之數目需小於或等於正在執行的執行緒之數目。另外,倘若開啟的核心被關閉,則在此核心中正在執行的執行緒應被遷移到其他開啟的核心中。
動態電壓及頻率調節:
在決定完開啟的核心之數目後,調速器1324會根據於所述取樣週期中的總工作負載及各核心中正在執行的執行緒之敏感度,來選擇合適的操作頻率給此取樣週期。具體而言,倘若任一執行緒為高敏感度,則調速器1324會選取最高頻率來提供給此執行緒,藉以盡可能地提供此執行緒較多的CPU資源。由於執行緒停留於高敏感度時僅會維持一小段時間(例如是500ms),因此不會有過多的耗能,且用戶之體驗還可大幅地改善。反之,倘若沒有高敏感度執行緒,調速器1324所選擇的操作頻率則如底下所述。在此,對於在已開啟核心中的中敏感度執行緒而言,其所需的計算週期可被滿足。然而,對於在已開啟核心中的低敏感度執行緒而言,其所需的計算週期僅有一半可被滿足。在本實施例中,當所有中敏感度執行緒所需的CPU資源皆滿足時,調速器1324僅會給低敏感度執行緒最少的CPU資源。詳細而言,假設在取樣週期中,調速器1324分配給中敏感度執行緒之計算週期的數目為Cm,則調速器1324分配給同一核心中低敏感度執行緒之計算週期的數目C l 為C l =C m *N l /(N l +1.25k*N m ),其中N l 與N m 分別表示所
述核心中中敏感度與低敏感度執行緒之數目,而k表示中敏感度與低敏感度執行緒之「nice value」之間的差值(例如在此,分別為k=10-(-10)=20)。據此,倘若要滿足中敏感度執行緒所需的CPU資源,則核心操作時的頻率至少要為(C l +C m )/0.2MHz。
圖3是依照本發明一實施例所繪示的資源分配方法的流程圖。底下即以圖3來說明本實施例的資源分配方法。請參照圖3,於步驟S303中,會決定中央處理單元110所執行的應用程式的敏感度,其中應用程式的敏感度決定於應用程式式執行於背景或前景,以及是否與用戶進行互動。進一步而言,於步驟S320中,當中央處理單元110執行的應用程式執行於背景時,則會判斷屬於此應用程式的至少一執行緒的敏感度為第一敏感度(例如是低敏感度)。於步驟S330中,當中央處理單元110執行的應用程式其中之一執行於前景時,則會判斷屬於此應用程式的至少一執行緒的敏感度為第二敏感度(例如是中敏感度),其中倘若執行於前景的應用程式與用戶進行互動,則判斷屬於此應用程式的至少一執行緒的敏感度為第三敏感度(例如是高敏感度)。接著,於步驟S340中,則會依據這些執行緒的敏感度分配中央處理單元的資源。詳細而言,如步驟S342所示,倘若執行緒的敏感度為第二敏感度或第三敏感度,則會分配此執行緒於具有最低總敏感度的核心,以及倘若執行緒的敏感度為第一敏感度,則分配此執行緒於具有最低總工作負載的核心。之後,如步驟S344所示,會將執行緒自具有最大總敏感度的核心,遷移到具有最低總敏感度的核
心,直到所述具有最大總敏感度的核心的總敏感度低於所述具有最低總敏感度的核心的總敏感度。並且,如步驟S346所示,會將執行緒自具有最大總工作負載的核心,遷移到具有最低總工作負載的核心,直到所述具有最大總工作負載的核心的總工作負載低於所述具有最低總工作負載的核心的總工作負載。最後,於步驟S350中,會根據核心中執行緒的敏感度,執行動態電源管理及動態電壓及頻率調節。此外,本實施例並不限制上述步驟S320至步驟S330之間的順序。另外,當應用程式的執行狀態改變時(例如從背(前)景切換到前(背)景,或停止/開始與用戶互動),則應用程式與其執行緒的敏感度也會跟著改變,故本資源分配方法又會回到步驟S310,藉以重新分配CPU資源。如此一來,根據本實施例的資源分配方法,可使用戶體驗與能源效率之間取得平衡,進而改善用戶體驗以及增加電源使用效率。
底下再列舉一個實驗例來驗證及評估本發明的效果。
實驗架構設置:
本實施例的行動裝置為Samsung Galaxy S3智慧型手機,其配備有1.4GHz四核心之中央處理單元110,其中此四核心需同步以相同的頻率運作,且各核心可單獨開啟或關閉。表一為Samsung Galaxy S3的硬體及軟體規格。此外,此實驗架構中使用Monson Solutions公司出產的耗電檢測器來測量智慧型手機的暫態功率消耗及能源消耗等。
表一
此外,本實施例採用三種行動應用程式來進行實驗,依序為「OI File Manager」,「RockPlayer」以及「FtpCafe」,而這些行動應用程式分別具有不同類型的應用功能,且皆可由「Google Play」資料庫獲得。其中,「OI File Manager」用以提供使用者介面,讓用戶透過此使用者介面來管理智慧型手機中的檔案和目錄。由於「OI File Manager」屬於一種互動型的前景應用程式,因此會產生高敏感度執行緒。「RockPlayer」用以播放影音媒體檔案,且屬於一種非互動型的非前景應用程式,因此可會產生執行時間較長之中敏感度執行緒。「FtpCafe」提供一個檔案傳輸(File Transfer Protocol,FTP)伺服器,其可讓不同主機之間的檔案相互傳輸。由於「FtpCafe」屬於一種背景應用程式,因此會產生低
敏感度執行緒。
為了方便說明,在此以檔案管理H、影音播放M以及檔案傳輸L分別表示上述的「OI File Manager」,「RockPlayer」以及「FtpCafe」應用程式。底下將以檔案管理H、影音播放M以及檔案傳輸L,比較本實施例之基於用戶體驗及使用行為而設計的排程器與調速器(User-centric Scheduler and Governor,以下簡稱為本實施例UCSG),以及習知技術的排程器與調速器在效能上的差異。
計算負擔(Computational overhead):
圖4為行動裝置處於閒置狀態時的功率消耗之本實施例UCSG與習知技術的比較圖。請參照圖4,當螢幕關閉時,中央處理單元會進入低電源的休眠模式,而此時行動裝置僅有少量的電源消耗;當螢幕關啟時,中央處理單元的四核心之一會被開啟,並以低頻率(200MHz)來運作。此時,從圖4可看出本實施例UCSG比採用習知技術有略高的功率消耗。由於在每個取樣週期中,本實施例UCSG會更新執行緒的敏感度以預測每個執行緒的計算週期,因而產生較多的耗能,而習知技術僅是粗略地考慮正在執行的執行緒之數目以及各核心的使用量,因此只有較低的耗能。須說明的是,因為一般的行動裝置的螢幕在行動裝置處於閒置狀態時,便會自動關閉以節省電源,因此上述耗能上的差異所持續的時間相當地短暫。
電能消耗:
圖5為本實施例UCSG以及習知技術在執行不同應用程式時所需的能量之比較圖。由圖5可看出,本實施例UCSG比習知技術需要較少的能量,而此原因乃是由於本實施例UCSG會分配有限的資源於低敏感度的執行緒。唯一除外的是在僅使用影音播放M的情況。由於僅使用影音播放M時,沒有其他背景應用程式在執行,因此本實施例UCSG無法藉由分配有限的資源於低敏感度執行緒來節省電源,故在此情況下,本實施例UCSG與習知技術能量消耗幾乎相同。此外,當有其他應用程式在背景執行時,本實施例UCSG所產生的效能會更加明顯。舉例來說,當檔案管理H以及影音播放M皆在前景執行,而檔案傳輸L在背景執行的時候,本實施例UCSG所需的能量消耗比習知技術分別少了24.8%及17.5%,其中檔案管理H執行時比影音播放M執行時所產生的能量消耗更明顯下降,而此原因乃是由於檔案管理H所產生的工作負載較短且不同,而影音播放M所產生的工作負載較持續且穩定。
應用程式效能:
圖6A至圖6C依序為本實施例UCSG以及習知技術的反應時間(Reaction time)、幀頻(Frame rate)以及完成時間(Completion time)之比較圖。請參照圖6A,以檔案管理H的反應時間來看,本實施例UCSG比習知技術有較短的反應時間。其中,因習知技術會提供盡可能地提供足夠的CPU資源給每個應用程式,因此會造成更多個功率消耗。此外,在本實施例UCSG中,
當一個執行緒改變為高敏感度時,由於本實施例UCSG會立即將頻率調節至最高,因此本實施例UCSG仍可比習知技術減少約30%的反應時間。相較之下,在習知技術中,倘若可能的工作負載在此取樣週期中逐漸增加,習知技術僅能在下一個取樣週期中即將頻率調節至最高。請參照圖6B,影音播放M的幀頻與影音播放M及檔案傳輸L同時執行時的幀頻非常接近,由此可知,在檔案傳輸L執行時,影音播放M仍可流暢地播放影音檔案。如圖5C所示,當檔案傳輸L僅獲得有限的CPU資源以節省電源時,本實施例UCSG會比習知技術增加30.8%所需的完成時間,其中所增加的完成時間可隨著不同的參數設定而改變(參數設定例如是調整優先化執行緒的「nice value」)。
綜上所述,本實施例的資源分配方法,是以用戶的使用行為為中心來設計排程器與調速器,將CPU資源根據敏感度來分配給各應用程式,其中排程器會運用敏感度來決定執行緒優先次序、執行緒分配以及執行緒遷移。另外,調速器會基於敏感度進行CPU資源的動態電源管理和動態電壓和調頻調整。此外,本實施例進一步以Samsung Galaxy S3智慧型手機搭配各種應用程式來實驗。從這些實驗結果可看出,相較於習知技術,本實施例所採用的排程器與調速器更適合應用於這些應用程式。其中,在維持效能以及用戶體驗的同時,本實施例可比習知技術需要較少的CPU資源。由於本實施例可辨識出不同敏感度的應用程式所產生迅速增加的工作負載變化,並判斷是否分配較多的CPU資源於這
些應用程式,因此特別是當執行在背景的應用程式突然產生工作負載的時候,更可明顯看出本實施例可比習知技術需要較少的CPU資源。如此一來,本實施例之基於敏感度所設計的排程器與調速器,可根據用戶的使用行為來改善用戶體驗,以及增加電源使用效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S310、S320、S330、S340、S342、S344、S346、S350‧‧‧資源分配方法的各步驟
Claims (12)
- 一種資源分配方法,適用於具有多個核心的中央處理單元的一行動裝置,其中該中央處理單元執行至少一應用程式,該方法包括:根據一用戶對各該應用程式的關注程度,取得各該應用程式的一使用狀態;根據各該應用程式的各該使用狀態,判斷各該應用程式的至少一執行緒的敏感度,其中當該中央處理單元執行的該至少一應用程式執行於一背景時,判斷屬於該應用程式的至少一執行緒的敏感度為一第一敏感度,其中當該中央處理單元執行的該至少一應用程式其中之一執行於一前景時,判斷屬於該應用程式的至少一執行緒的敏感度為一第二敏感度,其中倘若執行於該前景的該應用程式與一用戶進行互動,則判斷屬於該應用程式的至少一執行緒的敏感度為一第三敏感度;以及根據該些核心中該些執行緒的敏感度,分配該中央處理單元的資源,倘若該執行緒的敏感度為該第二敏感度或該第三敏感度,則分配該執行緒於具有一最低總敏感度的該核心,以及倘若該執行緒的敏感度為該第一敏感度,則分配該執行緒於具有一最低總工作負載的該核心。
- 如申請專利範圍第1項所述的資源分配方法,該方法更包括:當各該應用程式的該使用狀態改變時,對應調整各該應用程 式的該至少一執行緒的敏感度,其中當該應用程式的該使用狀態由一高使用狀態改變為一低使用狀態時,將該應用程式的該至少一執行緒的敏感度降低,而當該應用程式的該使用狀態由該低使用狀態改變為該高使用狀態時,將該應用程式的該至少一執行緒的敏感度升高。
- 如申請專利範圍第1項所述的資源分配方法,更包括:當該行動裝置的一螢幕關閉時,則屬於該些應用程式的該至少一執行緒的敏感度為該第一敏感度;以及當該行動裝置的該螢幕開啟時,則屬於該些應用程式的該至少一執行緒的敏感度恢復到該螢幕關閉之前的敏感度。
- 如申請專利範圍第1項所述的資源分配方法,其中該應用程式與該用戶進行互動的步驟包括該應用程式接收來自該用戶的一操作指令。
- 如申請專利範圍第4項所述的資源分配方法,更包括:當該應用程式於該前景執行時,接收來自該用戶的該操作指令,則屬於前景應用程式的該至少一執行緒的敏感度由該第二敏感度切換為該第三敏感度;以及當該應用程式停止接收來自該用戶的該操作指令時,則屬於前景應用程式的該至少一執行緒的敏感度由該第三敏感度切換為該第二敏感度。
- 如申請專利範圍第1項所述的資源分配方法,其中在根據該些執行緒的敏感度分配該中央處理單元的資源的步驟包括: 將該些執行緒自具有一最大總敏感度的該核心,遷移到具有該最低總敏感度的該核心,直到所述具有該最大總敏感度的該核心的總敏感度低於所述具有該最低總敏感度的該核心的總敏感度;將該些執行緒自具有一最大總工作負載的該核心,遷移到具有該最低總工作負載的該核心,直到所述具有該最大總工作負載的該核心的總工作負載低於所述具有該最低總工作負載的該核心的總工作負載;以及根據該些核心中該些執行緒的敏感度,執行一動態電源管理及一動態電壓及頻率調節。
- 如申請專利範圍第6項所述的資源分配方法,其中分別為該第一敏感度、該第二敏感度以及該第三敏感度的該些執行緒分別具有一敏感度值,而該核心的該總敏感度為所執行的各該執行緒的該敏感度值之總和。
- 如申請專利範圍第6項所述的資源分配方法,其中該總工作負載為各取樣週期內執行中的各該執行緒的計算週期之總和。
- 如申請專利範圍第6項所述的資源分配方法,其中根據該些核心中該些執行緒的敏感度,執行該動態電壓及頻率調節的步驟包括:根據於一取樣週期中的該總工作負載及各該核心中正在執行的該些執行緒的敏感度,選擇一操作頻率於該取樣週期。
- 如申請專利範圍第9項所述的資源分配方法,其中在選 擇該操作頻率於該取樣週期的步驟包括:倘若任一該執行緒為該第三敏感度,則選取一最高頻率來提供給該執行緒;以及倘若無任何該第三敏感度的該執行緒,則當所有為該第二敏感度的該些執行緒所需的該中央處理器單元的資源滿足時,分配該第一敏感度的該些執行緒最少的該中央處理器單元的資源。
- 如申請專利範圍第1項所述的資源分配方法,其中在根據該些執行緒的敏感度分配該中央處理單元的資源的步驟包括:依據一優先化數值,優先化該些執行緒,其中越小的該優先化數值表示該執行緒具有較低優先順序,以及倘若該些執行緒的該優先化數值之間的差異為k,則分配給具有較高優先順序的該執行緒的該中央處理單元的處理時間,為分配給具有較低優先順序的該執行緒的1.25k倍。
- 如申請專利範圍第1項所述的資源分配方法,其中該行動裝置具有一Android作業系統或Linux作業系統。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103114053A TWI602125B (zh) | 2014-04-17 | 2014-04-17 | 資源分配方法 |
US14/320,661 US9411649B2 (en) | 2014-04-17 | 2014-07-01 | Resource allocation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103114053A TWI602125B (zh) | 2014-04-17 | 2014-04-17 | 資源分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201541356A TW201541356A (zh) | 2015-11-01 |
TWI602125B true TWI602125B (zh) | 2017-10-11 |
Family
ID=54322109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103114053A TWI602125B (zh) | 2014-04-17 | 2014-04-17 | 資源分配方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9411649B2 (zh) |
TW (1) | TWI602125B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9696787B2 (en) * | 2014-12-10 | 2017-07-04 | Qualcomm Innovation Center, Inc. | Dynamic control of processors to reduce thermal and power costs |
CN106484537B (zh) * | 2016-09-30 | 2019-07-19 | 网易(杭州)网络有限公司 | 一种cpu核资源的分配方法和设备 |
US10488911B2 (en) * | 2016-11-01 | 2019-11-26 | National Taiwan University | Method and computing system of allocating registers |
CN106775828B (zh) * | 2016-11-25 | 2020-07-03 | Oppo广东移动通信有限公司 | 应用程序安装方法及装置、计算机设备 |
CN108228337B (zh) * | 2016-12-22 | 2021-08-27 | 财团法人工业技术研究院 | 中央处理单元的配置方法及适用此方法的服务器 |
CN106776038B (zh) * | 2016-12-30 | 2019-12-27 | Oppo广东移动通信有限公司 | 一种热门应用资源分配方法及移动终端 |
US10437646B2 (en) * | 2017-02-13 | 2019-10-08 | Dell Products L.P. | Automatic detection of optimal compute unit partitioning |
EP3404533B1 (en) * | 2017-05-17 | 2021-05-05 | Samsung Electronics Co., Ltd. | Method and apparatus for data processing based on multicore |
CN112486313B (zh) * | 2019-09-11 | 2024-03-26 | 华为技术有限公司 | 终端的节电方法和装置 |
CN110928687B (zh) * | 2019-11-25 | 2024-02-27 | 新华三技术有限公司 | Cpu资源分配方法及测试设备 |
US20210294641A1 (en) * | 2021-06-08 | 2021-09-23 | Intel Corporation | Dynamic interrupt steering and processor unit idle state demotion |
KR20230018810A (ko) * | 2021-07-30 | 2023-02-07 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 동작 방법 |
CN116468403A (zh) * | 2023-04-19 | 2023-07-21 | 浪潮智慧科技有限公司 | 一种资源分配方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200913607A (en) * | 2007-07-26 | 2009-03-16 | Qualcomm Inc | Methods and apparatus for providing computational load allocation in a network environment |
US20110252429A1 (en) * | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
TW201209581A (en) * | 2010-08-27 | 2012-03-01 | Htc Corp | Electronic device having operation mode dynamic adjusting mechanism and method of the same |
US20120210326A1 (en) * | 2011-02-14 | 2012-08-16 | Microsoft Corporation | Constrained Execution of Background Application Code on Mobile Devices |
TW201310220A (zh) * | 2011-08-17 | 2013-03-01 | Acer Inc | 節能系統以及節能方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7913071B2 (en) | 2007-07-31 | 2011-03-22 | Northwestern University | Systems and methods for process and user driven dynamic voltage and frequency scaling |
US8250395B2 (en) | 2009-11-12 | 2012-08-21 | International Business Machines Corporation | Dynamic voltage and frequency scaling (DVFS) control for simultaneous multi-threading (SMT) processors |
US8856798B2 (en) * | 2010-10-21 | 2014-10-07 | Qualcomm Incorporated | Mobile computing device activity manager |
JP5659066B2 (ja) * | 2011-03-31 | 2015-01-28 | Kddi株式会社 | サービス制御装置およびサービス制御プログラム |
CN102566739B (zh) | 2012-01-06 | 2014-11-26 | 威盛电子股份有限公司 | 多核处理器系统及其动态电源管理方法与控制装置 |
-
2014
- 2014-04-17 TW TW103114053A patent/TWI602125B/zh active
- 2014-07-01 US US14/320,661 patent/US9411649B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200913607A (en) * | 2007-07-26 | 2009-03-16 | Qualcomm Inc | Methods and apparatus for providing computational load allocation in a network environment |
US20110252429A1 (en) * | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
TW201209581A (en) * | 2010-08-27 | 2012-03-01 | Htc Corp | Electronic device having operation mode dynamic adjusting mechanism and method of the same |
US20120210326A1 (en) * | 2011-02-14 | 2012-08-16 | Microsoft Corporation | Constrained Execution of Background Application Code on Mobile Devices |
TW201310220A (zh) * | 2011-08-17 | 2013-03-01 | Acer Inc | 節能系統以及節能方法 |
Also Published As
Publication number | Publication date |
---|---|
US9411649B2 (en) | 2016-08-09 |
US20150301864A1 (en) | 2015-10-22 |
TW201541356A (zh) | 2015-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI602125B (zh) | 資源分配方法 | |
CN110489228B (zh) | 一种资源调度的方法和电子设备 | |
CN108984282B (zh) | 具有闭环性能控制器的amp体系结构的调度器 | |
EP1269313B1 (en) | Real-time scheduling of virtual machines | |
JP6199477B2 (ja) | ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法 | |
TWI260543B (en) | Performance scheduling method and system, and computer readable medium | |
EP3535641B1 (en) | Thread importance based processor core partitioning | |
JP2016076268A (ja) | 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置 | |
US20160203083A1 (en) | Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture | |
KR20170054485A (ko) | 운영체제에서의 휴리스틱 프로세서 전력 관리 | |
US20180120920A1 (en) | Thread Importance Based Processor Core Parking And Frequency Selection | |
Hsiu et al. | User-centric scheduling and governing on mobile devices with big. LITTLE processors | |
Brandt et al. | Soft real-time application execution with dynamic quality of service assurance | |
EP2954385A1 (en) | System and method for controlling central processing unit power with guaranteed transient deadlines | |
WO2023051233A1 (zh) | 用于任务调度的方法、设备、装置和介质 | |
US11422857B2 (en) | Multi-level scheduling | |
CN110795323A (zh) | 负载统计方法、装置、存储介质及电子设备 | |
US20160170474A1 (en) | Power-saving control system, control device, control method, and control program for server equipped with non-volatile memory | |
JP5930504B2 (ja) | 保証された過渡期限とともに中央処理装置の電力を制御するためのシステムおよび方法 | |
US20170269667A1 (en) | Electronic device and energy saving method | |
Mendis et al. | Impact of memory frequency scaling on user-centric smartphone workloads | |
JP2003241978A (ja) | デバイスドライバの負荷分散方法および負荷分散システム | |
WO2021081813A1 (zh) | 多核处理器及其调度方法、设备及存储介质 |