專(zhuān)利名稱(chēng):一種基于2D-Mesh多核網(wǎng)絡(luò)架構(gòu)的并行化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)架構(gòu)的并行化方法,具體地說(shuō)是一種用于Noc多核架構(gòu)的基于2D_Mesh多核網(wǎng)絡(luò)架構(gòu)的并行化方法。
背景技術(shù):
隨著半導(dǎo)體技術(shù)的發(fā)展,人們不斷追求高性能的高速處理機(jī),越來(lái)越多不同類(lèi)型的處理機(jī)以及重復(fù)利用的IP核被集成到單個(gè)S0C(SyStem-0n-a-Chip)芯片上。然而基于總線(xiàn)結(jié)構(gòu)的片上系統(tǒng)的資源利用率還遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到極限,在此基礎(chǔ)上研究人員提出了一種基于網(wǎng)絡(luò)和路由通信的片上網(wǎng)絡(luò)(Networks on Chip, NoC)體系結(jié)構(gòu)。NoC不僅具有良好的空間可擴(kuò)展性,還提供了很好的并行通信能力,提高了數(shù)據(jù)吞吐率及網(wǎng)絡(luò)整體性能。目前拓?fù)浣Y(jié)構(gòu)和相關(guān)應(yīng)用的研究是NoC相關(guān)研究中比較重要的方面。所謂的NoC拓?fù)浣Y(jié)構(gòu)就是指NoC中各個(gè)節(jié)點(diǎn)之間的相互連接方式。NoC的拓?fù)湓?NoC體系結(jié)構(gòu)中是十分重要的一個(gè)部分,它通常決定了片上網(wǎng)絡(luò)中所采用的路由方式,仲裁算法以及IP資源的分布。二維網(wǎng)狀網(wǎng)絡(luò)(2D-Mesh)是目前研究中最常用的拓?fù)浣Y(jié)構(gòu),其結(jié)構(gòu)是每一個(gè)資源與一個(gè)通訊節(jié)點(diǎn)相連,而一個(gè)通訊節(jié)點(diǎn)與四個(gè)相鄰的通訊節(jié)點(diǎn)和一個(gè)資源相連。通訊節(jié)點(diǎn)實(shí)現(xiàn)路由功能,并作為每個(gè)相鄰的資源節(jié)點(diǎn)的網(wǎng)絡(luò)接口。由于2D_Mesh網(wǎng)絡(luò)結(jié)構(gòu)提供了豐富的功能模塊的接口和高速的通信能力,因此為片上軟件的并行化實(shí)現(xiàn)提供了硬件的基礎(chǔ)。
發(fā)明內(nèi)容
為了有效提高片上軟件運(yùn)行效率,充分利用2D_Mesh網(wǎng)絡(luò)架構(gòu)的硬件資源,本發(fā)明的目的是提供一種基于2D_Mesh多核網(wǎng)絡(luò)架構(gòu)的并行化方法。該方法配合具有高處理能力和高通信速度的2D_Mesh架構(gòu)體系,可以充分發(fā)揮硬件系統(tǒng)的并行效用,有效提高片上軟件運(yùn)行效率,適用于具有一定特征的數(shù)字信號(hào)處理算法的高速并行實(shí)現(xiàn)。本發(fā)明的目的是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)的
一種基于2D_Mesh多核網(wǎng)絡(luò)架構(gòu)的并行化方法,其特征在于該方法包含任務(wù)、數(shù)據(jù)和流水三個(gè)層面的混合并行化;其中
對(duì)于運(yùn)算量較大的若干個(gè)并發(fā)執(zhí)行的任務(wù),分配在若干個(gè)芯片中并行執(zhí)行,實(shí)現(xiàn)任務(wù)并行化;
對(duì)于一個(gè)芯片中的一項(xiàng)任務(wù),若存在可并發(fā)執(zhí)行的數(shù)據(jù)流處理過(guò)程,將其分解到若干個(gè)同構(gòu)的功能模塊中并行執(zhí)行,實(shí)現(xiàn)數(shù)據(jù)并行化;
對(duì)于能夠分解成若干步驟的單向數(shù)據(jù)處理過(guò)程,采用流水線(xiàn)方式并發(fā)執(zhí)行,實(shí)現(xiàn)流水并行化。本發(fā)明包含了任務(wù)、數(shù)據(jù)和流水三個(gè)層面的混合并行化。對(duì)于運(yùn)算量較大的若干個(gè)并發(fā)執(zhí)行的任務(wù),由于其處理負(fù)荷較大若放在同一芯片執(zhí)行容易造成瓶頸,因此可以分配在若干個(gè)芯片中并行執(zhí)行,從而實(shí)現(xiàn)任務(wù)并行化。對(duì)于一個(gè)芯片中的一項(xiàng)任務(wù),若存在可并發(fā)執(zhí)行的數(shù)據(jù)流處理過(guò)程,可以將其分解到若干個(gè)同構(gòu)的功能模塊中并行執(zhí)行,從而實(shí)現(xiàn)數(shù)據(jù)并行化。對(duì)于整個(gè)算法流程來(lái)說(shuō),若整體或某些部分可以分解成若干步驟的單向數(shù)據(jù)處理過(guò)程,對(duì)這部分可以采用流水線(xiàn)方式并發(fā)執(zhí)行,從而實(shí)現(xiàn)流水并行化。本發(fā)明中,上述三種混合并行化各代表整個(gè)并行算法流程的一個(gè)方面,每種并行化方法針對(duì)算法的一個(gè)特征,整個(gè)并行化過(guò)程是由這三種并行化方法混合實(shí)現(xiàn)的。本發(fā)明采用混合并行化方法,利用該方法與2D_Mesh多核硬件架構(gòu)相結(jié)合可以充分發(fā)揮硬件系統(tǒng)的并行效用,同時(shí)也可以使軟件應(yīng)用充分的優(yōu)化,有效提高片上軟件運(yùn)行效率,適用于具有一定特征的數(shù)字信號(hào)處理算法的高速并行實(shí)現(xiàn)。
圖1是一種2D_Mesh多核網(wǎng)絡(luò)架構(gòu)的結(jié)構(gòu)示意圖2是本發(fā)明所述任務(wù)、數(shù)據(jù)和流水混合并行化示意圖。
具體實(shí)施例方式
下面結(jié)合實(shí)施例和附圖,以一種實(shí)際的數(shù)字信號(hào)處理過(guò)程為例,說(shuō)明該算法如何在 2D_Mesh多核網(wǎng)絡(luò)架構(gòu)上實(shí)現(xiàn)任務(wù)、數(shù)據(jù)和流水混合并行化。雷達(dá)成像算法中的RD算法是一種典型的復(fù)雜單數(shù)據(jù)流數(shù)字信號(hào)處理算法,其大致過(guò)程可分為濾波、子孔徑處理、合成孔徑處理和成圖處理四個(gè)過(guò)程。根據(jù)算法需要,可以設(shè)計(jì)一種如圖1所示的2D-Mesh多核網(wǎng)絡(luò)架構(gòu)該2D-Mesh是由4X4通信節(jié)點(diǎn)構(gòu)成作為一個(gè)芯片,其中四個(gè)節(jié)點(diǎn)各掛載一個(gè)DSP處理單元,整個(gè)硬件體系由四個(gè)同構(gòu)的四個(gè)芯片互聯(lián)構(gòu)成。對(duì)于上述算法中子孔徑和合成孔徑處理中都包含了大量可并發(fā)處理的數(shù)據(jù)流,因此這部分運(yùn)算可分配到2D-Mesh網(wǎng)絡(luò)中的DSP處理單元并發(fā)執(zhí)行,實(shí)現(xiàn)數(shù)據(jù)的并行化,如圖 2所示,Data坐標(biāo)軸表示數(shù)據(jù)的并行化。其次,在合成孔徑處理時(shí),由于是對(duì)之前多個(gè)子孔徑處理結(jié)果的綜合處理,包含大量可并發(fā)執(zhí)行的任務(wù),因此這部分任務(wù)可以分解到不同的芯片中執(zhí)行,實(shí)現(xiàn)任務(wù)的并行化,如圖2所示,Task坐標(biāo)表示任務(wù)的并行化。最后,由于整個(gè)算法是單數(shù)據(jù)流處理過(guò)程,對(duì)算法分析可以分為四級(jí)流水處理過(guò)程,因此采用流水并行的方式而不是串行的方式可以提高處理效率,如圖2所示,Pipeline坐標(biāo)表示流水并行化的過(guò)程。本發(fā)明提供了一套完整的軟件混合并行化方法,利用該方法與2D_Mesh多核硬件架構(gòu)相結(jié)合可以充分發(fā)揮硬件系統(tǒng)的并行效用,同時(shí)也可以使軟件應(yīng)用充分的優(yōu)化。
權(quán)利要求
1. 一種基于2D-Mesh多核網(wǎng)絡(luò)架構(gòu)的并行化方法,其特征在于該方法包含任務(wù)、數(shù)據(jù)和流水三個(gè)層面的混合并行化;其中對(duì)于運(yùn)算量較大的若干個(gè)并發(fā)執(zhí)行的任務(wù),分配在若干個(gè)芯片中并行執(zhí)行,實(shí)現(xiàn)任務(wù)并行化;對(duì)于一個(gè)芯片中的一項(xiàng)任務(wù),若存在可并發(fā)執(zhí)行的數(shù)據(jù)流處理過(guò)程,將其分解到若干個(gè)同構(gòu)的功能模塊中并行執(zhí)行,實(shí)現(xiàn)數(shù)據(jù)并行化;對(duì)于能夠分解成若干步驟的單向數(shù)據(jù)處理過(guò)程,采用流水線(xiàn)方式并發(fā)執(zhí)行,實(shí)現(xiàn)流水并行化。
全文摘要
本發(fā)明公開(kāi)了一種基于2D-Mesh多核網(wǎng)絡(luò)架構(gòu)的并行化方法,該方法包含任務(wù)、數(shù)據(jù)和流水三個(gè)層面的混合并行化;其中對(duì)于運(yùn)算量較大的若干個(gè)并發(fā)執(zhí)行的任務(wù),分配在若干個(gè)芯片中并行執(zhí)行,實(shí)現(xiàn)任務(wù)并行化;對(duì)于一個(gè)芯片中的一項(xiàng)任務(wù),若存在可并發(fā)執(zhí)行的數(shù)據(jù)流處理過(guò)程,將其分解到若干個(gè)同構(gòu)的功能模塊中并行執(zhí)行,實(shí)現(xiàn)數(shù)據(jù)并行化;對(duì)于能夠分解成若干步驟的單向數(shù)據(jù)處理過(guò)程,采用流水線(xiàn)方式并發(fā)執(zhí)行,實(shí)現(xiàn)流水并行化。本發(fā)明提供了一套完整的軟件混合并行化方法,利用該方法與2D-Mesh多核硬件架構(gòu)相結(jié)合可以充分發(fā)揮硬件系統(tǒng)的并行效用,有效提高片上軟件運(yùn)行效率,適用于具有一定特征的數(shù)字信號(hào)處理算法的高速并行實(shí)現(xiàn)。
文檔編號(hào)H04L12/56GK102523169SQ20111045802
公開(kāi)日2012年6月27日 申請(qǐng)日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者何書(shū)專(zhuān), 李麗, 潘紅兵, 鄭維山, 韓正飛, 黃曉林 申請(qǐng)人:南京大學(xué)