專利名稱:用于在多節(jié)點系統(tǒng)中提供節(jié)點分離的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明一般地涉及計算機系統(tǒng),并且更特別地涉及多節(jié)點系統(tǒng)中的節(jié)點的動態(tài)分離。
背景技術:
多節(jié)點系統(tǒng)是多個節(jié)點互連的系統(tǒng)。多節(jié)點系統(tǒng)的一個例子是來自國際商業(yè)機器公司(IBM)的xSeries7 eServerJ x440。(xSeries是IBM的注冊商標,并且eServe是IBM的商標)。多節(jié)點系統(tǒng)提供大量的冗余和處理能力,并因此改善系統(tǒng)的可用性、性能和可擴展性。
多節(jié)點系統(tǒng)可以包括例如4個互連節(jié)點,其中每個節(jié)點包括8個處理器,從而整個系統(tǒng)有效地提供32個處理器。每個節(jié)點典型地貢獻可在各互連節(jié)點之間共享的存儲器資源。
多節(jié)點系統(tǒng)通常采用系統(tǒng)管理中斷體系結構,在此稱為系統(tǒng)管理中斷或SMI。當將中斷矢量寫入到SMI寄存器時,產生SMI中斷。隨后,該中斷由SMI中斷處理器處理。
發(fā)明內容
在一個方面中,本發(fā)明提供了多節(jié)點系統(tǒng)中的節(jié)點分離,包括由多節(jié)點系統(tǒng)的一個特定節(jié)點的中斷處理器來檢測中斷;以及進入中斷處理器以處理中斷。在確定該中斷表明要從多節(jié)點系統(tǒng)中分離該特定節(jié)點后,該方面還包括在一個具有可用存儲器的不同的節(jié)點處透明地接管(host)該特定節(jié)點的正在使用的存儲器,從而將對該正在使用的存儲器的后續(xù)引用透明地解析給該不同的節(jié)點;以及隨后,在不退出中斷處理器的情況下從多節(jié)點系統(tǒng)中分離該特定節(jié)點。
在該方面中,該透明地接管的步驟優(yōu)選地進一步包括步驟將正在使用的存儲器的內容復制到該不同的節(jié)點;創(chuàng)建該特定節(jié)點處的正在使用的存儲器的位置與該不同的節(jié)點處的所復制的內容的新位置之間的映射,其中該映射使得可以對后續(xù)引用進行透明的解析;將該特定節(jié)點處的未使用的存儲器標記為不可用;以及將該不同的節(jié)點處的新位置標記為不可用。
在另一方面中,本發(fā)明提供了包括多個互連的節(jié)點的多節(jié)點系統(tǒng)中的節(jié)點分離,其中每個節(jié)點具有與其相關聯(lián)的用于檢測和處理中斷的中斷處理器。該方面優(yōu)選地包括由與一個特定節(jié)點相關聯(lián)的中斷處理器來檢測中斷;進入中斷處理器以處理該中斷;以及響應于確定該中斷表明需要從多節(jié)點系統(tǒng)中分離該特定節(jié)點而非破壞性地分離該節(jié)點。
在該方面中,該非破壞性的分離進一步包括將該特定節(jié)點的正在使用的存儲器的內容復制到具有可用存儲器的一個不同的節(jié)點;創(chuàng)建該特定節(jié)點處的正在使用的存儲器的位置與該不同的節(jié)點處的所復制的內容的新位置之間的映射,其中該映射使得可以對對該正在使用的存儲器的后續(xù)引用進行透明的解析;將該特定節(jié)點處的未使用的存儲器標記為不可用;將該不同的節(jié)點處的新位置標記為不可用;以及隨后,在不退出中斷處理器的情況下從多節(jié)點系統(tǒng)中分離該特定節(jié)點。
前述內容是一個概要,并因此必然包含了簡化、廣義性和對細節(jié)的省略,因此,本領域的普通技術人員將意識到,該概要只是說明性的,并且并非旨在以任何方式進行限制。在以下闡明的非限制性詳細描述中,如所附權利要求所限定的本發(fā)明的其他方面、創(chuàng)造性特征和優(yōu)點將變得明顯。
下面將參考以下附圖對本發(fā)明進行描述,其中在整個說明書中,相同的參考標號表示相同的單元。
圖1說明了多節(jié)點系統(tǒng)。
圖2和圖3提供了描述在實現本發(fā)明的優(yōu)選實施例時可以使用的邏輯的流程圖;并且圖4(包括圖4A-圖4C)說明了示出可以如何在多節(jié)點系統(tǒng)的不同節(jié)點上透明地接管來自已分離的節(jié)點的存儲器內容的示例性場景。
具體實施例方式
優(yōu)選實施例針對在多節(jié)點環(huán)境中(例如響應于錯誤情形)動態(tài)地分離一個或多個節(jié)點。采用在此公開的技術,可以將節(jié)點分離而不會對操作系統(tǒng)或其他節(jié)點產生不利的影響。這種節(jié)點分離操作可以稱為熱分離,也就是說,其動態(tài)地發(fā)生,同時整個系統(tǒng)繼續(xù)運行。例如,可以由于節(jié)點發(fā)生故障而執(zhí)行節(jié)點分離。多節(jié)點系統(tǒng)的每個節(jié)點貢獻可在任意特定時間點上被其他節(jié)點共享的存儲器。如果當前存儲于被分離的節(jié)點的存儲器中的內容恰好在節(jié)點分離期間消失,則系統(tǒng)將很有可能因此而崩潰。此外,丟失存儲器內容有可能導致不可預測的結果。為避免這種不期望的情形,將被分離的節(jié)點的正在使用的存儲器的內容復制到另一節(jié)點,并對存儲器映射進行更新以使得這種復制對于操作系統(tǒng)透明以便進行后續(xù)的存儲器訪問。此外,程序化地鎖定要復制到的存儲器位置,以防止意外地覆蓋該復制。
圖1說明了包括兩個節(jié)點100、150的多節(jié)點系統(tǒng)。如前所述,這些節(jié)點中的每個節(jié)點可以包括多個處理器。在圖1中以參考標號105、155示出這些處理器。在圖1中將由每個節(jié)點貢獻的存儲器描述為主存儲器125、175以及備用存儲器135、185。每個節(jié)點中的存儲控制器130、180在節(jié)點的存儲器與節(jié)點100、150的其他組件之間提供了接口。
所謂的北橋組件115、170可以存在于每個節(jié)點中。北橋組件存在于通常稱為北橋、南橋的芯片組體系結構中。在這種體系結構中,北橋組件通過總線(見圖1中的參考標號108、158)與處理器105、155進行通信并典型地控制與存儲器、高級圖形、高速緩存以及外圍組件互連(PCI)總線的交互。總線108、158通常稱為前側總線。圖1中未示出的南橋通常負責輸入/輸出(I/O)功能,諸如串行端口I/O、音頻、通用串行總線(USB),等等。
本發(fā)明的實施例不限于這種北橋、南橋芯片組,并且因此圖1中的描述應當解釋為說明性而非限制性的。
可擴展性芯片120、165包括一個或多個控制域,并且被優(yōu)選實施例調整為使得信息可以在多節(jié)點系統(tǒng)的節(jié)點100、150之間傳送(下面將對此進行詳細描述)。
多節(jié)點系統(tǒng)的每個節(jié)點還包括SMI中斷處理器110、160。如前所述,當產生SMI中斷時,這些SMI中斷由SMI中斷處理器處理。
現有技術的多節(jié)點系統(tǒng)的一個缺點是,不存在關閉單一節(jié)點而不關閉操作系統(tǒng)和多節(jié)點系統(tǒng)中的其他節(jié)點的方法。例如,會導致特定節(jié)點應當被從多節(jié)點系統(tǒng)中分離(即停止參與到該多節(jié)點系統(tǒng)中)的多種錯誤情況中的任意錯誤情況都有可能發(fā)生在該特定節(jié)點處。這些錯誤情況包括(僅作為說明)檢測到該節(jié)點過熱或者檢測到該節(jié)點正經歷存儲器泄漏。由于僅屬于單獨的一個節(jié)點的情況而關閉整個多節(jié)點系統(tǒng)的缺點包括降低系統(tǒng)可用性和減小系統(tǒng)吞吐量。
只要任意一個節(jié)點接收到SMI中斷,現有技術的多節(jié)點系統(tǒng)就在所有節(jié)點處同步地進入系統(tǒng)管理模式或SMM。在這種模式下,當SMI中斷處理器評估中斷以嘗試確定其原因的同時,所有節(jié)點處的常規(guī)處理都會停止。如果錯誤是災難性的,則SMI處理器將典型地產生機器檢查,強制性地對所有節(jié)點進行重新引導。然而,在很多情況下,引起中斷的事件不必影響其他節(jié)點。在這些情況下,對這些節(jié)點進行重新引導不必要地浪費了實現和資源。
本發(fā)明的優(yōu)選實施例使得節(jié)點處的SMI中斷處理器能夠獨立地操作,從而能夠以非破壞性的方式從多節(jié)點系統(tǒng)中分離個別的節(jié)點。采用在此公開的技術,待分離的節(jié)點的處理器在該節(jié)點的SMI中斷處理器的控制下進入系統(tǒng)管理模式,同時其他節(jié)點上的處理器繼續(xù)常規(guī)的操作。特別地,在對被分離節(jié)點進行分離之后,其他節(jié)點可以繼續(xù)運轉,并且可以將被分離節(jié)點處的正在使用的存儲器資源透明地映射到不同的存儲器位置,使得執(zhí)行組件不會失去對來自被分離的節(jié)點的存儲器內容的訪問途徑。
現有技術的多節(jié)點系統(tǒng)中的SMI中斷典型地通過將節(jié)點連接在一起的互連傳播到每個節(jié)點的SMI處理器。因此,在這些系統(tǒng)中,影響一個節(jié)點的SMI中斷會影響所有節(jié)點,使得它們全都停止常規(guī)的處理并進入它們的中斷處理器。這是低效的并且有可能對整個系統(tǒng)產生不期望的影響。如前所述,優(yōu)選實施例調整節(jié)點中的可擴展性芯片,以禁止SMI中斷在這些節(jié)點之間傳播,從而提供了針對SMI中斷處理的節(jié)點獨立性。因此,由本發(fā)明提供的熱分離操作可以是孤立的,以便分離單一的節(jié)點。
現在參考圖2,其中提供了流程圖,以說明在實現優(yōu)選實施例時可以使用的邏輯。如在圖2的方框200處所示,在可擴展性芯片中設置控制域,該控制域禁止SMI中斷在節(jié)點之間傳播。優(yōu)選地,在對節(jié)點進行加電時設置該控制域。隨后,該節(jié)點等待對SMI中斷的檢測(方框205)。
當一個節(jié)點檢測到已經產生SMI中斷時(方框210),僅該檢測節(jié)點的中斷處理器會參與進來。一旦被調用(方框215),該SMI中斷處理器就評估該中斷以確定該中斷是否表明該節(jié)點需要從系統(tǒng)中分離(方框220)。
如果方框220中的測試具有肯定的結果,則在方框225處,中斷處理器優(yōu)選地使用共享存儲器結構向在此稱為后臺程序(daemon)的在操作系統(tǒng)的控制下運行的存儲控制器發(fā)送消息。該消息通知該后臺程序該節(jié)點將要分離。在該節(jié)點用信號通知該后臺程序之后,該節(jié)點隨后退出其SMI中斷處理器(方框230),并且該后臺程序處理節(jié)點分離操作(如以下參考圖3所討論的)。
一旦該后臺程序已經結束,其就產生對本地節(jié)點的另一SMI中斷。被分離節(jié)點在方框210處檢測到該中斷,并且在方框215處再次進入該中斷處理器。這一次,方框220中的測試具有否定的結果,并且處理繼續(xù)到方框235,方框235進行測試以觀察該中斷是否為來自后臺程序的、用信號通知被分離節(jié)點該后臺程序已經結束分離處理的“后臺程序結束”信號。
如果方框235中的測試具有肯定的結果,則控制到達方框240,其中被分離節(jié)點的SMI中斷處理器不進行進一步處理,并且特別地,不會退出。因此,有效地從系統(tǒng)中移除了該節(jié)點(盡管如以下參考圖3所討論的,該節(jié)點的存儲器的內容在所復制到的位置上仍然可用)。
盡管可以正確地將很多SMI中斷隔離到單一節(jié)點,但仍然可以存在其他的場景,其中一個節(jié)點產生一個應當在各節(jié)點之間傳播以防止系統(tǒng)進行錯誤操作的SMI中斷。為考慮節(jié)點檢測到一個應當在各節(jié)點之間傳播的SMI中斷的場景,優(yōu)選實施例實現了現在將參考圖2B而描述的邏輯。當方框235中(以及方框220的現有技術測試中)的測試具有否定的結果(即所檢測到的中斷不是來自后臺程序的信號,并且不是節(jié)點分離中斷)時,控制到達方框245。方框245測試這是否是應當傳播到其他互連的節(jié)點的中斷。
如果方框245處的測試具有否定的結果,則在方框210處檢測到的中斷是需要由本地節(jié)點只采用不構成在此公開的發(fā)明概念的一部分的技術來處理的中斷(方框250)。在完成該處理之后,控制返回到方框205以等待該節(jié)點處的下一次SMI中斷。
當控制到達方框255時,已經檢測到需要從本地節(jié)點傳播到其他互連的節(jié)點的中斷。因此,在方框255中,(再次)啟用SMI中斷傳播。這優(yōu)選地包括重新設置可擴展性芯片中的控制域并對其他節(jié)點的SMI中斷處理器用來與該節(jié)點進行通信的共享存儲器區(qū)域進行初始化。隨后,本地節(jié)點強制性地使軟SMI中斷情況發(fā)生(方框260)。觸發(fā)該中斷使得在方框210處檢測到的中斷從本地節(jié)點傳播到互連的節(jié)點。作為結果,這些節(jié)點中的每個節(jié)點將檢測到該中斷并隨后進入它們的SMI中斷處理器。這些SMI中斷處理器將向共享存儲器區(qū)域查詢中斷的原因,并且隨后會根據它們的配置采取適當的措施。結束對該中斷的處理的每個節(jié)點將狀態(tài)記錄在共享存儲器區(qū)域中以表明對該中斷的處理已結束。如在方框265中所示,本地節(jié)點也可以采取措施以本地地處理該SMI中斷。
隨后,本地節(jié)點監(jiān)控共享存儲器區(qū)域(方框270)以確定其他互連的節(jié)點是否已經結束它們對所傳播的中斷的處理。如果所有節(jié)點都已經結束該處理,則方框275處的測試具有肯定的結果,并且控制優(yōu)選地返回到方框200,其中本地節(jié)點再次禁用SMI中斷傳播并等待后續(xù)中斷。否則,當方框275處的測試具有否定的結果時,在方框270處,本地節(jié)點繼續(xù)監(jiān)控共享存儲器區(qū)域。
現在轉向圖3,此時將描述在節(jié)點分離期間實現后臺程序的處理時可以使用的邏輯,其中被分離節(jié)點的當前使用的存儲器將由不同的節(jié)點接管。使用后臺程序來執(zhí)行分離處理使得本地(即被分離的)節(jié)點減少了在其中斷處理器中耗費的時間。(作為替代,被分離節(jié)點的SMI中斷處理器可以執(zhí)行圖3中示出的處理。然而,有可能發(fā)生的情況是,在發(fā)生存儲器復制操作的同時,操作系統(tǒng)有可能需要訪問被分離節(jié)點的存儲器,并且如果該節(jié)點的SMI中斷處理器執(zhí)行了存儲器復制,則該存儲器對于操作系統(tǒng)將不可用,原因是該節(jié)點處于其中斷處理器中。這將很有可能使系統(tǒng)關閉,或使系統(tǒng)閑置,這兩種情況都是不期望的。)當后臺程序檢測到節(jié)點已經用信號通知其執(zhí)行節(jié)點分離(方框300)時,其確定在被分離節(jié)點處當前有多少存儲器正在使用(方框305)。隨后,該后臺程序在多節(jié)點系統(tǒng)中的其他節(jié)點上搜索可用的存儲器(方框310)。優(yōu)選地,這包括查詢記錄哪些存儲器當前對多節(jié)點系統(tǒng)可用的存儲器地圖(memory map)。(參考圖4A,其中針對假設的場景以圖形方式說明了存儲器地圖。)隨后,將被分離節(jié)點處正在使用的存儲器復制到一個或多個其他節(jié)點上的可用存儲器(方框315)。隨后,在方框320中,后臺程序創(chuàng)建在被分離節(jié)點上的原始存儲器位置與一個或多個其他節(jié)點上的被復制到的存儲器位置之間進行相關的映射(例如表或其他數據結構),使得能夠將使用原始存儲器位置的存儲器訪問透明地重定向到新的存儲器位置。采用這種映射,由于新的存儲器位置被映射在同一地址空間中,因此操作系統(tǒng)不會發(fā)現數據位置的任何改變。(也就是說,當請求來自原來由被分離節(jié)點提供的特定地址的存儲器內容時,該映射使得能夠以對于請求者透明的方式找到這些內容的當前位置。)隨后,將存儲器地圖修改(方框325)為將被分離節(jié)點上的所有當前未使用的存儲器位置標記為不可用,并且(方框330)將一個或多個其他節(jié)點上的被復制到的位置標記為不可用。(參考圖4C,其針對假設的場景說明了該處理的結果。)在優(yōu)選實施例中,該處理包括調整本領域的普通技術人員熟知的高級配置和電源接口(ACPI)表以表明已經將存儲器從系統(tǒng)中移除,并且該處理包括隨后對物理存儲器進行重新映射。(這還可以稱為描述動態(tài)的ACPI存儲器空洞。術語“ACPI空洞”是指表明哪些存儲器對操作系統(tǒng)不可用的ACPI結構空間中的結構。)最終,后臺程序產生軟SMI中斷(方框335),從而用信號通知被分離節(jié)點該后臺程序已經結束其用于對節(jié)點進行分離的操作(即存儲器復制和重新映射操作已結束。)隨后,該后臺程序退出圖3的處理。
圖4A-圖4C說明了示出如何可以在多節(jié)點系統(tǒng)的不同節(jié)點上透明地接管來自已分離的節(jié)點的存儲器內容的示例性場景。該示例采用了用于雙節(jié)點系統(tǒng)的存儲器地圖,但是對本領域的普通技術人員來說,顯然在此公開的啟示對于包括多于兩個節(jié)點的多節(jié)點系統(tǒng)同樣適用。
在圖4A中,節(jié)點1貢獻了地址為地址512M至地址1G的存儲器。見參考標號400。在該示例性場景中,當節(jié)點1需要被分離時,當前使用的存儲器包括地址768M至地址896M,這是一個128M的塊。節(jié)點2貢獻了地址為地址0M至地址512M的存儲器,并且當節(jié)點1需要被分離時,來自節(jié)點2的當前使用的存儲器包括地址0M至地址128M以及地址256M至地址384M。參見參考標號410和420。
在該示例性場景中,后臺程序確定是否可以將來自節(jié)點1的所有當前使用的存儲器復制到節(jié)點2的存儲器的從地址128M至地址256M的連續(xù)塊。因此,圖4B說明了已經將來自節(jié)點1的當前使用的存儲器復制到節(jié)點2的該存儲器。見參考標號430。(還有可能發(fā)生的情況是,沒有足夠大的連續(xù)塊可用于該復制存儲器。在此情況下,可以將來自節(jié)點1的存儲器復制到多個位置,并且隨后,存儲器地圖會反映這些位置以使得可以透明地訪問所復制的存儲器內容。)圖4B還說明,在物理地移動來自被分離節(jié)點的存儲器內容之后,現在沒有任何來自該節(jié)點的存儲器(在本例中示出為地址512M至地址1G)是正在使用的。
圖4C示出了用于該示例性場景的最終的存儲器地圖,其具有操作系統(tǒng)所觀察到的可用或不可用的存儲器。如以上參考方框325所討論的,在分離操作期間,將當前可用的(即未使用的)所有被分離節(jié)點的存儲器標記為不可用或被鎖定。(這防止了其他節(jié)點嘗試使用已經隨著被分離節(jié)點而被移除的存儲器。)對于作為分離的結果而被鎖定的地址位置,見參考標號440和460。操作系統(tǒng)繼續(xù)看到先前由節(jié)點1貢獻的地址768M至地址896M是正在使用的。見參考標號450。然而,由后臺程序在存儲器復制操作(如參考方框315-320所討論的)期間創(chuàng)建的映射透明地將引用解析給這些位置,從而作為替代,使用的是復制到節(jié)點2的地址128M至地址256M的內容。因此,操作系統(tǒng)所觀察到的存儲器地圖具有被標記為鎖定(并且因此不可用于分配給請求者)的節(jié)點2的地址128M至地址256M。見參考標號430。
本領域的普通技術人員將意識到,可以將本發(fā)明的實施例提供為方法、系統(tǒng)以及/或者包括計算機可讀程序代碼的計算機程序產品。因此,本發(fā)明可以采取完全軟件的實施例、完全硬件的實施例或者結合軟硬件方面的實施例的形式。在優(yōu)選實施例中,本發(fā)明以軟件實現,該軟件包括(但不限于)固件、駐留軟件、微代碼,等等。
此外,本發(fā)明的實施例可以采取可從計算機可用介質或計算機可讀介質訪問的計算機程序產品的形式,該介質提供由計算機或任意指令執(zhí)行系統(tǒng)使用或結合計算機或任意指令執(zhí)行系統(tǒng)而使用的程序代碼。出于本說明書的目的,計算機可用介質或計算機可讀介質可以是包含、存儲、傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、設備或裝置使用或結合指令執(zhí)行系統(tǒng)、設備或裝置而使用的程序的任意設備。
該介質可以是電子的、磁的、光的、電磁的、紅外的或半導體的系統(tǒng)(或者設備或裝置)或傳播媒體。計算機可讀介質的例子包括半導體或固態(tài)存儲器,磁帶,可擦除計算機磁盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬盤,以及光盤。光盤的當前例子包括壓縮光盤-只讀存儲器(CD-ROM)、可讀寫壓縮光盤(CD-R/W)以及DVD(數字視頻光盤)。
盡管已經描述了本發(fā)明的優(yōu)選實施例,但一旦本領域的普通技術人員理解了基本的發(fā)明概念,他們就可以想到這些實施例中的另外的變型和修改。因此,所附權利要求應當解釋為包括優(yōu)選實施例以及處于本發(fā)明的本質和范圍內的所有這些變型和修改。此外,應當理解,在權利要求中使用“一”或“一個”并非旨在將本發(fā)明的實施例限制為單數的一個以此方式引入的任意單元。
權利要求
1.一種用于在多節(jié)點系統(tǒng)中提供節(jié)點分離的程序化的方法,包括步驟由所述多節(jié)點系統(tǒng)的一個特定節(jié)點的中斷處理器來檢測中斷;進入所述中斷處理器以處理所述中斷;以及在確定所述中斷表明需要從所述多節(jié)點系統(tǒng)中分離所述特定節(jié)點后,執(zhí)行步驟在一個具有可用存儲器的不同的節(jié)點處透明地接管所述特定節(jié)點的正在使用的存儲器,從而將對所述正在使用的存儲器的后續(xù)引用透明地解析給所述一個不同的節(jié)點;以及隨后,在不退出所述中斷處理器的情況下從所述多節(jié)點系統(tǒng)中分離所述特定節(jié)點。
2.根據權利要求1所述的方法,其中所述透明地接管的步驟進一步包括步驟將所述正在使用的存儲器的內容復制到所述一個不同的節(jié)點;創(chuàng)建所述特定節(jié)點處的所述正在使用的存儲器的位置與所述不同的節(jié)點處的所復制的內容的新位置之間的映射,其中所述映射使得可以對所述的后續(xù)引用進行透明的解析;將所述特定節(jié)點處的未使用的存儲器標記為不可用;以及將所述不同的節(jié)點處的新位置標記為不可用。
3.根據權利要求2所述的方法,其中所述復制步驟、所述創(chuàng)建步驟、所述標記未使用的存儲器的步驟以及所述標記新位置的步驟由在所述多節(jié)點系統(tǒng)的操作系統(tǒng)控制下執(zhí)行的存儲控制器后臺程序來完成。
4.根據權利要求3所述的方法,其中由所述中斷處理器響應于所述確定步驟而用信號通知所述存儲控制器后臺程序啟動。
5.根據權利要求4所述的方法,其中所述透明地接管的步驟還包括步驟響應于用信號通知所述存儲控制器后臺程序而退出所述中斷處理器,直到接收到表明所述存儲控制器后臺程序已經結束所述復制步驟、所述創(chuàng)建步驟、所述標記未使用的存儲器的步驟以及所述標記新位置的步驟的新的中斷為止;再次進入所述中斷處理器以處理所述新的中斷,其中對所述新的中斷的處理包括不退出所述中斷處理器。
6.根據權利要求5所述的方法,其中所述退出步驟允許所述操作系統(tǒng)繼續(xù)訪問所述正在使用的存儲器。
7.根據權利要求4所述的方法,其中使用共享存儲器將所述信號從所述中斷處理器傳遞給所述存儲控制器后臺程序。
8.根據權利要求3所述的方法,其中在結束所述復制步驟、所述創(chuàng)建步驟、所述標記未使用的存儲器的步驟以及所述標記新位置的步驟后,所述存儲控制器用信號通知所述中斷處理器。
9.根據權利要求1所述的方法,其中將所述特定節(jié)點配置為防止所檢測到的中斷從所述特定節(jié)點傳播到所述多個節(jié)點中的其他節(jié)點。
10.根據權利要求9所述的方法,其中通過在所述特定節(jié)點的加電過程期間設置與所述特定節(jié)點相關聯(lián)的控制域來防止所述傳播。
11.一種用于在多節(jié)點系統(tǒng)中提供節(jié)點分離的系統(tǒng),包括多節(jié)點系統(tǒng),其包括多個互連的節(jié)點,其中每個節(jié)點具有與其相關聯(lián)的用于檢測和處理中斷的中斷處理器;用于通過與一個特定節(jié)點相關聯(lián)的中斷處理器來檢測中斷的裝置;用于進入所述中斷處理器以處理所述中斷的裝置;以及用于響應于確定所述中斷表明需要從所述多節(jié)點系統(tǒng)中分離所述特定節(jié)點而非破壞性地分離所述節(jié)點的裝置,進一步包括用于將所述特定節(jié)點的正在使用的存儲器的內容復制到具有可用存儲器的一個不同的節(jié)點的裝置;用于創(chuàng)建所述特定節(jié)點處的所述正在使用的存儲器的位置與所述不同的節(jié)點處的所復制的內容的新位置之間的映射的裝置,其中所述映射使得可以對所述正在使用的存儲器的后續(xù)引用進行透明的解析;用于將所述特定節(jié)點處的未使用的存儲器標記為不可用的裝置;用于將所述不同的節(jié)點處的新位置標記為不可用的裝置;用于隨后在不退出所述中斷處理器的情況下從所述多節(jié)點系統(tǒng)中分離所述特定節(jié)點的裝置。
全文摘要
在多節(jié)點系統(tǒng)中,可以動態(tài)地分離節(jié)點(例如響應于錯誤情形)而不影響操作系統(tǒng)或其他節(jié)點。將待分離節(jié)點處的正在使用的存儲器的內容復制到另一節(jié)點,并對存儲器映射進行更新以使得這種復制對于使用該存儲器的組件透明。此外,程序化地鎖定要復制到的存儲器位置,以防止將該存儲器位置分配給存儲器請求者。
文檔編號G06F11/00GK1975695SQ20061015383
公開日2007年6月6日 申請日期2006年9月13日 優(yōu)先權日2005年11月30日
發(fā)明者布蘭登·J·埃利森, 埃里克·R·克恩, 威廉·B·施瓦茨, 亞當·L·索德倫德 申請人:國際商業(yè)機器公司