可重構(gòu)的多DSP圖像并行處理系統(tǒng)
引言
本文引用地址:http://butianyuan.cn/article/257448.htm隨著多媒體圖像處理應(yīng)用的迅速發(fā)展,體積小、重量輕、結(jié)構(gòu)靈活、處理能力強(qiáng)的嵌入式數(shù)字圖像處理系統(tǒng)在工業(yè)、醫(yī)學(xué)等方面都有越來(lái)越廣泛的需求。實(shí)時(shí)性高、計(jì)算復(fù)雜、數(shù)據(jù)量大是圖像處理系統(tǒng)面臨的重大挑戰(zhàn)。并行計(jì)算是提高處理速度最有效的技術(shù)之一,圖像并行處理技術(shù)為提高圖像處理效率提供了廣闊的空間。圖像并行處理包括并行算法和多處理器并行硬件系統(tǒng),圖像處理并行算法的執(zhí)行效率依賴于多處理器系統(tǒng)的硬件結(jié)構(gòu)。通常,一種并行結(jié)構(gòu)只適合于一類并行算法的映射。
20世紀(jì)90年代至今,圖像并行處理技術(shù)一直是圖像處理領(lǐng)域研究的熱點(diǎn)之一。參考文獻(xiàn)分別對(duì)并行處理結(jié)構(gòu)及其實(shí)現(xiàn)方法進(jìn)行了探討,提出了流水結(jié)構(gòu)、分列并行等很有價(jià)值的硬件并行結(jié)構(gòu)框架。目前,圖像并行處理結(jié)構(gòu)設(shè)計(jì)面臨的主要問(wèn)題可以概括為兩個(gè)方面:
①圖像并行處理硬件結(jié)構(gòu)復(fù)雜,在實(shí)際應(yīng)用中圖像處理結(jié)構(gòu)的開(kāi)發(fā)周期長(zhǎng)、成本高;
②面向圖像處理算法的硬件結(jié)構(gòu)針對(duì)性設(shè)計(jì)方法導(dǎo)致圖像處理平臺(tái)的可重用性差,調(diào)整、擴(kuò)展和升級(jí)困難。
本文構(gòu)建的可重構(gòu)并行計(jì)算系統(tǒng)可以通過(guò)配置可重構(gòu)處理單元來(lái)滿足不同應(yīng)用的計(jì)算要求。這樣的系統(tǒng)使圖像處理結(jié)構(gòu)設(shè)計(jì)與圖像處理的算法設(shè)計(jì)分離,具有很高的性能并且結(jié)構(gòu)靈活,能大大提高圖像處理并行算法的執(zhí)行效率和加速比。
1 傳統(tǒng)圖像并行處理技術(shù)
1.1 圖像并行處理系統(tǒng)概述
目前,用于嵌入式圖像處理系統(tǒng)的高速器件主要是DSP和FPGA。處理核心的合理選用是影響并行系統(tǒng)處理能力的一個(gè)關(guān)鍵因素。
并行處理的目的是通過(guò)采用多個(gè)處理單元同時(shí)處理輸入信息來(lái)縮短任務(wù)的執(zhí)行時(shí)間。在任務(wù)和算法確定的情況下,Amdahl定律可表明:加速比與任務(wù)并行度和處理單元個(gè)數(shù)密切相關(guān)。在任務(wù)并行度一定的情況下,增加處理單元所獲得的加速比有一個(gè)極限值,任務(wù)的并行度制約著并行處理機(jī)的性能。
在實(shí)際應(yīng)用中,還必須考慮各個(gè)處理單元之間的數(shù)據(jù)交換和同步時(shí)間。由于比串行程序執(zhí)行增加了數(shù)據(jù)通信和同步等待等開(kāi)銷(xiāo),因此當(dāng)加速比Spp(p為處理單元個(gè)數(shù))時(shí),并行效率Eff1。為使任務(wù)執(zhí)行時(shí)間縮短而Sp增大,增加處理單元個(gè)數(shù)p成為首要手段,同時(shí)要將任務(wù)進(jìn)行更細(xì)粒度的劃分以增加任務(wù)的并行度。
如圖1所示,在增加處理單元和任務(wù)細(xì)粒度化的同時(shí)將帶來(lái)總通信量的增加,影響了Sp的增加并導(dǎo)致Eff呈下降趨勢(shì)。
1.2 并行計(jì)算硬件體系結(jié)構(gòu)
并行計(jì)算處理單元之間的網(wǎng)絡(luò)結(jié)構(gòu)大致可分為2種:一種是共享總線或共享存儲(chǔ)器系統(tǒng),稱為“緊耦合式并行系統(tǒng)”,如圖2所示;另一種是各處理單元有獨(dú)立的數(shù)據(jù)存儲(chǔ)器而通過(guò)通信口相連的分布式并行系統(tǒng),稱為“松耦合式系統(tǒng)”,如圖3所示。
兩種并行計(jì)算體系結(jié)構(gòu)的比較如表1所列。
1.3 并行算法到并行結(jié)構(gòu)的映射
一個(gè)任務(wù)要在多處理機(jī)系統(tǒng)上得到處理,首先必須將其分解成一些子任務(wù),再由多處理系統(tǒng)中的各處理機(jī)分別處理這些子任務(wù),協(xié)同完成該任務(wù)。如圖4所示,并行算法在并行硬件系統(tǒng)上的應(yīng)用是一個(gè)映射過(guò)程。一類并行算法依賴于適合的并行網(wǎng)絡(luò)結(jié)構(gòu)才能高效率地運(yùn)行。
導(dǎo)致并行算法與并行結(jié)構(gòu)不匹配的原因主要有2個(gè):一是欲把一個(gè)系統(tǒng)上開(kāi)發(fā)的并行算法用于另一個(gè)系統(tǒng)上;二是由于問(wèn)題內(nèi)在的并行性,使并行算法與并行結(jié)構(gòu)不匹配。
常用圖像處理算法的特點(diǎn)及適用的并行處理結(jié)構(gòu)分析如表2所列。
綜上所述,傳統(tǒng)的共享總線系統(tǒng)與分布式并行系統(tǒng)分別適用于不同的圖像并行處理算法。分布式并行系統(tǒng)的不同連接方式之間也有較大的差異。并行算法的高效率運(yùn)行依賴于并行硬件拓?fù)浣Y(jié)構(gòu)的支持,某種硬件結(jié)構(gòu)只適合一類并行算法。一般情況,一個(gè)圖像處理任務(wù)是多個(gè)算法的集合,并行系統(tǒng)單靠某種固定結(jié)構(gòu)無(wú)法適應(yīng)所有的并行算法,這就給圖像處理系統(tǒng)帶來(lái)了問(wèn)題。當(dāng)并行硬件拓?fù)浣Y(jié)構(gòu)不適合并行算法時(shí),系統(tǒng)的性能和算法執(zhí)行效率都會(huì)受到影響,需要對(duì)并行硬件結(jié)構(gòu)做出改進(jìn)和完善。
評(píng)論