李冕 劉怡俊
摘要:當(dāng)前對(duì)類腦計(jì)算機(jī)的設(shè)計(jì)熱火朝天,針對(duì)脈沖神經(jīng)網(wǎng)絡(luò)去模擬計(jì)算機(jī)遇到的實(shí)際問題?;诙嗪似舷到y(tǒng)(SoC),本文提出了一種二維(2D)環(huán)形三角互連的路由網(wǎng)絡(luò)模型,包括基于事件觸發(fā)神經(jīng)元狀態(tài)的實(shí)時(shí)更新,以及基于管線式事件驅(qū)動(dòng)的脈沖處理。仿真的結(jié)果證實(shí),該脈沖神經(jīng)網(wǎng)絡(luò)模擬的多核系統(tǒng)采用這種的互連網(wǎng)絡(luò)的模型,每毫秒能處理超兩萬(wàn)個(gè)突觸事件,系統(tǒng)性能大大的提高。
關(guān)鍵詞: 類腦計(jì)算機(jī);多核系統(tǒng);互連網(wǎng)絡(luò)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2019)06-0165-02
1 引言
當(dāng)今類腦計(jì)算機(jī)的出現(xiàn),這種仿生物系統(tǒng)的設(shè)計(jì)就是模擬神經(jīng)元在大腦中的實(shí)時(shí)反映,致力于做出一個(gè)這樣的仿真平臺(tái)更進(jìn)一步的探究人腦架構(gòu),故出現(xiàn)了脈沖神經(jīng)網(wǎng)絡(luò)。而脈沖神經(jīng)網(wǎng)絡(luò)中當(dāng)一個(gè)神經(jīng)元被激活會(huì)發(fā)送一系列的脈沖事件,而脈沖事件會(huì)相應(yīng)發(fā)送給所有相連的神經(jīng)元[1]。我們利用多核系統(tǒng)平臺(tái)模擬這些神經(jīng)元,于是通信網(wǎng)絡(luò)的搭建和互連成了該系統(tǒng)實(shí)際性能影響的關(guān)鍵。
故本文針對(duì)多核SoC系統(tǒng)提出了二維(2D)環(huán)形三角互連的路由網(wǎng)絡(luò)模型。通過軟件仿真神經(jīng)元,依賴設(shè)計(jì)好定制在芯片的多播路由器的網(wǎng)絡(luò)模型,脈沖產(chǎn)生的數(shù)據(jù)包傳播通過片內(nèi)和片間通信結(jié)構(gòu)進(jìn)行傳輸。通過真實(shí)的實(shí)驗(yàn)數(shù)據(jù)結(jié)果,該方案對(duì)系統(tǒng)性能大大提升,而且降低了系統(tǒng)功耗,同樣在在延遲和吞吐率上都有很大改觀,在對(duì)類腦計(jì)算機(jī)的研究和發(fā)展有很大的意義。
2 類腦計(jì)算機(jī)的系統(tǒng)架構(gòu)總體概述
2.1 類腦計(jì)算機(jī)小規(guī)模系統(tǒng)結(jié)構(gòu)圖
為了模擬生物系統(tǒng)的高連通性,如圖1是該平臺(tái)小規(guī)模計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)圖,其中包括FPGA管理模塊,CAM模塊,多路ROM和RAM模塊,支持高效的多播,高帶寬,低延遲的通信。通信基礎(chǔ)設(shè)施核心是芯片上的路由器,同時(shí)可以無縫擴(kuò)展芯片間的連接。
2.2 路由組播通信系統(tǒng)
每個(gè)芯片都包含一個(gè)片間和片內(nèi)的路由器通信。路由器是SoC的核心并占據(jù)著它約占芯片總面積的20%。它的主要作用是指導(dǎo)每個(gè)神經(jīng)事件包日發(fā)送到那些與之連接的神經(jīng)元。考慮到最終計(jì)算機(jī)面積的限制,基于2D網(wǎng)狀的傳統(tǒng)的SoC的結(jié)構(gòu)是不可行的,因?yàn)樗麄冋紦?jù)的面積太大[2]。圖2是路由的通信系統(tǒng),路由內(nèi)核使用ARM內(nèi)核和六個(gè)端口進(jìn)行通信有六個(gè)相鄰芯片。所有端口都是全雙工的,并實(shí)現(xiàn)自定時(shí)協(xié)議。路由器內(nèi)的組織是分層的,路由器能夠轉(zhuǎn)發(fā)單個(gè)數(shù)據(jù)包,它的工作速度比傳輸端口快。
3 類腦計(jì)算機(jī)互連路由網(wǎng)絡(luò)的設(shè)計(jì)
3.1 路由間組播數(shù)據(jù)包的傳輸協(xié)議的設(shè)計(jì)
路由器采用的是組播數(shù)據(jù)包類型。組播數(shù)據(jù)包的傳輸格式如圖3所示[3]??刂谱止?jié)包含一個(gè)分組類型的比特位,有效載荷指示符,錯(cuò)誤檢測(cè),緊急路由,時(shí)間標(biāo)記符。包括出現(xiàn)的各種錯(cuò)誤可以由路由器識(shí)別并且處理。
本設(shè)計(jì)采用源地址尋址[4],每個(gè)路由表可包含232個(gè)源地址。首先與數(shù)據(jù)包的源地址與路由表中的源地址進(jìn)行匹配。匹配結(jié)果成功的話,就立馬找到相應(yīng)的轉(zhuǎn)發(fā)端口。我們有6個(gè)端口號(hào),設(shè)計(jì)了從a到f的編號(hào)代表6各端口,共有26種端口發(fā)送的組合。當(dāng)其中一個(gè)端口號(hào)的編碼位為被設(shè)置為1的時(shí)候,數(shù)據(jù)就從該口發(fā)出。編碼為0的時(shí)候與之相反。如圖4所示,代表一次數(shù)據(jù)包的發(fā)送編碼,和最后的發(fā)出位置。如果傳輸?shù)陌鼪]有找到源地址,那該包會(huì)傳輸?shù)綄?duì)角。
3.2每個(gè)節(jié)點(diǎn)間的路由空間
構(gòu)建兩個(gè)表,第一個(gè)表存儲(chǔ)發(fā)射脈沖的神經(jīng)元ID、目的地址入口、目的地址數(shù)量。第二個(gè)表存儲(chǔ)各個(gè)神經(jīng)元對(duì)應(yīng)的目的地址,從某一個(gè)位置開始,連續(xù)地存儲(chǔ)某個(gè)神經(jīng)元所對(duì)應(yīng)的目的神經(jīng)元的ID。然后通過查找第一個(gè)表,得到發(fā)射脈沖的神經(jīng)元的目的地址的入口和數(shù)量,再查找第二個(gè)表,得到具體的目的地址。
設(shè)計(jì)互連網(wǎng)絡(luò)的時(shí)候,路由間的節(jié)點(diǎn)空間的距離對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的傳輸與接收的延遲有一些影響[5]。本次設(shè)計(jì)的拓?fù)浣Y(jié)構(gòu)是相對(duì)垂直對(duì)稱的,拓?fù)渲械穆酚煽臻g都是大致一樣的是一組大致的六邊形。如圖5的描述的拓?fù)涔?jié)點(diǎn)的空間為例,六邊形表示距離為1、2、3和4的節(jié)點(diǎn)。兩個(gè)三角形的節(jié)點(diǎn)距離為5。一般來說,最大網(wǎng)絡(luò)距離是跳數(shù)需要到達(dá)任意兩個(gè)最小三角形中的節(jié)點(diǎn)。于是由圖就可以計(jì)算出每個(gè)節(jié)點(diǎn)間的傳輸?shù)木嚯x[6],便于對(duì)于數(shù)據(jù)包傳輸過程中的延遲的研究。
3.3 性能測(cè)試
在搭建好類腦計(jì)算機(jī)上搭建脈沖神經(jīng)網(wǎng)絡(luò)后,對(duì)其進(jìn)行了性能測(cè)試。得到了一系列測(cè)試數(shù)據(jù)。包括傳輸速率達(dá)到5.6Mbps,計(jì)算機(jī)系統(tǒng)功耗為230W,每個(gè)神經(jīng)元每秒可以發(fā)送80個(gè)110bits的數(shù)據(jù)包,而且其中所需的總帶寬為430Mbps。相比于其他的高性能計(jì)算機(jī)所有的性能指標(biāo)都有很大的提高。
4 結(jié)論
本文研究的互連網(wǎng)絡(luò),是在多核SoC大規(guī)模并行系統(tǒng)平臺(tái)下模擬高達(dá)十億次的神經(jīng)元工作模式[7],所以處理的數(shù)據(jù)量巨大,故冗余計(jì)算和數(shù)據(jù)通信成為關(guān)鍵。最終設(shè)計(jì)出了使用2D環(huán)形三角網(wǎng)狀模型進(jìn)行互連。神經(jīng)元在軟件中建模,它們的脈沖產(chǎn)生包通過片內(nèi)和片間通信結(jié)構(gòu)傳播依靠專門設(shè)計(jì)的片上多播路由器。通過實(shí)驗(yàn)的結(jié)果,證明了該模型是一個(gè)高度穩(wěn)定的網(wǎng)絡(luò)模型。對(duì)于未來對(duì)脈沖神經(jīng)的研究,以及類腦計(jì)算的開發(fā)具有重要的意義。
參考文獻(xiàn):
[1] K Asanovic. A supercomputer for neural computation. In Proc. Intl. Conf. on Neural Networks (ICNN94),1994.
[2] Markram H, Muller E, Ramaswamy S, et al. Reconstruction and Simulation of Neocortical Microcircuitry[J]. Cell, 2015, 163(2):456-492.
[3] 徐彥, 楊靜. 脈沖神經(jīng)元序列學(xué)習(xí)方法的影響因素研究[J]. 計(jì)算機(jī)工程, 2015, 41(11):194-201.
[4] JM. Camara et al. "Mixed-radix Twisted Torus Interconnection Networks". Proc. 21st IEEE International Parallel & Distributed Processing Symposium - IPDPS '07, Long Beach, CA, March 2007: 26-30.
[5] 王雨辰,胡華.類腦計(jì)算新發(fā)展——“TrueNorth”神經(jīng)元芯片[J].計(jì)算機(jī)科學(xué),2016, 43(6A):17-24.
[6] JJ Dongarra, HW Meuer, E Strohmaier. “Top500 Supercomputer sites”. Nov. 2008 edition. Available at: http://www.top500.org, 2008.
[7] Xia M, Ding K, Rao F, et al. Aluminum-Centered Tetrahedron-Octahedron Transition in Advancing Al-Sb-Te Phase Change Properties[J]. Scientific Reports, 2015(5):8548.
【通聯(lián)編輯:光文玲】