亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

線程節(jié)流的制作方法

文檔序號:6349949閱讀:123來源:國知局
專利名稱:線程節(jié)流的制作方法
線程節(jié)流相關申請的引用本申請與下述共同待審申請相關2009年7月23日提交的申請序列號 12/508,552(代理案卷號HVW01-016-US),題為‘、election For Applications Running On Multiprocessor Systems Based On Core Characteristics,,。
背景技術
微處理器的功率密度每隔幾年翻倍,預期提高速率會持續(xù)增長。微處理器消耗的能量轉換為熱,因此功率密度的增加造成熱密度的相應升高,導致可靠性和制造成本方面的困難。由于功率耗散在空間上是不均勻的,所以局部化加熱比芯片范圍上的加熱發(fā)生得更快。造成的“熱點”進一步增加熱密度的升高。大多數(shù)處理熱密度升高和熱點的設計技術關注于熱封裝,例如熱沉和熱扇。也已經考慮了在包括芯片架構級別的所有系統(tǒng)級上的溫度意識設計。溫度意識設計利用功率管理技術,可以直接瞄準工作溫度的空間和時間行為。

發(fā)明內容
在第一方面,本公開總體上描述了一種對計算機系統(tǒng)中線程的運行進行調度的方法,包括測量計算機系統(tǒng)中存儲器組的溫度;如果存儲器組的溫度超過預定溫度,確定線程是否包括對于存儲器組中存儲的數(shù)據(jù)的請求;以及如果確定線程包括對于存儲器組中存儲的數(shù)據(jù)的請求,進行調度以減慢線程在計算機系統(tǒng)的第一內核上的執(zhí)行。在第二方面,本公開總體上描述了一種計算機程序產品,具有在計算機可讀介質中編碼的軟件,用于對計算機系統(tǒng)中線程的運行進行調度。軟件包括指令,當被執(zhí)行時,操作為測量計算機系統(tǒng)中存儲器組的溫度;如果存儲器組的溫度超過預定溫度,確定線程是否包括對于存儲器組中存儲的數(shù)據(jù)的請求;以及如果確定線程包括對于存儲器組中存儲的數(shù)據(jù)的請求,進行調度以減慢線程在計算機系統(tǒng)的第一內核上的執(zhí)行。在第三方面,本公開總體上描述了一種計算機系統(tǒng),具有第一和第二內核、操作性耦接至第一和第二內核的存儲器組、以及操作性耦接至第一和第二內核的計算機可讀介質。計算機可讀介質包括計算機可執(zhí)行指令,當由計算機系統(tǒng)執(zhí)行時,指令將計算機系統(tǒng)配置為測量存儲器組的溫度,以確定溫度是否超過預定溫度;當確定存儲器組的溫度超過預定溫度時,確定計算機系統(tǒng)中的至少一個線程是否包括對于存儲器組中存儲的數(shù)據(jù)的請求;以及當確定所述至少一個線程包括對于存儲器組中存儲的數(shù)據(jù)的請求時,進行調度以減慢所述至少一個線程在計算機系統(tǒng)的第一內核上的執(zhí)行。以上發(fā)明內容僅僅是說明性的,而絕不是限制性的。除了上述示例性的各方案、 各實施例和各特征之外,參照附圖和以下詳細說明,將清楚其他方案、其他實施例和其他特征。


結合附圖,根據(jù)以下說明書和所附權利要求,可以更好理解本公開。圖中的組件不一定是按照比例繪制的,而是要強調所公開主題的原理。應認識到這些附圖僅僅示出了根據(jù)本公開的一些示例且因此不應被認為是限制本公開范圍,通過使用附圖更加具體和詳細地描述本公開。圖1示出了根據(jù)本公開至少一些實施例布置的計算機系統(tǒng)。圖2示出了根據(jù)本公開至少一些實施例的由操作系統(tǒng)執(zhí)行的應用程序。圖3示出了根據(jù)本公開至少一些實施例的將應用程序劃分成線程的示意表示,其中線程發(fā)布發(fā)送給存儲器控制器的請求。圖4示出了根據(jù)本公開至少一些實施例布置的流程圖。
具體實施例方式下面描述給出了多種示例以及具體細節(jié),以提供對所要求保護的主題的充分理解。然而,本領域技術人員將理解,可以在沒有本文公開的一些或更多具體細節(jié)的情況下實施要求保護的主題。此外,在一些情況下,不詳細描述已知的方法、過程、系統(tǒng)、部件和/或電路,以避免不必要地模糊要求保護的主題。在以下詳細說明中,參考了作為詳細說明的一部分的附圖。在附圖中,類似符號通常表示類似部件,除非上下文另行指明。
具體實施方式
部分、附圖和權利要求書中記載的示例性實施例并不是限制性的。在不脫離在此所呈現(xiàn)主題的精神或范圍的情況下,可以利用其他實施例,且可以進行其他改變。應當理解,在此一般性記載以及附圖中圖示的本公開的各方案可以多種不同配置來設置、替換、組合和設計, 它們全部都在本公開中明確考慮并形成本公開一部分。本公開標識出DRAM存儲器系統(tǒng)是CMP系統(tǒng)中多個處理內核之間的主要共享資源。 當訪問該共享資源時,可以將特定內核分配給特定應用或應用內的特定線程以執(zhí)行。每個應用或線程可以產生對于存儲器內數(shù)據(jù)的請求,具體地,對于存儲器內特定存儲器組內數(shù)據(jù)的請求。對于特定存儲器組內數(shù)據(jù)的過多請求會造成該特定存儲器組的熱度過高,并最終導致該存儲器組的工作失靈。操作系統(tǒng)可以將對于特定存儲器組發(fā)出過多請求的一個或多個特定內核減慢,以防止該特定存儲器組的過熱。根據(jù)本公開,認識到減慢特定內核以防止存儲器組過熱可能是次優(yōu)的,因為這些內核可能仍然用于不需要訪問存儲器組的其他任務。因此,本公開認識到可能希望在不必減慢特定內核的情況下防止存儲器組過熱。本公開可以利用如下發(fā)現(xiàn)通過響應于應用或線程使用的存儲群組的工作溫度, 對應用或應用內的線程進行調度,可以防止存儲器組過熱,而不必減慢特定內核。。圖1示出了根據(jù)本公開至少一些實施例布置的計算機系統(tǒng)。圖1示出了計算機100 包括處理器110、存儲器120和一個或多個驅動130。驅動130及其關聯(lián)的計算機存儲介質可以配置成為計算機100提供對計算機可讀指令、數(shù)據(jù)結構、程序模塊和其他數(shù)據(jù)的存儲。 驅動130可以包括操作系統(tǒng)140、應用程序150、程序模塊160和數(shù)據(jù)庫180。操作系統(tǒng)140 和/或應用程序150例如可以包括使計算機100執(zhí)行圖4所示的功能和/或操作的程序指令,例如線程調度算法152。計算機100可以包括用戶輸入設備190,通過用戶輸入設備 190,用戶可以輸入命令和數(shù)據(jù)。輸入設備可以包括電子數(shù)字化儀、麥克風、鍵盤和指定設備 (指定設備通常稱為鼠標、軌跡球或觸摸板)。其他輸入設備可以包括操縱桿、游戲板、圓盤
5衛(wèi)星天線、掃描儀等。上述和其他輸入設備可以通過用戶輸入接口耦接至處理器110,用戶輸入接口可以耦接至系統(tǒng)總線,或者可以通過其他接口或總線結構(例如并行端口、游戲端口或通用串行總線(USB)等)連接。計算機100可以包括外圍輸出設備,例如揚聲器、打印機或顯示器202,外圍輸出設備可以通過輸出外圍接口 194等連接。計算機100可以配置為在使用至一個或多個計算機(例如連接至網絡接口 196的遠程計算機)的邏輯連接的聯(lián)網環(huán)境中操作。遠程計算機可以是個人計算機(PC)、服務器、 路由器、網絡PC、對等設備或其他常見網絡節(jié)點,并且可以包括上述相對于計算機100所述的元件中的許多或者全部。聯(lián)網環(huán)境可以包括辦公室、企業(yè)廣域網(WAN)、局域網(LAN)、內聯(lián)網和互聯(lián)網。在一個示例中,計算機100可以是數(shù)據(jù)從其遷移的源機器,而遠程計算機可以包括目的地機器,反之亦然。源和目的地機器可以不通過網絡108或任何其他手段連接,而是數(shù)據(jù)可以經由任何能夠由源平臺寫入并由目的地平臺讀取的介質來遷移。在LAN或WLAN聯(lián)網環(huán)境中, 計算機100可以通過網絡接口 196或適配器連接至LAN或WAN。在WAN聯(lián)網環(huán)境中,計算機 100可以包括調制解調器或用于通過例如互聯(lián)網或網絡108等WAN建立通信的其他手段。 可以使用在計算機之間建立通信鏈接的其他手段。計算機外圍設備可以包括通過系統(tǒng)總線耦接至計算機100的處理器110和存儲器 120的任何設備。計算機外圍設備可以包括與輸出外圍接口連接的任何設備,包括顯示器 202、打印機、揚聲器、驅動130、用戶輸入設備190以及網絡接口 196,用戶輸入設備190例如包括鍵盤、鼠標和麥克風。計算機外圍設備的部件可以包括計算機外圍設備內的任何設備,該設備可以使用電能并且可以是任何設備,例如揚聲器、照明元件(例如發(fā)光二極管或用于為顯示器提供照明的背光)、顯示元件(例如IXD、LED、OLED、CRT或等離子體顯示器)、 或者半導體芯片(例如中央處理器(CPU)、圖像處理單元(GPU)、存儲器)。根據(jù)實施例,計算機100可以連接在聯(lián)網環(huán)境中,使得處理器110和/或程序模塊160可以執(zhí)行功率減小和節(jié)省,而對用戶體驗的損害最小。在一些示例中,公開了對計算機系統(tǒng)中運行的線程進行調度的方法。計算機系統(tǒng) (例如,計算機100)可以包括具有第一和第二內核的多處理器、操作系統(tǒng)、和/或用于存儲數(shù)據(jù)的存儲器組。方法可以包括測量存儲器組的溫度;以及如果存儲器組的溫度超過預定溫度,確定線程是否包括對于存儲器組中存儲的數(shù)據(jù)的請求。方法可以包括當確定線程包括對于數(shù)據(jù)的請求時,減慢線程的執(zhí)行。在其他示例中,描述了對計算機系統(tǒng)中運行的線程進行調度的方法,其中計算機系統(tǒng)(例如,計算機100)可以包括具有第一和第二內核的多處理器、操作系統(tǒng)、和用于存儲數(shù)據(jù)的第一和第二存儲器組。方法可以包括測量第一存儲器組的第一溫度和第二存儲器組的第二溫度,并確定第一和第二存儲器組中任何一個的溫度是否超過預定溫度。方法可以包括當確定線程包括對于溫度超過預定溫度的存儲器組中存儲的數(shù)據(jù)的請求時,減慢線程的執(zhí)行。在其他示例中,描述了對計算機系統(tǒng)中運行的線程進行調度的方法,其中計算機系統(tǒng)(例如,計算機100)可以包括具有第一和第二內核的多處理器、操作系統(tǒng)、和用于存儲數(shù)據(jù)的存儲器組。存儲器組的溫度可以超過預定溫度。方法可以包括使用操作系統(tǒng)來減慢線程的執(zhí)行。圖2示出了根據(jù)本公開至少一些實施例布置的由操作系統(tǒng)執(zhí)行應用程序。如圖2 所示,操作系統(tǒng)140可以執(zhí)行來自驅動130的應用程序150。操作系統(tǒng)140和/或應用程序150可以包括用于使計算機100執(zhí)行圖4所指定的功能和/或操作的程序指令。應用程序150可以是可由多處理器111中的操作系統(tǒng)140執(zhí)行的任何應用、程序、程序部分或線程。應用程序150可以使用存儲器控制器210將數(shù)據(jù)230加載到存儲器120中以及從存儲器120存取數(shù)據(jù)。應用程序150可以布置為運行多個子應用調用的線程220,以完成任務, 例如使用一個或多個請求226向存儲器120的存儲器組122加載數(shù)據(jù)230和從存儲器120 的存儲器組122存取數(shù)據(jù)230。線程220可以由應用程序150執(zhí)行。應用程序150可以布置為按照應用程序的需求將任務的執(zhí)行劃分成多個線程220來完成該任務。例如,如果應用程序150是針對具有多頁的文檔的word處理程序,并且應用程序150配置為完成每頁文檔的拼寫檢查任務,則應用程序150可以布置為將文檔拼寫檢查任務劃分成多個線程220, 使得每個線程220可以對文檔的一部分進行拼寫檢查??梢詫⒚總€線程220發(fā)送給多處理器111以便執(zhí)行。當在多處理器111內執(zhí)行時,每個線程220可以產生對存儲器120內數(shù)據(jù)230的請求226??梢詫⒄埱? 發(fā)送至存儲器控制器210,存儲器控制器210可以對請求2 進行組織,使得多處理器111可以配置為高效操作。在一些實施例中,如圖2所示,多處理器111可以包括可以同時執(zhí)行多于一個線程 220的處理器。多處理器111可以包括稱作內核412和512的多個處理器,或者包括稱為多線程處理器的可以同時運行多個線程220的單個處理器(只有412和512之一)。圖2示出了包括兩個內核412和512的示例多處理器111,但是不限于任何具體的內核數(shù)目。術語 “內核”可以用在本文中指可以處理單個線程的任何裝置,并且可以指可以處理單個線程的處理器或處理器內的一部分。多線程處理器可以指具有多個內核的處理器。包括多個處理器的計算機100在本文中可以稱為具有多個內核的計算機100。還存在溫度傳感器700,例如熱電偶或液體溫度計,用于測量存儲器組122的溫度。圖3示出了根據(jù)本公開至少一些實施例的將應用程序劃分成線程的示意表示,其中線程可以發(fā)布發(fā)送給存儲器控制器的請求。如圖3所示,應用150可以劃分成多個線程 220a-220n,其中η可以表示線程220的數(shù)目,并且每個線程可以執(zhí)行應用150的任務,并可以在例如圖2的多處理器111上執(zhí)行每個線程。多處理器可以配置為從應用程序150單獨地或同時接收并執(zhí)行多個線程220a-220n。在多處理器上執(zhí)行的每個線程220可以與每個其他線程220相獨立地執(zhí)行,并且可以發(fā)布對于存儲器120中存儲的數(shù)據(jù)230的多個請求 220al-220n。,其中第一索引(a...η)可以表示與請求2 關聯(lián)的線程220,第二索引(1. . . ο) 可以表示與具體線程220關聯(lián)的請求226的數(shù)目。每個線程220可以發(fā)布對于存儲器120中存儲的數(shù)據(jù)230的請求226,在一個示例中,請求2 是對于存儲器120內存儲器組122^12 中存儲的數(shù)據(jù)230的請求,其中索引(a,b...m)可以表示存儲器組122的數(shù)目。存儲器120可以包括多個存儲器組12 到 122m,多個存儲器組122a到12 可以配置為如果多個未決存儲器請求2 要求來自不同存儲器組的數(shù)據(jù)230,則允許這些請求2 并行進行。由此,在接收到對于數(shù)據(jù)230的請求226 時,存儲器控制器210可以同時訪問第一存儲器組122a和第二存儲器12\。每個存儲器組122可以是二維陣列,包括列C1到Ci以及行隊到Rj,其中索引(1. . . i)可以表示列數(shù),索引(1. . . j)可以表示行數(shù)。行可以在連續(xù)存儲位置中存儲數(shù)據(jù), 并且大小可以例如是近似1-2千字節(jié)(KB)??梢詮淖疃喟恍械男芯彌_器&訪問存儲器組122中的數(shù)據(jù)230。在一個示例中,每個存儲器組122可以包含一個行緩沖器&。對每個數(shù)據(jù)230請求2 進行服務所需的時間可以依據(jù)每個行緩沖器&的狀態(tài),并且可以落入三個類別之一。第一類別可以是行命中,其中請求2 針對每個行緩沖器&中當前開啟的行,這允許存儲器控制器210只發(fā)布至相應存儲器組122的讀或寫命令,造成組訪問等待時間ta。第二類別可以是行關閉,其中行緩沖器&可能沒有開啟的行,從而存儲器控制器 210需要首先發(fā)布開啟所需行的激活命令,然后發(fā)布讀/寫命令,造成總等待時間tKm+ta, tKD是針對激活命令的等待時間,是針對讀/寫命令的等待時間。第三類別可以是行沖突,其中請求2 針對與相應行緩沖器&中的當前行不同的行,從而存儲器控制器210需要首先發(fā)布預充電命令并開啟所需行(通過激活該行),并發(fā)布針對所需行中數(shù)據(jù)的讀/寫命令。這些訪問導致最大的總等待時間、^、^+{…{砠是針對行預充電(以關閉該行)的等待時間,tECD是針對激活命令的等待時間,tCL是針對讀/寫命令的等待時間。存儲器控制器210可以布置為與存儲器120和多處理器通信,并且可以位于沿系統(tǒng)的任何位置,包括在多處理器內。存儲器控制器210可以包括存儲器請求緩沖器211,存儲器請求緩沖器211可以布置為在請求2 等待被服務時緩沖請求2 和數(shù)據(jù)230。存儲器控制器210可以包括調度器212,調度器212可以配置為選擇要被服務的下一請求226 [6, 2,3]。在一些實施例中,調度器212可以具有兩級。當選擇要被服務的下一請求2 時,調度器212可以配置為考慮存儲器組122a-12\的狀態(tài)、將存儲器控制器210與每個存儲器組 122連接的存儲器總線214a-214m的狀態(tài)、以及請求2 的狀態(tài)。如果針對請求2 的存儲器命令的調度不引起任何資源(例如存儲器組12^-12 和地址/數(shù)據(jù)/系統(tǒng)總線)沖突, 并且不違反任何存儲器時序制約,則調度器212可以調度該針對請求2 的存儲器命令??梢哉J為不引起任何沖突的存儲器命令準備好了。在一些實施例中,如圖1、2和3所示,計算機100可以包括多處理器110或111、以及存儲器組122,多處理器可以包括多個內核412和512。圖4示出了根據(jù)本公開的至少一些實施例的流程圖。如圖所示,為防止存儲器組過熱或最小化功率使用,可以使用線程調度算法600,由操作系統(tǒng)或應用程序來調度線程。 可以在框601發(fā)起線程調度算法600。線程調度算法600可以由操作系統(tǒng)或應用程序發(fā)起。一旦發(fā)起線程調度算法600,可以在框602測量存儲器組的溫度??梢允褂脺y量溫度的遠程傳感器在存儲器組上測量溫度,或者使用測量溫度的嵌入式傳感器在存儲器組內測量溫度。傳感器可以是任何溫度傳感器,例如熱電偶或液體溫度計。線程調度算法600 可以布置為在框604確定測量的溫度是否超過預定溫度。預定溫度可以是如下溫度超過該溫度,存儲器組無法可靠地工作,或者超過該溫度,會發(fā)生存儲器組的熱損壞;在超過該預定溫度的溫度下操作存儲器組并從而操作存儲器,對存儲器和存儲器組有害,并會降低存儲器組內存儲的數(shù)據(jù)的可靠性。備選地,該預定溫度可以是存儲器組可靠地工作的最高溫度。當最小化功率使用時,可以由用戶設定該預定溫度,或者可以由用戶、應用程序或操作系統(tǒng)根據(jù)制造商預先確定的滑尺來選擇該預定溫度,例如,該滑尺可以指示多種功率使用水平。
如果測量的溫度未超過預定溫度,則線程調度算法600可以從框604返回到框 602。如果存儲器組的溫度超過預定溫度,線程調度算法600可以從框604前進到框606。 在框606,線程調度算法600可以確定線程是否包括對于存儲器組中數(shù)據(jù)的請求。如果確定線程包括對于存儲器組中數(shù)據(jù)的請求,并且存儲器組的溫度超過預定溫度,則線程調度算法600可以在框608減慢線程的執(zhí)行。如果線程不包括對于存儲器組中數(shù)據(jù)的請求,則線程調度算法600可以在框610結束。線程調度算法600可以按照多種方式來減慢線程的執(zhí)行。在一些實施例中,第一和第二內核412,512(圖幻可以布置為執(zhí)行第一和第二任務集合。每個任務集合可以包括單個線程或多個線程。線程調度算法600可以配置為通過確定第一和第二任務集合中哪個任務集合預期可以首先完成,并將線程調度為在執(zhí)行預期不會首先完成的任務集合的內核上運行,來減慢線程的執(zhí)行。在一些實施例中,線程調度算法600可以配置為通過降低線程執(zhí)行的優(yōu)先級,來減慢線程的執(zhí)行。例如,操作系統(tǒng)典型地向每個線程分配具有對應于較高優(yōu)先級的較大值的優(yōu)先級值,例如值1-5或1-100 ;優(yōu)先級越高,內核時間中專用于執(zhí)行該線程的部分就越大。例如,優(yōu)先級值的降低量可以是優(yōu)先級值的一部分,例如大致1 %到99%,包括優(yōu)先級值的大致10%、20%、30%、40%、50%、60%、70%、80%和90%。備選地,可以將優(yōu)先級值降低單個優(yōu)先級值單位,或者可以將優(yōu)先級值降低到最小優(yōu)先級值。在一些實施例中,線程調度算法600可以配置為通過對調度線程在內核上運行進行延遲,例如,通過對調度線程在第一和第二內核412,512(圖2)之一上運行進行延遲,并在該延遲之后調度線程在第一和第二內核412,512(圖幻之一上運行,來減慢線程的執(zhí)行。 延遲量例如可以是線程執(zhí)行所花費的標稱時間的一部分,例如大致到99%,包括大致 10 %、20 %、30 %、40 %、50 %、60 %、70 %、80 %和90 %。備選地,延遲量可以是線程執(zhí)行所花費的標稱時間的倍數(shù),例如線程執(zhí)行所花費的標稱時間的1到1000倍,包括線程執(zhí)行所花費的標稱時間的大致 2、5、10、15、20、50、100、200、500、600、700、800 和 900 倍。在一些實施例中,一旦減慢了線程執(zhí)行,線程調度算法600可以配置為再測量存儲器組的溫度,例如通過再次開始線程調度算法600。如果存儲器組的溫度低于預定溫度, 線程調度算法600可以配置為在內核中調度線程,而不減慢線程的執(zhí)行。在多個實施例中,公開的方法可以實現(xiàn)為與計算機系統(tǒng)一起使用的計算機程序產品。這種實現(xiàn)可以包括計算機指令序列,該計算機指令可以固定在有形介質上,例如在計算機可讀介質(例如,軟盤、⑶_R0M、R0M或硬盤)上,或者是經由調制解調器或其他接口設備 (例如通過介質連接至網絡的通信適配器)可傳輸至計算機系統(tǒng)的。介質可以是有形介質 (例如光或模擬通信線路),或者以無線技術(例如,微波、紅外線或其他傳輸技術)實現(xiàn)的介質。計算機指令序列具體體現(xiàn)了在前相對于系統(tǒng)描述的全部功能性或其中一部分。本領域技術人員應該理解,這種計算機程序可以多種編程語言來編寫,以與許多計算機架構或操作系統(tǒng)一起使用。此外,這種指令可以存儲在任何存儲器設備中,例如半導體、磁、光或其他存儲器設備,并且可以使用任何通信技術來傳輸,例如光、紅外線、微波或其他傳輸技術。 預期的是這種計算機程序產品可以作為可移除介質連同印刷或電子的文檔(例如,收縮包裝的軟件)一起分發(fā),預加載到計算機系統(tǒng)(例如,系統(tǒng)上ROM或硬盤),或者通過網絡(例如,互聯(lián)網或萬維網)從服務器或電子公告板分發(fā)。當然,所公開的主題的一些實施例可以實現(xiàn)為軟件(例如,計算機程序產品)和硬件的組合。所公開的主題的其他實施例可以完全實現(xiàn)為硬件或完全實現(xiàn)為軟件(例如,計算機程序產品)。本公開所述的主題有時說明不同部件包含在不同的其他部件內或者不同部件與不同的其他部件相連。應當理解,這樣描述的架構只是示例,事實上可以實現(xiàn)許多能夠實現(xiàn)相同功能的其他架構。在概念上,有效地“關聯(lián)”用以實現(xiàn)相同功能的部件的任意設置,從而實現(xiàn)所需功能。因此,這里組合實現(xiàn)具體功能的任意兩個部件可以被視為彼此“關聯(lián)”從而實現(xiàn)所需功能,而無論架構或中間部件如何。同樣,任意兩個如此關聯(lián)的部件也可以看作是彼此“可操作地連接”或“可操作地耦合”以實現(xiàn)所需功能,且能夠如此關聯(lián)的任意兩個部件也可以被視為彼此“能可操作地耦合”以實現(xiàn)所需功能。能可操作地耦合的具體示例包括但不限于物理上可配對和/或物理上交互的部件,和/或無線交互和/或可無線交互的部件,和/或邏輯交互和/或可邏輯交互的部件。至于本文中任何關于多數(shù)和/或單數(shù)術語的使用,本領域技術人員可以從多數(shù)形式轉換為單數(shù)形式,和/或從單數(shù)形式轉換為多數(shù)形式,以適合具體環(huán)境和/或應用。為清楚起見,在此明確聲明多種單數(shù)/多數(shù)置換。本領域技術人員應當理解,一般而言,所使用的術語,特別是所附權利要求中(例如,在所附權利要求的主體部分中)使用的術語,一般地應理解為“開放”術語(例如,術語 “包括”應解釋為“包括但不限于”,術語“具有”應解釋為“至少具有”等)。本領域技術人員還應理解,如果意在所引入的權利要求中標明具體數(shù)目,則這種意圖將在該權利要求中明確指出,而在沒有這種明確標明的情況下,則不存在這種意圖。例如,為幫助理解,所附權利要求可能使用了引導短語“至少一個”和“一個或多個”來引入權利要求中的特征。然而, 這種短語的使用不應被解釋為暗示著由不定冠詞“一”或“一個”引入的權利要求特征將包含該特征的任意特定權利要求限制為僅包含一個該特征的實施例,即便是該權利要求既包括引導短語“一個或多個”或“至少一個”又包括不定冠詞如“一”或“一個”(例如,“一”和 /或“一個”應當被解釋為意指“至少一個”或“一個或多個”);在使用定冠詞來引入權利要求中的特征時,同樣如此。另外,即使明確指出了所引入權利要求特征的具體數(shù)目,本領域技術人員應認識到,這種列舉應解釋為意指至少是所列數(shù)目(例如,不存在其他修飾語的短語“兩個特征”意指至少兩個該特征,或者兩個或更多該特征)。另外,在使用類似于“A、 B和C等中至少一個”這樣的表述的情況下,一般來說應該按照本領域技術人員通常理解該表述的含義來予以解釋(例如,“具有A、B和C中至少一個的系統(tǒng)”應包括但不限于單獨具有A、單獨具有B、單獨具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系統(tǒng)等)。在使用類似于“A、B或C等中至少一個”這樣的表述的情況下,一般來說應該按照本領域技術人員通常理解該表述的含義來予以解釋(例如,“具有A、B或C中至少一個的系統(tǒng)”應包括但不限于單獨具有A、單獨具有B、單獨具有C、具有A和B、具有A和C、具有B和 C、和/或具有A、B、C的系統(tǒng)等)。本領域技術人員還應理解,實質上任意表示兩個或更多可選項目的轉折連詞和/或短語,無論是在說明書、權利要求書還是附圖中,都應被理解為給出了包括這些項目之一、這些項目任一方、或兩個項目的可能性。例如,短語“A或B”應當被理解為包括“A”或“B”、或“A和B”的可能性。盡管描述了所公開主題的多個實施例,但是本領域技術人員會明白在本公開的范圍內可以存在其他實施例和實現(xiàn)方式。因此,除了根據(jù)所附權利要求及其等同物之外,所公開的主題不受限制。
權利要求
1.一種對計算機系統(tǒng)中線程的運行進行調度的方法,包括測量計算機系統(tǒng)中存儲器組的溫度;如果存儲器組的溫度超過預定溫度,確定線程是否包括對于存儲器組中存儲的數(shù)據(jù)的請求;以及如果確定線程包括對于存儲器組中存儲的數(shù)據(jù)的請求,進行調度以減慢線程在計算機系統(tǒng)的第一內核上的執(zhí)行。
2.根據(jù)權利要求1所述的方法,其中進行調度以減慢線程的執(zhí)行包括確定在第一內核上執(zhí)行的第一任務集合和在計算機系統(tǒng)的第二內核上執(zhí)行的第二任務集合中的哪一個任務集合將首先完成,哪一個任務集合將在后完成;以及基于確定的將在后完成的任務集合,調度線程在第一內核和第二內核之一上運行。
3.根據(jù)前述權利要求之一所述的方法,其中線程具有優(yōu)先級值,進行調度以減慢線程的執(zhí)行包括降低優(yōu)先級值。
4.根據(jù)前述權利要求之一所述的方法,其中降低優(yōu)先級值包括將優(yōu)先級值降低到最小優(yōu)先級值。
5.根據(jù)前述權利要求之一所述的方法,其中降低優(yōu)先級值包括將優(yōu)先級值降低大致到大致99%。
6.根據(jù)前述權利要求之一所述的方法,其中進行調度以減慢線程的執(zhí)行是由操作系統(tǒng)來執(zhí)行的,計算機系統(tǒng)包括操作性耦接至第一內核的計算機可讀介質,以及操作系統(tǒng)編碼在計算機可讀介質中。
7.根據(jù)前述權利要求之一所述的方法,其中進行調度以減慢線程的執(zhí)行包括在延遲之后,調度線程在第一內核上運行。
8.根據(jù)前述權利要求之一所述的方法,其中所述延遲是線程執(zhí)行所花費的標稱時間的大致1到大致1000倍。
9.根據(jù)前述權利要求之一所述的方法,其中預定溫度是存儲器組可靠地工作的近似最尚溫度。
10.根據(jù)前述權利要求之一所述的方法,其中由應用程序根據(jù)指示了功率使用水平的滑尺來選擇預定溫度,以及計算機系統(tǒng)包括操作性耦接至第一內核的計算機可讀介質,以及所述應用程序編碼在計算機可讀介質中。
11.根據(jù)前述權利要求之一所述的方法,其中由熱電偶測量溫度。
12.—種計算機程序產品,具有在計算機可讀介質中編碼的軟件,用于對計算機系統(tǒng)中線程的運行進行調度,軟件包括指令,當被執(zhí)行時,操作為測量計算機系統(tǒng)中存儲器組的溫度;如果存儲器組的溫度超過預定溫度,確定線程是否包括對于存儲器組中存儲的數(shù)據(jù)的請求;以及如果確定線程包括對于存儲器組中存儲的數(shù)據(jù)的請求,進行調度以減慢線程在計算機系統(tǒng)的第一內核上的執(zhí)行。
13.根據(jù)前述權利要求之一所述的計算機程序產品,其中進行調度以減慢線程的執(zhí)行的指令包括當被執(zhí)行時用于如下的指令確定在第一內核上執(zhí)行的第一任務集合和在第二內核上執(zhí)行的第二任務集合中的哪一個任務集合將首先完成,哪一個任務集合將在后完成;以及調度線程在執(zhí)行確定為將在后完成的任務集合的內核上運行。
14.根據(jù)前述權利要求之一所述的計算機程序產品,其中進行調度以減慢線程的執(zhí)行的指令包括被執(zhí)行時用于如下的指令降低線程的優(yōu)先級值。
15.根據(jù)前述權利要求之一所述的計算機程序產品,其中降低線程的優(yōu)先級值的指令包括被執(zhí)行時用于如下的指令將線程的優(yōu)先級值降低大致到大致99%。
16.根據(jù)前述權利要求之一所述的計算機程序產品,其中計算機程序產品是操作系統(tǒng)。
17.根據(jù)前述權利要求之一所述的計算機程序產品,其中進行調度以減慢線程的執(zhí)行的指令包括被執(zhí)行時用于如下的指令在延遲之后,調度線程在第一內核上運行。
18.一種計算機系統(tǒng),包括 第一和第二內核,操作性耦接至第一和第二內核的存儲器組,操作性耦接至第一和第二內核的計算機可讀介質,其中計算機可讀介質包括計算機可執(zhí)行指令,當由計算機系統(tǒng)執(zhí)行時,指令將計算機系統(tǒng)配置為 測量存儲器組的溫度,以確定溫度是否超過預定溫度;當確定存儲器組的溫度超過預定溫度時,確定是否有至少一個線程包括對于存儲器組中存儲的數(shù)據(jù)的請求;以及當確定所述至少一個線程包括對于存儲器組中存儲的數(shù)據(jù)的請求時,進行調度以減慢所述至少一個線程在計算機系統(tǒng)的第一內核上的執(zhí)行。
19.根據(jù)前述權利要求之一所述的計算機系統(tǒng),還包括溫度傳感器,配置為測量存儲器組的溫度,其中溫度傳感器操作性耦接至第一和第二內核。
20.根據(jù)前述權利要求之一所述的計算機系統(tǒng),其中溫度傳感器是熱電偶。
全文摘要
公開了用于調度計算機系統(tǒng)中運行的線程的技術。示例計算機系統(tǒng)可以包括但不限于多處理器,多處理器具有第一和第二內核、操作系統(tǒng)和用于存儲數(shù)據(jù)的存儲器組。示例方法可以包括但不限于測量存儲器組的溫度,如果存儲器組的溫度超過預定溫度,確定線程是否包括對于存儲器組中存儲的數(shù)據(jù)的請求。方法還可以包括但不限于一旦確定線程包括對于數(shù)據(jù)的請求,減慢線程的執(zhí)行。
文檔編號G06F12/06GK102473137SQ201080032322
公開日2012年5月23日 申請日期2010年6月25日 優(yōu)先權日2009年7月23日
發(fā)明者塞達·奧格倫吉·梅米奇, 格克汗·梅米奇, 比爾·曼焦內-史密斯 申請人:英派爾科技開發(fā)有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1