文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.02.006
中文引用格式: 林辛鑫,,王君實,林水生,,等. 低開銷片上網(wǎng)絡(luò)容錯傳輸機制[J].電子技術(shù)應(yīng)用,,2017,43(2):33-35,,39.
英文引用格式: Lin Xinxin,,Wang Junshi,Lin Shuisheng,,et al. Low overhead fault tolerant transmission mechanism for Network-on-Chip[J].Application of Electronic Technique,,2017,43(2):33-35,,39.
0 引言
隨著越來越多的處理器核(Cores)集成到單個芯片上,,片上網(wǎng)絡(luò)(Network-On-Chips,,NoCs)因其高帶寬和良好的靈活性,、可擴展性,已經(jīng)成為片上系統(tǒng)(System-on-Chips,,SoCs)主流的通信結(jié)構(gòu)[1],。然而,隨著技術(shù)的快速發(fā)展,,電路故障的幾率也隨之增長,,因此,想要實現(xiàn)高可靠性和高性能,,容錯手段尤為重要,。
數(shù)據(jù)鏈路上的比特錯誤被認為是片上最突出的錯誤來源[2],它主要是由信道干擾造成的,,例如串擾和耦合噪聲,。為了解決這個問題,曾有許多研究者提出可容錯的片上網(wǎng)絡(luò)傳輸機制[3],,糾錯和重傳是兩個常用的解決方法[4],。使用糾錯編碼(Error Correction Codes,ECCs)盡管可以糾正一定數(shù)量的錯誤,,但糾錯能力有限[5],。容錯主要在數(shù)據(jù)鏈路層和傳輸層,分別對應(yīng)點到點(Hop-to-Hop,,H2H)和端到端(End-to-End,,E2E)[6]。H2H的糾錯方法需要在每個路由器的每個端口提供一個譯碼器,,以便在每一跳都能對數(shù)據(jù)包進行糾錯,;而E2E的糾錯方法只需在到達目的地后糾錯。顯然,,H2H極大地減少了面積開銷,,但糾錯能力也被削弱。此外,,重傳可以用來彌補糾錯編碼的不足,,提高可靠性。通過重傳,,數(shù)據(jù)包無需在每一跳進行糾錯,。然而,過多的重傳會導(dǎo)致更大的時延(Latency)和功耗(Power Consumption),,特別是當源地址和目的地址距離很大時這種開銷更為致命[7],。另外,重傳也會帶來更大的網(wǎng)絡(luò)負載,從而導(dǎo)致網(wǎng)絡(luò)的擁塞和飽和,。因此,,為了平衡性能與開銷,必須在重傳的次數(shù)和ECC的復(fù)雜度之間進行權(quán)衡,。
本文提出了一種針對鏈路上瞬時故障[8]的傳輸機制,,在每一個路由器只對數(shù)據(jù)包的首部進行輕量級的檢錯,而將所有數(shù)據(jù)的糾錯轉(zhuǎn)移到網(wǎng)絡(luò)接口(Network Interfaces,,NIs)中進行,。該方案可以在不增加額外開銷的情況下,提供比H2H和E2E更高的可靠性,。
1 容錯機制描述
本文所提出的傳輸機制采用了ECC和E2E超時重傳機制[9],。數(shù)據(jù)包在源NIs中編碼,并在目的NIs進行譯碼,。如果譯碼正確,目的節(jié)點向源節(jié)點發(fā)送一個確認信號(ACK)確認傳送成功,;否則,,直接丟包。為了實現(xiàn)重傳機制,,源節(jié)點的NIs將對數(shù)據(jù)包進行備份,。如果在發(fā)包后的特定時間內(nèi)沒有收到ACK,源NIs將重傳備份的數(shù)據(jù)包,,當收到正確的ACK再將備份的包從緩存中刪除,。在正確接收前,數(shù)據(jù)包可能需要重傳多次,。
所有NIs都將提供譯碼器,,重用這些單元進行糾錯,可以在提高可靠性的同時降低硬件開銷,。包頭在路由器中檢錯,,而負載部分通過旁路通道傳輸,并不進行檢測,。如果沒有檢測到錯誤,,數(shù)據(jù)包將遵循路由算法傳輸?shù)较乱粋€路由器,如圖1右上部分所示,。
如果在包頭中檢測到錯誤,,數(shù)據(jù)包將進入本地NIs進行糾錯,包括包頭和負載,。隨后,,校正過的數(shù)據(jù)包回到網(wǎng)絡(luò)中繼續(xù)傳輸,如圖1左上部分所示。當然,,如果錯誤個數(shù)超出糾錯碼的糾錯能力,,數(shù)據(jù)包將在此處被直接丟棄,如圖1右下部分所示,。
如上所述,,路由器提供的是簡單的檢錯電路而非譯碼電路,極大降低了面積和功耗,。另一方面,,重用NIs中的譯碼器進行糾錯和重傳機制使得可靠性有了保障。
2 關(guān)鍵電路結(jié)構(gòu)
2.1 網(wǎng)絡(luò)接口結(jié)構(gòu)
為了讓糾錯后的數(shù)據(jù)包能重新回到網(wǎng)絡(luò)中,,需要在NIs中增加一個回送通道和相應(yīng)的控制邏輯,。在本方案中,到達目的NIs的不僅是正確的數(shù)據(jù)包,,還有頭部包含錯誤的數(shù)據(jù)包,。因此,所有數(shù)據(jù)包都將首先經(jīng)過譯碼器對包括包頭和負載的所有數(shù)據(jù)進行糾錯,。如果某一個包的錯誤個數(shù)超過了糾錯碼的能力,,則在此丟掉它。
如果正確糾錯的數(shù)據(jù)包的目的地址與NIs的地址相匹配,,數(shù)據(jù)包將進入輸出隊列,,等待上層處理單元(Processing Elements,PEs)調(diào)用,,如圖2(a)所示,。否則數(shù)據(jù)包將進入回送緩存(Buffer),如圖2(b)所示,。在這種情況下,,ECC的輸出不是原信息而是編碼后的碼字。此處使用回送緩存的目的是為了保證數(shù)據(jù)包的完整性,,回送緩存比輸入隊列更優(yōu)先使用輸入信道,。一旦輸入信道中沒有數(shù)據(jù)包,回送緩存可以立刻使用該信道注入數(shù)據(jù),。
2.2 糾錯檢錯編碼
本文采用了一種結(jié)合漢明(7,,4)碼和交織的奇偶校驗碼的作為檢錯器(Detectors)。它可以糾正單個比特的隨機錯誤并檢測2 bit的突發(fā)錯誤,。
漢明碼具有低開銷,、易于實現(xiàn)的特性,被廣泛應(yīng)用于NoCs[10],。編碼電路如圖3所示,,首先使用漢明(7,4)碼對數(shù)據(jù)進行編碼,隨后將得到的7 bit碼字分為奇數(shù)部分和偶數(shù)部分,,分別采用奇偶校驗碼編碼,。最后的碼字由來自漢明碼的7 bit數(shù)據(jù)(r[0]-r[6])和2 bit的奇偶校驗位(c[0],c[1])構(gòu)成,。
數(shù)據(jù)包在NIs進行完全的編碼和譯碼,。漢明碼在NIs中譯碼,而奇偶校驗碼在每一次糾錯后都要進行更新,。
在每個路由器中,,只使用奇偶校驗碼檢錯,重新生成新的比特(s[0],,s[1]),,并與原校驗位(c[0],c[1])進行比較,。如果s和c相同,,數(shù)據(jù)很可能是正確的。如果漢明(7,,4)碼中只有一位錯誤,,s與c會有1 bit不同。因此,,該檢錯碼能覆蓋漢明碼中的所有可糾正的錯誤。
3 仿真結(jié)果
3.1 硬件開銷
在這一部分,,ECC電路和網(wǎng)絡(luò)的面積,、功耗、時序使用Synopsys Design Compiler的TSMC 45 nm 標準元件庫進行綜合得到,。
譯碼器,、檢錯器的關(guān)鍵電路時延和功耗如表1所示。顯然相比于漢明碼,,本文提出的編碼只增加了0.55 ns的時延和5.5280 uW的能耗,。在路由器中,檢錯器比漢明碼的譯碼器更為簡單,,其時延僅僅是譯碼器的39.85%,。
不同片上網(wǎng)絡(luò)結(jié)構(gòu)的面積如表2所示。由于H2H中每個路由器的每個端口都放置了譯碼器,,其面積比基準NoC增加了12.14%,。而本文提出的方法在路由器的每個端口只需要一個簡單的檢錯電路,因此相對于基準NoC只增加了1.48%的面積,,并且比H2H少了10.66%,。
3.2 時延和功耗開銷
本部分結(jié)果使用ESYNet仿真器在8×8的蟲洞交換網(wǎng)絡(luò)中對時延和功耗進行仿真得到。數(shù)據(jù)包注入率為0.01 包/周期/路由器,采用均勻分布的隨機注入方式,。路由算法為XY路由算法,。通常情況下,一個數(shù)據(jù)包分為5片,,但ACK包的長度僅有1片,。本文僅處理瞬時故障,錯誤率從0.0到0.003錯誤/比特/周期,。對比項分別為H2H和E2E下的糾錯加上E2E超時重傳,。如表1所示,漢明碼譯碼器的最大時延遠大于檢錯器的時延,,因此在仿真時,,H2H需要為每個路由器的譯碼增加一個周期的時延。由于進行了重傳,,所有方案到達率理論上都能達到100%,。
時延和功耗的仿真結(jié)果如圖4所示。從折線圖圖4(a)可以看出,,當沒有發(fā)生故障時,,H2H方案的時延最大,因為它的每一跳增加了一個周期(Cycle),;E2E和提出的方案具有相同的時延,。隨著錯誤率的逐漸增加,E2E由于沒有糾錯機制,,其時延迅速增加并且在錯誤率等于0.000 2時超過H2H,。這是由大量的重傳造成的。相對于H2H,,本文提出的方案在時延上略有優(yōu)勢,,這是因此采用了輕量級的檢錯碼。首先,,由于檢錯碼實現(xiàn)簡單,,在路由器中無需增加一級流水,即無需額外一個Cycle,。此外,,檢錯碼覆蓋了大多數(shù)可糾正的錯誤,因此減少了重傳的次數(shù),。
柱狀圖圖4(b)描述了功耗的變化情況,,與時延具有相似的趨勢。在沒有故障時,,3種方法有相同的功耗,,隨著錯誤率的增加,,E2E的功耗同樣迅速增加,而H2H和提出的方案具有相似的走勢并且增長緩慢,。由于路由器的功耗比譯碼器或檢錯器要大得多,,顯然功耗主要來自重傳。E2E中大量的重傳導(dǎo)致了巨大的功耗,。而對于另兩種方法,,由于有效的容錯機制極大減少了重傳帶來的功耗。
4 結(jié)論
本文提出了一種低開銷的解決鏈路瞬時故障的傳輸機制,。在每個路由器中,,輕量級的檢錯碼被用來對包頭檢錯,而數(shù)據(jù)包的糾錯則在NIs中由漢明碼來完成,,超時重傳機制用來處理被丟棄的包,。邏輯時序分析和仿真結(jié)果顯示,本文提出的方案能更好地實現(xiàn)可靠性,、性能和開銷之間的平衡,。它不但能提供和H2H一樣的可靠性,并且比H2H和E2E具有更低的面積,、時延和功耗上的開銷,。
參考文獻
[1] 付方發(fā).基于片上網(wǎng)絡(luò)的MPSoC關(guān)鍵技術(shù)研究[D].哈爾濱:哈爾濱工業(yè)大學(xué)航天學(xué)院,2012.
[2] SRIDHARA S R,,SHANBHAG N R.Coding for system-on-chip networks: a unified framework[J].IEEE transactions on very large scale integration(VLSI) systems,,2005,13(6):655-667.
[3] MURALI S,,THEOCHARIDES T,,VIJAYKRISHNAN N,et al.Analysis of error recovery schemes for networks on chips[J].Trans.VLSI Systems,,2000,8(4):379-391.
[4] LEHTONEN T,,LILJEBERG P,,PLOSILA J.Analysis of forward error correction methods for nanoscale networks-on-chip[C].Proceedings of the 2nd international conference on Nano-Networks.ICST(Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering),2007:3.
[5] BERTOZZI D,,BENINI L,,G De MICHELI,Error control schemes for on-chip communication links:the energy-reliability tradeoff[J].IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,,2005(6):818-831.
[6] PANDE P P,,GANGULY A,F(xiàn)EERO B,,et al.Design of low power & reliable networks on chip through joint crosstalk avoidance and forward error correction coding[C].2006 21st IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems.IEEE,,2006:466-476.
[7] PARK D,,NICOPOULOS C,KIM J,,et al.Exploring fault-tolerant network-on-chip architectures[C].International Conference on Dependable Systems and Networks(DSN'06).IEEE,,2006:93-104.
[8] YU Q,AMPADU P.Transient and permanent error co-management method for reliable networks-on-chip[C].Networks-on-Chip(NOCS),,2010 Fourth ACM/IEEE International Symposium on.IEEE,,2010:145-154.
[9] SHAMSHIRI S,GHOFRANI A,,CHENG K T.End-to-end error correction and online diagnosis for on-chip networks[C].2011 IEEE International Test Conference.IEEE,,2011:1-10.
[10] DUTTA A,TOUBA N A.Reliable network-on-chip using a low cost unequal error protection code[C].22nd IEEE International Symposium on Defect and Fault-Tolerance in VLSI Systems(DFT 2007).IEEE,,2007:3-11.
作者信息:
林辛鑫,,王君實,林水生,,黃樂天
(電子科技大學(xué) 通信與信息工程學(xué)院,,四川 成都611731)