專利名稱:大規(guī)模并行計(jì)算機(jī)系統(tǒng)上的故障恢復(fù)以處理節(jié)點(diǎn)故障而不結(jié)束執(zhí)行的作業(yè)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及并行計(jì)算系統(tǒng)上的故障恢復(fù),更具體地說,涉及大 恥漠并行超級計(jì)算機(jī)上的故障恢復(fù)以處理節(jié)點(diǎn)故障而不結(jié)束正在執(zhí)行的作 業(yè)。
背景技術(shù):
超級計(jì)算機(jī)不斷^A以應(yīng)對復(fù)雜的計(jì)算作業(yè)。這些計(jì)算機(jī)對于從事高
性能計(jì)算(HPC)應(yīng)用的科學(xué)家尤為有用,所述應(yīng)用包括生命科學(xué)、金 融建模、流體力學(xué)、量子化學(xué)、分子動力學(xué)、天文和空間探索以及氣象建 模。超級計(jì)算機(jī)開發(fā)者已專注于大規(guī)模并行計(jì)算機(jī)結(jié)構(gòu)來針對不斷增加的
復(fù)雜計(jì)算需求解決此需要。
正在由國際商業(yè)機(jī)器公司(IBM)開發(fā)的一種此類大規(guī)模并行計(jì)算機(jī) 是藍(lán)色基因系統(tǒng)。藍(lán)色基因系統(tǒng)是一種可伸縮的系統(tǒng),其中最大計(jì)算節(jié)點(diǎn) 數(shù)為65,536。每個節(jié)點(diǎn)都包括單個ASIC (專用集成電路)和存儲器。每 個節(jié)點(diǎn)典型地都具有512兆字節(jié)或1千兆字節(jié)的本地存儲器。全部計(jì)算機(jī) 將容納在密集布置在公共位置并使用若干網(wǎng)絡(luò)連接在一起的64個機(jī)架或 機(jī)拒中。每個機(jī)架都具有32個節(jié)點(diǎn)板,每個節(jié)點(diǎn)板具有32個節(jié)點(diǎn),并且 每個節(jié)點(diǎn)具有2個處理器。
藍(lán)色基因超級計(jì)算機(jī)的65,536個計(jì)算節(jié)點(diǎn)和1024個I/O處理器同時 布置成邏輯樹網(wǎng)絡(luò)和邏輯三維環(huán)網(wǎng)。所述邏輯樹網(wǎng)絡(luò)是在集合網(wǎng)絡(luò)拓樸之 上的邏輯網(wǎng)絡(luò)。藍(lán)色基因可以被描述為具有I/O節(jié)點(diǎn)表面的計(jì)算節(jié)點(diǎn)核心。 每個I/O節(jié)點(diǎn)處理64個計(jì)算節(jié)點(diǎn)的輸入和輸出功能。I/O節(jié)點(diǎn)沒有本地存 儲裝置。I/O節(jié)點(diǎn)通過邏輯樹網(wǎng)絡(luò)連接到計(jì)算節(jié)點(diǎn)并且通過其內(nèi)置的千兆
5位以太網(wǎng),還具有功能性廣域網(wǎng)能力。節(jié)點(diǎn)可以被分配成多個節(jié)點(diǎn)分區(qū), 以便可以在節(jié)點(diǎn)分區(qū)內(nèi)的一組藍(lán)色基因節(jié)點(diǎn)上執(zhí)行單個應(yīng)用或作業(yè)。
計(jì)算機(jī)系統(tǒng)中的軟故障是并非由于反復(fù)發(fā)生的硬件故障或硬故障造成 的錯誤或故障。諸如Ot粒子和噪聲之類的隨機(jī)事件都可以導(dǎo)致軟故障。在 多數(shù)計(jì)算機(jī)系統(tǒng)中,此類軟故障十分罕見并且可以以傳統(tǒng)方式來處理。在 類似藍(lán)色基因的大M^莫并行計(jì)算機(jī)系統(tǒng)中,由于系統(tǒng)的復(fù)雜性以及系統(tǒng)中 計(jì)算節(jié)點(diǎn)的數(shù)量,軟故障和硬故障的問題顯著增加。此外,在現(xiàn)有4支術(shù)中, 一個節(jié)點(diǎn)中的故障會導(dǎo)致計(jì)算機(jī)系統(tǒng)的整個分區(qū)變得不可用,或?qū)е滦枰?中止或重新啟動正在分區(qū)上執(zhí)行的作業(yè)。
由于計(jì)算機(jī)系統(tǒng)停機(jī)時間和重新啟動作業(yè)會浪費(fèi)寶貴的系統(tǒng)資源,如 果沒有一種從由軟故障導(dǎo)致的系統(tǒng)故障更有效恢復(fù)的方法,則并行計(jì)算機(jī) 系統(tǒng)將繼續(xù)經(jīng)受低效的硬件利用和不必要的計(jì)算機(jī)停機(jī)時間。
發(fā)明內(nèi)容
根據(jù)優(yōu)選實(shí)施例,描述了一種方法和裝置,用于從軟故障導(dǎo)致的并行 計(jì)算機(jī)系統(tǒng)上的單個節(jié)點(diǎn)故障進(jìn)行故障恢復(fù),而不結(jié)束正在節(jié)點(diǎn)分區(qū)上執(zhí) 行的作業(yè)。在優(yōu)選實(shí)施例中,服務(wù)節(jié)點(diǎn)上的故障硬件恢復(fù)機(jī)構(gòu)使用心跳監(jiān) 視器來確定何時出現(xiàn)節(jié)點(diǎn)故障。在可能的情況下,重置出現(xiàn)故障的節(jié)點(diǎn)并 使用軟件重新加載所述節(jié)點(diǎn),而不結(jié)束由包含所述出現(xiàn)故障的節(jié)點(diǎn)的節(jié)點(diǎn) 分區(qū)正在執(zhí)行的軟件作業(yè)。
所披露的實(shí)施例涉及藍(lán)色基因架構(gòu),但可以在具有多個布置在網(wǎng)絡(luò)結(jié) 構(gòu)中的處理器的任何并行計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)。優(yōu)選實(shí)施例對于大規(guī)模并行
計(jì)算機(jī)系統(tǒng)尤其有益。
如附圖示出的,從以下對本發(fā)明優(yōu)選實(shí)施例的更具體的描述,本發(fā)明 的上述和其他特性和優(yōu)點(diǎn)將是顯而易見的。
以下將結(jié)合附圖描述本發(fā)明的優(yōu)選實(shí)施例,其中相同的標(biāo)號表示相同
6的元素,這些附圖是
圖1是根據(jù)優(yōu)選實(shí)施例的大恥漠并行計(jì)算機(jī)系統(tǒng)的方塊圖2是根據(jù)優(yōu)選實(shí)施例的大,并行計(jì)算機(jī)系統(tǒng)中的計(jì)算節(jié)點(diǎn)的方塊
圖3是根據(jù)優(yōu)選實(shí)施例的節(jié)點(diǎn)重置硬件的方塊圖4是根據(jù)優(yōu)選實(shí)施例的設(shè)置大^M莫并行計(jì)算機(jī)系統(tǒng)的計(jì)算節(jié)點(diǎn)上的 心跳定時器的方法流程圖;以及
圖5是根據(jù)優(yōu)選實(shí)施例的大規(guī)模并行計(jì)算機(jī)系統(tǒng)上的故障節(jié)點(diǎn)的故障 恢復(fù)的方法流程圖。
具體實(shí)施例方式
本發(fā)明涉及一種裝置和方法,用于在并行計(jì)算機(jī)系統(tǒng)的節(jié)點(diǎn)上從軟故 障進(jìn)行故障恢復(fù)而不結(jié)束包括該故障節(jié)點(diǎn)的節(jié)點(diǎn)分區(qū)上正在執(zhí)行的作業(yè)。 將根據(jù)由國際商業(yè)機(jī)器公司(IBM )開發(fā)的藍(lán)色基因/L大規(guī)模并行計(jì)算機(jī) 來描述優(yōu)選實(shí)施例。
圖1示出了表示諸如藍(lán)色基因/L計(jì)算機(jī)系統(tǒng)的大^M莫并行計(jì)算機(jī)系統(tǒng) 100的方塊圖。藍(lán)色基因/L系統(tǒng)是一種可伸縮的系統(tǒng),其中最大計(jì)算節(jié)點(diǎn) 數(shù)為65,536。每個節(jié)點(diǎn)都具有專用集成電路(ASIC) 112,其也稱為藍(lán)色 基因/L計(jì)算芯片112。所述計(jì)算芯片結(jié)合了兩個處理器或中央處理單元 (CPU )并且安裝在節(jié)點(diǎn)子卡114上。所述節(jié)點(diǎn)典型地具有512兆字節(jié)的 本地存儲器。節(jié)點(diǎn)板120容納32個節(jié)點(diǎn)子卡114,每個節(jié)點(diǎn)子卡114都具 有節(jié)點(diǎn)IIO。因此,每個節(jié)點(diǎn)板具有32個節(jié)點(diǎn),每個節(jié)點(diǎn)具有2個處理器 以及每個處理器的關(guān)聯(lián)存儲器。機(jī)架130是包含32個節(jié)點(diǎn)板120的機(jī)殼。 每個節(jié)點(diǎn)板UO都借助中板連接器134連接到中板印制電路板132中。中 板132在機(jī)架內(nèi)部并且未在圖1中示出。全部藍(lán)色基因/L計(jì)算機(jī)系統(tǒng)將容 納在64個機(jī)架130或機(jī)拒中,每個機(jī)架130或機(jī)拒中具有32個節(jié)點(diǎn)板120。 全部系統(tǒng)將具有65,536個節(jié)點(diǎn)和131,072個CPU ( 64個機(jī)架x 32個節(jié)點(diǎn) 板x 32個節(jié)點(diǎn)x 2個CPU )。藍(lán)色基因/L計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)可以被描述為具有I/O節(jié)點(diǎn)表面的計(jì)算節(jié) 點(diǎn)核心,其中由具有連接到服務(wù)節(jié)點(diǎn)140的I/O處理器170的每個I/O節(jié) 點(diǎn)處理到1024個計(jì)算節(jié)點(diǎn)110的通信。I/O節(jié)點(diǎn)沒有本地存儲裝置。I/O 節(jié)點(diǎn)通過邏輯樹網(wǎng)絡(luò)連接到計(jì)算節(jié)點(diǎn)并且通過千兆位以太網(wǎng)(未示出), 還具有功能性廣域網(wǎng)能力。千兆位以太網(wǎng)連接到1/0處理器(或藍(lán)色基因 /L鏈路芯片)170,后者位于節(jié)點(diǎn)板120上并處理從服務(wù)節(jié)點(diǎn)160到多個 節(jié)點(diǎn)的通信。藍(lán)色基因/L系統(tǒng)具有在I/0板(未示出)上的連接到節(jié)點(diǎn)板 120的一個或多個I/O處理器170。 I/O處理器可以;故配置為與8、 32或64 個節(jié)點(diǎn)通信。服務(wù)節(jié)點(diǎn)通過與計(jì)算節(jié)點(diǎn)上的鏈路卡通信來使用千兆位網(wǎng)絡(luò) 控制連通性。到I/O節(jié)點(diǎn)的連接類似于到計(jì)算節(jié)點(diǎn)的連接,除了 I/O節(jié)點(diǎn) 不連接到環(huán)網(wǎng)以外。
再次參考圖1,計(jì)算機(jī)系統(tǒng)100包括服務(wù)節(jié)點(diǎn)140,后者處理向節(jié)點(diǎn)加 載軟件和控制整個系統(tǒng)的運(yùn)行。服務(wù)節(jié)點(diǎn)140典型地是具有控制臺(未示 出)的微型計(jì)算機(jī)系統(tǒng),如運(yùn)行Linux的IBM pSeries服務(wù)器。服務(wù)節(jié)點(diǎn) 140借助控制系統(tǒng)網(wǎng)絡(luò)150連接到計(jì)算節(jié)點(diǎn)110的機(jī)架130??刂葡到y(tǒng)網(wǎng)絡(luò) 為藍(lán)色基因/L系統(tǒng)提供了控制、測試以及啟動M設(shè)施??刂葡到y(tǒng)網(wǎng)絡(luò)150 包括各種為大^U莫并行計(jì)算機(jī)系統(tǒng)提供必要通信的網(wǎng)洛接口 。以下進(jìn)一步 描述了網(wǎng)絡(luò)接口。
服務(wù)節(jié)點(diǎn)140管理專用于系統(tǒng)管理的控制系統(tǒng)網(wǎng)絡(luò)150??刂葡到y(tǒng)網(wǎng) 絡(luò)150是專用100 Mb/s以太網(wǎng),后者連接到位于節(jié)點(diǎn)板120上并處理從服 務(wù)節(jié)點(diǎn)160到多個節(jié)點(diǎn)的通信的Ido芯片180。此網(wǎng)絡(luò)有時4皮稱為JTAG 網(wǎng)絡(luò),因?yàn)槠涫褂肑TAG協(xié)議進(jìn)行通信。通過與服務(wù)節(jié)點(diǎn)通信的JTAG端 口來管理節(jié)點(diǎn)板120上的計(jì)算節(jié)點(diǎn)110的所有控制、測試和啟動。以下參 考圖2進(jìn)一步描迷了此網(wǎng)絡(luò)。
藍(lán)色基因/L超級計(jì)算機(jī)通過若干附加的通信網(wǎng)絡(luò)來通信。65,536個計(jì) 算節(jié)點(diǎn)同時布置成邏輯樹網(wǎng)絡(luò)和物理三維環(huán)網(wǎng)。邏輯樹網(wǎng)絡(luò)以二進(jìn)制樹結(jié) 構(gòu)連接計(jì)算節(jié)點(diǎn),以便每個節(jié)點(diǎn)都與一個父節(jié)點(diǎn)和兩個子節(jié)點(diǎn)通信。環(huán)網(wǎng) 以類似三維網(wǎng)格的結(jié)構(gòu)邏輯地連接計(jì)算節(jié)點(diǎn),使得每個計(jì)算節(jié)點(diǎn)都能夠與其在計(jì)算機(jī)區(qū)段中的最接近的6個鄰居通信。其他連接到節(jié)點(diǎn)的通信網(wǎng)絡(luò) 包括屏障網(wǎng)絡(luò)(Barrier network)。屏障網(wǎng)^f吏用屏障通信系統(tǒng)實(shí)現(xiàn)軟件 屏障以便同步計(jì)算節(jié)點(diǎn)上的類似進(jìn)程,以便在完成某些任務(wù)時移動到不同 的處理階段。還存在到每個節(jié)點(diǎn)的全局中斷連接。
再次參考圖1,服務(wù)節(jié)點(diǎn)140包括故障硬件恢復(fù)機(jī)構(gòu)142。故障硬件恢 復(fù)機(jī)構(gòu)包括在服務(wù)節(jié)點(diǎn)140中的軟件,其可操作以根據(jù)在此要求保護(hù)的優(yōu) 選實(shí)施例從節(jié)點(diǎn)故障恢復(fù)。故障硬件恢復(fù)機(jī)構(gòu)使用心跳監(jiān)視器144來確定 節(jié)點(diǎn)何時出現(xiàn)故障。如以下進(jìn)一步描述的,心跳監(jiān)視器讀取并且然后清除 置于節(jié)點(diǎn)上的存儲器中的心跳標(biāo)志。當(dāng)心跳不再存在時,意味著未設(shè)置心 跳標(biāo)志,則節(jié)點(diǎn)發(fā)生故障并且如以下進(jìn)一步描述的,故障硬件恢復(fù)機(jī)構(gòu)嘗 試恢復(fù)節(jié)點(diǎn),而不結(jié)束任何在包含該故障節(jié)點(diǎn)的節(jié)點(diǎn)分區(qū)上正在執(zhí)^f于的作 業(yè)。
圖2示出了才艮據(jù)現(xiàn)有技術(shù)的藍(lán)色基因/L計(jì)算機(jī)系統(tǒng)中的計(jì)算節(jié)點(diǎn)110 的方塊圖。計(jì)算節(jié)點(diǎn)110具有節(jié)點(diǎn)計(jì)算芯片112,后者具有兩個處理單元 210A、 210B。每個處理單元210都具有帶有一級高速緩存(Ll高速緩存) 214的處理核心212。處理單元210還均具有二級高速緩存(L2高速緩存) 216。處理單元210連接到三級高速緩存(L3高速緩存)220以及連接到 SRAM存儲器組230。來自L3高速緩存220的數(shù)據(jù)借助DDR控制器250 #^口載到一組DDR SDRAM 240中。
再次參考圖2, SRAM存儲器230連接到JTAG接口 260,后者使計(jì) 算芯片112與Ido芯片180通信。服務(wù)節(jié)點(diǎn)在是控制系統(tǒng)網(wǎng)絡(luò)150 (以上 參考圖l描述)的一部分的以太網(wǎng)鏈路上通過Ido芯片180與計(jì)算節(jié)點(diǎn)通 信。在藍(lán)色基因/L系統(tǒng)中,每個節(jié)點(diǎn)板120具有一個Ido芯片,并且其他 在每個中板132內(nèi)的板上(圖1) 。 Ido芯片在受信專用100 Mb/s以太網(wǎng) 控制網(wǎng)絡(luò)上使用原始UDP分組從服務(wù)節(jié)點(diǎn)接收命令。Ido芯片支持多種與 計(jì)算節(jié)點(diǎn)通信的串行協(xié)議。JTAG協(xié)議用于從服務(wù)節(jié)點(diǎn)140 (圖1)到計(jì)算 節(jié)點(diǎn)110內(nèi)的SRAM 230的任何地址的讀取和寫入,并且用于系統(tǒng)初始化 和引導(dǎo)過程。JTAG接口 260還與配置寄存器270通信,如以下進(jìn)一步描述的,配置寄存器270保存用于重置節(jié)點(diǎn)計(jì)算芯片112的各個部分的重置位。
再次參考圖2,計(jì)算節(jié)點(diǎn)110還包括定時器280,其具有可在軟件控制 下i殳置的警才艮時間285。在此處的優(yōu)選實(shí)施例中,定時器用于產(chǎn)生心跳以 通知服務(wù)節(jié)點(diǎn)140 (圖1)中的心跳監(jiān)視器144節(jié)點(diǎn)正在正確地工作。節(jié)點(diǎn) 從服務(wù)節(jié)點(diǎn)接收警報(bào)時間285。定時器280被設(shè)置為定期地報(bào)時,其周期 等于警報(bào)時間285。當(dāng)定時器檢測到已經(jīng)過警報(bào)時間285,并且如果節(jié)點(diǎn)正 在正確地工作,則在SRAM 230的郵箱235中i殳置心跳標(biāo)志236。月良務(wù)節(jié) 點(diǎn)140的心跳監(jiān)視器144定期檢查所有節(jié)點(diǎn)的心跳標(biāo)志236的存在,并且 如以下詳細(xì)描述的,在心跳標(biāo)志不存在時執(zhí)行操作以恢復(fù)出現(xiàn)故障的節(jié)點(diǎn)。
圖2中示出的節(jié)點(diǎn)計(jì)算芯片112還包括網(wǎng)絡(luò)石更件2卯。網(wǎng)絡(luò)硬件2卯 包括用于環(huán)292、樹294以及全局中斷296網(wǎng)絡(luò)的硬件。如以上簡要描述 的,藍(lán)色基因/L的這些網(wǎng)絡(luò)用于計(jì)算節(jié)點(diǎn)110與系統(tǒng)中的其他節(jié)點(diǎn)的通信。
圖3是示出計(jì)算芯片112的重置能力的方塊圖。計(jì)算芯片112包括若 干單獨(dú)的重置,它們旨在增強(qiáng)計(jì)算芯片112的診斷能力。在優(yōu)選實(shí)施例中, 這些重置用于在此所述的故障恢復(fù)。為了進(jìn)行重置,計(jì)算芯片上的石更件總 體上被分成ASIC硬件310、網(wǎng)絡(luò)硬件290以及DDR控制器250。 ASIC 硬件310是未包括為網(wǎng)絡(luò)硬件290或DDR控制器250的一部分的其余 ASIC硬件。配置寄存器270保存重置位(未示出)以便如以上描述的那 樣重置硬件。配置寄存器270中的重置位如圖3所示那樣驅(qū)動重置輸出。 由ASIC硬件重置312來重置ASIC硬件310,由網(wǎng)絡(luò)硬件重置314來重置 網(wǎng)絡(luò)硬件2卯,以及由DDR重置316來重置DDR控制器。所述重置提供 典型的重置特征以將關(guān)聯(lián)硬件設(shè)置為已知狀況以便進(jìn)行初始化。
在此處的優(yōu)選實(shí)施例中,計(jì)算芯片112上的多個重置用于從軟故障恢 復(fù)而不結(jié)束并行計(jì)算機(jī)系統(tǒng)的分區(qū)中正在執(zhí)行的應(yīng)用或作業(yè)。在具有故障 代碼的分區(qū)上運(yùn)行的應(yīng)用軟件可能需要在節(jié)點(diǎn)的恢復(fù)期間被暫停,但是如 果恢復(fù)成功,則應(yīng)用可以繼續(xù)而無需在節(jié)點(diǎn)恢復(fù)后重新啟動。在優(yōu)選實(shí)施 例中,設(shè)置定時器以便以預(yù)定間隔在每個節(jié)點(diǎn)的郵箱中提供心跳標(biāo)志。服務(wù)節(jié)點(diǎn)中的心跳監(jiān)視器監(jiān)視并重置每個節(jié)點(diǎn)中的心跳標(biāo)志以確定是否出現(xiàn) 節(jié)點(diǎn)故障。如果節(jié)點(diǎn)上不存在心跳標(biāo)志,則服務(wù)節(jié)點(diǎn)上的故障硬件恢復(fù)才幾 構(gòu)嘗試恢復(fù)節(jié)點(diǎn)而不重置網(wǎng)絡(luò)硬件,從而不干擾系統(tǒng)中正在使用故障節(jié)點(diǎn) 上的網(wǎng)絡(luò)硬件的其他節(jié)點(diǎn)。重置網(wǎng)絡(luò)硬件將需要重新啟動正在分區(qū)上執(zhí)行 的應(yīng)用,因?yàn)檫@將中斷在環(huán)網(wǎng)和邏輯樹網(wǎng)絡(luò)中的相鄰節(jié)點(diǎn)之間通過節(jié)點(diǎn)的 信息流。要指出的是,在此描述的故障恢復(fù)并非針對與網(wǎng)絡(luò)硬件關(guān)聯(lián)的故 障。網(wǎng)絡(luò)石更件故障將導(dǎo)致由互連節(jié)點(diǎn)指示的多個故障并且將需要未在此描 述的其他手段。
在檢測到缺少心跳之后,如果故障硬件恢復(fù)機(jī)構(gòu)能夠成功地將診斷代
碼加載到SRAM中并且DDR控制器和存儲器可操作,則重置DDR控制 器并且將操作軟件內(nèi)核重新加載到節(jié)點(diǎn)中。所述節(jié)點(diǎn)然后能夠繼續(xù)而無需 重置整個ASIC。如果故障硬件恢復(fù)機(jī)構(gòu)未能成功地將診斷代碼加載到 SRAM中,則使用ASIC重置來重置除網(wǎng)絡(luò)硬件以外的ASIC,重置DDR 并且將操作軟件內(nèi)核重新加載到節(jié)點(diǎn)中。此過程允許在從故障恢復(fù)時重置 最少數(shù)量的節(jié)點(diǎn)。計(jì)算節(jié)點(diǎn)然后可以繼續(xù)操作并且分區(qū)中的其余節(jié)點(diǎn)可以 繼續(xù)正在執(zhí)行的應(yīng)用的操作而無需從頭開始重新啟動應(yīng)用。
圖4示出了根據(jù)此處的實(shí)施例的設(shè)置計(jì)算節(jié)點(diǎn)上的心跳以便故障恢復(fù) 的方法400。所述方法涉及計(jì)算節(jié)點(diǎn)上執(zhí)行的操作以向服務(wù)節(jié)點(diǎn)中的心跳 監(jiān)視器提供心跳,但是所述方法可以由服務(wù)節(jié)點(diǎn)或計(jì)算節(jié)點(diǎn)的引導(dǎo)過程的 其他部分啟動。計(jì)算節(jié)點(diǎn)從服務(wù)節(jié)點(diǎn)的控制系統(tǒng)接收心跳時間(步驟410) 并且使用心跳時間來設(shè)置定時器(步驟420)。每次計(jì)算節(jié)點(diǎn)中的定時器 檢測到心跳時,在SRAM郵箱中設(shè)置心跳標(biāo)志,以便心跳監(jiān)視器檢查計(jì)算 節(jié)點(diǎn)心跳(步驟430)。此方法然后完成。
圖5示出了4艮據(jù)此處的實(shí)施例的并行計(jì)算機(jī)系統(tǒng)上的故障恢復(fù)的方法 500。如以上參考圖l所述,此方法中描述的操作由故障硬件恢復(fù)機(jī)構(gòu)142 和心跳監(jiān)視器144執(zhí)行。心跳監(jiān)視器通過如上所述檢查每個節(jié)點(diǎn)中的心跳 標(biāo)志來監(jiān)視計(jì)算機(jī)系統(tǒng)中每個節(jié)點(diǎn)的心跳(步驟510)。如果沒有故障節(jié) 點(diǎn)(步驟520=否),則返回步驟510并繼續(xù)監(jiān)視。如果存在如缺少心跳標(biāo)志所指示的故障節(jié)點(diǎn)(步驟520=是),則向分區(qū)中的其他節(jié)點(diǎn)和應(yīng)用軟件 通知此節(jié)點(diǎn)不可用(步驟530)。然后,嘗試將診斷代碼加載到故障節(jié)點(diǎn) 的SRAM中以檢查該節(jié)點(diǎn)的操作(步驟540 )。如果加栽不成功(步驟550= 否),則重置除網(wǎng)絡(luò)硬件以外的ASIC (步驟555)、向SRAM加載代碼 以重置DDR (步驟560),然后重新加載特殊系統(tǒng)內(nèi)核以使節(jié)點(diǎn)繼續(xù)執(zhí)行 處理(步驟565 )。如果加載成功(步驟550=是),則執(zhí)行診斷以檢查DDR (步驟570)。如果DDR良好(步驟575=是),則向服務(wù)節(jié)點(diǎn)輸出ASIC 錯誤(步驟580 ),然后重新加栽特殊系統(tǒng)內(nèi)核以使節(jié)點(diǎn)繼續(xù)執(zhí)行處理(步 驟565)。如果DDR存在問題(步驟575=否),則向SRAM加載代碼以 重置DDR(步驟560),然后重新加載特殊系統(tǒng)內(nèi)核以使節(jié)點(diǎn)繼續(xù)執(zhí)行處 理(步驟565)。此方法然后完成。
如上所述,各實(shí)施例提供了一種方法和裝置,用于在并行計(jì)算機(jī)系統(tǒng) 的節(jié)點(diǎn)上從軟故障進(jìn)行故障恢復(fù),而不結(jié)束大規(guī)模并行超級計(jì)算機(jī)系統(tǒng)中 的節(jié)點(diǎn)分區(qū)上正在執(zhí)行的作業(yè)。此處的實(shí)施例允許服務(wù)節(jié)點(diǎn)重置故障節(jié)點(diǎn) 的非網(wǎng)絡(luò)部分,從而不影響分區(qū)中的其他節(jié)點(diǎn),以便減少系統(tǒng)停機(jī)時間并 提高計(jì)算機(jī)系統(tǒng)的效率。
本領(lǐng)域才支術(shù)人員將理解,在本發(fā)明的范圍內(nèi),許多變化都是可能的。 因此,雖然參考本發(fā)明的優(yōu)選實(shí)施例具體示出和描述了本發(fā)明,但是本領(lǐng) 域技術(shù)人員將理解,在不脫離本發(fā)明的精神和范圍的情況下,可以在形式 和細(xì)節(jié)上^L出這些和其他更改。
權(quán)利要求
1.一種并行計(jì)算機(jī)系統(tǒng),包括多個計(jì)算節(jié)點(diǎn),每個計(jì)算節(jié)點(diǎn)均具有用于重置所述計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)硬件部分的重置硬件,所述重置硬件與用于重置所述計(jì)算節(jié)點(diǎn)的其余部分的重置硬件分離;服務(wù)節(jié)點(diǎn),用于通過網(wǎng)絡(luò)控制所述計(jì)算節(jié)點(diǎn)的操作,所述服務(wù)節(jié)點(diǎn)包括檢測出現(xiàn)故障的計(jì)算節(jié)點(diǎn)的故障硬件恢復(fù)機(jī)構(gòu);并且其中所述故障硬件恢復(fù)機(jī)構(gòu)重置所述出現(xiàn)故障的計(jì)算節(jié)點(diǎn)的所述其余部分而不重置所述網(wǎng)絡(luò)硬件部分,以便從所述出現(xiàn)故障的計(jì)算節(jié)點(diǎn)上的故障恢復(fù)。
2. 根據(jù)權(quán)利要求1的并行計(jì)算機(jī)系統(tǒng),其中所述多個計(jì)算節(jié)點(diǎn)還包括 定時器,用于以預(yù)定間隔在所述計(jì)算節(jié)點(diǎn)的存儲器中設(shè)置心跳標(biāo)志以指示 所述計(jì)算節(jié)點(diǎn)正在正確地工作。
3. 根據(jù)權(quán)利要求2的并行計(jì)算機(jī)系統(tǒng),其中所述故障硬件恢復(fù)機(jī)構(gòu)還 包括心跳監(jiān)視器,用于監(jiān)視所述計(jì)算節(jié)點(diǎn)中的所述心跳標(biāo)志,以^更借助 缺少設(shè)置的心跳標(biāo)志來檢測所述多個節(jié)點(diǎn)中的出現(xiàn)故障的計(jì)算節(jié)點(diǎn)。
4. 根據(jù)權(quán)利要求3的并行計(jì)算機(jī)系統(tǒng),其中通過所述心跳監(jiān)視器M 測所述出現(xiàn)故障的計(jì)算節(jié)點(diǎn)上的故障。
5. 根據(jù)權(quán)利要求3的并行計(jì)算機(jī)系統(tǒng),其中所述心跳標(biāo)志存儲在所述 計(jì)算節(jié)點(diǎn)上的靜態(tài)存儲器中,并且所述故障硬件恢復(fù)機(jī)構(gòu)通過經(jīng)由所述計(jì) 算節(jié)點(diǎn)上的JTAG接口存取所述靜態(tài)存儲器的以太網(wǎng)來讀取所述靜態(tài)存儲 器,可選地,其中所述并行計(jì)算機(jī)系統(tǒng)是大規(guī)才莫并行計(jì)算機(jī)系統(tǒng),其具有 容納在多個密集布置的計(jì)算WL架內(nèi)的大量計(jì)算節(jié)點(diǎn)。
6. 根據(jù)權(quán)利要求l的并行計(jì)算機(jī)系統(tǒng),其中所述計(jì)算節(jié)點(diǎn)的所述其余 部分是ASIC處理器芯片的DDR存儲器控制器,和/或所述并行計(jì)算機(jī)系 統(tǒng)是大^L^莫并行計(jì)算機(jī)系統(tǒng),其具有容納在多個密集布置的計(jì)算^f幾架內(nèi) 的大量計(jì)算節(jié)點(diǎn)。
7. —種用于操作并行計(jì)算機(jī)系統(tǒng)的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述并4亍計(jì)算 機(jī)系統(tǒng)具有通過控制系統(tǒng)網(wǎng)絡(luò)連接到服務(wù)節(jié)點(diǎn)的多個計(jì)算節(jié)點(diǎn),所述方法 包括以下步驟a)每個節(jié)點(diǎn)都提供心跳;b )在所述計(jì)算機(jī)系統(tǒng)的所述服務(wù)節(jié)點(diǎn)中監(jiān)視每個計(jì)算節(jié)點(diǎn)的心跳;以及c) 嘗試從由缺少所述計(jì)算節(jié)點(diǎn)中的心跳所指示的所述計(jì)算節(jié)點(diǎn)中的故 障恢復(fù),而不中止正在包含具有所述故障的計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)分區(qū)上運(yùn)行的 應(yīng)用。
8. 根據(jù)權(quán)利要求9的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中監(jiān)視所述計(jì)算節(jié)點(diǎn)的步 驟包括以下步驟d) 所述計(jì)算節(jié)點(diǎn)從所述服務(wù)節(jié)點(diǎn)接收心跳時間;e) 使用所述心跳時間設(shè)置定時器;以及f) 檢測所述定時器的所經(jīng)過的心跳時間以及在所述計(jì)算節(jié)點(diǎn)的存儲器 中設(shè)置心跳標(biāo)志。
9. 根據(jù)權(quán)利要求9的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中嘗試從所述計(jì)算節(jié)點(diǎn)中 的故障恢復(fù)的步驟包括以下步驟g) 嘗試將診斷代碼加載到所述計(jì)算節(jié)點(diǎn)中;以及h) 如果所述加載不成功,則重置所述計(jì)算節(jié)點(diǎn)的一部分,包括除網(wǎng) 絡(luò)硬件區(qū)段以外的所述計(jì)算節(jié)點(diǎn)的所有區(qū)段;重置所述計(jì)算節(jié)點(diǎn)中的存儲 器控制器;以及將系統(tǒng)內(nèi)核加載到所述計(jì)算節(jié)點(diǎn)中,并且可選地i) 如果所述加載成功,則執(zhí)行所述診斷代碼以檢查存儲器控制器是否 正確工作;以及j)如果所述存儲器控制器正在正確地工作,則將代碼加載到所述計(jì) 算節(jié)點(diǎn)中以重置所述存儲器控制器;重置所述存儲器控制器;以及^f吏用系 統(tǒng)內(nèi)核加載所述計(jì)算節(jié)點(diǎn)。
10. —種計(jì)算機(jī)可讀程序產(chǎn)品,包括故障硬件恢復(fù)機(jī)構(gòu),其監(jiān)視并行計(jì)算機(jī)系統(tǒng)中的多個計(jì)算節(jié)點(diǎn)以確定計(jì)算節(jié)點(diǎn)是否出現(xiàn)故障,并且其中所述故障硬件恢復(fù)機(jī)構(gòu)重置出現(xiàn)故障的 計(jì)算節(jié)點(diǎn)的其余部分而不重置所述計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)硬件部分,以^更從所述出現(xiàn)故障的計(jì)算節(jié)點(diǎn)上的故障恢復(fù);以及可記錄介質(zhì),其承栽所述故障硬件恢復(fù)機(jī)構(gòu)。
全文摘要
一種方法和裝置,用于在并行計(jì)算機(jī)系統(tǒng)上從軟故障進(jìn)行故障恢復(fù),而不結(jié)束正在節(jié)點(diǎn)分區(qū)上執(zhí)行的作業(yè)。在優(yōu)選實(shí)施例中,服務(wù)節(jié)點(diǎn)上的故障硬件恢復(fù)機(jī)構(gòu)使用心跳監(jiān)視器來確定何時出現(xiàn)節(jié)點(diǎn)故障。在可能的情況下,重置出現(xiàn)故障的節(jié)點(diǎn)并使用軟件重新加載所述節(jié)點(diǎn),而不結(jié)束由包含所述出現(xiàn)故障的節(jié)點(diǎn)的分區(qū)正在執(zhí)行的軟件作業(yè)。
文檔編號G06F11/07GK101589370SQ200880003253
公開日2009年11月25日 申請日期2008年2月1日 優(yōu)先權(quán)日2007年2月2日
發(fā)明者A·彼得斯, A·西德尼克, D·達(dá)靈頓, P·J·麥卡西 申請人:國際商業(yè)機(jī)器公司