一種多處理器并行計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)
3.3 共享存儲(chǔ)區(qū)的網(wǎng)絡(luò)心跳
在多CPU 系統(tǒng)中,所有的處理器只有當(dāng)共享存儲(chǔ)區(qū)域初始化后才可以通過(guò)網(wǎng)絡(luò)進(jìn)行通信,所以各個(gè)處理器需要知道共享網(wǎng)絡(luò)是否處于激活狀態(tài)或是就緒狀態(tài)。在這里采用心跳檢測(cè)的方法使各個(gè)處理器得知網(wǎng)絡(luò)的狀態(tài)。
心跳(heartbeat)是一個(gè)計(jì)數(shù)器,它被主處理器每1 秒進(jìn)行計(jì)數(shù),其他處理器靠監(jiān)視心跳值來(lái)確認(rèn)共享網(wǎng)絡(luò)是否處于正常。其他處理器監(jiān)視心跳一般是每隔幾秒進(jìn)行一次(根據(jù)具體情況而定)。共享存儲(chǔ)器心跳偏移地址被放置在共享存儲(chǔ)器包頭的第5個(gè)4 個(gè)節(jié)的字中。如圖3 所示。
圖3 心跳數(shù)據(jù)包
3.4 處理器之間的通信
處理器之間通信可以采用中斷方式也可以采用查詢(xún)方式。每一個(gè)處理器都有一個(gè)輸入隊(duì)列用來(lái)接收其它處理器發(fā)送來(lái)得的數(shù)據(jù)包,當(dāng)采用查詢(xún)方式時(shí),處理器以固定時(shí)間間隔查詢(xún)隊(duì)列是否接收到數(shù)據(jù)。當(dāng)使用中斷方式時(shí),發(fā)送處理器通知接收處理器輸入隊(duì)列中有數(shù)據(jù)。中斷方式可以采用總線中斷或是郵箱中斷,它比查詢(xún)方式更有效。
多CPU 的并行系統(tǒng)類(lèi)似于一個(gè)嵌入式分布式系統(tǒng),它們之間的通信可采用分布式消息隊(duì)列、分式數(shù)據(jù)庫(kù)技術(shù)。分布式消息隊(duì)列和分布式數(shù)據(jù)庫(kù)技術(shù)相結(jié)合,給系統(tǒng)中的所有處理器提供了一個(gè)透明化的通信平臺(tái)。處理器訪問(wèn)分布式消息隊(duì)列,就好象是訪問(wèn)自己的資源一樣。分布式消息隊(duì)列技術(shù)可以簡(jiǎn)化應(yīng)用程序的設(shè)計(jì),加快系統(tǒng)開(kāi)發(fā)。
3.5 多處理器之間的資源分配
在具有多處理器的單板計(jì)算機(jī)系統(tǒng)中,最重要的一點(diǎn)是要考慮任務(wù)的并行執(zhí)行效率,多個(gè)處理器均需要訪問(wèn)外圍設(shè)備和進(jìn)行數(shù)據(jù)通信,這樣就存在外部設(shè)備的分配問(wèn)題。
對(duì)設(shè)備資源的分配,有兩種:一是定制(即靜態(tài)分配),即單板計(jì)算機(jī)在設(shè)計(jì)時(shí)就將資源分配好,缺點(diǎn)是適應(yīng)性不強(qiáng),資源不能根據(jù)用戶(hù)的需求而改動(dòng);二是動(dòng)態(tài)分配,在板上加載FPGA 邏輯,預(yù)留軟件接口,用戶(hù)可根據(jù)任務(wù)的要求動(dòng)態(tài)指定。整個(gè)資源控制是透明的,不需要知道是哪個(gè)CPU控制。在硬件設(shè)計(jì)時(shí),要考慮對(duì)CPU及外部設(shè)備訪問(wèn)的仲裁、優(yōu)先級(jí)設(shè)置等,防止由于訪問(wèn)臨界資源而造成的沖突。軟件則應(yīng)該指定是那一個(gè)CPU使用特定設(shè)備,其余CPU 訪問(wèn)時(shí)要互斥進(jìn)行。
4 多處理器并行計(jì)算機(jī)的性能
在該系統(tǒng)中采用CPU 類(lèi)型為Intel Pentium3處理器,主頻是700MHz。測(cè)試方法,用相同功能的數(shù)據(jù)處理算法,將之分解為模塊,分別運(yùn)行在系統(tǒng)的各個(gè)處理器中。測(cè)試結(jié)果分析,和單CPU相比,采用兩塊CPU處理,運(yùn)算性能可提高60%~70%;采用三塊CPU,運(yùn)算性能至少達(dá)到2倍。我們知道,影響這個(gè)測(cè)試結(jié)果的最大因素是測(cè)試方法,將相同功能的算法分解到多個(gè)處理器,分解的方法直接決定綜合處理效率。但可以肯定,多個(gè)處理器并行處理設(shè)計(jì),可大大提高系統(tǒng)的運(yùn)算效率。
5 結(jié)束語(yǔ)
多CPU 的并行計(jì)算機(jī)技術(shù),在很大程度上提高了系統(tǒng)計(jì)算速度,突破了單CPU 處理速度的極限。同時(shí)采用多個(gè)CPU 的單板計(jì)算機(jī)設(shè)計(jì),可以減少計(jì)算機(jī)系統(tǒng)的體積、降低開(kāi)發(fā)成本、減少系統(tǒng)的開(kāi)發(fā)周期。本文中介紹的技術(shù),在我所設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)中已經(jīng)實(shí)現(xiàn)并且得到軟硬驗(yàn)證,所采用的CPU 類(lèi)型包括DSP、pentium3 等系列。
評(píng)論