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

替換系統(tǒng)硬件的制作方法

文檔序號:6456512閱讀:248來源:國知局
專利名稱:替換系統(tǒng)硬件的制作方法
替換系統(tǒng)硬件
些旦
^r眾
微處理器是能夠為諸如臺式計算機(jī)、膝上型計算機(jī)、服務(wù)器計算機(jī)、 蜂窩電話、激光打印機(jī)等計算設(shè)備執(zhí)行處理和控制功能的電子設(shè)備。通常, 微處理器包括包含并保護(hù)包括復(fù)雜集成電路的小片半導(dǎo)體材料的小塑料或 陶瓷封裝。連接到集成電路的引線被附連到從封裝伸出的引腳上,從而允 許該集成電路連接到其它電子設(shè)備和電路。微處理器通常被插入或以其它 方式附連到包含其它電子設(shè)備的電路板。
盡管微處理器集成電路通常只包括一個計算單元,即一個處理器,但
在微處理器集成電路中可能包括多個處理器。該通常被稱為"核"的多個
處理器包括在同一片半導(dǎo)體材料上并連接到微處理器封裝引腳上。具有多
個核增加微處理器的計算能力。例如,具有四個核的微處理器可以提供幾 乎與四個單核微處理器相等量的計算能力。
多個微處理器和多核微處理器在傳統(tǒng)計算設(shè)備中的使用已經(jīng)增加。傳 統(tǒng)計算設(shè)備只能夠運行操作系統(tǒng)的一個實例。即使是包含多核微處理器、
多個微處理器、或多個多核微處理器的傳統(tǒng)計算設(shè)備也只能夠運行操作系 統(tǒng)的一個實例。然而,利用多核微處理器所提供的增加的計算能力允許用 較少的計算設(shè)備來執(zhí)行先前由多個計算設(shè)備執(zhí)行的計算功能。 例如,服務(wù)器是連接到網(wǎng)絡(luò)的、向連接到該網(wǎng)絡(luò)的其它實體提供服務(wù)
或一組服務(wù)的計算設(shè)備。包括32個傳統(tǒng)計算設(shè)備的服務(wù)器(即32路(32 way)服務(wù)器)可以包括8個微處理器,每一微處理器具有四個核。進(jìn)一步 考慮這一概念,如果每一單獨的核的能力是32個計算設(shè)備中的一個的8倍, 則32路服務(wù)器的能力可以由該四核微處理器來提供。這種四核服務(wù)器的明 顯的好處是計算資源冗余與傳統(tǒng)服務(wù)器所提供的相比更可承受。另外,減 少微處理器的數(shù)量降低服務(wù)器的成本、對該服務(wù)器供電所需要的電量、和 服務(wù)器所需要的維護(hù)的量。
使用"分區(qū)"來更好地利用多核微處理器的計算能力是可能的。分區(qū)是可以運行操作系統(tǒng)的獨立實例(即局部操作系統(tǒng))的計算設(shè)備內(nèi)的、可 以在電學(xué)上隔離的一組電子設(shè)備,例如處理器、存儲器等??煞謪^(qū)計算設(shè) 備是可被劃分為各個分區(qū)并且因而能夠運行多個局部操作系統(tǒng)的計算設(shè) 備??煞謪^(qū)服務(wù)器是作為可分區(qū)計算設(shè)備并且因而能夠運行多個局部操作 系統(tǒng)的服務(wù)器??煞謪^(qū)服務(wù)器的分區(qū)還可被稱為"邏輯服務(wù)器"。g卩,對 網(wǎng)絡(luò)上的其它實體而言,邏輯服務(wù)器表現(xiàn)為獨立的服務(wù)器,即使它并不是。 還可能將多個服務(wù)器(邏輯的或其它)組裝成"服務(wù)器集群"。服務(wù)器集 群是相當(dāng)于提供服務(wù)或一組服務(wù)的單元的多個服務(wù)器。
使用多核微處理器的優(yōu)點正驅(qū)動"服務(wù)器合并"的趨勢。服務(wù)器合并 是用更少的服務(wù)器(例如一個服務(wù)器)替換(例如服務(wù)器集群中的)多個 服務(wù)器的過程。替換多個服務(wù)器的服務(wù)器通常包含等于或超過該多個服務(wù) 器的能力的計算能力。盡管降低成本、電量和維護(hù),但服務(wù)器合并導(dǎo)致孤 注一擲的后果。服務(wù)器合并可以增加服務(wù)器故障的影響。例如,如果曾經(jīng) 在多個服務(wù)器上運行的多個應(yīng)用程序全都在同一服務(wù)器上運行,并且該服 務(wù)器發(fā)生故障,則結(jié)果可能影響所有的應(yīng)用程序。在最差的情況下,這意 味著應(yīng)用程序停機(jī)。為防止這種影響,許多高端服務(wù)器,即具有大量計算 能力的服務(wù)器,將其能力的一部分應(yīng)用于可靠性特征。
一種這樣的可靠性特征是"故障切換(failover)"能力。故障切換是 第一實體優(yōu)選地在該第一實體完全失效之前將該第一實體所包含的信息傳 遞到第二類似的實體的能力。已經(jīng)為傳統(tǒng)服務(wù)器,即基于傳統(tǒng)計算設(shè)備的 服務(wù)器開發(fā)了以受控和順序的方式執(zhí)行故障切換的技術(shù),以確保在從發(fā)生 故障的服務(wù)器到替換服務(wù)器的轉(zhuǎn)移期間沒有數(shù)據(jù)丟失并且沒有正在進(jìn)行的 進(jìn)程被中斷。
為創(chuàng)建與傳統(tǒng)服務(wù)器一樣穩(wěn)健和可靠的多核微處理器服務(wù)器,在處理 器級操作的類似技術(shù)是有用的。
概述
提供本概述以便以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的 一些概念。本概述并不旨在標(biāo)識所需要保護(hù)的主題的關(guān)鍵特征,也不旨在用于幫助確定所需要保護(hù)的主題的范圍。
公開了一種用于管理諸如服務(wù)器等包括全局管理實體和多個局部操作 系統(tǒng)的可分區(qū)計算設(shè)備中的備用分區(qū)單元的方法和裝置。該方法包括確定 是否需要在局部操作系統(tǒng)中添加或替換備用分區(qū)單元。如果需要附加備用 分區(qū)單元,則啟動備用分區(qū)單元添加過程。如果由于例如分區(qū)單元發(fā)生故 障而需要替換備用分區(qū)單元,則啟動替換備用分區(qū)單元過程。替換備用分 區(qū)單元過程使該備用分區(qū)單元被動地和主動地遷移到發(fā)生故障的分區(qū)單元 的分區(qū),并且遷移動作被清理。
在一說明性實現(xiàn)中,在備用分區(qū)單元添加過程期間,全局管理實體從 全局設(shè)備池中選擇要添加的備用分區(qū)單元;該全局管理實體啟動所選備用 分區(qū)單元的添加;局部操作系統(tǒng)啟動所選備用分區(qū)單元到該局部操作系統(tǒng) 中的分區(qū),即到該局部操作系統(tǒng)分區(qū)中的添加;全局管理實體將所選備用 分區(qū)單元帶入該局部操作系統(tǒng)分區(qū);并且在局部操作系統(tǒng)發(fā)現(xiàn)該局部操作 系統(tǒng)分區(qū)中的該所選備用分區(qū)單元時,該局部操作系統(tǒng)將所選備用分區(qū)單 元添加到該局部操作系統(tǒng)分區(qū)中。
在一說明性實現(xiàn)中,在備用分區(qū)單元替換過程期間,在局部操作系統(tǒng) 檢測到發(fā)生故障的設(shè)備時,全局管理實體將該發(fā)生故障的設(shè)備映射到物理 硬件設(shè)備;全局管理實體從全局設(shè)備池中選擇替換設(shè)備;全局管理實體啟 動發(fā)生故障的設(shè)備的替換;局部操作系統(tǒng)啟動發(fā)生故障的設(shè)備到該局部操 作系統(tǒng)中的替換;全局管理實體將備用分區(qū)單元帶入局部操作系統(tǒng)中的分 區(qū),即局部操作系統(tǒng)分區(qū);并且在局部操作系統(tǒng)發(fā)現(xiàn)局部操作系統(tǒng)分區(qū)中 的備用分區(qū)單元時,該局部操作系統(tǒng)準(zhǔn)備將該備用分區(qū)單元添加到該局部 操作系統(tǒng)分區(qū)中。
在一說明性實現(xiàn)中,在備用分區(qū)單元被動遷移到發(fā)生故障的分區(qū)單元 的分區(qū)期間,局部操作系統(tǒng)使用已修改標(biāo)志來跟蹤發(fā)生故障的分區(qū)的存儲 器的改變的部分,來轉(zhuǎn)移發(fā)生故障的分區(qū)的存儲器;并且全局管理實體執(zhí) 行存儲器控制器路由表的原子更新。
在一說明性實現(xiàn)中,在將備用分區(qū)單元主動遷移到發(fā)生故障的分區(qū)單 元的分區(qū)期間,全局管理實體使可分區(qū)服務(wù)器停頓;局部操作系統(tǒng)轉(zhuǎn)移發(fā)生故障的分區(qū)的存儲器的改變的部分;全局管理實體執(zhí)行存儲器控制器路 由表的原子更新;局部操作系統(tǒng)將發(fā)生故障的分區(qū)單元的處理器的狀態(tài)轉(zhuǎn) 移到備用分區(qū)單元的處理器;局部操作系統(tǒng)改變該局部操作系統(tǒng)的系統(tǒng)中 斷狀態(tài);并且局部操作系統(tǒng)停止發(fā)生故障的分區(qū)單元的處理器。
在一說明性實現(xiàn)中,在清理可分區(qū)服務(wù)器期間,局部操作系統(tǒng)解除該 可分區(qū)服務(wù)器的停頓;局部操作系統(tǒng)將替換通知給全局管理實體;并且全 局管理實體在邏輯上和物理上都移除發(fā)生故障的分區(qū)單元的處理器。
全局管理實體和局部操作系統(tǒng)允許添加或替換備用分區(qū)單元而不需要 為特定平臺重新編譯計算機(jī)可執(zhí)行指令。B卩,該方法和裝置的實現(xiàn)與操作 系統(tǒng)在多個硬件平臺上的可執(zhí)行代碼一起工作,而無需修改和重新編譯該 實現(xiàn)的代碼或操作系統(tǒng)的代碼。


當(dāng)結(jié)合附圖參考以下詳細(xì)描述時,可以更容易領(lǐng)會并更好地理解本發(fā)
明的上述方面和許多附加的優(yōu)點,附圖中
圖1是能夠支持分區(qū)單元替換的示例性計算設(shè)備的框圖2是包含多個分區(qū)單元的示例性分區(qū)的框圖,其中一個分區(qū)單元是
不相關(guān)聯(lián)的;
圖3是圖2中示出的、被重新配置成包括先前不相關(guān)聯(lián)的分區(qū)單元的 示例性分區(qū)的框圖4是示例性分區(qū)單元的框圖5是示例性的發(fā)生故障的存儲器塊和示例性替換存儲器塊的框圖; 圖6是用于動態(tài)地替換發(fā)生故障的分區(qū)單元的示例性方法的功能流程
圖7是用于啟動分區(qū)單元的添加的示例性方法的功能流程圖; 圖8是用于被動地遷移替換分區(qū)單元的示例性方法的功能流程圖; 圖9是用于主動地遷移替換分區(qū)單元的示例性方法的功能流程圖; 圖10是用于在替換發(fā)生故障的分區(qū)單元之后進(jìn)行清理的示例性方法 的功能流程圖;圖ll是用于使系統(tǒng)停頓的示例性方法的功能流程圖;以及 圖12是用于解除系統(tǒng)的停頓的示例性方法的功能流程圖。
詳細(xì)描述
服務(wù)器是連接到網(wǎng)絡(luò)的、向例如計算設(shè)備等連接到該網(wǎng)絡(luò)的其它實體 提供服務(wù)或一組服務(wù)的計算設(shè)備。例如,網(wǎng)頁服務(wù)器提供響應(yīng)于網(wǎng)頁請求 返回網(wǎng)頁的服務(wù)。其它示例性服務(wù)器是為特定用戶返回電子郵件消息的電 子郵件服務(wù)器、返回來自視頻存檔的視頻剪輯的視頻服務(wù)器等。示例性服 務(wù)器包含微處理器、存儲器控制器、和由該存儲器控制器控制的存儲器塊。 存儲器控制器和由該存儲器控制器控制的存儲器塊通常被稱為單元,即存 儲器單元。服務(wù)器還可以包含另外的微處理器、存儲器控制器、存儲器塊、 和諸如中斷處理器等其它電子設(shè)備。因此,只包含微處理器和存儲器單元 的服務(wù)器應(yīng)被解釋為是示例性的而非限制性的。
如許多類型的計算設(shè)備一樣,服務(wù)器的操作由被稱為操作系統(tǒng)的軟件 程序所控制。傳統(tǒng)計算設(shè)備能夠只運行操作系統(tǒng)的一個實例。因此,傳統(tǒng) 服務(wù)器,即基于一個或多個傳統(tǒng)計算設(shè)備的服務(wù)器,執(zhí)行操作系統(tǒng)的副本 (即操作系統(tǒng)的實例)中所包含的指令。例如,包括32個傳統(tǒng)計算設(shè)備的 服務(wù)器(即32路服務(wù)器)可以包括8個微處理器,每一微處理器具有四個 核并運行一個操作系統(tǒng)。減少微處理器的數(shù)量降低服務(wù)器的成本、對該服 務(wù)器供電所需要的電量和服務(wù)器所需要的維護(hù)的量。
分區(qū)使得更好地利用多核微處理器的計算能力成為可能。分區(qū)是可以 運行操作系統(tǒng)的獨立實例(即局部操作系統(tǒng))的計算設(shè)備內(nèi)的、可以在電 學(xué)上隔離的一組電子設(shè)備,例如處理器、存儲器等??煞謪^(qū)計算設(shè)備是可 被劃分為各個分區(qū)并且因而能夠運行多個局部操作系統(tǒng)的計算設(shè)備??煞?區(qū)服務(wù)器是作為可分區(qū)計算設(shè)備并且因而能夠運行多個局部操作系統(tǒng)的服 務(wù)器??煞謪^(qū)服務(wù)器的分區(qū)還可被稱為"邏輯服務(wù)器"。因此, 一個可分 區(qū)服務(wù)器可以包含多個邏輯服務(wù)器。多個服務(wù)器(邏輯的或其它)可被組 裝成相當(dāng)于提供服務(wù)或一組服務(wù)的單元的"服務(wù)器集群"。
優(yōu)選地,分區(qū)是動態(tài)的。即,分區(qū)單元被分配給對服務(wù)器提供的服務(wù)具有很少或沒有影響的分區(qū)或被從中移除。能夠被分區(qū)的服務(wù)器是可分區(qū) 服務(wù)器。包括可分區(qū)服務(wù)器的服務(wù)器系統(tǒng),即系統(tǒng),是可分區(qū)系統(tǒng)。可分 區(qū)系統(tǒng)在分區(qū)單元的數(shù)量和配置以及分配給分區(qū)的電子設(shè)備上提供靈活 性,并使得支持"服務(wù)器合并"更容易并且更具成本效率。
服務(wù)器合并是用更少的服務(wù)器或甚至可能只用一個服務(wù)器來替換多個 服務(wù)器的過程。作為服務(wù)器合并的結(jié)果的示例性服務(wù)器通常包含等于或超 過該服務(wù)器所替換的多個服務(wù)器的能力的計算能力。服務(wù)器合并可以增加 服務(wù)器故障的影響。例如,想象曾經(jīng)在多個服務(wù)器上運行的多個應(yīng)用程序 全都在該一個服務(wù)器上運行。如果服務(wù)器發(fā)生故障,則結(jié)果可能影響所有 應(yīng)用程序并甚至使應(yīng)用程序停機(jī)。
傳統(tǒng)服務(wù)器通過將服務(wù)器的計算能力的一部分應(yīng)用于諸如"故障切換" 能力等可靠性特征來防止這種影響。已經(jīng)為傳統(tǒng)服務(wù)器開發(fā)了以受控和順 序的方式執(zhí)行故障切換的技術(shù),以確保在從發(fā)生故障的服務(wù)器到替換服務(wù) 器的轉(zhuǎn)移期間沒有數(shù)據(jù)丟失并且沒有正在進(jìn)行的進(jìn)程被中斷。由于傳統(tǒng)服 務(wù)器彼此通過網(wǎng)絡(luò)連接并且因而未緊密地綁在一起,所以工作被分為小片 并跨各服務(wù)器共享,即被分組化。這使得替換發(fā)生故障的服務(wù)器變得容易, 因為在故障切換期間發(fā)生故障的服務(wù)器的工作分組可被重新路由。注意, 為實現(xiàn)故障切換,必須有超過一個傳統(tǒng)服務(wù)器可用。即,發(fā)生故障的傳統(tǒng) 服務(wù)器需要能夠接受來自該發(fā)生故障的傳統(tǒng)服務(wù)器的數(shù)據(jù)的另一類似的傳 統(tǒng)服務(wù)器。
由于可分區(qū)服務(wù)器可以包含能夠比通過網(wǎng)絡(luò)綁在一起的傳統(tǒng)服務(wù)器更 容易地通信的多個邏輯服務(wù)器,所以可分區(qū)服務(wù)器具有比傳統(tǒng)服務(wù)器組更 容易且更經(jīng)濟(jì)地提供可靠性的潛力。使用可分區(qū)服務(wù)器中的分區(qū)來操作的、 用于受控和順序的故障切換的過程有助于實現(xiàn)可分區(qū)服務(wù)器所能提供的可 靠性。
通過在需要故障切換時通知每一個高級軟件應(yīng)用程序來使得可分區(qū)服 務(wù)器更加可靠是不切實際的。使高級軟件應(yīng)用程序能夠響應(yīng)這一通知將需 要修改每一個應(yīng)用程序的計算機(jī)代碼以適應(yīng)故障切換。即使通知應(yīng)用程序
也將可能不足以不用替換運行中的服務(wù)器的機(jī)制而提供故障切換。相反,在故障切換中只涉及最底層軟件并且允許較上層軟件(例如,應(yīng)用程序) 如同未發(fā)生硬件變化那樣工作是更加實際且有利的。
有序、低級、可分區(qū)服務(wù)器故障切換的實現(xiàn)涉及全局管理實體以及一 個或多個局部操作系統(tǒng)。全局管理實體的示例是服務(wù)處理器(SP)和主板
管理控制器(BMC) 。 SP是管理諸如存儲器控制器和微處理器等附連到電 路板或主板的電子設(shè)備的專用微處理器或微控制器。BMC也是嵌在主板上 的專用微控制器。除管理電子設(shè)備之外,BMC監(jiān)視來自內(nèi)置到計算系統(tǒng)中 的傳感器的輸入,以報告諸如溫度、冷卻風(fēng)扇速度、供電模式、操作系統(tǒng) 狀態(tài)等參數(shù)并對其作出響應(yīng)。其它電子設(shè)備可履行全局管理實體的角色。 因此,使用SP或BMC作為全局管理實體應(yīng)被解釋為是示例性的而非限制 性的。
局部操作系統(tǒng)是在一個分區(qū)上運行的操作系統(tǒng)的實例。分區(qū)單元被分 配給特定分區(qū)以確保該分區(qū)單元中的設(shè)備不能與其它分區(qū)中的設(shè)備共享, 從而確保故障將被隔離到單個分區(qū)。這種分區(qū)單元可指示給定存儲器控制 器所服務(wù)的物理地址,并由此將該物理存儲器地址映射到該存儲器控制器 以及包含該存儲器控制器的物理分區(qū)單元。引導(dǎo)并操作分區(qū)可能需要不止 一個分區(qū)單元。未使用的或發(fā)生故障的分區(qū)單元可在電學(xué)上進(jìn)行隔離。在 電學(xué)上隔離分區(qū)單元類似于從一組傳統(tǒng)服務(wù)器中移除服務(wù)器,并且具有分 區(qū)單元可被動態(tài)地重新分配給不同分區(qū)的優(yōu)點。
在以上討論中,除非另外注明,否則分區(qū)單元包括單核和單存儲器單 元。然而,分區(qū)單元可以包括超過一個核、存儲器單元、中斷處理器和/或 提供計算服務(wù)和/或支持的其它設(shè)備。因此,包括核和存儲器控制器的分區(qū) 單元的使用應(yīng)被解釋為示例性的而非限制性的。管理(例如添加或替換) 可分區(qū)服務(wù)器中的分區(qū)單元允許以受控且有序的方式來執(zhí)行故障切換,以 確保該可分區(qū)服務(wù)器與傳統(tǒng)服務(wù)器一樣穩(wěn)健和可靠。
用于實現(xiàn)能夠支持分區(qū)和分區(qū)單元添加和/或替換的可分區(qū)服務(wù)器的 示例性計算設(shè)備100以框圖的形式在圖1中示出。圖1所示的示例性計算 設(shè)備100包括服務(wù)處理器(SP) 102,其連接到存儲SP固件104和路由表 106的存儲器。計算設(shè)備100還包括連接到存儲器塊A 110的處理器A 108、連接到存儲器塊B 114的處理器B 112、連接到存儲器塊C 118的處理器C 116、和連接到存儲器塊D 122的處理器D 120。處理器108、 112、 116和 120的每一個都包含指定為0、 1、 2和3的四個核。由SP固件104控制的 SP 102使用路由表106來管理處理器108、 112、 126、 120與存儲器塊110、 114、 118和122之間的隔離邊界。計算設(shè)備100還包括I/0 (輸入/輸出) 電路124、大容量存儲電路126、通信電路128、環(huán)境電路130和電源132。 計算設(shè)備100使用I/O電路124來與I/O設(shè)備通信。計算設(shè)備100使用大容 量存儲電路126來與內(nèi)部地或外部地連接的大容量存儲設(shè)備交互。計算設(shè) 備100使用通信電路128通常通過網(wǎng)絡(luò)來與外部設(shè)備通信。計算設(shè)備100 使用環(huán)境電路130來控制環(huán)境設(shè)備,如冷卻風(fēng)扇、熱傳感器、濕度傳感器 等。電源132為計算設(shè)備IOO供電。如果例如SP 102由BMC所替換,則 BMC可以與環(huán)境電路130,更確切地說與電源132,通信并對其進(jìn)行控制。 如圖1所示并在以上描述的示例性計算設(shè)備IOO等計算設(shè)備支持分區(qū) 單元的替換。示例性分區(qū)單元可以從圖1所示的處理器A 108和存儲器塊 A 110來形成。這樣的示例性分區(qū)單元類似于包括圖2和圖3所示的處理器 A 202和連接到處理器A 202的存儲器塊的分區(qū)單元。圖2和圖3所示的兩 個框圖包括相同的四個分區(qū)單元。分區(qū)單元的每一個都包括處理器和存儲 器塊處理器A 202,連接到存儲器塊204;處理器B 206,連接到存儲器 塊208;處理器C210,連接到存儲器塊212;以及處理器D214,連接到 存儲器塊216。
分區(qū)單元的替換可以通過將圖2所示的框圖與圖3所示的框圖進(jìn)行比 較來理解。盡管圖2和圖3中的框圖示出相同的四個分區(qū)單元,但圖2所 示的分區(qū)200a與圖3所示的分區(qū)200b相比包括不同的一組分區(qū)單元。圖2 示出的分區(qū)200a包括處理器A 202和存儲器塊204;處理器B 206和存 儲器塊208;以及處理器C210和存儲器塊212。在圖2中,包括處理器D 214和存儲器塊216的分區(qū)單元未包括在分區(qū)200a中。與圖2所示的分區(qū) 200a相反,圖3所示的分區(qū)200b被改變成包括不同的一組分區(qū)單元,即不 同的一組處理器和存儲器塊。圖3所示的分區(qū)200b包括處理器B 206和存 儲器塊208;處理器C210和存儲器塊212;以及處理器D214和存儲器塊216。在圖3中,包括處理器A202和存儲器塊204的分區(qū)單元未包括在分 區(qū)200b中,而包括處理器D 214和存儲器塊216的分區(qū)單元被包括在分區(qū) 200a中,如圖2所示。實際上,包括處理器D 214和存儲器塊216的分區(qū) 單元替換包括處理器A 202和存儲器塊204的分區(qū)單元。SP 102改變路由 表106來進(jìn)行替換。這種替換在例如處理器A 202和/或存儲器塊204發(fā)生 故障、或需要具有更大存儲器的處理器的情況下是合乎需要的。
雖然諸如處理器A 202和存儲器塊204等單個處理器和單個存儲器塊 可構(gòu)成分區(qū)單元,但分區(qū)單元可具有其它形式。具有一不同形式的示例性 分區(qū)單元400的詳細(xì)視圖在圖4中示出。在圖4中,如同圖1一樣,示例 性分區(qū)單元400包括連接到存儲器控制器404的包含四個核0、 1、 2和3 的處理器402,存儲器控制器404連接到兩個存儲器塊,即,存儲器塊A 406 和存儲器塊B 410。處理器402與控制存儲器塊A 406和存儲器塊B 410的 存儲器控制器404進(jìn)行通信。其它分區(qū)單元可以包含除處理器、存儲器控 制器和存儲器塊之外的其它設(shè)備,或可以只包含單個處理器或單個存儲器 控制器。因此,分區(qū)單元400應(yīng)被解釋為示例性的而非限制性的。
典型分區(qū)單元中的設(shè)備(例如處理器)能夠向局部操作系統(tǒng)通知設(shè)備 的狀態(tài)。作為替換或除此之外,控制分區(qū)單元的局部操作系統(tǒng)可使用預(yù)測 分析來評估設(shè)備的狀態(tài),并確定該設(shè)備是否可能發(fā)生故障并由此可以是供 替換的候選。雖然諸如系統(tǒng)管理員等人可作為日常維護(hù)的一部分來檢查設(shè) 備狀態(tài),但使得硬件自己向局部操作系統(tǒng)通知即將發(fā)生的故障是優(yōu)選的。 在某些情況下,將處理器從一個模型升級到另一個模型或向系統(tǒng)添加處理 器和/或存儲器是合乎需要的。雖然系統(tǒng)管理員可執(zhí)行這些功能,但通過使 用顯式編程的指令或由利用分區(qū)、分區(qū)單元和硬件的能力來報告狀態(tài)的周 期性定時指令來自動化這樣的替換和添加是優(yōu)選的。
諸如圖4所示的分區(qū)單元400等分區(qū)單元中的任何設(shè)備(例如存儲器 塊)都可能發(fā)生故,。如果存儲器塊發(fā)生故障,則用等效存儲器塊來替換 該存儲器塊是優(yōu)選的。示例性的發(fā)生故障的存儲器塊和等效的示例性的替 換存儲器塊在圖5中示出。在圖5中,發(fā)生故障的存儲器塊500包括一組 包含例如數(shù)字1、 2、 3和4等數(shù)據(jù)的存儲器單元504。存儲器單元組504中的存儲器單元可以使用局部物理地址502來引用,并且還可以使用全局
物理地址506來引用。局部物理地址502使用地址1000和1001,而全局物 理地址506使用地址5和6。發(fā)生故障的存儲器塊500可由替換存儲器塊 510來替換。替換存儲器塊510包括一組能夠包含來自發(fā)生故障的存儲器塊 500的數(shù)據(jù)(即數(shù)字l、 2、 3和4)的存儲器單元514。如同發(fā)生故障的存 儲器塊一樣,替換存儲器塊510中的存儲器單元組514中的存儲器單元可 以使用局部物理地址512來引用,并還可以使用全局物理地址516來引用。 局部物理地址512使用地址2000和2001,而全局物理地址516使用地址7 和8。在典型的替換序列中,發(fā)生故障的存儲器塊500的存儲器單元組504 中的數(shù)據(jù)被復(fù)制到替換存儲器塊510的存儲器單元組514中。發(fā)生故障的 存儲器塊500的局部物理地址502,即IOOO和IOOI,被重新映射到替換存 儲器塊510的周部物理地址512,即IOOO和IOOI。該重新映射允許系統(tǒng)的 其余部分在替換操作期間保持不被更改。在替換分區(qū)單元時,執(zhí)行存儲器 塊的"原子"更新(即替換)是優(yōu)選的。在存儲器塊的原子更新期間,如 果正在更新的存儲器塊被訪問,則獨占地使用發(fā)生故障的存儲器塊的地址 或者獨占地使用替換存儲器塊的地址。即,從局部物理地址502或從局部 物理地址512來獨占地做出對存儲器單元504的數(shù)據(jù)訪問。
圖5所示的用替換存儲器塊510對發(fā)生故障的存儲器塊500的替換是 可在一個分區(qū)單元被另一分區(qū)單元替換時發(fā)生的一種類型的替換。分區(qū)單 元的替換或添加還可以涉及用另一處理器、 一組核或核來替換一個處理器、 一組核、或核,或添加它們。用于在例如以受控和順序的方式在可分區(qū)服 務(wù)器上執(zhí)行故障切換的過程中執(zhí)行分區(qū)單元的替換和添加的方法涉及通過 全局管理實體來管理局部操作系統(tǒng)的分區(qū)中的備用分區(qū)單元。這種方法的 示例在圖6-12中以功能流程圖的形式示出。在圖6-12所示的功能流程圖中, 除用"(G)"標(biāo)記的框之外,動作是由局部操作系統(tǒng)(即控制一分區(qū)的操作 系統(tǒng)實例)來執(zhí)行的。用"(G)"標(biāo)記的框包含由諸如SP或BMC等全局管 理實體所執(zhí)行的動作。
用于執(zhí)行分區(qū)單元的替換或添加的示例性過程的功能流程圖在圖6中 示出。圖6所示的用于執(zhí)行分區(qū)單元的替換和添加的方法在框600處開始,
其中局部操作系統(tǒng)基于硬件ID使用預(yù)測分析來檢測發(fā)生故障的分區(qū)單元。 硬件ID可以是例如處理器的高級可編程中斷控制器ID (APICID)。在判 定框602處,進(jìn)行測試來確定新分區(qū)單元是否預(yù)期用于替換。如果新分區(qū) 單元是預(yù)期用于替換的,則控制前進(jìn)至框604。如果新分區(qū)單元不是預(yù)期用 于替換的,即是預(yù)期用于添加的,則控制前進(jìn)至子例程606。在框604處, 全局管理實體將發(fā)生故障的分區(qū)單元映射到物理硬件??刂魄斑M(jìn)至被用來 啟動分區(qū)單元的替換的子例程606。啟動分區(qū)單元的添加或替換的細(xì)節(jié)在圖 7中示出并在以下描述。在判定框608處,再一次確定新分區(qū)單元是否是預(yù) 期用于替換的。如果新分區(qū)單元不是預(yù)期用于替換的,即是預(yù)期用于添加 的,則控制前進(jìn)至框612。在框612處,局部操作系統(tǒng)將分區(qū)單元添加到該 局部操作系統(tǒng),并且隨后該方法結(jié)束。如果在框608處確定新分區(qū)是預(yù)期 用于替換的,則控制前進(jìn)至框610。在框610處,局部操作系統(tǒng)準(zhǔn)備將新分 區(qū)單元添加到該局部操作系統(tǒng)。例如,可以在存儲器中設(shè)置數(shù)據(jù)結(jié)構(gòu)來記
錄發(fā)生故障的處理器的APIC ID、記錄發(fā)生故障的存儲器塊的大小和開始 位置、或?qū)l(fā)生故障的存儲器塊重新映射到另一存儲器塊。在框614處, 局部操作系統(tǒng)通過向全局管理實體發(fā)送指示替換分區(qū)單元的安裝的信號來 在該局部操作系統(tǒng)中啟動替換。在框614之后,控制前進(jìn)至子例程616。子 例程616被用來被動地遷移替換分區(qū)單元。被動地遷移替換分區(qū)單元的細(xì) 節(jié)在圖8中示出并在以下描述。在執(zhí)行子例程616之后,控制前進(jìn)至子例 程618。子例程618被用來主動地遷移替換分區(qū)單元。主動地遷移替換分區(qū) 單元的細(xì)節(jié)在圖9中示出并在以下描述。在執(zhí)行子例程618之后,控制前 進(jìn)至子例程620。子例程620被用來在發(fā)生故障的分區(qū)單元的替換之后進(jìn)行 清理。如何執(zhí)行清理的細(xì)節(jié)在圖10中示出并在以下描述。在執(zhí)行子例程620 之后,該方法結(jié)束。
子例程606,即啟動分區(qū)單元的添加/替換的細(xì)節(jié)在圖7中示出。該子 例程在框740處開始,其中全局管理實體從全局分區(qū)單元池中選擇要添加 的分區(qū)單元。全局分區(qū)單元池是全局管理實體從中選擇替換分區(qū)單元的一 組分區(qū)單元。使用硬件分區(qū),全局管理實體選擇對每一局部操作系統(tǒng)有哪些分區(qū)單元可用。在替換的情況下,全局管理實體選擇至少具有發(fā)生故障 的分區(qū)單元的能力的替換分區(qū)單元。包含存儲器的分區(qū)單元的示例性能力 是存儲器的大小。包含處理器的分區(qū)單元的示例性能力是該處理器中的核 的數(shù)量。替換分區(qū)單元可以是空閑備用的分區(qū)單元,或可以是由不同的、 可能不太重要的局部操作系統(tǒng)所使用的分區(qū)單元。該不太重要的局部操作 系統(tǒng)可被關(guān)閉,且該局部操作系統(tǒng)的資源(即分區(qū)單元)隨后可被用作備 用。在框744處,局部操作系統(tǒng)在該局部操作系統(tǒng)中啟動分區(qū)單元。在框
746處,全局管理實體將新分區(qū)單元帶入局部操作系統(tǒng)分區(qū)。具體地,SP 102 將新分區(qū)單元重新映射在路由表106中。在框748處,局部操作系統(tǒng)發(fā)現(xiàn) 該局部操作系統(tǒng)分區(qū)中的新分區(qū)單元。在框748后,該子例程結(jié)束。
子例程616,即被動地遷移替換分區(qū)單元的細(xì)節(jié)以示例性的形式在圖8 所示的流程圖中示出。被動和主動遷移的目的是從發(fā)生故障的分區(qū)單元中 向替換分區(qū)單元轉(zhuǎn)移盡可能多的信息,而不關(guān)閉或打擾正在進(jìn)行的高級應(yīng) 用程序。例如,應(yīng)用程序可能映射了,即請求和接收了多個存儲器塊。該 應(yīng)用程序未在使用(即修改)該多個存儲器塊中的某些存儲器塊是可能的。 只要存儲器塊未被修改,則該存儲器塊的內(nèi)容可被轉(zhuǎn)移到替換存儲器塊而 不打擾該應(yīng)用程序。另一存儲器轉(zhuǎn)移策略是轉(zhuǎn)移盡可能多的狀態(tài),并假定 大多數(shù)存儲器塊將不被修改。確定存儲器塊是否已被修改的一種方式是檢 查該存儲器塊的物理存儲器的各個頁的每一個的虛擬存儲器頁表項的修改 標(biāo)志。如果修改標(biāo)志未被設(shè)置,則該存儲器塊尚未被修改,并且因此處于 可轉(zhuǎn)移狀態(tài)。轉(zhuǎn)移存儲器內(nèi)容的一些方法比其它方法更高效。例如,處理 器必須將存儲器單元的內(nèi)容轉(zhuǎn)移到該處理器中的寄存器或單元中,并隨后 轉(zhuǎn)移到新的存儲器單元中。通常,處理器受限于寄存器的最大數(shù)據(jù)傳輸寬 度,例如64位。諸如直接存儲器訪問(DMA)處理器等專用存儲器傳輸設(shè) 備能以更大的"組塊(chunk)"并通常更快速地傳輸存儲器塊。諸如DMA 處理器等"后臺引擎"需要很少或不需要處理器干涉來傳輸存儲器塊的內(nèi) 容。優(yōu)選地,驅(qū)動程序模型使修改標(biāo)志檢查和內(nèi)容轉(zhuǎn)移能夠以可任選的方 式來完成。
用于被動地遷移替換分區(qū)單元的子例程的示例性流程圖在圖8中示出。該子例程在框800處開始,其中使用修改標(biāo)志來跟蹤改變的存儲器以
轉(zhuǎn)移存儲器。在框802處,局部操作系統(tǒng)通過檢査存儲器頁(即塊)的修 改標(biāo)志來開始跟蹤已被修改的這些塊。在框804處,目標(biāo)(即發(fā)生故障的) 分區(qū)單元存儲器的內(nèi)容被轉(zhuǎn)移到替換分區(qū)單元存儲器。
注意,盡管在執(zhí)行圖6到圖8所示的框中的動作,但甚至在局部操作 系統(tǒng)準(zhǔn)備替換發(fā)生故障的分區(qū)單元時,在該局部操作系統(tǒng)中操作的高級應(yīng) 用程序仍然能夠進(jìn)行有用的工作。這不是在子例程618中所執(zhí)行的動作, 即主動地遷移替換分區(qū)單元的情況。相反,可以說該過程進(jìn)入"關(guān)鍵部分", 其中不準(zhǔn)許除完成替換所必需的動作之外的任何活動。該過程,即主動遷 移替換分區(qū)單元的這一關(guān)鍵部分在圖9中的示例性功能流程圖中示出。優(yōu) 選地,最小化該關(guān)鍵部分中所花費的時間來避免到在該局部操作系統(tǒng)上運 行的應(yīng)用程序的遠(yuǎn)程連接察覺到該主動遷移。該子例程在子例程900處開 始,其中局部操作系統(tǒng)使該系統(tǒng)"停頓"。使系統(tǒng)停頓的細(xì)節(jié)在圖11中示 出并在以下描述。簡言之,在系統(tǒng)被停頓時,停止中斷來阻止I/O設(shè)備和 其它處理器中斷被替換的處理器,并且停止存儲器修改。在圖9的框902 處繼續(xù),局部操作系統(tǒng)轉(zhuǎn)移經(jīng)修改的存儲器,即轉(zhuǎn)移存儲器塊的內(nèi)容并設(shè) 置已修改標(biāo)志。在框904處,全局管理實體執(zhí)行存儲器控制器路由的原子 更新。在框906處,局部操作系統(tǒng)保存發(fā)生故障的處理器的狀態(tài)。在框908 處,局部操作系統(tǒng)停止發(fā)生故障的處理器。該發(fā)生故障的處理器仍然在分 區(qū)中,并被關(guān)閉來確保盡管仍然在分區(qū)中但該發(fā)生故障的處理器不會有害。 在框910處,局部操作系統(tǒng)將發(fā)生故障的處理器狀態(tài)應(yīng)用于替換處理器。 將發(fā)生故障的處理器狀態(tài)應(yīng)用于替換處理器可以包括向替換處理器轉(zhuǎn)移發(fā) 生故障的處理器的可從內(nèi)部和外部訪問的寄存器;原子地將替換處理器的 APIC ID改變?yōu)榘l(fā)生故障的處理器的APIC ID;以及改變中斷描述符表以使 得將在發(fā)生故障的處理器上觸發(fā)的中斷在替換處理器上觸發(fā)。在框912處, 局部操作系統(tǒng)更新系統(tǒng)中斷狀態(tài)來反映新(即替換)處理器。即,修改全 局中斷狀態(tài)來使外部設(shè)備訪問中斷處理器而非發(fā)生故障的處理器。在框912
處,該過程的主動遷移替換分區(qū)單元的子例程結(jié)束。
圖6所示的子例程620,即清理的細(xì)節(jié)在圖IO所示的示例性流程圖中示出。清理子例程在子例程1002處開始,在此解除該系統(tǒng)的停頓。解除系
統(tǒng)的停頓的細(xì)節(jié)在圖12中示出并在以下描述。在圖10的框1004處,通知 全局管理實體(如圖1所示的即SP 102),停頓已經(jīng)結(jié)束。在框1008處, 發(fā)生故障的分區(qū)單元在物理上被移除。移除發(fā)生故障的分區(qū)單元可以涉及 在機(jī)械上移除各種物理設(shè)備,或可以涉及在電學(xué)上隔離各種物理設(shè)備。如 果例如處理器被插入電學(xué)上連接的插槽中,則該處理器可以通過關(guān)閉到該 處理器被插入其中的插槽的電源或通過從該插槽移除該處理器而"在物理 上移除"。在框1008后,該子例程結(jié)束。
盡管框1008中的活動,即移除發(fā)生故障的分區(qū)單元的物理設(shè)備,可被 看作是可任選的,但它是優(yōu)選的。發(fā)生故障的物理設(shè)備仍然被輸入到該分 區(qū)單元的路由表中。因此,在某些情況下,發(fā)生故障的物理設(shè)備可能擾亂
系統(tǒng)中的其它組件。
圖9所示的子例程900,即使系統(tǒng)停頓的細(xì)節(jié)在圖ll所示的示例性流 程圖中示出。術(shù)語"停頓"意味著將系統(tǒng)置于不活動的狀態(tài)。使系統(tǒng)停頓 提供用于原子替換的安全的環(huán)境。在圖11所示的框1102處,局部操作系 統(tǒng)選擇控制處理器,即將控制停頓活動的處理器??刂铺幚砥鲌?zhí)行一組實 現(xiàn)系統(tǒng)停頓和活動遷移的指令。存在各種用于選擇控制處理器的算法。例 如,具有最低數(shù)字的將不被替換的最不忙碌的處理器可被選為控制處理器。 另一控制處理器候選可以是開始該替換過程的處理器。擁有多個控制處理 器也是可能的,但通常不是最優(yōu)的。因此,單個控制處理器應(yīng)被解釋為示 例性的而非限制性的。
控制處理器執(zhí)行該停頓子例程中余下的動作。在框1104處,控制處理 器停止所有中斷,即使物理設(shè)備停止中斷需要被替換的處理器。優(yōu)選地, 使物理設(shè)備停頓。控制處理器與控制物理設(shè)備的設(shè)備驅(qū)動程序通信。為防 止物理設(shè)備觸發(fā)中斷,控制處理器可以向設(shè)備驅(qū)動程序發(fā)送停止、休眠或 掛起信號。相同的信號可被用來防止存儲器訪問。優(yōu)選地,系統(tǒng)能夠被停 頓而不必修改和/或重新編譯設(shè)備驅(qū)動程序。在框1106處,控制處理器停止 所有直接存儲器訪問。設(shè)備驅(qū)動程序被阻止寫入文件和執(zhí)行DMA。設(shè)備驅(qū) 動程序可以對中斷和DMA請求進(jìn)行排隊。存在邊沿觸發(fā)和電平觸發(fā)中斷。電平觸發(fā)中斷可被排隊。如果邊沿觸發(fā)中斷未被立即服務(wù),則該中斷丟失。
繼續(xù)參考圖11,在框1108處,控制處理器停止所有設(shè)備中的活動。 優(yōu)選地,該設(shè)備避免修改正在替換的處理器正在使用的存儲器,并避免修 改正被替換的處理器的狀態(tài)。處理器狀態(tài)包括該處理器本身中的寄存器和 存儲器和該處理器外部的獨占地分配來用于存儲處理器狀態(tài)的存儲器。概 括而言,停止與將被替換的分區(qū)單元的通信。在框1110處,控制處理器通 過向各應(yīng)用程序發(fā)送指示操作暫停正在發(fā)生的信號來停止所有應(yīng)用程序。 在框1112處,控制處理器被用來"會合"系統(tǒng)中的所有其它處理器。在會 合中,控制處理器使其它處理器停止訪問正被替換的分區(qū)單元,即發(fā)生故 障的分區(qū)單元。在框1112后,該子例程結(jié)束。如果存在需要添加的分區(qū)單 元,與替換其它分區(qū)單元相比,則該附加分區(qū)單元可以在停頓子例程之后 添加。
在會合(還被稱為聚集)中,控制處理器通過向其它處理器發(fā)送處理 器間中斷(IPI)命令,來使其它處理器停止訪問正被替換的分區(qū)單元。該 IPI向其它處理器指示,其它處理器應(yīng)在共同屏障上自旋。即,停止進(jìn)行應(yīng) 用程序工作并在該屏障上自旋,直到該屏障改變?yōu)橹甘緫?yīng)用程序工作應(yīng)重 新開始為止。使正在運行應(yīng)用程序的處理器在屏障上自旋防止應(yīng)用程序千 擾替換而不必顯式地停止應(yīng)用程序。優(yōu)選地,以與該應(yīng)用程序的目的相一 致的方式向應(yīng)用程序給出對暫停的存在進(jìn)行響應(yīng)的機(jī)會。即使應(yīng)用程序不 向暫停的存在作出響應(yīng),在會合運行該應(yīng)用程序的處理器時,也自動地防 止該應(yīng)用程序干擾替換。
在屏障上自旋的示例性實例中,每一處理器執(zhí)行相同一組指令來確保 處理器未在執(zhí)行其它指令。該指令指示處理器讀取一地址;如果該地址處 的內(nèi)容不是0,則再次讀取該地址。在控制處理器將該地址的內(nèi)容設(shè)置為O 時,各處理器跨過該指令集,并回到在屏障上自旋之前處理器正在進(jìn)行的 事務(wù)上。盡管各處理器在屏障上自旋,但控制處理器能夠轉(zhuǎn)移不能在被動 遷移狀態(tài)中轉(zhuǎn)移的狀態(tài),并能夠轉(zhuǎn)移經(jīng)修改的存儲器。
在典型的會合中,可能存在多個階段,每一個都需要一屏障。例如, 在第一階段,控制處理器能為其它處理器(即非控制處理器)設(shè)置第一屏障。盡管其它處理器在該屏障上自旋,但控制處理器執(zhí)行代碼來設(shè)置在其 中保存狀態(tài)的數(shù)據(jù)結(jié)構(gòu)??刂铺幚砥麟S后釋放第一屏障并指示其它處理器 保存狀態(tài)。控制處理器設(shè)置用于第二階段的第二屏障。在其它處理器遵循 指令來保存狀態(tài)時,其它處理器在第二屏障上自旋。在適當(dāng)?shù)臅r間處,例 如在所有其它處理器已保存狀態(tài)時,控制處理器釋放第二屏障并指示其它
處理器離線。
圖IO所示的子例程1002,即解除系統(tǒng)停頓的細(xì)節(jié)在圖12所示的示例 性流程圖中示出。解除系統(tǒng)停頓基本上是使系統(tǒng)停頓的逆過程。解除停頓
在框1202處開始,其中控制處理器被用來解除會合,即釋放系統(tǒng)中的所有 其它處理器。在框1204處,重新開始所有應(yīng)用程序。更具體地,處理器可 用于調(diào)度來自應(yīng)用程序的活動,因為該過程對應(yīng)用程序本身是透明的。在 框1206處,重新開始所有設(shè)備中的活動。在框1208處,重新開始所有直 接存儲器訪問。在框1210處,重新開始所有中斷。在框1210后,該子例 程結(jié)束。
圖6-12所示的和以上描述的過程允許局部操作系統(tǒng)能夠替換分區(qū)單元 而不必為特定設(shè)備重新編譯。該過程可被實現(xiàn)以在大多數(shù)計算機(jī)制造商的 設(shè)備上運行,如果該設(shè)備支持分區(qū)和分區(qū)單元的話??梢跃帉懢哂凶銐蜍?件"掛鉤(hook)"的固件來允許將特定硬件的細(xì)節(jié)提煉出來,從而避免 為每一特定設(shè)備編寫固件的努力和花費??赡苄枰碳植坎僮飨到y(tǒng)中 的過程的實現(xiàn)不需要被重新編譯、重新封裝或重新分發(fā)。
盡管示出和描述了各說明性實施例,但是可以認(rèn)識到,可在其中作出 各種改變而不背離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種通過全局管理實體來管理可分區(qū)計算設(shè)備中的備用分區(qū)單元的方法,所述方法包括確定是否需要在局部操作系統(tǒng)中添加或替換備用分區(qū)單元;以及如果需要添加備用分區(qū),則啟動備用分區(qū)單元的添加,否則(a)啟動用備用分區(qū)單元對發(fā)生故障的分區(qū)單元的替換;(b)被動地將所述備用分區(qū)單元遷移到所述發(fā)生故障的分區(qū)單元的分區(qū)中;(c)主動地將所述備用分區(qū)單元遷移到所述發(fā)生故障的分區(qū)單元的分區(qū)中;以及(d)清理所述可分區(qū)計算設(shè)備。
2. 如權(quán)利要求1所述的方法,其特征在于,啟動備用分區(qū)單元的添加 包括(a) 所述全局管理實體從全局池中選擇要添加的備用分區(qū)單元;(b) 所述全局管理實體在所述全局管理實體中啟動所選備用分區(qū)單元;(c) 所述局部操作系統(tǒng)在所述局部操作系統(tǒng)中的分區(qū)("局部操作系 統(tǒng)分區(qū)")中啟動所選備用分區(qū)單元;(d) 所述全局管理實體將所選備用分區(qū)單元帶入所述局部操作系統(tǒng) 分區(qū)中;以及(e)在所述局部操作系統(tǒng)發(fā)現(xiàn)所述局部操作系統(tǒng)分區(qū)中的所選備用 分區(qū)單元時,所述局部操作系統(tǒng)將所選備用分區(qū)單元添加到所述局部操作 系統(tǒng)分區(qū)中。
3. 如權(quán)利要求1所述的方法,其特征在于,啟動用備用分區(qū)單元對發(fā) 生故障的分區(qū)單元的替換包括(a) 在檢測到發(fā)生故障的分區(qū)單元時,所述全局管理實體將所述發(fā)生 故障的分區(qū)單元映射到物理硬件設(shè)備;(b) 所述全局管理實體從全局池中選擇備用替換分區(qū)單元;(c) 所述全局管理實體對所述全局管理實體啟動所述備用分區(qū)單元;(d) 所述局部操作系統(tǒng)在所述局部操作系統(tǒng)中啟動所述備用分區(qū)單元;(e)所述全局管理實體將所述備用分區(qū)單元帶入所述局部操作系統(tǒng) 中的分區(qū)("所述局部操作系統(tǒng)分區(qū)")中;以及(f)在所述局部操作系統(tǒng)發(fā)現(xiàn)所述局部操作系統(tǒng)分區(qū)中的所述備用分區(qū) 單元時,所述局部操作系統(tǒng)準(zhǔn)備將所述備用分區(qū)單元添加到所述局部操作 系統(tǒng)分區(qū)中。
4. 如權(quán)利要求3所述的方法,其特征在于,所述對分區(qū)單元發(fā)生故障 的檢測是基于所述分區(qū)單元的硬件ID通過預(yù)測分析來確定的。
5. 如權(quán)利要求1所述的方法,其特征在于,被動地將所述備用分區(qū)單 元遷移到所述發(fā)生故障的分區(qū)單元的分區(qū)中包括(a) 所述局部操作系統(tǒng)使用已修改標(biāo)志跟蹤所述發(fā)生故障的分區(qū)的 存儲器的改變的部分,來轉(zhuǎn)移所述發(fā)生故障的分區(qū)的存儲器;以及(b) 所述全局管理實體執(zhí)行存儲器控制路由表的原子更新。
6. 如權(quán)利要求1所述的方法,其特征在于,主動地將所述備用分區(qū)單 元遷移到所述發(fā)生故障的分區(qū)單元的分區(qū)中包括(a) 所述全局管理實體使所述可分區(qū)計算設(shè)備停頓;(b) 所述局部操作系統(tǒng)轉(zhuǎn)移所述發(fā)生故障的分區(qū)的存儲器的改變的 部分;(c) 所述全局管理實體執(zhí)行存儲器控制器路由表的原子更新;(d) 所述局部操作系統(tǒng)將所述發(fā)生故障的分區(qū)單元的處理器的狀態(tài) 轉(zhuǎn)移到所述備用分區(qū)單元的處理器;(e)所述局部操作系統(tǒng)改變所述局部操作系統(tǒng)的系統(tǒng)中斷狀態(tài);以及 (f)所述局部操作系統(tǒng)停止所述發(fā)生故障的分區(qū)單元的處理器。
7. 如權(quán)利要求6所述的方法,其特征在于,清理所述可分區(qū)服務(wù)器包括(a) 所述全局管理實體解除所述可分區(qū)服務(wù)器的停頓;(b) 所述局部操作系統(tǒng)將所述替換通知給所述全局管理實體;以及(c) 在邏輯上移除所述發(fā)生故障的分區(qū)單元的處理器。
8. 如權(quán)利要求7所述的方法,其特征在于,還包括在物理上移除所述發(fā)生故障的分區(qū)單元的處理器。
9. 如權(quán)利要求8所述的方法,其特征在于,在物理上移除所述發(fā)生故 障的分區(qū)單元的處理器是通過所述局部操作系統(tǒng)在電學(xué)上隔離所述發(fā)生故 障的分區(qū)單元的處理器來完成的。
10. 如權(quán)利要求1所述的方法,其特征在于,所述發(fā)生故障的分區(qū)單 元被替換而無需重新編譯計算機(jī)可執(zhí)行指令。
11. 一種包含用于管理可分區(qū)計算設(shè)備中的備用分區(qū)單元的計算機(jī) 可執(zhí)行指令的計算機(jī)可讀介質(zhì),所述可分區(qū)計算設(shè)備包括全局管理實體和 多個局部操作系統(tǒng),所述計算機(jī)可執(zhí)行指令在被執(zhí)行時使得所述全局管理 實體和所述多個局部操作系統(tǒng)的一些局部操作系統(tǒng)(a) 確定是否需要在局部操作系統(tǒng)中添加或替換備用分區(qū)單元;(b) 如果需要添加備用分區(qū)單元,則啟動備用分區(qū)單元的添加;否則(i) 啟動用備用分區(qū)單元對發(fā)生故障的分區(qū)單元的替換;(ii) 被動地將所述備用分區(qū)單元遷移到所述發(fā)生故障的分區(qū)單元的 分區(qū)中;(iii) 主動地將所述備用分區(qū)單元遷移到所述發(fā)生故障的分區(qū)單元的 分區(qū)中;以及(iv) 清理所述可分區(qū)計算設(shè)備。
12. 如權(quán)利要求11所述的計算機(jī)可執(zhí)行指令,其特征在于,啟動備 用分區(qū)單元的添加包括(a) 從池中選擇要添加的備用分區(qū)單元;(b) 在所述全局管理實體中啟動所選備用分區(qū)單元;(C) 在局部操作系統(tǒng)中的分區(qū)("所述局部操作系統(tǒng)分區(qū)")中啟動 所選備用分區(qū)單元的添加;(d) 將所選備用分區(qū)單元帶入所述局部操作系統(tǒng)分區(qū)中;以及 (e)將所選備用分區(qū)單元添加到所述局部操作系統(tǒng)分區(qū)中。
13. 如權(quán)利要求11所述的計算機(jī)可讀介質(zhì),其特征在于,啟動用備 用分區(qū)單元對發(fā)生故障的分區(qū)單元的替換包括(a) 檢測發(fā)生故障的分區(qū)單元;(b) 從池中選擇替換分區(qū)單元;(c) 在所述全局管理實體中啟動對所述發(fā)生故障的設(shè)備的替換;(d) 在所述局部操作系統(tǒng)中啟動對所述發(fā)生故障的設(shè)備的替換;(e)將所述備用分區(qū)單元帶入所述局部操作系統(tǒng)中的分區(qū)("所述局 部操作系統(tǒng)分區(qū)")中;以及(f)準(zhǔn)備將所述備用分區(qū)單元添加到所述局部操作系統(tǒng)分區(qū)中。
14. 如權(quán)利要求13所述的計算機(jī)可讀介質(zhì),其特征在于,檢測發(fā)生 故障的分區(qū)單元是使用預(yù)測分析來確定的。
15. 如權(quán)利要求11所述的計算機(jī)可讀介質(zhì),其特征在于,被動地將 所述備用分區(qū)單元遷移到所述發(fā)生故障的分區(qū)單元的分區(qū)中包括(a) 使用已修改標(biāo)志跟蹤所述發(fā)生故障的分區(qū)的存儲器的改變的部 分,來轉(zhuǎn)移所述發(fā)生故障的分區(qū)的存儲器;以及(b) 執(zhí)行存儲器控制器路由表的原子更新。
16. 如權(quán)利要求11所述的計算機(jī)可讀介質(zhì),其特征在于,主動地將 所述備用分區(qū)單元遷移到所述發(fā)生故障的分區(qū)單元的分區(qū)中包括(a) 使所述可分區(qū)服務(wù)器停頓;(b) 轉(zhuǎn)移所述發(fā)生故障的部分的存儲器的改變的部分; 在存儲器控制器路由表上執(zhí)行原子更新;(d) 將所述發(fā)生故障的分區(qū)單元的處理器的狀態(tài)轉(zhuǎn)移到所述備用分 區(qū)單元的處理器;(e)改變所述局部操作系統(tǒng)的系統(tǒng)中斷狀態(tài);以及 (f)停止所述發(fā)生故障的分區(qū)單元的處理器。
17. 如權(quán)利要求16所述的計算機(jī)可讀介質(zhì),其特征在于,清理所述 可分區(qū)服務(wù)器包括(a) 解除所述可分區(qū)服務(wù)器的停頓;(b) 將所述替換通知給所述全局管理實體;(c) 在邏輯上移除所述發(fā)生故障的分區(qū)單元的處理器;以及(d) 在物理上移除所述發(fā)生故障的分區(qū)單元的處理器。
18. 如權(quán)利要求17所述的計算機(jī)可讀介質(zhì),其特征在于,在物理上移除所述發(fā)生故障的分區(qū)單元的處理器是通過在電學(xué)上隔離所述發(fā)生故障 的分區(qū)單元的處理器來完成的。
19. 如權(quán)利要求17所述的計算機(jī)可讀介質(zhì),其特征在于,在物理上 移除所述發(fā)生故障的分區(qū)單元的處理器是通過從所述發(fā)生故障的分區(qū)單元 的處理器的插槽上移除所述發(fā)生故障的分區(qū)單元的處理器來完成的。
20. 如權(quán)利要求11所述的計算機(jī)可讀介質(zhì),其特征在于,所述發(fā)生 故障的分區(qū)單元被替換而無需重新編譯計算機(jī)可執(zhí)行指令。
全文摘要
公開了一種用于管理可分區(qū)計算設(shè)備中的備用分區(qū)單元的方法和裝置。該方法包括檢測是否需要在局部操作系統(tǒng)中添加或替換備用分區(qū)單元,并且如果需要添加備用分區(qū)單元則啟動備用分區(qū)單元的添加。如果需要備用分區(qū)單元來替換,則啟動用備用分區(qū)單元對發(fā)生故障的分區(qū)單元的替換;發(fā)生故障的分區(qū)單元的存儲器的一部分被被動地遷移到備用分區(qū)單元的分區(qū)的存儲器中;發(fā)生故障的分區(qū)單元的存儲器的一部分還被主動地遷移到備用分區(qū)單元的分區(qū)的存儲器中;并且可分區(qū)計算設(shè)備被清理。分區(qū)單元被替換而不需要重新編譯計算機(jī)可執(zhí)行指令。
文檔編號G06F9/06GK101542432SQ200780042949
公開日2009年9月23日 申請日期2007年11月20日 優(yōu)先權(quán)日2006年11月21日
發(fā)明者A·J·瑞茨, E·D·沃克爾, M·G·特里克爾, S·A·韋斯特, S·S·約德 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1