利用跟蹤數(shù)據(jù)的電源管理的方法和系統(tǒng)的制作方法
【專利摘要】本公開涉及利用跟蹤數(shù)據(jù)的電源管理的方法和系統(tǒng)。一種對硬件進行電源管理的方法包括確定要進行電源管理的硬件,從電源管理控制器向跟蹤框架發(fā)送跟蹤請求,以獲得硬件的使用數(shù)據(jù),和識別第一硬件控制軟件組件中的獲得與使用數(shù)據(jù)對應(yīng)的第一跟蹤數(shù)據(jù)的第一探測器,其中第一硬件控制軟件被配置成與所述硬件交互作用。所述方法還包括開啟第一探測器,從第一探測器獲得第一跟蹤數(shù)據(jù),其中第一跟蹤數(shù)據(jù)是當在第一硬件控制軟件的執(zhí)行過程中,遇到第一探測器時獲得的,和利用第一跟蹤數(shù)據(jù)修改硬件的操作。
【專利說明】利用跟蹤數(shù)據(jù)的電源管理的方法和系統(tǒng)
[0001] 本申請是申請日為2009年6月18日、題為"利用跟蹤數(shù)據(jù)的電源管理的方法和系 統(tǒng)"的發(fā)明專利申請No. 200980128626. 8的分案申請。
【技術(shù)領(lǐng)域】
[0002] 本發(fā)明總體上涉及利用跟蹤數(shù)據(jù)的電源管理的方法和系統(tǒng)。
【背景技術(shù)】
[0003] 現(xiàn)代計算機系統(tǒng)可被大致劃分成三個概念要素:硬件、操作系統(tǒng)和應(yīng)用程序。硬 件,例如中央處理單元(CPU)、存儲器、持久性存儲裝置和輸入/輸出裝置提供基本的計算 資源。應(yīng)用程序,比如編譯器、數(shù)據(jù)庫系統(tǒng)、軟件和商業(yè)程序,定義這些資源被用于解決用戶 的計算問題的方式。用戶可包括人、機器、和使用應(yīng)用程序的其它計算機,所述應(yīng)用程序又 米用硬件來解決多種問題。
[0004] 操作系統(tǒng)("0S")是充當計算機系統(tǒng)的用戶和計算機硬件之間的媒介的程序。操 作系統(tǒng)的用途是提供一種環(huán)境,在所述環(huán)境中,用戶能夠方便并且高效地執(zhí)行應(yīng)用程序。計 算機系統(tǒng)具有為解決問題而需要的許多資源(硬件和軟件),例如中央處理單元("CPU") 時間、存儲空間、輸入/輸出("I/O")裝置,等等。操作系統(tǒng)充當這些資源的管理者,并根 據(jù)需要把它們分配給具體的程序和用戶。由于可能存在許多可能沖突的資源請求,操作系 統(tǒng)必須決定哪些請求被分配資源,以高效并且公平地運轉(zhuǎn)計算機系統(tǒng)。
[0005] 此外,操作系統(tǒng)可被表征為控制程序??刂瞥绦蚩刂朴脩舫绦虻膱?zhí)行,以避免計算 機的錯誤和不正確使用??刂瞥绦蛴绕潢P(guān)注I/O裝置的操作。通常,操作系統(tǒng)因其是一種解 決建立可用計算系統(tǒng)的問題的合理途徑而存在。計算機系統(tǒng)的基本目標是執(zhí)行用戶程序, 和使解決用戶問題變得更容易。朝著這個目標,構(gòu)成了計算機硬件。由于單獨的裸硬件不 是特別易于使用,因此開發(fā)了應(yīng)用程序。這些各種程序需要某些公共的操作,例如控制I/O 操作的那些操作。從而使控制和分配資源的公共功能集合成一個軟件:操作系統(tǒng)。
[0006] 為了節(jié)能,一些計算機系統(tǒng)包含電力控制機制。例如,能源之星("E*")電源要求 需要當系統(tǒng)處于空閑狀態(tài)時,系統(tǒng)功耗降低到正常工作功耗水平的15%。為了節(jié)能,操作系 統(tǒng)關(guān)閉不活動的裝置,比如硬盤和監(jiān)視器(或者降低其工作頻率)。操作系統(tǒng)還可通過調(diào)整 (PU的運行來節(jié)能。
【發(fā)明內(nèi)容】
[0007] 在一個方面,本發(fā)明涉及一種對硬件進行電源管理的方法。該方法包括:確定要進 行電源管理的硬件,從電源管理控制器向跟蹤框架發(fā)送跟蹤請求,以獲得硬件的使用數(shù)據(jù), 識別第一硬件控制軟件組件中的獲得與使用數(shù)據(jù)對應(yīng)的第一跟蹤數(shù)據(jù)的第一探測器,其中 第一硬件控制軟件被配置成與所述硬件交互作用,開啟第一探測器,從第一探測器獲得第 一跟蹤數(shù)據(jù),其中第一跟蹤數(shù)據(jù)是當在第一硬件控制軟件的執(zhí)行過程中遇到第一探測器時 獲得的;和利用第一跟蹤數(shù)據(jù)進一步修改所述硬件的操作。
[0008] 在一個方面,本發(fā)明涉及一種對應(yīng)用進行電源管理的方法。該方法包括:識別所述 應(yīng)用中的性能關(guān)鍵部分,在所述性能關(guān)鍵部分之前,在所述應(yīng)用中插入開始探測器,在所述 性能關(guān)鍵部分之后,在所述應(yīng)用中插入結(jié)束探測器,在所述性能關(guān)鍵部分中插入多個資源 利用探測器,其中每個資源利用探測器與硬件相關(guān)聯(lián),所述硬件與該應(yīng)用運行于其上的系 統(tǒng)相關(guān)聯(lián),其中所述多個資源利用探測器中的每個資源利用探測器在應(yīng)用的執(zhí)行過程中遇 到開始探測器之后被開啟,并在應(yīng)用的執(zhí)行過程中遇到結(jié)束探測器之后被禁用,開啟所述 開始探測器和結(jié)束探測器,執(zhí)行所述應(yīng)用,其中執(zhí)行所述應(yīng)用包括遇到開始探測器、所述多 個資源利用探測器中的至少一個,和結(jié)束探測器,其中當在執(zhí)行應(yīng)用的過程中遇到至少一 個資源利用探測器時獲得使用數(shù)據(jù),和利用所述使用數(shù)據(jù)修改所述硬件的操作。
[0009] 本發(fā)明的實施例涉及一種對軟件進行電源管理的系統(tǒng)。該系統(tǒng)包括:硬件,和電源 管理控制器,其中電源管理控制器被配置成:從電源管理控制器向跟蹤框架發(fā)送跟蹤請求, 以獲得硬件的使用數(shù)據(jù),識別第一硬件控制軟件組件中的獲得與使用數(shù)據(jù)對應(yīng)的第一跟蹤 數(shù)據(jù)的第一探測器,其中第一硬件控制軟件被配置成與所述硬件交互作用,開啟第一探測 器,從第一探測器獲得第一跟蹤數(shù)據(jù),其中第一跟蹤數(shù)據(jù)是當在第一硬件控制軟件的執(zhí)行 過程中遇到第一探測器時獲得的,和利用第一跟蹤數(shù)據(jù)修改所述硬件的操作。
[0010] 根據(jù)下面的說明書和附加權(quán)利要求,本發(fā)明的其它方面將是顯而易見的。
【專利附圖】
【附圖說明】
[0011] 圖1表示按照本發(fā)明的一個或多個實施例的系統(tǒng)。
[0012] 圖2表示按照本發(fā)明的一個或多個實施例的流程圖。
[0013] 圖3表示按照本發(fā)明的一個或多個實施例的示例流程圖。
[0014] 圖4表示按照本發(fā)明的一個或多個實施例的計算機系統(tǒng)。
【具體實施方式】
[0015] 現(xiàn)在參考附圖,僅以示例的方式詳細說明本發(fā)明的具體實施例??紤]到一致性,各 個圖中的相同元件用相同的附圖標記表示。
[0016] 在本發(fā)明的實施例的下述詳細說明中,陳述了眾多的具體細節(jié),以便更透徹地理 解本發(fā)明。不過,對本領(lǐng)域的普通技術(shù)人員來說,顯然可在沒有這些具體細節(jié)的情況下實踐 本發(fā)明。在其它情況下,未詳細說明公知的特征,以避免不必要地使說明變復雜。
[0017] 一般而言,本發(fā)明的實施例提供一種利用跟蹤數(shù)據(jù)管理系統(tǒng)中的電源的方法和系 統(tǒng)。更具體地說,本發(fā)明的實施例提供一種用于跟蹤硬件使用、收集跟蹤數(shù)據(jù),并利用收集 的跟蹤數(shù)據(jù)改變硬件使用的方法和系統(tǒng)。按照本發(fā)明的一個或多個實施例,利用跟蹤數(shù)據(jù) 以及電源管理策略修改硬件使用。
[0018] 圖1表示按照本發(fā)明的一個或多個實施例的系統(tǒng)。所述系統(tǒng)可被看作三層:用戶 層,內(nèi)核層和硬件層。用戶層使用戶能夠通過一系列的應(yīng)用與系統(tǒng)交互作用。從用戶層,用 戶可通過內(nèi)核層與底層硬件交互作用。系統(tǒng)的內(nèi)核層管理系統(tǒng)資源,并且充當用戶層和底 層的硬件層之間的媒介。
[0019] 硬件層內(nèi)是一組硬件(114A-114N)。按照本發(fā)明的一個或多個實施例,硬件 (114A-114N)可包括各種各樣的裝置,比如處理器、物理存儲器和/或輸入/輸出(I/O)裝 置。在執(zhí)行過程中,運行于系統(tǒng)上的應(yīng)用依賴于這些資源。不過,對每種資源的需要會因應(yīng) 用而異。
[0020] 硬件(114A-114N)直接由一組硬件控制軟件(112A-112N)控制。硬件控制軟件 (112A-112N) -般位于系統(tǒng)的內(nèi)核層中。按照本發(fā)明的一個或多個實施例,硬件控制軟件 (112A-112N)嵌入有一系列的探測器(110A-110N)。這些探測器(110A-110N)是嵌入硬件 控制軟件中的多組代碼,當在硬件控制軟件(112A-112N)的執(zhí)行期間被開啟和遭遇時,所 述探測器具有向探測器提供器(108)回送信號的能力。按照本發(fā)明的一個或多個實施例, 收集的數(shù)據(jù)可對應(yīng)于電源使用信息或者代表電源使用信息。
[0021] 嵌入硬件控制軟件(112A-112N)內(nèi)的探測器(110A-110N)由同樣位于系統(tǒng)的內(nèi) 核層內(nèi)的探測器提供器(108)開啟。按照本發(fā)明的一個或多個實施例,這些探測器提供 器(112A-112N)根據(jù)為了對硬件進行電源管理而向硬件控制軟件要求的數(shù)據(jù),管理探測器 (110A-110N)。
[0022] 探測器提供器(108)根據(jù)從跟蹤框架(106)接收的請求,開啟一組探測器 (110A-110N)。跟蹤框架(106)通過接收對需要從硬件控制軟件(112A-112N)獲得的數(shù)據(jù)的 請求、確定為了取回必需的數(shù)據(jù)應(yīng)開啟哪些探測器,和開啟選擇的探測器提供器(108),來 充當電力管理控制器(102)和探測器提供器(108)之間的媒介。在美國專利No. 7, 194, 731 和7, 350, 196中描述了跟蹤框架的一個或多個實施例,這些美國專利被包括在此。
[0023] 如圖1中所示,通過內(nèi)核接口(104)與內(nèi)核層交互作用的電源管理控制器(102) 位于用戶層中。按照本發(fā)明的一個或多個實施例,該電源管理控制器通過用戶層中的應(yīng)用 (未示出)接收對硬件使用進行電源管理的請求。該電源管理控制器還可包括確定如何修 改硬件使用以管理系統(tǒng)的電源使用的電源管理策略。
[0024] 圖2表示按照本發(fā)明的一個或多個實施例的流程圖。更具體地說,圖2表示按照 本發(fā)明的一個或多個實施例的對硬件進行電源管理的方法。在步驟202,電源管理控制器識 別要進行電源管理的硬件。按照本發(fā)明的一個或多個實施例,電源管理控制器從在系統(tǒng)的 用戶層中的應(yīng)用處接收對硬件進行電源管理的請求。作為替代地,電源管理控制器可被配 置成自發(fā)對硬件進行電源管理。
[0025] 在步驟204,電源管理控制器確定為了對所選硬件進行電源管理需要什么數(shù)據(jù),并 向跟蹤框架發(fā)送對所述數(shù)據(jù)的請求。電源管理所需的數(shù)據(jù)可與所選硬件的電源使用情況、 可進行電源管理的系統(tǒng)資源的軟件利用情況,和可進行電源管理的資源狀態(tài)與它們對應(yīng)用 性能的影響之間的映射有關(guān)。
[0026] 在步驟206,跟蹤框架識別為了從硬件控制軟件收集所需數(shù)據(jù)而必需的探測器和 探測器提供器。每個探測器與一個探測器提供器關(guān)聯(lián),并且跟蹤框架識別所述提供器,以發(fā) 送開啟所選探測器的請求。在步驟208,探測器提供器開啟必要的探測器。
[0027] 在步驟210,在硬件控制軟件執(zhí)行的時候,當遇到開啟的探測器時,開啟的探測器 產(chǎn)生跟蹤數(shù)據(jù),并把數(shù)據(jù)傳回給跟蹤框架。在本發(fā)明的一個實施例中,跟蹤數(shù)據(jù)可包括與在 應(yīng)用進行一項關(guān)鍵工作單位之前和之后的進入-退出次數(shù)有關(guān)的信息,和在給定處理器上 運行的線程的數(shù)目有關(guān)的信息,等等。
[0028] 在步驟212,跟蹤框架把跟蹤數(shù)據(jù)發(fā)給電源管理控制器。按照本發(fā)明的一個或多 個實施例,產(chǎn)生的數(shù)據(jù)可以編譯自在硬件控制軟件中開啟和遇到的一個或多個探測器。此 夕卜,跟蹤數(shù)據(jù)可以來自與作為電源管理控制器的目標的硬件相關(guān)聯(lián)的一個或多個硬件控制 軟件程序。
[0029] 在步驟214,電源管理控制器利用來自于步驟212的跟蹤數(shù)據(jù)確定如何修改硬件 的使用。按照本發(fā)明的一個或多個實施例,可利用跟蹤數(shù)據(jù)和與電源管理控制器關(guān)聯(lián)的電 源管理策略來確定硬件的修改的使用。在本發(fā)明的一個實施例中,電源管理策略可指出硬 件使用將被修改為降低功耗,或者修改為提高硬件的性能(例如,增大單位時間處理的指 令的數(shù)目,等等)。在步驟216,電源管理控制器向硬件控制軟件發(fā)送請求以運行所確定的 硬件控制軟件。
[0030] 盡管給出并順序說明了該流程圖中的各個步驟,不過本領(lǐng)域的技術(shù)人員會認識到 一些或者所有的步驟可按照不同的順序執(zhí)行,可被組合或省略,一些或者所有的步驟可被 并行執(zhí)行。另外,為了簡化說明,省略了諸如保存確認之類的步驟。
[0031] 圖3表示按照本發(fā)明的一個或多個實施例的流程圖。具體地說,圖3中的流程圖 詳細說明了為了對硬件進行電源管理,在系統(tǒng)內(nèi)傳送數(shù)據(jù)的例子。該例子并不意圖限制本 發(fā)明的范圍。
[0032] 參見所述例子,在302,探測器提供器(108)向跟蹤框架(106)發(fā)送登記,從而確定 哪個探測器提供器(108)控制哪個探測器(110A-110N)。利用該信息,跟蹤框架(106)建立 探測器提供器(108)和探測器(110)的映射,以使跟蹤框架(106)能接收來自電源管理控 制器(102)的請求并確定如何開啟正確的探測器。
[0033] 在304,從電源管理控制器(102)向跟蹤框架(106)發(fā)送跟蹤請求。按照本發(fā)明的 一個或多個實施例,發(fā)送給跟蹤框架的請求識別硬件(未示出)和與硬件有關(guān)的請求使用 數(shù)據(jù)。使用數(shù)據(jù)的例子包括但不限于單位時間的I/O請求的數(shù)目,給定處理器保持空閑狀 態(tài)的時間,等等。
[0034] 在收到該請求之后,跟蹤框架(106)選擇哪些探測器(110)應(yīng)被開啟,以獲得電源 管理控制器(102)請求的數(shù)據(jù)。如果電源管理控制器(108)在對I/O裝置進行電源管理, 那么跟蹤框架(106)可選擇當I/O請求啟動和結(jié)束時會向跟蹤框架提供數(shù)據(jù)的探測器。在 (306),跟蹤框架向?qū)?yīng)的探測器提供器(108)發(fā)送請求,以開啟選擇的探測器(110)。在 (308),探測器提供器開啟選擇的探測器(110)。
[0035] 在探測器被開啟之后,探測器可被用于跟蹤與所請求的使用數(shù)據(jù)對應(yīng)的數(shù)據(jù)。換 句話說,探測器收集的跟蹤數(shù)據(jù)對應(yīng)于電源管理控制器請求的使用數(shù)據(jù)。具體地說,當在硬 件控制軟件(112)的執(zhí)行期間遇到探測器時,硬件控制軟件(112)暫停執(zhí)行,并且控制被轉(zhuǎn) 移給跟蹤框架(310)。跟蹤框架(106)通過應(yīng)用與觸發(fā)了控制的轉(zhuǎn)移的所述探測器相關(guān)的 一個或多個動作,獲得必需的數(shù)據(jù)。一旦從探測器獲得數(shù)據(jù),控制就被轉(zhuǎn)移回硬件控制軟件 (112),以便繼續(xù)執(zhí)行(312)。
[0036] 返回參見對I/O裝置進行電源管理的例子,會在I/O請求完成之前和之后遇到探 測器,因此探測器生成跟蹤數(shù)據(jù)。該數(shù)據(jù)可包括和I/O請求、所使用的I/O裝置,和作為1/ 〇請求的一部分傳送的數(shù)據(jù)有關(guān)的信息。
[0037] 在硬件控制軟件的執(zhí)行結(jié)束之后,在(314),跟蹤框架把收集的數(shù)據(jù)發(fā)給電源管理 控制器。電源管理控制器可根據(jù)跟蹤數(shù)據(jù)和電源管理策略修改使用硬件的方式。修改硬件 使用所必需的信息/指令隨后被發(fā)給硬件控制軟件。在對I/O裝置進行電源管理的例子中, 電源管理控制器(102)可確定電源效率更高的方式來利用I/O裝置。例如,I/O裝置可被 部分停轉(zhuǎn),而不導致I/O裝置性能的任何下降。這種情況下,電源管理控制器可請求硬件控 制軟件部分停轉(zhuǎn)(例如,半速)I/O裝置。
[0038] 對系統(tǒng)中的I/O裝置進行電源管理只是如何對系統(tǒng)中的資源進行電源管理的一 個例子。另一個例子是對處理器進行電源管理。按照本發(fā)明的一個或多個實施例,跟蹤技 術(shù)可被用于通過補充來自CPU性能計數(shù)器(S卩,被編程為對在一段時間內(nèi),特定一組"事件" 的發(fā)生進行計數(shù)的一組寄存器)的數(shù)據(jù),對處理器進行電源管理。在一些情況下,收集更多 的數(shù)據(jù),以確定CPU性能是有益的。一個例子是當經(jīng)歷了預定計數(shù)的特定類型的事件時遇 到探測器,或者利用探測器確定應(yīng)用中的關(guān)鍵路徑的資源利用情況,其中所述關(guān)鍵路徑是 執(zhí)行中使用的資源的順序和功能。
[0039] 類似地,通過利用跟蹤框架,也可對存儲裝置進行電源管理。一個例子是開啟探測 器,以跟蹤和在一段時間內(nèi)訪問的物理存儲地址有關(guān)的信息。另外,可利用一系列的探測器 收集關(guān)于存儲器的更多數(shù)據(jù),比如物理存儲地址是否導致高速緩存未中,并且該數(shù)據(jù)被返 回給跟蹤框架,使得電源管理控制器可利用該數(shù)據(jù)以及電源管理策略修改存儲器使用。在 本發(fā)明的一個實施例中,這使電源管理子系統(tǒng)可以了解哪個物理存儲器正被使用。
[0040] 此外,可按照劃分應(yīng)用的性能關(guān)鍵部分的方式,在應(yīng)用中開啟探測器(例如,可在 執(zhí)行應(yīng)用的線程進入該應(yīng)用的關(guān)鍵部分時,和在所述線程退出該應(yīng)用的關(guān)鍵部分時遇到探 測器)。例如,當在I/O請求前后開啟探測器時,關(guān)于存儲位置的數(shù)據(jù)可被返回給跟蹤框架。 利用該數(shù)據(jù),跟蹤框架可通過停轉(zhuǎn)未被使用的磁盤來對硬件進行電源管理。
[0041] 下面是本發(fā)明的一個或多個實施例的例子,該例子并不意圖限制本申請的范圍。 返回所述例子,考慮其中使用探測器獲得與web服務(wù)應(yīng)用有關(guān)的信息的場景。在這種情況 下,web服務(wù)應(yīng)用的性能關(guān)鍵部分是所述web服務(wù)應(yīng)用的執(zhí)行過程中的通過網(wǎng)絡(luò)連接接收 對文件的請求,和通過網(wǎng)絡(luò)連接向遠程請求者提供響應(yīng)(所述響應(yīng)包括請求的數(shù)據(jù))的部 分。該關(guān)鍵部分的性能可至少部分取決于該應(yīng)用運行于的機器的處理器速度,連網(wǎng)速度的 速度,和主存儲器的速度和/或?qū)?yīng)于文件的數(shù)據(jù)所位于的永久性存儲裝置(例如,硬盤、 磁帶驅(qū)動器等)的速度。
[0042] 為了劃分性能關(guān)鍵部分,跟蹤框架可開啟在性能關(guān)鍵部分開始和結(jié)束時遇到的 (即,啟動的)探測器(開始探測器和結(jié)束探測器)。從而通過測量在執(zhí)行所述應(yīng)用的線程 的開始/結(jié)束探測器的啟動之間過去的時間,可表征應(yīng)用服務(wù)于請求的等待時間。此外,通 過集合地計數(shù)單位時間(可能由系統(tǒng)中的多個并發(fā)的應(yīng)用線程)啟動的開始/結(jié)束探測器 對的數(shù)目,可測量服務(wù)吞吐量。
[0043] 在內(nèi)核中,可存在當利用給定的可進行電源管理的資源時啟動的各種探測器(稱 為"資源利用探測器")。例如,當發(fā)起對磁盤或連網(wǎng)裝置的I/O請求時,或者當應(yīng)用開始在 處理器上運行時(或者當為已運行的應(yīng)用開啟探測器時),探測器可啟動。在探測器的啟動 過程中收集的信息可包括哪個或哪些裝置正在被使用,和其它的使用細節(jié)。
[0044] 通過使這些"資源利用"探測器的啟動以應(yīng)用中的"開始"探測器的啟動為基礎(chǔ) (和當遇到"結(jié)束"探測器時,禁止這些探測器的啟動)(即,在開始探測器被啟動之前,資源 利用探測器不被開啟,并且一旦結(jié)束探測器被啟動,資源利用探測器就被禁用),跟蹤框架 可收集和向電源管理控制器返回與在應(yīng)用的性能關(guān)鍵部分期間哪些資源被使用有關(guān)的信 息。通過改變所利用的裝置的電源狀態(tài),以及隨后測量觀測的延遲和/或吞吐量的變化,電 源管理控制器還可表征和了解對關(guān)鍵部分的性能影響。在本發(fā)明的一個實施例中,利用斷 言(predicate)來啟用和/或禁用探測器是在美國專利7, 281,240中說明的,該專利被包 括在此引為參考。
[0045] 實質(zhì)上,可在任意類型的計算機上實現(xiàn)本發(fā)明的實施例,與使用的平臺無關(guān)。例 如,如圖4中所示,計算機系統(tǒng)(400)包括一個或多個處理器(402)、相關(guān)的存儲器(404) (例如,隨機存取存儲器(RAM)、高速緩沖存儲器、閃速存儲器等)、存儲裝置(406)(例如,硬 盤,諸如壓縮盤驅(qū)動器或數(shù)字視頻光盤(DVD)驅(qū)動器之類的光學驅(qū)動器,閃速記憶棒等), 和目前的計算機典型特有的眾多其它元件和功能(未示出)。計算機(400)還可包括輸入 裝置,比如鍵盤(408)、鼠標(410)或麥克風(未示出)。此外,計算機(400)可包括輸出裝 置,比如監(jiān)視器(412)(例如,液晶顯示器(LCD)、等離子顯示器,或者陰極射線管(CRT)監(jiān) 視器)。計算機系統(tǒng)(400)可經(jīng)網(wǎng)絡(luò)接口連接(未示出),連接到網(wǎng)絡(luò)(514)(例如,局域網(wǎng) (LAN),諸如因特網(wǎng)之類的廣域網(wǎng)(WAN),或者任何其它類似種類的網(wǎng)絡(luò))。本領(lǐng)域的技術(shù)人 員會認識到存在許多不同種類的計算機系統(tǒng),并且上面提及的輸入和輸出裝置可以采取其 它形式。一般來說,計算機系統(tǒng)(400)至少包括為實踐本發(fā)明的實施例而需要的最少的處 理、輸入和/或輸出裝置。
[0046] 此外,本領(lǐng)域的技術(shù)人員會認識到上述計算機系統(tǒng)(400)的一個或多個元件可以 位于遠程位置,并通過網(wǎng)絡(luò)與其它元件連接。此外,可在具有多個節(jié)點的分布式系統(tǒng)上實現(xiàn) 本發(fā)明的實施例,這種情況下,本發(fā)明的每個部分可以位于分布式系統(tǒng)內(nèi)的不同節(jié)點上。在 本發(fā)明的一個實施例中,所述節(jié)點對應(yīng)于計算機系統(tǒng)。另一方面,所述節(jié)點可對應(yīng)于具有相 關(guān)物理存儲器的處理器。作為替代地,所述節(jié)點可對應(yīng)于具有共享存儲器和/或資源的處 理器。此外,實現(xiàn)本發(fā)明的實施例的軟件指令可保存在計算機可讀介質(zhì),比如壓縮盤(CD)、 磁盤、磁帶、文件或者任何其它計算機可讀存儲裝置上。
[0047] 按照本發(fā)明的一個或多個實施例,一些優(yōu)點包括提供一種評估電源管理的關(guān)鍵路 徑的方法和機構(gòu),提供一種評估電源管理技術(shù)的結(jié)果的方法和機制,和允許修改電源管理 策略,以便更有效地進行電源管理。
[〇〇48] 盡管關(guān)于數(shù)目有限的實施例說明了本發(fā)明,不過在受益于本公開內(nèi)容的情況下, 本領(lǐng)域的技術(shù)人員會認識到可以設(shè)計出不脫離這里公開的本發(fā)明的范圍的其它實施例。因 此,本發(fā)明的范圍只由附加的權(quán)利要求限定。
【權(quán)利要求】
1. 一種用于對硬件進行電源管理的方法,包括: 確定要進行電源管理的硬件; 從電源管理控制器向跟蹤框架發(fā)送跟蹤請求,以獲得所述硬件的使用數(shù)據(jù); 識別第一硬件控制軟件中的獲得與所述使用數(shù)據(jù)對應(yīng)的第一跟蹤數(shù)據(jù)的第一探測器, 其中所述第一硬件控制軟件配置為與所述硬件交互作用; 開啟所述第一探測器; 從所述第一探測器獲得所述第一跟蹤數(shù)據(jù),其中所述第一跟蹤數(shù)據(jù)是當在所述第一硬 件控制軟件的執(zhí)行過程中遇到所述第一探測器時獲得的; 將所述第一跟蹤數(shù)據(jù)從所述跟蹤框架發(fā)送到所述電源管理控制器;以及 由所述電源管理控制器至少部分地基于所述第一跟蹤數(shù)據(jù)改變所述硬件的電源狀態(tài)。
2. 如權(quán)利要求1所述的方法,還包括: 識別所述第一硬件控制軟件中的獲得與所述使用數(shù)據(jù)對應(yīng)的第二跟蹤數(shù)據(jù)的第二探 測器,其中所述第一硬件控制軟件配置為與所述硬件交互作用; 開啟所述第二探測器; 從所述第二探測器獲得所述第二跟蹤數(shù)據(jù),其中所述第二跟蹤數(shù)據(jù)是當在所述第一硬 件控制軟件的執(zhí)行過程中遇到所述第二探測器時獲得的; 將所述第二跟蹤數(shù)據(jù)從所述跟蹤框架發(fā)送到所述電源管理控制器;以及 由所述電源管理控制器至少部分地基于所述第二跟蹤數(shù)據(jù)改變所述硬件的電源狀態(tài)。
3. 如權(quán)利要求1或2所述的方法,還包括: 識別第二硬件控制軟件中的獲得與所述使用數(shù)據(jù)對應(yīng)的另外的跟蹤數(shù)據(jù)的另一個探 測器,其中所述第二硬件控制軟件配置為與所述硬件交互作用; 開啟所述另一個探測器; 從所述另一個探測器獲得所述另外的跟蹤數(shù)據(jù),其中所述另外的跟蹤數(shù)據(jù)是當在所述 第二硬件控制軟件的執(zhí)行過程中遇到所述另一個探測器時獲得的; 將所述另外的跟蹤數(shù)據(jù)從所述跟蹤框架發(fā)送到所述電源管理控制器;以及 由所述電源管理控制器至少部分地基于所述另外的跟蹤數(shù)據(jù)改變所述硬件的電源狀 態(tài)。
4. 如權(quán)利要求1或2所述的方法,其中,所述硬件的電源狀態(tài)是利用電源管理策略來改 變的。
5. 如權(quán)利要求1或2所述的方法,其中,所述電源管理控制器位于用戶層。
6. 如權(quán)利要求1或2所述的方法,其中,所述跟蹤框架位于內(nèi)核層。
7. 如權(quán)利要求1或2所述的方法,其中,所述硬件是從主存儲器、處理器和永久性存儲 裝置構(gòu)成的組中選擇的一個。
8. -種用于對軟件進行電源管理的系統(tǒng),包括: 用于從電源管理控制器向跟蹤框架發(fā)送跟蹤請求以獲得硬件的使用數(shù)據(jù)的裝置; 用于識別第一硬件控制軟件中的獲得與所述使用數(shù)據(jù)對應(yīng)的第一跟蹤數(shù)據(jù)的第一探 測器的裝置,其中所述第一硬件控制軟件配置為與所述硬件交互作用; 用于開啟所述第一探測器的裝置; 用于從所述第一探測器獲得所述第一跟蹤數(shù)據(jù)的裝置,其中所述第一跟蹤數(shù)據(jù)是當在 所述第一硬件控制軟件的執(zhí)行過程中遇到所述第一探測器時獲得的; 用于將所述第一跟蹤數(shù)據(jù)從所述跟蹤框架發(fā)送到所述電源管理控制器的裝置;以及 用于由所述電源管理控制器至少部分地基于所述第一跟蹤數(shù)據(jù)改變所述硬件的電源 狀態(tài)的裝置。
9. 如權(quán)利要求8所述的系統(tǒng),還包括: 用于識別所述第一硬件控制軟件中的獲得與所述使用數(shù)據(jù)對應(yīng)的第二跟蹤數(shù)據(jù)的第 二探測器的裝置,其中所述第一硬件控制軟件配置為與所述硬件交互作用; 用于開啟所述第二探測器的裝置; 用于從所述第二探測器獲得所述第二跟蹤數(shù)據(jù)的裝置,其中所述第二跟蹤數(shù)據(jù)是當在 所述第一硬件控制軟件的執(zhí)行過程中遇到所述第二探測器時獲得的; 用于將所述第二跟蹤數(shù)據(jù)從所述跟蹤框架發(fā)送到所述電源管理控制器的裝置;以及 用于由所述電源管理控制器至少部分地基于所述第二跟蹤數(shù)據(jù)改變所述硬件的電源 狀態(tài)的裝置。
10. 如權(quán)利要求8或9所述的系統(tǒng),還包括: 用于識別第二硬件控制軟件中的獲得與所述使用數(shù)據(jù)對應(yīng)的另外的跟蹤數(shù)據(jù)的另一 個探測器的裝置,其中所述第二硬件控制軟件配置為與所述硬件交互作用; 用于開啟所述另一個探測器的裝置; 用于從所述另一個探測器獲得所述另外的跟蹤數(shù)據(jù)的裝置,其中所述另外的跟蹤數(shù)據(jù) 是當在所述第二硬件控制軟件的執(zhí)行過程中遇到所述另一個探測器時獲得的; 用于將所述另外的跟蹤數(shù)據(jù)從所述跟蹤框架發(fā)送到所述電源管理控制器的裝置;以及 用于由所述電源管理控制器至少部分地基于所述另外的跟蹤數(shù)據(jù)改變所述硬件的電 源狀態(tài)的裝置。
11. 如權(quán)利要求8或9所述的系統(tǒng),其中,所述硬件的電源狀態(tài)是利用電源管理策略來 改變的。
12. 如權(quán)利要求8或9所述的系統(tǒng),其中,所述電源管理控制器位于用戶層。
13. 如權(quán)利要求8或9所述的系統(tǒng),其中,所述跟蹤框架位于內(nèi)核層。
【文檔編號】G06F1/32GK104111722SQ201410319755
【公開日】2014年10月22日 申請日期:2009年6月18日 優(yōu)先權(quán)日:2008年6月19日
【發(fā)明者】E·C·薩克斯, D·P·強森, J·J·丘 申請人:甲骨文美國公司