欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新方法及系統(tǒng)的制作方法

文檔序號:6614548閱讀:250來源:國知局
專利名稱:一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明主要涉及到大規(guī)模計算機(jī)領(lǐng)域,特指一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更 新方法及系統(tǒng)。
背景技術(shù)
計算機(jī)系統(tǒng)引導(dǎo)程序是加電或復(fù)位時加載運行的程序,通常固化在非易失性存儲器 中。引導(dǎo)程序?qū)τ布M(jìn)行初始化并引導(dǎo)其他程序如操作系統(tǒng)引導(dǎo)程序,它收集系統(tǒng)中硬 件設(shè)備最基本的信息,為系統(tǒng)提供最底層、最直接的硬件控制。在系統(tǒng)開發(fā)過程中,隨 著引導(dǎo)程序的不斷升級、功能的不斷增加或錯誤的修正,需要經(jīng)常對引導(dǎo)程序進(jìn)行更新。 單個引導(dǎo)程序的更新方法很多,主要可分為兩類l)離線更新,引導(dǎo)程序的存儲介質(zhì)在 安裝到PCB板之前利用專用的工具將引導(dǎo)程序燒錄到存儲介質(zhì)中;2)在線熱升級,通過 外部設(shè)備連接到PCB板,提供必要的軟件工具來實現(xiàn)引導(dǎo)程序的更新。
離線更新需要專門的工具,而且需要PCB板支持存儲介質(zhì)的可拆裝,這就使得離線 更新極為不方便,而且不是所有的PCB板都支持存儲介質(zhì)的拆裝,因此離線更新方法有 一定的局限性。在大規(guī)模系統(tǒng)中采用離線更新的方法費時、費力、操作不方便。
在線熱升級可分為兩種l)利用串口等硬件接口實現(xiàn)數(shù)據(jù)的傳輸,通過系統(tǒng)的CPU 來執(zhí)行引導(dǎo)程序的更新;2)利用JTAG接口實現(xiàn)引導(dǎo)程序的更新。在線熱升級比離線升級 操作方便,不需要專用的工具和系統(tǒng)的拆卸,是目前計算機(jī)系統(tǒng)引導(dǎo)程序更新較為常用 的方法。
大規(guī)模計算機(jī)系統(tǒng)通常由數(shù)量眾多的節(jié)點組成,每一個節(jié)點具有本地引導(dǎo)程序?qū)?jié) 點內(nèi)部進(jìn)行初始化和系統(tǒng)引導(dǎo)工作。即使是單個節(jié)點,其引導(dǎo)程序存儲到引導(dǎo)區(qū)的過程 也需要一定的時間,因此對于具有成千上萬個節(jié)點的大規(guī)模系統(tǒng)來說,如果采用傳統(tǒng)的 在線熱升級方法對全系統(tǒng)所有節(jié)點的引導(dǎo)程序逐一進(jìn)行更新,這無疑將是一個漫長的過 程,更新效率極低。

發(fā)明內(nèi)容
本發(fā)明要解決的問題就在于針對現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一種采用 并發(fā)模式、具有結(jié)構(gòu)簡單、操作簡便、能夠有效解決大規(guī)模系統(tǒng)中引導(dǎo)程序的更新費時、 費力問題的大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新方法及系統(tǒng)。
為解決上述技術(shù)問題,本發(fā)明提出的解決方案為 一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序 并行更新方法,其特征在于更新客戶端通過通信支持模塊向大規(guī)模計算機(jī)的各個節(jié)點 并行地發(fā)送更新命令和數(shù)據(jù),各節(jié)點上節(jié)點更新服務(wù)模塊接收到更新客戶端的更新命令 和數(shù)據(jù)后對各節(jié)點弓I導(dǎo)程序進(jìn)行更新。
每個節(jié)點引導(dǎo)程序更新的步驟為
(1) 、節(jié)點在加電或復(fù)位后啟動基本引導(dǎo)程序進(jìn)行底層硬件的初始化;
(2) 、基本引導(dǎo)程序?qū)崿F(xiàn)硬件初始化后啟動更新服務(wù)程序;
(3) 、更新服務(wù)程序循環(huán)等待客戶端的握手請求,如果在一定時間內(nèi)握手成功,則進(jìn) 入步驟(4);否則,更新服務(wù)程序退出,啟動主引導(dǎo)程序;
(4) 、更新服務(wù)程序等待客戶端發(fā)送的命令;
(4.1) 、接收到取消更新命令,則服務(wù)程序從引導(dǎo)區(qū)讀取主引導(dǎo)程序并啟動主引導(dǎo)程 序,進(jìn)入步驟5;
(4.2) 、接收到更新命令,服務(wù)程序啟動數(shù)據(jù)接收與校驗,
a) 、數(shù)據(jù)接收失敗或者校驗失敗,發(fā)送更新失敗消息到客戶端,跳轉(zhuǎn)到步驟(4);
b) 、接收到的數(shù)據(jù)經(jīng)過校驗成功后,服務(wù)程序?qū)⒅饕龑?dǎo)程序?qū)懭胍龑?dǎo)區(qū),然后啟
動主引導(dǎo)程序,進(jìn)入步驟(5);
(5) 、發(fā)送更新結(jié)果到客戶端,本次更新操作結(jié)束。
所述更新客戶端根據(jù)節(jié)點列表中的節(jié)點數(shù)目決定創(chuàng)建子線程的數(shù)目,每個子線程對 應(yīng)一個節(jié)點,所有的子線程接收到更新節(jié)點后,啟動更新操作,子線程首先與目標(biāo)節(jié)點 進(jìn)行握手操作,成功后開始發(fā)送更新命令和引導(dǎo)程序更新數(shù)據(jù),并等待更新結(jié)果,所有 的子線程更新操作結(jié)束后,主程序負(fù)責(zé)收集更新結(jié)果,子線程的更新操作并行完成,子 線程之間沒有任何的通信。
所述客戶端中的子線程負(fù)責(zé)完成主程序分配的節(jié)點引導(dǎo)程序更新任務(wù),其步驟為
(1) 、主程序從節(jié)點列表中讀取需要更新的節(jié)點,并為節(jié)點列表中的每一個節(jié)點創(chuàng)建
一個子線程。如果列表為空,主程序任務(wù)完成,退出;
(2) 、子線程向?qū)?yīng)節(jié)點的更新服務(wù)程序發(fā)出握手請求,服務(wù)程序接收請求后進(jìn)行解 析和驗證,通過驗證后發(fā)送驗證成功的應(yīng)答消息,否則發(fā)送驗證失敗消息;
(3) 、子線程接收到握手成功消息后,進(jìn)入步驟4。否則,若沒有超時,執(zhí)行步驟2; 如果超時,通知主程序更新失敗,退出子線程;
(4) 、將引導(dǎo)程序以數(shù)據(jù)包的形式發(fā)送到更新服務(wù)程序,等待接收應(yīng)答消息,更新服 務(wù)程序接收到數(shù)據(jù)包后進(jìn)行解析驗證,通過驗證后將引導(dǎo)程序?qū)懭胍龑?dǎo)分區(qū)。寫入成功, 給客戶端對應(yīng)的子線程發(fā)送更新成功消息,否則發(fā)送數(shù)據(jù)更新失敗消息;
(5) 、子線程等待更新結(jié)果;
(5.1) 、子線程接收到更新成功的消息,通知主程序該節(jié)點更新成功,退出子線程;
(5.2) 、子線程接收到更新失敗的消息,進(jìn)行重試;如果重試次數(shù)沒有超過設(shè)定的重 試次數(shù),則跳轉(zhuǎn)到步驟4;否則給對應(yīng)的節(jié)點發(fā)送取消更新操作的消息,并通知主程序該 節(jié)點更新失敗,退出子線程。
一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新系統(tǒng),其特征在于它包括通信支持模塊、 運行于普通微機(jī)上的更新客戶端以及設(shè)置于大規(guī)模計算機(jī)的每個節(jié)點上的節(jié)點引導(dǎo)程序 更新模塊,所有節(jié)點更新服務(wù)模塊通過通信支持模塊與更新客戶端相連,響應(yīng)客戶端的 更新命令并最終實現(xiàn)各節(jié)點引導(dǎo)程序的并行更新。
所述節(jié)點弓I導(dǎo)程序更新模塊包括基本引導(dǎo)程序單元和主引導(dǎo)程序單元,用來接收客 戶端更新數(shù)據(jù)包的更新服務(wù)程序嵌入在基本引導(dǎo)程序單元中。
所述通信支持模塊包含一個或多個支持多個節(jié)點同時更新的通信子模塊,所述通信 子模塊具有一個與客戶端進(jìn)行通信的接口和多個與節(jié)點進(jìn)行通信的接口,所述通信子模
塊包括一個網(wǎng)絡(luò)控制器、嵌入式微處理器、n個RS232接口控制器和n個JTAG接口,網(wǎng) 絡(luò)控制器為客戶端提供一個以太網(wǎng)接口,接口控制器負(fù)責(zé)實現(xiàn)通信子模塊和節(jié)點更新程 序之間的數(shù)據(jù)傳輸,節(jié)點通過接口控制器與通信子模塊進(jìn)行互連。 與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點就在于
1、 本發(fā)明由于所有節(jié)點的引導(dǎo)程序更新過程都是同時進(jìn)行的,當(dāng)系統(tǒng)規(guī)模非常大時, 采用本發(fā)明的更新效率得到了十分明顯的提高。對于例如具有256個節(jié)點的大規(guī)模并行 系統(tǒng),假設(shè)對一個節(jié)點進(jìn)行引導(dǎo)程序更新所需的時間是T,如果采用傳統(tǒng)的方法逐個對 所有節(jié)點進(jìn)行更新,那么對全系統(tǒng)所有節(jié)點更新所需要的時間是256T的時間。而在采用 本發(fā)明對系統(tǒng)所有節(jié)點進(jìn)行并行更新的情況下,所需時間為T。因此系統(tǒng)引導(dǎo)程序的更 新時間大大減少。
2、 本發(fā)明支持系統(tǒng)結(jié)構(gòu)的可擴(kuò)展。采用本發(fā)明不會因為系統(tǒng)規(guī)模的擴(kuò)大而影響系統(tǒng) 節(jié)點引導(dǎo)程序的更新速度和方法。由于通信子模塊支持1個到多個節(jié)點的并行更新,因 此當(dāng)系統(tǒng)規(guī)模增大時,只需簡單增加通信子模塊的數(shù)量就能夠支持,而且不會增加更新 時間。
3、本發(fā)明支持平臺的多樣性,具有通用性。通信支持模塊采用標(biāo)準(zhǔn)的以太網(wǎng)接口與 客戶端連接,任何一臺具有以太網(wǎng)接口的普通微機(jī)均可作為客戶端使用。通信子模塊與 節(jié)點的接口采用目前更新引導(dǎo)程序常用的標(biāo)準(zhǔn)接口 RS232和JTAG,因此只要目標(biāo)平臺 具有RS232接口和JTAG接口中的任意一種接口,就能夠使用本發(fā)明實現(xiàn)對多個目標(biāo)平 臺的引導(dǎo)程序的并行更新。


圖l是本發(fā)明中引導(dǎo)程序并行更新示意圖2是本發(fā)明中單節(jié)點引導(dǎo)程序更新流程示意圖3是本發(fā)明中更新程序客戶端的結(jié)構(gòu)示意圖4是本發(fā)明中更新程序客戶端子線程實現(xiàn)流程示意圖5是本發(fā)明中通信支持模塊的結(jié)構(gòu)示意圖6是本發(fā)明中通信子模塊的結(jié)構(gòu)示意圖。
具體實施例方式
以下將結(jié)合附圖和具體實施例對本發(fā)明做進(jìn)一步詳細(xì)說明。
本發(fā)明提供了一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新方法,更新客戶端通過通信 支持模塊向大規(guī)模計算機(jī)的各個節(jié)點并行地發(fā)送更新命令和數(shù)據(jù),各節(jié)點上節(jié)點更新服 務(wù)模塊接收到更新客戶端的更新命令和數(shù)據(jù)后對各節(jié)點引導(dǎo)程序進(jìn)行更新。在較佳實施 例中,更新客戶端根據(jù)節(jié)點列表中的節(jié)點數(shù)目決定創(chuàng)建子線程的數(shù)目,每個子線程對應(yīng) 一個節(jié)點,所有的子線程接收到更新節(jié)點后,啟動更新操作,子線程首先與目標(biāo)節(jié)點進(jìn) 行握手操作,成功后開始發(fā)送更新命令和引導(dǎo)程序更新數(shù)據(jù),并等待更新結(jié)果,所有的 子線程更新操作結(jié)束后,主程序負(fù)責(zé)收集更新結(jié)果,子線程的更新操作并行完成,子線 程之間沒有任何的通信。
根據(jù)上述方法,本發(fā)明進(jìn)一步提供了一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新系統(tǒng), 它包括通信支持模塊、運行于普通微機(jī)上的更新客戶端以及設(shè)置于大規(guī)模計算機(jī)的每個 節(jié)點上的節(jié)點引導(dǎo)程序更新模塊,所有節(jié)點更新服務(wù)模塊通過通信支持模塊與更新客戶 端相連,響應(yīng)客戶端的更新命令并最終實現(xiàn)各節(jié)點引導(dǎo)程序的并行更新。其中,節(jié)點引 導(dǎo)程序更新模塊包括基本引導(dǎo)程序單元和主引導(dǎo)程序單元,嵌入在基本引導(dǎo)程序單元中 的更新服務(wù)程序用來接收客戶端更新數(shù)據(jù)包。通信支持模塊包含一個或多個支持多個節(jié) 點同時更新的通信子模塊,所述通信子模塊具有一個與客戶端進(jìn)行通信的接口和多個與
節(jié)點進(jìn)行通信的接口 ,所述通信子模塊包括一個網(wǎng)絡(luò)控制器、嵌入式微處理器、n個RS232
接口控制器和n個JTAG接口,網(wǎng)絡(luò)控制器為客戶端提供一個以太網(wǎng)接口,接口控制器負(fù) 責(zé)實現(xiàn)通信子模塊和節(jié)點更新程序之間的數(shù)據(jù)傳輸,節(jié)點通過接口控制器與通信子模塊 進(jìn)行互連。
大規(guī)模計算機(jī)系統(tǒng)中的各個節(jié)點通過通信支持模塊與更新程序客戶端互連,節(jié)點更 新服務(wù)模塊負(fù)責(zé)實現(xiàn)本地節(jié)點引導(dǎo)程序的更新操作,并且通過通信支持模塊與更新客戶 端進(jìn)行通信??蛻舳送ㄟ^通信支持模塊向系統(tǒng)各個節(jié)點并行地發(fā)送更新命令和數(shù)據(jù)。節(jié) 點接收到更新命令后執(zhí)行引導(dǎo)程序的更新操作,節(jié)點之間的更新過程互不影響,并行執(zhí) 行。
節(jié)點更新服務(wù)模塊是一段嵌入在引導(dǎo)程序中的更新服務(wù)程序。引導(dǎo)程序由兩部分組
成基本引導(dǎo)程序單元和主引導(dǎo)程序單元。更新服務(wù)程序嵌入在基本引導(dǎo)程序單元中。 基本引導(dǎo)程序單元主要功能是對底層硬件進(jìn)行最基本的初始化操作和啟動更新服務(wù)程 序?;疽龑?dǎo)程序單元實現(xiàn)了引導(dǎo)過程更新所需的最基本的功能,包括簡單的CPU初始 化、簡單的內(nèi)存初始化和更新過程所需的通信接口的初始化。基本引導(dǎo)程序單元固化在 非易失性存儲器中,通常不需要被更新。因此引導(dǎo)程序的更新主要是指對主引導(dǎo)程序單 元的更新。基本引導(dǎo)程序單元在完成最基本的硬件初始化操作后,啟動更新服務(wù)程序。 更新服務(wù)程序循環(huán)等待客戶端發(fā)送的更新消息。如果更新服務(wù)程序在一定時間內(nèi)未收到 客戶端的更新消息,則退出循環(huán)等待過程,執(zhí)行原來的主引導(dǎo)程序單元并正常引導(dǎo)系統(tǒng)。 更新服務(wù)程序在循環(huán)等待過程中一旦收到客戶端的更新消息,將根據(jù)收到的消息進(jìn)行引 導(dǎo)程序的更新操作。
客戶端模塊根據(jù)更新節(jié)點列表啟動節(jié)點引導(dǎo)程序更新操作。節(jié)點列表可以是所有節(jié) 點,也可以是部分節(jié)點。更新客戶端根據(jù)用戶的設(shè)定將更新消息發(fā)送到所有需要被更新 的節(jié)點。在客戶端和更新服務(wù)程序之間通過通信支持模塊實現(xiàn)更新消息的并行發(fā)送,新 的引導(dǎo)程序以數(shù)據(jù)包的形式通過通信支持模塊并行發(fā)送到所有被更新的節(jié)點。
在具體實施例中,如圖1所示,本發(fā)明中引導(dǎo)程序并行更新示意圖??蛻舳送ㄟ^通 信支持模塊與系統(tǒng)的所有節(jié)點互連,客戶端給所有需要更新的節(jié)點并行發(fā)送的更新命令 包和數(shù)據(jù)包通過通信支持模塊轉(zhuǎn)發(fā)到各個節(jié)點,節(jié)點接收到更新命令和更新數(shù)據(jù)包后執(zhí) 行引導(dǎo)程序的更新。節(jié)點之間引導(dǎo)程序的更新互不影響,并行完成。更新客戶端
如圖2所示,本發(fā)明中單節(jié)點引導(dǎo)程序更新流程示意圖。如何實現(xiàn)單節(jié)點引導(dǎo)程序
的在線熱更新是實現(xiàn)系統(tǒng)引導(dǎo)程序并行更新的基礎(chǔ)。在系統(tǒng)加電或復(fù)位以后,固化在存 儲介質(zhì)中的基本引導(dǎo)程序?qū)崿F(xiàn)對基本硬件的初始化,然后啟動更新服務(wù)程序。更新服務(wù)
程序等待客戶端發(fā)送的命令直到超時。更新服務(wù)程序接收到更新命令后開始接收更新數(shù) 據(jù)并行校驗,將通過校驗的數(shù)據(jù)寫到引導(dǎo)區(qū),發(fā)送更新成功消息到客戶端。更新服務(wù)程 序接收數(shù)據(jù)失敗或數(shù)據(jù)校驗失敗,發(fā)送更新失敗消息到客戶端并重新等待客戶端發(fā)送的 命令或數(shù)據(jù),直到超時。
單個節(jié)點引導(dǎo)程序更新的詳細(xì)實現(xiàn)過程如下
1、 節(jié)點在加電或復(fù)位后啟動基本引導(dǎo)程序進(jìn)行底層硬件的初始化;
2、 基本引導(dǎo)程序?qū)崿F(xiàn)硬件初始化后啟動更新服務(wù)程序;
3、 更新服務(wù)程序循環(huán)等待客戶端的握手請求。如果在一定時間內(nèi)握手成功,則進(jìn)入 步驟4;否則,更新服務(wù)程序退出,啟動主引導(dǎo)程序。
4、 更新服務(wù)程序等待客戶端發(fā)送的命令;
4.1、 接收到取消更新命令,則服務(wù)程序從引導(dǎo)區(qū)讀取主引導(dǎo)程序并啟動主引導(dǎo)程序, 進(jìn)入步驟5;
4.2、 接收到更新命令,服務(wù)程序啟動數(shù)據(jù)接收與校驗,
a) 、數(shù)據(jù)接收失敗或者校驗失敗,發(fā)送更新失敗消息到客戶端,跳轉(zhuǎn)到步驟4;
b) 、接收到的數(shù)據(jù)經(jīng)過校驗成功后,服務(wù)程序?qū)⒅饕龑?dǎo)程序?qū)懭胍龑?dǎo)區(qū),然后啟
動主引導(dǎo)程序,進(jìn)入步驟5。
5、 發(fā)送更新結(jié)果到客戶端,本次更新操作結(jié)束。
在引導(dǎo)程序中添加一個更新服務(wù)程序使得引導(dǎo)程序的更新實現(xiàn)了在線熱更新,為大 規(guī)模計算機(jī)系統(tǒng)引導(dǎo)程序的并行更新奠定了基礎(chǔ)。
如圖3所示,本發(fā)明中更新程序客戶端的結(jié)構(gòu)示意圖。更新客戶端根據(jù)節(jié)點列表中 的節(jié)點數(shù)目決定創(chuàng)建子線程的數(shù)目,每個子線程對應(yīng)一個節(jié)點。所有的子線程接收到更 新節(jié)點后,啟動更新操作。子線程首先與目標(biāo)節(jié)點進(jìn)行握手操作,成功后開始發(fā)送更新 命令和引導(dǎo)程序更新數(shù)據(jù),并等待更新結(jié)果。所有的子線程更新操作結(jié)束后,主程序負(fù) 責(zé)收集更新結(jié)果。子線程的更新操作并行完成,子線程之間沒有任何的通信。更新程序 客戶端實現(xiàn)了節(jié)點的并行更新,能夠大大減少大規(guī)模計算機(jī)系統(tǒng)節(jié)點引導(dǎo)程序更新需要 的時間。
如圖4所示,本發(fā)明中客戶端子線程實現(xiàn)流程示意圖??蛻舳酥械淖泳€程負(fù)責(zé)完成 主程序分配的節(jié)點引導(dǎo)程序更新任務(wù)。子線程首先向節(jié)點服務(wù)程序發(fā)送握手請求。如果 握手失敗,進(jìn)行重試直到超時。握手成功后將引導(dǎo)程序數(shù)據(jù)進(jìn)行打包發(fā)送給節(jié)點。子線 程接收到更新成功的應(yīng)答后再通知主程序,退出子線程。子線程接收到更新失敗的應(yīng)答
后進(jìn)行重試直到超時,詳細(xì)的工作流程是
1、 主程序從節(jié)點列表中讀取需要更新的節(jié)點,并為節(jié)點列表中的每一個節(jié)點創(chuàng)建一 個子線程。如果列表為空,主程序任務(wù)完成,退出。
2、 子線程向?qū)?yīng)節(jié)點的更新服務(wù)程序發(fā)出握手請求,服務(wù)程序接收請求后進(jìn)行解析 和驗證,通過驗證后發(fā)送驗證成功的應(yīng)答消息,否則發(fā)送驗證失敗消息。
3、 子線程接收到握手成功消息后,進(jìn)入步驟4。否則,若沒有超時,執(zhí)行步驟2; 如果超時,通知主程序更新失敗,退出子線程。
4、 將引導(dǎo)程序以數(shù)據(jù)包的形式發(fā)送到更新服務(wù)程序,等待接收應(yīng)答消息。更新服務(wù)
程序接收到數(shù)據(jù)包后進(jìn)行解析驗證,通過驗證后將引導(dǎo)程序?qū)懭胍龑?dǎo)分區(qū)。寫入成功, 給客戶端對應(yīng)的子線程發(fā)送更新成功消息,否則發(fā)送數(shù)據(jù)更新失敗消息。
5、 子線程等待更新結(jié)果。
5.1、 子線程接收到更新成功的消息,通知主程序該節(jié)點更新成功,退出子線程。
5.2、 子線程接收到更新失敗的消息,進(jìn)行重試。如果重試次數(shù)沒有超過設(shè)定的重試 次數(shù),則跳轉(zhuǎn)到步驟4;否則給對應(yīng)的節(jié)點發(fā)送取消更新操作的消息,并通知主程序該節(jié) 點更新失敗,退出子線程。
如圖5所示,本發(fā)明中通信支持模塊的結(jié)構(gòu)示意圖。通信支持模塊為大規(guī)模計算機(jī) 系統(tǒng)節(jié)點引導(dǎo)程序的并行更新提供物理連接和通信支持。根據(jù)系統(tǒng)規(guī)模的不同,通信支 持模塊包含一個或多個通信子模塊。每個通信子模塊支持多個節(jié)點同時更新。假設(shè)系統(tǒng) 有mXn個節(jié)點,每個通信子模塊支持n個節(jié)點同時更新,那么通信支持模塊將包含m 個通信子模塊。
如圖6所示,本發(fā)明中通信子模塊的結(jié)構(gòu)示意圖。通信子模塊是通信支持模塊的核 心組成部分,實現(xiàn)了更新客戶端和節(jié)點更新程序之間的并行數(shù)據(jù)傳輸。通信子模塊主要 包括網(wǎng)絡(luò)控制器、通信服務(wù)程序和接口控制器。通信支持模塊的子模塊結(jié)構(gòu)設(shè)計使得系 統(tǒng)具有很好的擴(kuò)展性,單個通信子模塊支持的接口數(shù)目高達(dá)幾百個。因此,通信支持模 塊能夠支持的并行更新的節(jié)點數(shù)目可以從幾百個擴(kuò)展到成千上萬個,很好的支持了大規(guī) 模計算機(jī)系統(tǒng)節(jié)點引導(dǎo)程序的并行更新。通信子模塊提供的接口可以是RS232接口也可 以是JTAG接口,與傳統(tǒng)的單一接口相比,具有多樣性。
網(wǎng)絡(luò)控制器為更新客戶端提供以太網(wǎng)通信服務(wù)。更新客戶端與所有節(jié)點之間的數(shù)據(jù) 通信都是通過以太網(wǎng)接口來實現(xiàn)的。接口控制器實現(xiàn)了節(jié)點與通信支持模塊之間的互連。 每個節(jié)點通過一個專用的接口控制器與通信子模塊互連。通信服務(wù)程序?qū)崿F(xiàn)了網(wǎng)絡(luò)控制 器與接口控制器之間的數(shù)據(jù)交流。通信服務(wù)程序為每個接口控制器創(chuàng)建一個線程,每個 線程監(jiān)聽該節(jié)點的接口控制器和對應(yīng)的網(wǎng)絡(luò)通信端口。如果接口控制器上有數(shù)據(jù)到達(dá), 線程負(fù)責(zé)將數(shù)據(jù)通過網(wǎng)絡(luò)通信端口發(fā)送到更新客戶端,如果網(wǎng)絡(luò)通信端口有數(shù)據(jù)到達(dá), 線程將數(shù)據(jù)通過接口控制器發(fā)送到節(jié)點更新服務(wù)程序。
接口控制器包含RS232串口控制器和JTAG控制器,每一個節(jié)點通過RS232串口和 JTAG接口與通信子模塊連接。如果節(jié)點采用串口作為通信接口,通信服務(wù)程序?qū)崿F(xiàn) TCP/IP數(shù)據(jù)與RS232數(shù)據(jù)之間的轉(zhuǎn)換與路由。如果節(jié)點釆用的通信接口是JTAG接口, 通信子模塊中的JTAG控制器將通信服務(wù)程序?qū)懭氲臄?shù)據(jù)通過JTAG接口直接寫入到引導(dǎo) 區(qū),而不需要經(jīng)過節(jié)點更新服務(wù)程序進(jìn)行處理。同時通信子模塊中的JTAG控制器將更 新結(jié)果提交給通信服務(wù)程序,由通信服務(wù)程序發(fā)送到更新程序客戶端。使用JTAG接口 進(jìn)行更新的方式不僅能夠更新主引導(dǎo)模塊同時也能夠更新基本引導(dǎo)模塊。
本發(fā)明已應(yīng)用于國防科技大學(xué)計算機(jī)學(xué)院自行研制的高性能大規(guī)模并行計算機(jī)系 統(tǒng),該系統(tǒng)具有1024個節(jié)點,通信支持模塊具有16個通信子模塊,每個通信子模塊連 接64個節(jié)點。通信子模塊提供了 64個RS232接口和64個JTAG接口分別與各節(jié)點相連。 客戶端模塊采用運行Windows操作系統(tǒng)的普通微機(jī)。本發(fā)明已經(jīng)過驗證并取得了很好的 應(yīng)用效果。本發(fā)明并不局限于具體的目標(biāo)節(jié)點硬件平臺,對于具有RS232接口或JTAG 接口的目標(biāo)平臺具有通用性。
權(quán)利要求
1、一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新方法,其特征在于更新客戶端通過通信支持模塊向大規(guī)模計算機(jī)的各個節(jié)點并行地發(fā)送更新命令和數(shù)據(jù),各節(jié)點上節(jié)點更新服務(wù)模塊接收到更新客戶端的更新命令和數(shù)據(jù)后對各節(jié)點引導(dǎo)程序進(jìn)行更新。
2、 根據(jù)權(quán)利要求l所述的大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新方法,其特征在于每 個節(jié)點引導(dǎo)程序更新的步驟為(1) 、節(jié)點在加電或復(fù)位后啟動基本引導(dǎo)程序進(jìn)行底層硬件的初始化;(2) 、基本引導(dǎo)程序?qū)崿F(xiàn)硬件初始化后啟動更新服務(wù)程序;(3) 、更新服務(wù)程序循環(huán)等待客戶端的握手請求,如果在一定時間內(nèi)握手成功,則進(jìn) 入步驟(4);否則,更新服務(wù)程序退出,啟動主引導(dǎo)程序;(4) 、更新服務(wù)程序等待客戶端發(fā)送的命令;(4.1) 、接收到取消更新命令,則服務(wù)程序從引導(dǎo)區(qū)讀取主引導(dǎo)程序并啟動主引導(dǎo)程 序,進(jìn)入步驟5;(4.2) 、接收到更新命令,服務(wù)程序啟動數(shù)據(jù)接收與校驗,a) 、數(shù)據(jù)接收失敗或者校驗失敗,發(fā)送更新失敗消息到客戶端,跳轉(zhuǎn)到步驟(4);b) 、接收到的數(shù)據(jù)經(jīng)過校驗成功后,服務(wù)程序?qū)⒅饕龑?dǎo)程序?qū)懭胍龑?dǎo)區(qū),然后啟動主引導(dǎo)程序,進(jìn)入步驟(5);(5) 、發(fā)送更新結(jié)果到客戶端,本次更新操作結(jié)束。
3、 根據(jù)權(quán)利要求1或2所述的大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新方法,其特征在于所述更新客戶端根據(jù)節(jié)點列表中的節(jié)點數(shù)目決定創(chuàng)建子線程的數(shù)目,每個子線程對應(yīng)一個節(jié)點,所有的子線程接收到更新節(jié)點后,啟動更新操作,子線程首先與目標(biāo)節(jié)點 進(jìn)行握手操作,成功后開始發(fā)送更新命令和引導(dǎo)程序更新數(shù)據(jù),并等待更新結(jié)果,所有 的子線程更新操作結(jié)束后,主程序負(fù)責(zé)收集更新結(jié)果,子線程的更新操作并行完成,子 線程之間沒有任何的通信。
4、 根據(jù)權(quán)利要求1或2所述的大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新方法,其特征在于所述客戶端中的子線程負(fù)責(zé)完成主程序分配的節(jié)點引導(dǎo)程序更新任務(wù),其步驟為(1)、主程序從節(jié)點列表中讀取需要更新的節(jié)點,并為節(jié)點列表中的每一個節(jié)點創(chuàng)建 一個子線程;如果列表為空,主程序任務(wù)完成,退出; (2) 、子線程向?qū)?yīng)節(jié)點的更新服務(wù)程序發(fā)出握手請求,服務(wù)程序接收請求后進(jìn)行解 析和驗證,通過驗證后發(fā)送驗證成功的應(yīng)答消息,否則發(fā)送驗證失敗消息;(3) 、子線程接收到握手成功消息后,進(jìn)入步驟4;否則,若沒有超時,執(zhí)行步驟2; 如果超時,通知主程序更新失敗,退出子線程;(4) 、將引導(dǎo)程序以數(shù)據(jù)包的形式發(fā)送到更新服務(wù)程序,等待接收應(yīng)答消息,更新服 務(wù)程序接收到數(shù)據(jù)包后進(jìn)行解析驗證,通過驗證后將引導(dǎo)程序?qū)懭胍龑?dǎo)分區(qū);寫入成功, 給客戶端對應(yīng)的子線程發(fā)送更新成功消息,否則發(fā)送數(shù)據(jù)更新失敗消息;(5) 、子線程等待更新結(jié)果;(5.1) 、子線程接收到更新成功的消息,通知主程序該節(jié)點更新成功,退出子線程;(5.2) 、子線程接收到更新失敗的消息,進(jìn)行重試;如果重試次數(shù)沒有超過設(shè)定的重 試次數(shù),則跳轉(zhuǎn)到步驟4;否則給對應(yīng)的節(jié)點發(fā)送取消更新操作的消息,并通知主程序該 節(jié)點更新失敗,退出子線程。
5、 一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新系統(tǒng),其特征在于它包括通信支持模 塊、運行于普通微機(jī)上的更新客戶端以及設(shè)置于大規(guī)模計算機(jī)的每個節(jié)點上的節(jié)點引導(dǎo) 程序更新模塊,所有節(jié)點更新服務(wù)模塊通過通信支持模塊與更新客戶端相連,響應(yīng)客戶 端的更新命令并最終實現(xiàn)各節(jié)點引導(dǎo)程序的并行更新。
6、 根據(jù)權(quán)利要求5所述的大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新系統(tǒng),其特征在于所述節(jié)點引導(dǎo)程序更新模塊包括基本引導(dǎo)程序單元和主引導(dǎo)程序單元,嵌入在基本引導(dǎo) 程序單元中的更新服務(wù)程序用來接收客戶端更新數(shù)據(jù)包。
7、 根據(jù)權(quán)利要求5或6所述的大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新系統(tǒng),其特征在 于所述通信支持模塊包含一個或多個支持多個節(jié)點同時更新的通信子模塊,所述通信子模塊具有一個與客戶端進(jìn)行通信的接口和多個與節(jié)點進(jìn)行通信的接口,所述通信子模塊包括一個網(wǎng)絡(luò)控制器、嵌入式微處理器、n個RS232接口控制器和n個JTAG接口,網(wǎng) 絡(luò)控制器為客戶端提供一個以太網(wǎng)接口,接口控制器負(fù)責(zé)實現(xiàn)通信子模塊和節(jié)點更新程 序之間的數(shù)據(jù)傳輸,節(jié)點通過接口控制器與通信子模塊進(jìn)行互連。
全文摘要
本發(fā)明公開了一種大規(guī)模計算機(jī)節(jié)點引導(dǎo)程序并行更新方法及系統(tǒng),更新客戶端通過通信支持模塊向大規(guī)模計算機(jī)的各個節(jié)點并行地發(fā)送更新命令和數(shù)據(jù),各節(jié)點上節(jié)點更新服務(wù)模塊接收到更新客戶端的更新命令和數(shù)據(jù)后對各節(jié)點引導(dǎo)程序進(jìn)行更新。該更新系統(tǒng)包括通信支持模塊、運行于普通微機(jī)上的更新客戶端以及設(shè)置于大規(guī)模計算機(jī)的每個節(jié)點上的節(jié)點引導(dǎo)程序更新模塊,所有節(jié)點更新服務(wù)模塊通過通信支持模塊與更新客戶端相連,響應(yīng)客戶端的更新命令并最終實現(xiàn)各節(jié)點引導(dǎo)程序的并行更新。本發(fā)明采用并發(fā)模式、具有結(jié)構(gòu)簡單、操作簡便、能夠有效解決大規(guī)模系統(tǒng)中引導(dǎo)程序的更新費時、費力問題。
文檔編號G06F9/445GK101178659SQ20071019260
公開日2008年5月14日 申請日期2007年12月14日 優(yōu)先權(quán)日2007年12月14日
發(fā)明者軍 劉, 劉光明, 孫彩霞, 屈婉霞, 徐煒遐, 曹躍勝, 李曉芳, 王永文, 田寶華, 蔣句平, 鄭明玲, 黎鐵軍 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
报价| 梨树县| 金阳县| 涡阳县| 固始县| 南汇区| 宝兴县| 库伦旗| 都江堰市| 石台县| 集安市| 同江市| 平安县| 汉沽区| 阳曲县| 绥化市| 垦利县| 信阳市| 泗阳县| 抚宁县| 靖边县| 绥宁县| 白城市| 彝良县| 龙川县| 土默特左旗| 西贡区| 兴山县| 定兴县| 上饶市| 潮安县| 岚皋县| 康马县| 静宁县| 额济纳旗| 高碑店市| 包头市| 彭山县| 邹平县| 乌审旗| 揭西县|