中間件功率管理的制作方法
【專利摘要】一種系統(tǒng)可包括多個設備,其每一個配置為以應用程序層級運行應用程序,且每一個具有變化的性能、功率、及其它能力。在應用程序服務品質的制約下,以將該設備的個別功率消耗或集合能量效率最優(yōu)化為目標,響應于基于該設備的能力的判定,跨越該設備中的每一個的中間件功率管理設施可將應用程序從一個設備轉移至另一個。
【專利說明】中間件功率管理
【技術領域】
[0001] 概括地講,本公開的技術涉及電子設備的功率管理技術,且更具體地,涉及由多個 設備組成的系統(tǒng)的功率管理技術。
【背景技術】
[0002] 在現(xiàn)有系統(tǒng)中,功率管理策略及控制典型地存在于管理不同的硬件資源的支持最 小公分母判定的操作系統(tǒng)軟件中?,F(xiàn)有的操作系統(tǒng)驅動功率管理(0SPM)基礎設施通常無 法包括(更不用說適當?shù)靥幚恚┨囟☉贸绦蛐枨蠹笆褂谜弑尘啊,F(xiàn)有的0SPM基礎設施 往往僅控制本地資源,并未設計為支持跨越多個設備的執(zhí)行。事實上,鑒于不同設備可運行 不同的操作系統(tǒng),將功率管理實施在操作系統(tǒng)內在新興系統(tǒng)中可能甚至是不可行的。
[0003] 移動系統(tǒng)和設備逐漸增多地運行針對特定平臺及用戶體驗高度優(yōu)化的應用程序。 就此而言,應用程序往往對性能及能量效率需求、周圍背景、以及周邊環(huán)境具有最全面的考 慮。同時,包括移動設備的計算、存儲器、及存儲資源正變得更加多元化和異質化。此異質 性來自特定應用加速器的更大量使用、不斷發(fā)展的存儲器、以及由新存儲器技術帶來的存 儲體系及廣泛地用于如今系統(tǒng)中的各種無線通信選擇。此外,應用程序執(zhí)行可跨越多個設 備。應用程序在設備之間遷移或跨越多個設備執(zhí)行,以在"互連運算"中提供最佳的用戶體 驗。這種遷移由能量效率、性能、以及功能性考慮所驅動。應用程序在嘗試提供最佳的用戶 體驗時,經(jīng)常利用跨越不同設備的資源。
[0004] 現(xiàn)有設備中的功率管理是硬件與操作系統(tǒng)之間的共同責任。0S典型地控制功率及 性能狀態(tài)(例如,P-狀態(tài)及C-狀態(tài))且硬件通常施用其自身的控制機制以符合其電路和 邏輯的物理規(guī)格,例如,熱和功率需求。當設備變得更異質時,執(zhí)行開始跨越潛在地運行不 同操作系統(tǒng)或相同操作系統(tǒng)的多個獨立副本的多個設備。鑒于此,且因為應用程序針對特 定硬件功能及使用者背景最優(yōu)化,管理系統(tǒng)功率的工作需要更向應用程序移動并能跨越多 個設備。具有自身功率管理的應用程序會是下一個邏輯替代,但該布置通常不可行。
[0005] 因此,對于為多個設備配置的系統(tǒng),和對于建立在中間件之上的以應用程序為中 心的計算系統(tǒng)(其中該合并導致將功率管理所有權置于中間件中),仍需要改善的功率管 理技術。
【專利附圖】
【附圖說明】
[0006] 本公開技術的實施例在附圖中是以示例而非限制的方式說明,且在其中相似的參 考標記指代相似的元件。
[0007] 圖1是示出了使用在被配置用于處理多個設備的系統(tǒng)中的現(xiàn)有功率管理架構的 示例的方塊圖。
[0008] 圖2示出了根據(jù)本公開技術的實施例的使用在被配置用于處理多個設備的系統(tǒng) 中的中間件功率管理架構的第一示例。
[0009] 圖3示出了根據(jù)本公開技術的實施例的使用在被配置用于處理多個設備的系統(tǒng) 中的中間件功率管理架構的第二示例。
[0010] 圖4示出了根據(jù)本公開技術的實施例的與被配置用于處理多個設備的系統(tǒng)有關 的功率管理第一方法的示例。
[0011] 圖5示出了根據(jù)本公開技術的實施例的與被配置用于處理多個設備的系統(tǒng)有關 的功率管理第二方法的示例。
【具體實施方式】
[0012] 本公開技術的特定實施例包括用于與移動設備有關的功率管理的新技術及架構, 其中功率管理功能及控制存在于應用程序中間件中。這些實施方式可能使得各種類型的應 用程序能夠發(fā)現(xiàn)跨越一個或多個設備的硬件資源的能量效率特征,同時基于特定應用程序 需求及周邊及執(zhí)行背景,管理跨越物理設備界限的功率及熱考慮。例如,特定實施例包括用 于發(fā)現(xiàn)及控制可能位于不同物理設備中(例如臺式或膝上計算機、手持計算設備如平板設 備、或移動設備如智能手機)的各種硬件資源的功率及熱特征的機制。實施例可包括抽取 使用者背景及中間件中的應用程序需求,并實施使用定義在硬件中的原始接口的功率管理 策略。
[0013] 特定的實施方式包括將在本文中稱為中間件功率管理(MWPM)的新設施,其將功 率管理策略及控制實施在應用程序中間件中。MWMP可跨越多個物理設備、可為無關于操作 系統(tǒng)(0S)、并可能經(jīng)由0S驅動功率管理(0SPM)基礎架構或直接經(jīng)由硬件接口訪問下層硬 件控制功率管理(HWPM)基礎架構。在特定的實施例中,MWPM可能與應用程序及終端使用 者背景環(huán)境緊密地耦合,因此能夠有應用程序特定的并調優(yōu)的功率管理策略的設計以優(yōu)化 個別用戶體驗。
[0014] 在特定實施例中,可將硬件用于在物理層控制功率管理工作,以確保實現(xiàn)高能效 的操作并符合相關的物理功率及熱限制。可將硬件控制功率管理(HWPM)設施實施為針對 系統(tǒng)(例如片上系統(tǒng)(SoC))中的不同資源,暴露出用于提供性能及能量效率指導的一組接 口。例如,硬件可暴露出在系統(tǒng)中可用于不同異質核心及加速器的性能等級,并允許較高級 的軟件,如MWPM,針對特定的核心或加速器指定所期望的性能。
[0015] 在特定實施例中,可將操作系統(tǒng)功率管理(0SPM)設施實施用來為系統(tǒng)(例如, SoC)及系統(tǒng)中的輸入/輸出(I/O)資源提供功率管理設施。0SPM設施可針對不同的I/O設 備及系統(tǒng)組件暴露出硬件能力及支持的接口。與目前的系統(tǒng)不同,根據(jù)本公開技術的0SPM 設施不需要實施功率管理策略及控制;相反,0SPM設施可對使用者應用程序暴露出本地設 備上的硬件能力及功率管理接口。在特定的實施中,可繞過0SPM設施,使得HWPM設施接口 可直接被更高級別軟件使用。
[0016] 在特定實施例中,可將中間件功率管理(MWPM)設施實施用來主持可跨越多個物 理設備及多個操作系統(tǒng)的功率管理策略及控制基礎架構。MWPM設施可用于將接口暴露給應 用程序,以指定服務品質需求、執(zhí)行及功能性需求,及功率/能量偏好。MWPM設施可用于實 施功率管理策略及控制機制,所述功率管理策略及控制機制可以:包括可能分散在不同設 備之間的執(zhí)行資源,處理關于位于本地及遠程的計算、存儲器及網(wǎng)絡資源的使用的不同權 衡,并也顧及使用者背景及周邊環(huán)境考慮。
[0017] 關于MWPM設施的特定實施例而實施的功率管理策略可為針對特定應用的,并也 針對特定用戶體驗調整/優(yōu)化。除了管理功率外,例如,MWPM設施還可實施多個設施,用于 發(fā)現(xiàn)本地及遠程硬件資源的能效特性,并例如在產(chǎn)生遷移及資源配置判定時也支持應用程 序及其它中間件組件。
[0018] 圖1是示出了使用在被配置用來處理單一設備(例如,移動設備如膝上計算機,手 持計算設備如平板設備,智能手機等)的系統(tǒng)中的現(xiàn)有功率管理架構100的示例的方塊圖。 操作系統(tǒng)驅動功率管理(0SPM)基礎架構110及硬件控制功率管理(HWPM)基礎架構120共 同工作,以提供與多個應用程序l〇2A-102n中的每一個相關的功率管理能力。該堆棧(例 如,102A-102n,110,及120)被在各個設備上復制。
[0019] 圖2示出了根據(jù)本公開技術的實施例的使用在被配置用來處理一個或多個設備 的系統(tǒng)中的中間件功率管理架構200的第一示例。該示例包括兩個設備202及220。第一 設備202運行多個應用程序204A-204n且第二設備220也運行多個應用程序224A-224n。 在特定實施例中,應用程序202z跨越設備202及220。第一和第二設備202和220每一個 可為多個電子設備中的任一個,如臺式或膝上計算機、手持計算設備如平板設備,智能手機 等。
[0020] 第一設備具有可關于功率管理的特定方面彼此相互作用的0SPM設施206及HWPM 設施208,其中所述功率管理與在第一設備202上運行的任何或所有應用程序204A-204n 相關。相似地,第二設備具有可關于功率管理的特定方面彼此相互作用的0SPM設施226 及HWPM設施228,其中所述功率管理與在第二設備220上運行的任何或所有應用程序 224A-224n 相關。
[0021] 在該示例中,功率管理架構200進一步包括:有關于任何或全部在第一設備202 上運行的應用程序204A-204n及任何或全部在第二設備220上運行的應用程序224A-224n 的,實施在中間件中并控制平臺功率,例如功率管理偏好、服務品質(QoS)限制等的中間件 功率管理(MWPM)設施210。MWPM設施210能跨越多個物理設備,例如,第一設備202及第 二設備220。使用在本文中的"跨越"可包括中間件的兩個實例,它們協(xié)作以實現(xiàn)MWPM,或 者包括單個示例,例如跨越多個設備的可執(zhí)行程序,或許多變化中任一個。
[0022] 所有應用程序204A-204n及224A-224n的任一個可以為MWPM設施210提供QoS 及相關信息。MWPM設施210可依據(jù)相關硬件平臺將任何或所有應用程序204A-204n及 224A-224n特征化或調整,因此判定可傳達至HWPM設施208和228中的一個或兩個的QoS 需求。這種需求可用于遷移、功率管理、以及由MWPM設施210執(zhí)行的其他策略優(yōu)化。
[0023] 圖3A-3B示出了根據(jù)本公開技術的實施例的使用在被配置用來處理多個設備的 系統(tǒng)中的中間件功率管理架構300的第二示例。在由圖3A示出的示例中,應用程序304在 第一設備302上運行并使用設備302的本地存儲器作為資源。MWPM設施306能夠檢測應用 程序304是對延遲敏感的并可將此信息傳輸至HWPM設施308。隨后,當應用程序處理器活 動時,例如,在Q狀態(tài)中,HWPM設施可將第一設備302的集成存儲器控制器(iMC) 310中的 自刷新狀態(tài)禁用。
[0024] 在一些時間點,第一設備302來到能力更強的系統(tǒng)的附近,例如,具有更大顯示 器、額外計算資源、和/或更大電池功率。例如,使用智能手機的使用者可從外側進入他或 她的家,然后將智能型手機帶到他或她家的網(wǎng)絡的附近,其包括高級臺式計算機。在判定第 一設備302已經(jīng)進入附近時,MWPM設施306可尋求這樣的確認。例如,MWPM設施306可不 采取任何行動,除非第一設備302已于附近停留了特定量的時間。
[0025] 響應于第一設備302確實在另一個系統(tǒng)附近的判定/確認,第一設備302上的 MWPM設施306可決定將在第一設備上的應用程序304遷移(例如,移動或轉移)至另一個 設備,例如,圖3B的第二設備320。在由圖3B示出的示例中,應用程序304現(xiàn)在執(zhí)行在第二 設備320上。
[0026] 由于圖3B的硬件配置,MWPM設施306可在第一設備302上重設其存儲器延遲需 求,例如,從0至1,因此容許第一設備302上的iMC 310進入用電高效的存儲器自刷新狀 態(tài)。由于應用程序304現(xiàn)在執(zhí)行在第二設備320上,MWPM設施306也可在第二設備320上 設定新的存儲器延遲限制,例如,從1至0。替代地或者除了存儲器延遲需求外,還可調整其 它功率管理參數(shù)如處理器C-狀態(tài)及P-狀態(tài)、非核心狀態(tài)、互連狀態(tài)等。
[0027] 圖4示出了根據(jù)本公開技術的實施例的與被配置用來處理多個設備的系統(tǒng)有關 的功率管理第一方法400的示例。在402,第一設備,如圖3A的第一設備302正在運行應用 程序,如圖3A的應用程序304。第一設備可為多個不同電子設備中的任一個,如膝上計算 機、手持計算設備、平板設備、智能手機等。
[0028] 在404,第一設備進入系統(tǒng)或另一個設備附近,如圖3B的第二設備320。例如,當 使用者從外面進入建筑物時他或她可攜帶第一設備,其中所述建筑有用戶可訪問的無線網(wǎng) 絡,而在外面無法訪問或受限地訪問建筑物內的網(wǎng)絡。該無線網(wǎng)絡可允許在多個設備的任 一個之間的連接,如臺式計算機、服務器、或可攜式設備,如平板設備及智能手機。
[0029] 在406,判定另一個設備是否具有比第一設備更可取的性能、功率、人類輸入/輸 出、或其它功能。例如,第一設備上的MWPM設施可識別目前連接至網(wǎng)絡的第二設備,如圖3B 的第二設備320。在特定實施例中,在采取進一步行動之前,這種判定也可依據(jù)確保該連接 持續(xù)特定量的時間或具有特定信號強度的確認。例如,第一設備可判定該系統(tǒng)具有較大功 率容量,但由于已識別的問題,如連接性問題,第一設備上的MWPM設施可視為,至少不是在 目前,另一個設備的功率功能不比第一設備更可取。
[0030] 響應于判定另一個設備的功率容量比第一設備更可取,第一設備上的MWPM設施 可與第二設備上的MWPM設施相互作用,以將該應用程序的執(zhí)行轉移至另一個設備,如在 408指示的;否則,方法400通常返回至402,例如,該應用程序繼續(xù)在第一設備上運行。如 果將該應用程序轉移至第二設備,第一設備上的存儲器延遲需求可以可選地重設,并可在 第二設備上可選地設置新的存儲器延遲限制,如在410處指示的。
[0031] 圖5示出了根據(jù)本公開技術的實施例的與被配置用來處理多個設備的系統(tǒng)有關 的功率管理第二方法500的示例。在502,已轉移的應用程序在第二設備上運行,例如,原先 在圖3A的第一設備302上運行的應用程序304,現(xiàn)在在圖3B的第二設備320上運行。
[0032] 在504,檢測到可能影響該已轉移的應用程序在目前設備上運行的事件。在一個示 例中,應用程序在其上運行的原始設備可離開該應用程序目前在其上運行的另一個設備附 近,例如,使用者可實際上離開這兩個設備于其上連接的該網(wǎng)絡的附近。在替代示例中,跨 越這兩個設備的MWPM設施可判定第二設備的電力不足,且因此該應用程序可能停止在第 二設備上運行。
[0033] 在506,判定是否應將應用程序從該設備轉移,例如,返回至原始設備或另一個設 備。例如,MWPM設施可希望確認應用程序的性能需求會與原始設備匹配,且如果不匹配,則 確認是否有性能需求匹配的另一個可用設備。MWPM設施也可考慮使用者目前是否與應用程 序相互作用或應用程序是否部分或完全在背景中運行,例如,與獨立于使用者相互作用。
[0034] 本公開技術的特定實施包括可實現(xiàn)能量效率優(yōu)化的MWPM架構。這些實施例可包 括將應用程序及設備兩者特征化以及移動應用程序用于在設備上執(zhí)行的能力,該設備將提 供最佳系統(tǒng)寬度,例如,集中能量效率,同時滿足應用程序QoS限制。
[0035] 在特定實施例中,MWPM架構可做出一個或多個策略決定,例如,轉移或跨越應用程 序的執(zhí)行,以改善使用者察覺的響應、品質、及終端使用者所體驗的應用程序的其它方面。 知道/判定多個應用程序QoS等級,例如,最小、良好、以及優(yōu)質,使得MWPM架構能夠有效地 及有效率地將應用程序需求映射至一個或潛在的多個設備上的最優(yōu)硬件組。
[0036] 在該示例中,響應于判定應用程序應轉移至另一個設備,例如,第一設備或另一個 目前可用設備,該設備上的MWPM設施可與在另一個設備上的MWPM設施相互作用,以將應用 程序的執(zhí)行轉移至另一個設備,如在508處指示的;否則,方法500通常返回至502,例如, 該應用程序繼續(xù)在相同設備上運行。如果將應用程序轉移至另一個設備,可因此調整在設 備中的一個或兩個上的存儲器延遲需求,如在510處指示的。
[0037] 本公開技術的實施例可合并入各種類型的架構中。例如,可將特定實施例實施為 下列各項任一個或組合:使用母板互連的一個或多個微芯片或集成電路、圖形和/或視頻 處理器、多核處理器,硬連接邏輯、由存儲器設備存儲并由微處理器執(zhí)行的軟件、固件、特定 用途集成電路(ASIC)、和/或現(xiàn)場可編程門陣列(FPGA)。本文使用的術語"邏輯"可通過 示例的方式包括軟件、硬件、或其中的任意組合。
[0038] 盡管本文說明及描述了特定實施例,但本領域技術人員可以領會,各種替代和/ 或等價實施可取代所示出及描述的具體的實施例,而不偏離本公開技術的實施例的范圍。 本申請意在涵蓋本文說明及描述的實施例的任何修改或變化。因此,明顯意在使本公開技 術的實施例僅受下面的權利要求及其等價范圍的限制。
【權利要求】
1. 一種系統(tǒng),包括: 第一設備,配置為在第一應用程序層級運行應用程序,所述第一設備具有第一功率容 量; 第二設備,配置為在第二應用程序層級運行所述應用程序,所述第二設備具有第二功 率容量;以及 中間件功率管理(MWPM)設施,其跨越所述第一和第二設備中的每一個,并配置為響應 于至少部分基于所述第一和第二功率容量的判定,將所述應用程序從所述第一設備轉移至 所述第二設備。
2. 如權利要求1所述的系統(tǒng),其中所述第一設備包括第一操作系統(tǒng)驅動功率管理 (OSPM)設施,且其中所述MWPM設施存在于:所述第一設備上的所述第一 OSPM設施與所述 第一應用程序層級之間。
3. 如權利要求2所述的系統(tǒng),其中所述第二設備包括第二OSPM設施,且其中所述MWPM 設施存在于:所述第二設備上的所述第一 OSPM設施與所述第二應用程序層級之間。
4. 如權利要求1所述的系統(tǒng),其中所述第一設備包括第一硬件控制功率管理(HWPM)設 施,且其中所述MWPM設施存在于:所述第一設備上的所述第一 HWPM設施與所述第一應用程 序層級之間。
5. 如權利要求2所述的系統(tǒng),其中所述第二設備包括第二硬件控制功率管理(HWPM)設 施,且其中所述MWPM設施存在于:所述第二設備上的所述第二HWPM設施與所述第二應用程 序層級之間。
6. 如權利要求1的系統(tǒng),其中所述第一和第二設備中的每一個包括由下列各項構成的 組中的一項:膝上計算機、手持計算設備、平板計算設備、以及智能手機。
7. -種方法,包括: 第一設備運行應用程序; 配置第二設備以運行所述應用程序; 所述第一設備進入第二設備附近; 跨越所述第一和第二設備的中間件功率管理(MWPM)設施判定是否將所述應用程序 從所述第一設備轉移至所述第二設備,其中所述判定至少部分基于所述第二設備的功率容 量;以及 響應于所述判定,所述MWPM設施將所述應用程序轉移至所述第二設備。
8. 如權利要求7所述的方法,其中所述判定還基于所述第一設備的功率容量。
9. 如權利要求8所述的方法,其中所述第二設備的所述功率容量被判定為具有的品質 超過所述第一設備的所述功率容量的品質,所述品質包括由下列各項構成的組中的至少一 項:量、品質、效率、以及可靠性。
10. 如權利要求7所述的方法,進一步包括響應于所述轉移,重設所述第一設備上的存 儲器延遲需求。
11. 如權利要求7所述的方法,進一步包括響應于所述轉移,設定所述第二設備上的存 儲器延遲需求。
12. 如權利要求7所述的方法,進一步包括所述MWPM設施檢測會影響在所述第二設備 上運行的所述應用程序的事件。
13. 如權利要求12所述的方法,其中所述事件包括由下列各項構成的組中的一項:所 述第一設備離開所述第二設備附近、所述第二設備的所述功率容量的實際減損、以及所述 第二設備的所述功率容量的潛在減損。
14. 如權利要求12所述的方法,進一步包括所述MWPM設施響應于所述檢測,判定是否 將所述應用程序從所述第二設備轉移回所述第一設備。
15. 如權利要求12所述的方法,進一步包括所述MWPM設施響應于所述檢測,判定是否 將所述應用程序從所述第二設備轉移至第三設備。
16. 如權利要求7所述的方法,其中所述第一設備進入所述第二設備附近包括:所述第 一設備檢測所述第二設備所連接的網(wǎng)絡。
17. -種移動設備,包括: 用于在應用程序層級執(zhí)行應用程序的處理器; 用于存儲關于所述應用程序的信息的存儲器; 用于為所述處理器提供電力的電源,所述電源具有功率容量; 用于至少部分地管理所述應用程序的功率的操作系統(tǒng)驅動功率管理(OSPM)設施;以 及 在所述OSPM設施及所述應用程序層級之間的中間件功率管理(MWPM)設施,其被配置 用于將所述應用程序轉移至另一設備。
18. 如權利要求18所述的移動設備,其中將所述MWPM設施配置為響應于所述另一設備 的功率容量大于所述電源的功率容量的判定,將所述應用程序轉移至所述另一設備。
19. 如權利要求18所述的移動設備,進一步包括用于至少部分地管理所述應用程序的 所述功率的硬件控制功率管理(HWPM)設施。
20. 如權利要求19所述的移動設備,其中所述MWPM進一步在所述HWPM與所述應用程 序層級之間。
【文檔編號】G06F9/44GK104094190SQ201180076129
【公開日】2014年10月8日 申請日期:2011年12月30日 優(yōu)先權日:2011年12月30日
【發(fā)明者】E·戈爾巴托夫, P·迪芬鮑 申請人:英特爾公司