新四季網

處理資源管理的計算機實現的方法

2023-06-06 21:10:36

專利名稱:處理資源管理的計算機實現的方法
處理資源管理的計算機實現的方法
背景技術:
計算機是根據指令處理數據的機器。如今,它們大部分被配置成諸如將其工作分布到數個CPU上,從而提供多處理能力。現在,個人和膝上型計算機也可以使用多處理器和多內核系統,而不再僅限於超級計算機、大型計算機或者伺服器。然而,最大的計算機仍然受益於與普通計算機顯著不同的獨特體系結構。例如,它們常常以數以千計的處理器、高速互連和專用硬體為特徵。不管是在多處理器背景下還是在非多處理器背景下,對計算機系統來說,一個挑戰是要提高其整體性能,同時降低合計的功耗。除此之外,如今大多數CPU都傾向於花時間等待內存、I/o、圖形等等,使得提高單個CPU指令執行的性能不再是主要可能的發展方向。
例如,Brown,J. A.與 Tullsen, D.M.的論文(在 Proceedings of the 22ndAnnual international Conference on Supercomputing(Island of Kos, Greece, June07-12, 2008)學報上標題為「The shared-thread multiprocessor」,ICS』08. ACM,紐約,NY,73-82. D0I=http//doi. acm. org/1 0.1 145/1375527. 1375541)描述了共享線程多處理器(STMP)的體系結構的結果。STMP結合了多線程處理器與晶片多處理器的特徵。具體而言,它使得晶片多處理器上不同的內核可以共享線程狀態。這種共享的線程狀態允許系統把線程從共享池調度到單個內核上,從而允許線程在內核之間的快速移動。該論文證明和評估了這種體系結構的好處。其它方法集中在集成到存儲器陣列結構中的多個處理器,參見,例如,Duncan G. Elliott, W.Martin Snelgrove,和 Michael Stumm 所寫的 Computational RAM:A Memory-SIMD Hybridand its Application toDSP.在Custom Integrated Circuits Conference 上,pages30. 6.1-30. 6. 4, Boston, MA, May 1992 ;集成到晶片上的多個處理器與存儲器宏(PM),參見,例如,Maya Gokhale1BillHolmes,和 Ken Iobst 所寫的 Processing in Memory: the Terasys Massively ParallelPEVI Array. Computer,28(3):23-31, April 1995 ;集成到晶片上的多個處理器與存儲器宏(Execube),參見,例如,Peter M. Kogge.EXECUBE-A New Architecture for Scalable MPPs.在 1994 International Conferenceon Parallel Processing 上,pagesl77_184, August 1994;以及IRAM,參見,例如,David Patterson, Thomas Anderson, Neal Cardwell, RichardFromm, Kimberly Keeton, Christoforos Kozyrakis, Randi Thomas,和 Katherine Yelick所寫的 Intelligent RAM(IRAM) :Chips that Remember and Compute〃,發表在 1997 IEEEInternational Solid-State Circuits Conference (ISSCC)6-8 February 1997,SanFrancisco, CA.。

發明內容
描述了用於管理計算機化系統的處理資源的計算機實現的方法的各實施方式。在有些實施方式中,計算機化系統至少包括第一處理器和第二處理器,每個所述處理器都操作性地互連到適於存儲一組數據的存儲器。在一種實施方式中,該計算機實現的方法包括在執行的同時監視被所述第一處理器作為輸入數據或輸出數據中的至少一個進行處理的一組數據。該計算機實現的方法還包括如果基於所述監視,發現所述第二處理器比所述第一處理器離所監視的數據的距離更短,就指示中斷在所述第一處理器處的執行並且在所述第二處理器處恢復(resume)執行。描述了另一種用於管理計算機化系統的處理資源的計算機實現的方法的各實施方式。在有些實施方式中,計算機化系統包括多個處理器,其中有第一處理器和第二處理器,每個所述處理器都操作性地互連到適於存儲要由處理器處理的一組數據的存儲器。在一種實施方式中,該計算機實現的方法包括在執行的同時監視被所述第一處理器作為輸入數據或輸出數據中的至少一個進行處理的所述組中的數據。此外,如果發現第二處理器比第一處理器離所監視的數據更近,該計算機實現的方法還包括中斷在所述第一處理器處的執行,所述第一處理器處於給定處理器狀態,以及從至少部分地由所述給定處理器狀態確定的處理器狀態開始,在所述第二處理器處恢復執行。從以下的具體描述並聯繫附圖,本發明實施方式的其它方面與優點將變得顯而易見,附圖是作為本發明原理的例子來說明的。


圖I是用於管理計算機化系統的處理資源的方法的一種實施方式的流程圖;圖2是更具體的流程圖,說明了用於管理計算機化系統的處理資源的方法的一種具體實施方式
;圖3示意性地說明了線程執行被掛起/繼續的一種實施方式;圖4是實現用於管理計算機化系統的處理資源的方法的一種實施方式的計算機系統的示意性表示;以及圖5和6是圖4的變體實施方式。
具體實施例方式在以下描述中,提供了各種實施方式的具體細節。但是,有些實施方式可以用比所有這些具體細節少的細節被實踐。在其它情況下,為了簡潔與清晰,對某些方法、過程、部件、結構和/或功能的描述以使本發明各種實施方式能夠運作為限,不作更具體的描述。在有些實施方式中,用於管理計算機化系統的處理資源的計算機實現的方法打破了傳統模式,根據這種傳統模式,處理器是世界的中心並且輸入/輸出數據都被帶入處理器/從處理器帶走。相反,所述計算機實現的方法的實施方式提出了把「計算」狀態信息移動到數據所在的位置,例如,通過把內核狀態移動到最靠近的內核,而不是把數據移動到CPU。基本上,這導致在實踐當中移動幾千字節而不是幾兆字節。在得出這種逆向模式之前,本發明人意識到以下-大量的功率是用於移動數據;
-消耗在例如雙列直插內存模塊(DIMM)上的功率的一半是輸入/輸出(I/O);-把更多的內核放到單個大的管芯上不能持續很長時間,更不用說每個內核的帶寬問題、功耗和製冷的挑戰;以及-高速緩存使用大量的面積和功率相應地,移動數據的成本變成比移動計算更本質的問題,由此實現了本方法的好處。圖I是用於管理計算機化系統的處理資源的方法的一種實施方式的流程圖。該方法旨在提出一種管理計算機化系統中的處理資源的新途徑,其中幾個處理器操作性地互連到存儲器。存儲器適於存儲一組數據,這些數據可以由所述處理器中的一個或多個使用。一般來說,所關心的數據是由內核讀取(「輸入數據」)和/或生成的並且寫回(「輸出數據」)。該方法包括兩個主要的步驟,現在我們來討論。為了簡化,現在只考慮兩個處理器。首先,在步驟100,監視由處理器中的第一處理器處理的輸入和/或輸出數據。其次,如果發現第二處理器比第一處理器離所監視的數據的距離更短(測試110),就在步驟120中斷在第一處理器處的執行,並在步驟130在第二處理器處恢復所述執行。因而,數據是從更靠近的處理器訪問/生成的,由此避免了從/到第一處理器(或者其L1-L3高速緩存)不必要的更長距離的數據移動。更一般地,同時監視由N個處理器訪問的數據。為了理解起見,圖I流程圖的目的是提供關於本發明的高級視圖。正如所說的那樣,被監視的數據可以是輸入數據和/或輸出數據。但是,下文中的實施方式是基於只監視輸入數據,即,處理器讀取的數據,的例子,這僅僅是為了簡化。但是,不管是輸入數據還是輸出數據,本發明的原理都保持相同。在離被監視的數據有較短距離的處理器處恢復指令。所討論的距離可以是例如對於處理器離其所處理的數據有多遠的測量。例如,在以下所討論的一種實施方式中,CPU內核是在存儲器的3D堆棧上在這裡,從一個給定內核到其對應存儲器的距離在物理上短,而到另一個3D堆棧的存儲器的距離就大得多。更一般地說,所討論的距離反映了成本,例如,能量或時間的成本。例如,數據越遠,就需要越多的功耗來運輸它們(這是成本的來源)。距離還可以反映時間成本。在這點上,所考慮的距離可以象數據到達給定處理器的等待時間(或者預期的等待時間)一樣變化。等待時間(即,訪問時間)是向處理器提供它所請求的數據時存儲器延遲的時間。大概地說,離處理器越遠,到達其所花的時間越長。等待降低了處理器的性能;如果處理器必須等待五個存儲器時鐘周期來接收其所請求的數據,那麼它的性能將只有在它使用能夠立即傳輸數據的存儲器時所具有的性能的1/5。因而,在更近的處理器處恢復執行可以導致更好的性能。例如,到給定數據的距離可以基於它們的存儲器地址與處理器位置來估計。此外,監視由第一處理器訪問的輸入數據可以基於存儲在互連(例如,總線)上的輸入數據的存儲器地址來執行。例如,監視最近100個被訪問的存儲器地址。如果顯示例如大部分被監視的地址都屬於更靠近第二處理器的一個存儲器或者一個存儲器扇區,那麼就決定在第二處理器處恢復執行。監視什麼數據被處理器訪問也可以經由處理器的寄存器或者其它裝置來執行。例如,為了確定第二處理器是否比第一處理器更近,距離可以被確定為包括由第一處理器讀/寫的數個數據(例如,最近100個讀/寫存儲器地址)的向量。關於是否把執行移動到另一個處理器的決定可以在一個或多個控制器作出。所關心的控制器可以是軟體或者硬體,例如,硬體電路。在後一種情況下,硬體電路適當地(例如,經一個或多個開關)既互連到處理器又互連到存儲器。控制邏輯可以進一步是集中式的(一個控制器決定)或者是分布式的,即,數個控制器(例如,每個處理器一個控制器)可以競爭性地決定,如隨後將要說明的那樣。為了使這些想法清晰,考慮下面的例子。請求第一處理器Pl執行一些代碼。在某個時候,代碼的執行需要兩個(非常)大的數字一一NI和N2 (即,輸入數據)一相加,應當指出,如果只是涉及充分小的數字,那麼所關心的相加可以在一個周期內很好地實現。我們假定在Pl執行的代碼反映了被設計成使比可用的RAM大的數字相加的算法。在所給出的情況下,當開始相加時,Pl輪詢其存儲器高速緩存關於NI或者至少其一部分。出於現有目的,為了簡化,我們考慮只存在一個高速緩存級,即LI。但是,由於NI非常大,例如,它佔用8T (百萬兆)字節的存儲器,因此所述存儲器高速緩存不能很容易地獲得NI來應答Pl的請求(高速緩存線的大小一般是64位元組-IK字節)。因而,LI隨後將詢問存儲NI的不同部分的存儲器位置(例如,在鄰近的塊中),以便在執行的同時正確地饋送給P1。NI各部分的地址相應地記錄到例如總線中(或者某種其它互連中)。同時,監視所存儲的地址(代替輸入數據,對於輸出數據也一樣)。如果這種地址對應於遠端存儲器位置,這個位置離另一處理器P2更近,那麼執行就移動到P2,如上所述。順便提一句,儘管以上的例子假定有高速緩存存儲器(cache memory),但是,即使完全沒有高速緩存存儲器,所述方法的實施方式也可以非常好地應用。事實上,如果不使用 高速緩存(cache),即,當處理器直接詢問存儲器中的輸入數據的時候,所述方法的實施方式的原理也保持相同。例如,可以以基本上相同的方式監視所詢問數據的地址。除此之外,可以預期處理器的寄存器成為下一級高速緩存,「更靠近」處理器,使得上述例子擴展到不依賴高速緩存存儲器的情況(在一般的意義上)。在一種變體中,有些處理器可以有高速緩存存儲器,而一個或多個其它處理器可以沒有。以與主存儲器針對最初冷丟失而為處理器提供服務的相同方式,具有高速緩存存儲器的處理器可以用來覆蓋在其它處理器處的計算的建立。因而,執行可以在Pl開始(其中Pl配備有高速緩存),而當發現了更合適的處理器Pn時,執行就移動到後者(最合適的處理器事先是不知道的)。 接下來,可以例如通過從(至少部分地)由第一處理器的處理器狀態(即,在執行被中斷時的處理器狀態)所確定的處理器狀態開始,在第二處理器處恢復執行,來實現無縫過渡。「處理器狀態」通常指在某個時間點由(至少)處理器寄存器反映出的處理器的狀態,包括,例如,狀態標記。更廣泛地說,它可以指處理器寄存器、鎖存器和存儲器(例如,高速緩存存儲器)或者更多。一般來說,在處理器執行的代碼和被處理器訪問的輸入數據是這個處理器的當前狀態的一部分。相應地,在第二處理器處恢復執行可以通過把寄存器數據導入第二處理器來實現,假定第二處理器可以解釋它們(就象具有兩個相同處理器的情況)。在這點上,關於如何在處理器之間移動數據的令人感興趣的細節(儘管是在不同白勺背景下)可以例如在 P. Stanley-Marbell, K. Lahiri, A. Raghunathan, "Adaptive DataPlacement in an Embedded Multiprocessor Thread Library, ^date, vol. I, pp. 151, Proceedings of the Design Automation & Test in Europe Conference Vol. 1,2006 找至丨J0在一種實施方式中,在已知狀態信息數據部分相同的那些情況下,寄存器數據的子集被導入到第二處理器中。但是,第二處理器在恢復時的狀態仍然至少部分地是由第一(初始)處理器的狀態確定的。在一種變體實施方式中,在導入到第二處理器之前,狀態信息數據可以利用來自第一處理器的處理器寄存器的部分或全部數據來組裝(populated),並且例如,被便利地格式化。更一般地說,適當地捕捉部分或全部處理器狀態的任何數據都可以依賴(下文中稱為狀態信息數據,或者簡稱為狀態數據)。因而,在第二處理器的執行是在第二處理器中加載一些便利的狀態信息之後恢復的,關鍵之處仍然是把「計算」狀態數據移動到(輸入/ 輸出)數據,而不是把數據移動到計算。正如所說,與在處理時移動被訪問的(輸入)數據所需的兆字節相比,這導致移動數打——有可能數百——千字節。圖2示出了更具體的流程圖,說明了管理計算機化系統的處理資源的方法的更具體實施方式
。除了已經參考圖I所討論的步驟,在這裡可以預期懶惰遷移,以便進一步提高關於圖I所述的實施方式的策略的效率。具體而言,可以指示組裝(步驟112)來自第一處理器的寄存器的狀態數據;所組裝的數據的加載在實際中斷第一處理器處的執行之前開始(步驟112、114)。例如,當控制器識別出被(太)遠的處理器訪問的數據時,它可以掃描處理器的寄存器,識別出最持久的狀態數據,並決定把這種數據移到更靠近的處理器。在一種變體實施方式中,第一處理器的狀態的早先版本被發送到第二處理器。一旦中斷在第一處理器處的執行,就發送編碼所述早先狀態與最新狀態之間的差異的增量文件。因而,最終只需要移動非常少的數據(幾千字節或者更少),從而確保了快速過渡。此外,當第二處理器有可能在隨後被重用時,不是所有的寄存器數據都需要重新發送第二次。控制器將相應地指示遷移(步驟112、114)捕捉第一處理器狀態的一個子部分的狀態數據。一旦遷移(步驟114)完成,就可以在第二處理器處恢復執行(步驟130)。 本發明實施方式允許安全地擺脫數據高速緩存,因為高存儲器帶寬允許非常短的連接。然而,在實踐當中不一定需要這樣。例如,進一步的改進是通過除狀態數據之外還遷移由第一處理器使用的高速緩存來獲得的。因此,第一處理器的「環境」在第二處理器處被更完整地重新創建。更明確地說,存儲被第一處理器最頻繁訪問的數據拷貝的存儲器高速緩存(memory cache)的數據可以被寫入(步驟116)由第二處理器使用的存儲器高速緩存中。為了一致性,同步將優選地與狀態數據所使用的相同。所遷移的存儲器高速緩存一般是最小的,即,第一處理器使用的LI存儲器高速緩存。更有效地,可以依賴一個存儲器高速緩存(LI),而不是通常的L1-L3三件套。實際上,在本發明實施方式中實現的高存儲器帶寬允許安全地除去數據高速緩存。此外,依賴於例如「矽導孔」或TSV (Through Silicon Via,TSV)技術允許非常短的連接。順便提一句,空出來的面積可以用於更多的內核。此外,可以象高速緩存中的行(line) —樣來對待計算內核狀態本身。計算內核具有千字節的狀態。由此,執行可以在第一處理器處被掛起,而內核寄存器與LI高速緩存可以被移動到更適當的內核。接下來,在中斷在第一處理器處的執行之後,第一處理器的處理器狀態可以一直維持到其它的狀態數據被加載到其中(步驟112』)。這可以是例如預設的行為。同樣,控制器可以確保在適當的時間內而且如果必要的話經增量文件更新第一處理器處的狀態。如果沒有指示新狀態要加載到其中的話,有可能第一處理器可以在暫時性延遲(temporization delay)之後被關閉(步驟140)。由此,優化了功耗。令人感興趣的是,要中斷和恢復的計算任務的最適合規模依賴於例如監視算法的反應性。找到最有效的規模依賴於上下文、處理器的個數、體系結構、處理的類型、任務、輸入數據的本質,等等。假定有效的監視策略是可以獲得的,那麼本發明有利地是以單個執行線程的規模實現的。將相應地指示在掛起線程在第一處理器處的執行(步驟120)之後繼續線程在第二處理器處的執行(步驟130)。線程的執行可以看作運行任務的一部分。對於大部分作業系統,線程包含在過程中,而且在同一過程中可以出現數個線程,共享諸如存儲器之類的資源,隨過程有所不同。從多線程技術已知,如何使單個處理器在不同的線程之間切換(就象在多任務中一樣)。類似地,在這裡,本發明實施方式使一個線程在一個處理器處被停止。然而,代替在同一個處理器處恢復該線程,該線程在另一個處理器處繼續。這一點在圖3中說明。y軸是時間線。圓圈內的兩條平行線指示各自的處理器,Pl和P2。如從圖中暗示的那樣,線程屬於給定的過程P。首先,線程t在Pl開始並執行。在某個時候,控制器(未示出)檢測到Pl正在使用更靠近P2的資源並且決定中斷線程t,處理器Pl處於狀態Si。如前面所討論的,然後,線程t從狀態Si開始,在P2恢復。執行繼續,直到線程終止,或者甚至是在P2被中斷(處於狀態s2)以被導入回到P1,如圖3中所示的,並且如果上下文使之有利的話就這樣。關於線程管理的細節可以例如在以上所引用的出版物,SP「Adaptive Data Placement in an Embedded Multiprocessor Thread Library,,,中找到。因而,本發明實施方式允許把計算狀態移動到存儲器,而不是讓分層的高速緩存集合從主存儲器移動數據。正如所說的那樣,該方法的有些實施方式是在硬體控制之下執行的(控制器被體現為硬體電路),對軟體是透明的。圖4是實現用於管理計算機化系統的處理資源的方法的一種實施方式的計算機系統的示意性表示。在這裡,處理器Pl-PN經合適的互連B連接到存儲器M,其中互連B包括總線B或者交叉開關,還有可能包括開關。它們又以別的方式連接到存儲器D (例如,硬碟),並在控制器C的控制之下。在一種變體實施方式中,開關是分布式的,例如,每個內核或者內核子集一個開關。在還有另一種變體實施方式中,控制器C是互連的一部分。在所有情況下,控制器C都適當地耦合到處理器和存儲器,以便諸如能夠指示把執行從一個處理器移動到另一個。在所描繪的例子中,特定的輸入數據d被物理地存儲成比Pl訪問其的位置更靠近P2訪問其的位置。在操作中,如果Pl變成過於頻繁地訪問d,那麼控制器可能想把Pl的狀 態移動到P2,從而使得較少的數據被移動。圖5是圖4的一種變體實施方式,其中控制器Cl-CN分布在多個處理器上,例如,每個處理器一個控制器Cn。在這裡,控制器可以同時決定把處理器狀態從一個處理器移動/接收到另一個處理器。因而,在Cl執行的、基於監視的輸入數據的測試可以導致把Pl狀態移動到P2。然後,基於P2當前的活動性(狀態),C2可以決定是否接受。例如,如果P2是不活動的,那麼C2就確認把Pl狀態移動到P2。類似地而且如所提到的那樣,開關可以是分布式的。圖6是圖4的另一種變體實施方式,其中存儲器現在包括至少兩個存儲器晶片Ml、…、MN,第一和第二處理器P1、P2中的每一個都是操作性互連到諸如DIMM的存儲器的晶片M1、M2的處理器內核,控制器經合適的互連互連到處理器。
更具體地說,在有些實施方式中,處理器Pl-PN是各自3D存儲器堆棧M1_MN(例如,DIMM存儲器晶片)之上的四內核布置。但是,總體的原理保持相同在操作中,如果Pl的第一個給定的內核(讓我們稱之為PU)變成頻繁地訪問給定的數據d,控制器就可以把Pll狀態移動到P2的一個內核。由此實現的目標是把合理的計算量放得非常靠近DRAM並且採用3D堆棧,例如利用「矽導孔」(TSV)技術,從而,與真正分布式的系統一起,導致更快、更小而且消耗更少功率的包。為了說明,考慮以下例子建立。在這裡,處理器內核是在各自的DIMM存儲器緩衝上。一個應用關心例如資料庫掃描,其中處理器必須檢查很大一部分的存儲器。操作的順序可以例如如下-首先,存儲器掃描開始並且計數器監視存儲器訪問;-其次,「懶惰」遷移代碼在DMM之間開始卿,在指示中斷在第一內核處的執行之前,控制器指示開始在第二處理器內核處加載狀態數據);以及-第三,控制器觸發線程狀態的遷移並且暫停在第一內核上的執行。在有些實施方式中,該方法至少部分地解決了存儲器帶寬問題,及存儲器容量問題。此外,所述方法有些實施方式的核心原理本質上是可縮放的。而且,由於所述方法的有些實施方式使得有更少的高速緩存級,因此它們本質上更簡單。最後,儘管在有些情況下可能需要修改OS和存儲器控制器設計,但是在此提出的方法對至少一些應用是透明的。然而,修改OS本質上不是必需的。此外,修改存儲器控制器是要包括附加的硬體,用於例如監視每個內核的訪問和用於把執行從一個處理器遷移到另一個,並且當控制器體現為硬體電路時,這樣做。但是,在所述方法的純「軟體」實現中,不需要修改。在軟體實現中,控制器執行的指示操作可以以包括至少兩個可編程處理器的系統上可以執行的程序實現。每個電腦程式都可以以高級(例如,過程性或者面向對象的)程式語言實現,或者如果期望的話可以用彙編或者機器語言;而且在任何情況下,語言都可以是編譯或解釋語言。作為例子,合適的處理器包括通用和專用微處理器。在另一種變體實施方式中,控制器執行的指示操作可以存儲在電腦程式產品上,該電腦程式產品有形地體現在機器可讀存儲設備中,用於讓可編程處理器執行;而且,本發明的方法步驟可以由執行指令的可編程處理器執行,以便執行本發明的功能。在所有的情況下,本發明都包含結果產生的計算機系統。更一般地說,以上方法的實施方式可以在數字電子電路中,或者在計算機硬體、固件、軟體或者其組合中實現。
總的來說,處理器將從只讀存儲器和/或隨機訪問存儲器接收指令和數據。適合有形地體現電腦程式指令與數據的存儲設備包括所有形式的非易失性存儲器,作為例子,包括半導體存儲器設備,諸如EPROM、EEPROM和快閃記憶體存儲器設備;磁碟,諸如內部硬碟和可拆卸磁碟;磁-光碟;及⑶-ROM盤等。
本發明有利地適用於大型計算機,擁有多達數以千計的處理器、高速互連和專用硬體。儘管本發明已經參考某些實施方式進行了描述,但是本領域技術人員將理解,在不背離本發明範圍的情況下,可以進行各種變化而且可以替換等同物。此外,在不背離其範圍的情況下,可以進行許多修改以使特定的情形或者材料適合本發明的教義。因此,本發明不限於所公開的特定實施方式,本發明將包括屬於所附權利要求範圍之內的所有實施方式。例如,在此所公開的中斷/恢復原理可以在與線程級不同的另一個級別上實現。
權利要求
1.一種用於管理計算機化系統的處理資源的計算機實現的方法,所述計算機化系統至少具有第一處理器和第二處理器,每個所述處理器都操作性地互連到適於存儲一組數據的存儲器,所述計算機實現的方法包括 在執行的同時監視被所述第一處理器作為輸入數據或輸出數據中的至少ー個進行處理的ー組數據;以及 如果基於所述監視,發現所述第二處理器比所述第一處理器離所監視的數據的距離更短,就指示中斷在所述第一處理器處的執行並且在所述第二處理器處恢復執行。
2.如權利要求I所述的計算機實現的方法,其中在所述指示步驟,進一歩指示中斷在所述第一處理器處的執行,所述第一處理器處於給定處理器狀態,並且從至少部分地由所述給定處理器狀態確定的處理器狀態開始,在所述第二處理器處恢復執行。
3.如權利要求2所述的計算機實現的方法,其中在所述指示步驟,進一歩指示 在所述第二處理器中加載捕捉部分或者全部所述給定處理器狀態的狀態數據,以及 根據所加載的狀態數據在所述第二處理器處恢復執行。
4.如權利要求3所述的計算機實現的方法,其中在所述指示步驟,在指示中斷在所述第一處理器處的執行之前,進ー步指示開始在所述第二處理器中加載所述狀態數據。
5.如權利要求4所述的計算機實現的方法,其中在所述指示步驟,進一歩指示基於來自所述第一處理器的至少ー個處理器寄存器的數據,開始加載所述狀態數據。
6.如權利要求4所述的計算機實現的方法,其中所述狀態數據捕捉所述給定處理器狀態的一子部分,並且其中在所述指示步驟,指示 開始在所述第二處理器中加載組裝後的狀態數據,由此所述第二處理器的至少ー個處理器寄存器中的部分數據保持不變;以及 根據所加載的狀態數據和保持不變的數據二者,在所述第二處理器處恢復執行。
7.如權利要求I所述的計算機實現的方法,其中所述指示恢復的步驟還包括在線程在所述第一處理器處被掛起之後,指示在所述第二處理器處繼續執行所述線程。
8.如權利要求I所述的計算機實現的方法,還包括在指示中斷在所述第一處理器處的執行之後,指示維持所述第一處理器的處理器狀態直到指示將捕捉第三處理器狀態的至少一部分的狀態數據加載到所述第一處理器中為止的步驟。
9.如權利要求8所述的計算機實現的方法,還包括在指示中斷在所述第一處理器處的執行之後,在暫時性延遲之後指示關閉所述第一處理器的步驟。
10.如權利要求I所述的計算機實現的方法,還包括指示將第一存儲器高速緩存的數據寫入由所述第二處理器使用的第二存儲器高速緩存的步驟,所述第一存儲器高速緩存存儲所述存儲器中的由所述第一處理器最頻繁訪問的數據拷貝。
11.如權利要求I所述的計算機實現的方法,所述方法在計算機化系統中實現,其中處理器經互連操作性地互連到所述存儲器,其中監視數據還包括監視存儲在所述互連上的處理後的數據的地址。
12.如權利要求I所述的計算機實現的方法,其中從所述ー組數據的給定數據到所述第一處理器或所述第二處理器中的ー個的距離是從存儲在所述存儲器上的給定數據到所述第一處理器或所述第二處理器中的一個的等待時間的函數。
13.—種駐留在計算機可讀介質上的電腦程式,包括用於使計算機系統實現如權利要求I所述的計算機實現的方法的指令。
14.ー種硬體電路,所述硬體電路被設計成使計算機系統實現如權利要求I所述的計算機實現的方法。
15.一種計算機系統,具有 第一處理器; 第二處理器; 一個或多個控制器;以及 存儲器,適於存儲ー組數據以使得所述ー組數據中的給定數據到每個所述處理器的距離不相等, 其中, 所述控制器、所述處理器和所述存儲器操作性地彼此互連,並且所述ー個或多個控制器被配置成實現如權利要求I所述的計算機實現的方法。
16.一種用於管理計算機化系統的處理資源的計算機實現的方法,所述計算機化系統包括多個處理器,其中有第一處理器和第二處理器,每個所述處理器都操作性地互連到適於存儲要由所述處理器處理的一組數據的存儲器,所述方法包括 在執行的同時監視被所述第一處理器作為輸入數據或輸出數據中的至少ー個進行處理的所述組中的數據;以及 如果所述第二處理器比所述第一處理器離所監視的數據更近,就指示 中斷在所述第一處理器處的執行,所述第一處理器處於給定處理器狀態;以及 從至少部分地由所述給定處理器狀態確定的處理器狀態開始,在所述第二處理器處恢復執行。
17.如權利要求16所述的計算機實現的方法,其中在所述指示步驟,進一歩指示在所述第二處理器中加載捕捉所述給定處理器狀態的至少一部分的狀態數據,以及根據所加載的狀態數據在所述第二處理器處恢復執行。
18.如權利要求17所述的計算機實現的方法,其中在所述指示步驟,在中斷在所述第一處理器處的執行之前,進ー步指示開始在所述第二處理器中加載所述狀態數據。
19.如權利要求16所述的計算機實現的方法,其中在所述指示步驟,在線程在所述第一處理器處被掛起之後,進ー步指示在所述第二處理器處繼續執行所述線程。
20.如權利要求16所述的計算機實現的方法,其中所述指示步驟還包括指示把第一存儲器高速緩存的至少一部分傳輸到由所述第二處理器使用的第二存儲器高速緩存,其中所述第一存儲器高速緩存存儲由所述第一處理器最頻繁訪問的數據拷貝。
21.如權利要求20所述的計算機實現的方法,其中所述第一和第二存儲器高速緩存分別是由所述第一處理器和所述第二處理器使用的最小高速緩存。
22.如權利要求20所述的計算機實現的方法,其中所述第一和第二存儲器高速緩存分別是由所述第一處理器和所述第二處理器使用的唯一存儲器高速緩存。
23.如權利要求20所述的計算機實現的方法,其中所述第一處理器和所述第二處理器都不使用存儲器高速緩存。
24.如權利要求20所述的計算機實現的方法,所述方法在計算機化系統中實現,其中處理器經互連操作性地互連到所述存儲器,其中監視被所述第一處理器處理的數據還包括監視存儲在所述互連上的處理後的數據的地址,由此能夠確定從所述處理後的數據到所述第一處理器或所述第二處理器的距離。
25.如權利要求20所述的計算機實現的方法,其中所述距離基本上對應於對於處理器離所監視的數據在空間上有多遠的測量。
全文摘要
本發明公開涉及一種用於管理計算機化系統的處理資源的計算機實現的方法,所述計算機化系統至少具有第一處理器和第二處理器,每個所述處理器都操作性地互連到存儲要由處理器處理的一組數據的存儲器,所述方法包括在執行的同時監視被所述第一處理器訪問的數據;以及如果所述第二處理器比所述第一處理器離所監視的數據的距離更短,就指示中斷在所述第一處理器處的執行並在所述第二處理器處恢復執行。
文檔編號G06F12/08GK102652309SQ201080055635
公開日2012年8月29日 申請日期2010年12月7日 優先權日2009年12月10日
發明者H·C·亨特, P·斯坦利-瑪貝爾, R·P·路易頓 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀