国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

神經(jīng)元計(jì)算機(jī)操作系統(tǒng)的資源分配方法

2023-09-22 06:21:14王鳳娟金歐文邢慶輝鄧水光
關(guān)鍵詞:輸入輸出資源分配神經(jīng)元

王鳳娟 呂 攀 金歐文 邢慶輝 鄧水光

1(之江實(shí)驗(yàn)室 杭州 311121)

2(浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 杭州 310058)

(wangfj@zhejianglab.com)

神經(jīng)形態(tài)計(jì)算是一種模擬大腦結(jié)構(gòu)和功能的計(jì)算模式,有望成為人工智能領(lǐng)域下一代主流的計(jì)算范式[1-2].脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural network,SNN)是神經(jīng)形態(tài)計(jì)算領(lǐng)域中最具有代表性的一種計(jì)算模型[3].SNN 通過(guò)模擬大腦神經(jīng)元行為和神經(jīng)元突觸的連接方式,以其超低功耗和事件驅(qū)動(dòng)的特性,贏得越來(lái)越廣泛的關(guān)注[4].

SNN 應(yīng)用是指運(yùn)行于神經(jīng)形態(tài)計(jì)算硬件并通過(guò)SNN 的推理或在線訓(xùn)練來(lái)實(shí)現(xiàn)功能的應(yīng)用,SNN 應(yīng)用是一類基于脈沖的機(jī)器學(xué)習(xí)方法.與人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)類似,SNN 可以通過(guò)監(jiān)督方法或無(wú)監(jiān)督方法進(jìn)行訓(xùn)練,以執(zhí)行特定任務(wù),在訓(xùn)練過(guò)程中,通過(guò)調(diào)整連接神經(jīng)元之間的突觸權(quán)重來(lái)實(shí)現(xiàn)預(yù)期的運(yùn)行效果.

神經(jīng)形態(tài)計(jì)算硬件是專為運(yùn)行SNN 應(yīng)用而設(shè)計(jì)的專用計(jì)算機(jī)系統(tǒng).為了充分發(fā)揮SNN 的低功耗優(yōu)勢(shì),國(guó)內(nèi)外許多研究機(jī)構(gòu)和企業(yè)正在研發(fā)一系列神經(jīng)形態(tài)計(jì)算硬件,其中包括SpiNNaker[5],Brain-ScaleS[6],TrueNorth[7],Loihi[8],Tianjic[9-10],DYNAP-SE[11],Neurogrid[12]和Darwin[13]等.這些硬件都遵循共同的設(shè)計(jì)原則來(lái)運(yùn)行SNN 應(yīng)用,具體來(lái)說(shuō),它們都使用大量專門設(shè)計(jì)的神經(jīng)形態(tài)計(jì)算核心來(lái)存儲(chǔ)突觸權(quán)重與并行模擬神經(jīng)元?jiǎng)恿W(xué).

大規(guī)模神經(jīng)形態(tài)計(jì)算硬件系統(tǒng)最常見(jiàn)的設(shè)計(jì)是采用2D 網(wǎng)格結(jié)構(gòu)的片上網(wǎng)絡(luò),其主要特點(diǎn)是具有高可擴(kuò)展性且具有并行計(jì)算的能力.基于這種架構(gòu),研發(fā)人員也開(kāi)發(fā)了一系列配套的軟件工具將SNN 應(yīng)用部署到神經(jīng)形態(tài)硬件系統(tǒng).將SNN 應(yīng)用部署到神經(jīng)形態(tài)計(jì)算硬件系統(tǒng)主要分為3 個(gè)步驟:

1)SNN 應(yīng)用建模和訓(xùn)練.2)編譯.編譯器首先根據(jù)神經(jīng)形態(tài)計(jì)算硬件限制將SNN 應(yīng)用中的神經(jīng)元?jiǎng)澐譃槎鄠€(gè)神經(jīng)元簇;然后根據(jù)映射規(guī)則,將神經(jīng)元簇節(jié)點(diǎn)映射到手動(dòng)指定或者自動(dòng)查詢的空閑的神經(jīng)形態(tài)計(jì)算硬件核心上;最后根據(jù)映射的硬件和路由信息生成可以在硬件上運(yùn)行的二進(jìn)制指令.相關(guān)研究如 PACMAN[14],PyCARL[15],SpiNeMap[16],DFSynthesizer[17],以及文獻(xiàn)[18]引入Hilbert curve 和Force Directed(FD)方法優(yōu)化神經(jīng)元簇的劃分和映射過(guò)程,旨在降低SNN 應(yīng)用在神經(jīng)形態(tài)計(jì)算硬件上的脈沖通信能耗、延遲和擁塞.除此之外,在映射時(shí)將脈沖輸入輸出神經(jīng)元簇映射到SNN 應(yīng)用的外圍核心,以減少脈沖輸入輸出的通信代價(jià).3)運(yùn)行時(shí)加載.將第2 步驟生成的二進(jìn)制指令加載到對(duì)應(yīng)的神經(jīng)形態(tài)硬件核心上運(yùn)行.相關(guān)研究如德國(guó)海德堡大學(xué)為BrainScaleS[6]硬件系統(tǒng)構(gòu)建的運(yùn)行時(shí)環(huán)境BrainScaleS OS[19]、英國(guó)曼徹斯特大學(xué)為SpiNNaker[5]硬件開(kāi)發(fā)的軟件工具鏈SpiNNTools[20],以及Intel 為L(zhǎng)oihi[8]提供的開(kāi)發(fā)工具鏈Loihi toolchain[21].

神經(jīng)形態(tài)計(jì)算硬件具有支持多個(gè)SNN 應(yīng)用在不同核心上并行運(yùn)行的能力.隨著硬件規(guī)模的增長(zhǎng),軟件系統(tǒng)可管理和調(diào)度的神經(jīng)形態(tài)計(jì)算硬件核心資源數(shù)量也在不斷增加,遠(yuǎn)遠(yuǎn)超出了傳統(tǒng)多核系統(tǒng)的數(shù)量,且SNN 應(yīng)用具有到達(dá)時(shí)間和執(zhí)行時(shí)長(zhǎng)不可預(yù)測(cè)的特性,如何高效地為多個(gè)SNN 應(yīng)用動(dòng)態(tài)分配資源是一個(gè)重要的研究課題.目前,SNN 應(yīng)用的資源分配在編譯階段手動(dòng)或自動(dòng)地將其綁定到神經(jīng)形態(tài)硬件上,這種方法在小規(guī)模資源情況下可能不會(huì)受到明顯的限制;然而,在面對(duì)大規(guī)模神經(jīng)形態(tài)硬件系統(tǒng)時(shí),如何動(dòng)態(tài)地管理硬件資源并為大量SNN 應(yīng)用分配資源則面臨著巨大的挑戰(zhàn).

為了應(yīng)對(duì)上面提到的挑戰(zhàn),我們提出了一種新穎的資源分配框架,首先提出與編譯解耦的SNN 應(yīng)用資源分配流程,編譯階段映射到邏輯核心,神經(jīng)元計(jì)算機(jī)操作系統(tǒng)負(fù)責(zé)統(tǒng)一管理神經(jīng)形態(tài)計(jì)算硬件資源,在加載SNN 應(yīng)用時(shí)為SNN 應(yīng)用分配神經(jīng)形態(tài)計(jì)算硬件核心資源以及相關(guān)的輸入輸出路由信息.其次,引入最大空矩形(maximum empty rectangle,MER)算法處理神經(jīng)形態(tài)計(jì)算硬件資源的管理和動(dòng)態(tài)分配問(wèn)題,并且基于SNN 應(yīng)用的脈沖輸入輸出特性,本文提出一種基于MER 的脈沖輸入輸出通信代價(jià)最小化的核心資源分配(MER-based minimize spiking input and output costs resource allocation,MER-MSIOCRA)方法.文獻(xiàn)[22]率先提出了MER 策略,并基于MER 策略提出了保持所有最大空矩形和保持非重疊空矩形2 種算法,這些算法證明只要存在一個(gè)合適的空閑區(qū)域,總是可以找到MER,并實(shí)驗(yàn)證明了這些算法在任務(wù)接受率上的優(yōu)勢(shì).文獻(xiàn)[23]基于MER 策略提出如何在二維空間中快速有效查找MER 并管理MER 列表,根據(jù)MER 列表為任務(wù)分配最合適的資源位置,并在任務(wù)動(dòng)態(tài)添加或刪除時(shí),實(shí)時(shí)維護(hù)和調(diào)整MER列表.由于神經(jīng)元計(jì)算機(jī)操作系統(tǒng)對(duì)神經(jīng)形態(tài)計(jì)算硬件資源的管理和調(diào)度是基于二維網(wǎng)格(2D-Mesh)的核心資源,并且SNN 應(yīng)用所需的核心資源可以表達(dá)為矩形區(qū)域內(nèi)核心集,因此,我們把為SNN 應(yīng)用分配資源理解為在神經(jīng)形態(tài)計(jì)算資源中找到一塊空閑的矩形區(qū)域核心集是非常合理的.然而,SNN 應(yīng)用與傳統(tǒng)應(yīng)用的主要區(qū)別在于,SNN 應(yīng)用的運(yùn)行依賴于脈沖輸入和脈沖輸出來(lái)完成計(jì)算,因此,為SNN 應(yīng)用分配資源需要考慮到脈沖的輸入輸出路由.而輸入輸出路由的選擇會(huì)直接影響SNN 應(yīng)用的運(yùn)行延遲以及整個(gè)系統(tǒng)的性能,這是由于脈沖在神經(jīng)形態(tài)計(jì)算硬件核心間的傳輸需要時(shí)間,如果SNN 應(yīng)用被放置在距離輸入輸出通道較遠(yuǎn)的位置,那么脈沖的傳輸就需要更多的時(shí)間,這將導(dǎo)致計(jì)算延遲增加.因此,在為SNN 應(yīng)用選擇放置位置時(shí),除了需要考慮空閑資源的位置和大小外,還需要考慮脈沖輸入輸出路由的影響.

本文提出的資源分配方法不僅提高了資源分配的靈活性,而且可以有效降低系統(tǒng)的脈沖輸入輸出功耗、延遲,以及降低資源碎片率.本文貢獻(xiàn)有2方面:

1)提出了一種神經(jīng)元計(jì)算機(jī)操作系統(tǒng)的資源分配框架,即與編譯解耦的資源分配過(guò)程.具體來(lái)講,在編譯階段,將SNN 應(yīng)用映射到邏輯核心,無(wú)需關(guān)心神經(jīng)形態(tài)計(jì)算硬件的實(shí)時(shí)運(yùn)行狀態(tài);在運(yùn)行時(shí)階段,再為SNN 應(yīng)用分配神經(jīng)形態(tài)計(jì)算硬件核心資源及相關(guān)的輸入輸出路由信息.

2)創(chuàng)新地引入了最大空矩形算法來(lái)處理神經(jīng)形態(tài)計(jì)算硬件資源的管理和動(dòng)態(tài)分配問(wèn)題.并且基于MER算法,結(jié)合SNN 的脈沖輸入輸出特性,我們提出了最小化脈沖輸入輸出通信代價(jià)的資源分配算法MERMSIOCRA.實(shí)驗(yàn)結(jié)果表明,對(duì)比現(xiàn)有算法,我們所提出的算法明顯降低了脈沖輸入輸出的能耗和延遲.

1 相關(guān)工作

針對(duì)SNN 應(yīng)用的資源分配問(wèn)題,研發(fā)人員開(kāi)發(fā)了一系列工具將SNN 應(yīng)用映射到神經(jīng)形態(tài)計(jì)算硬件核心上,相關(guān)研究如下.

BrainScaleS OS[19]以二維網(wǎng)格形式將神經(jīng)形態(tài)計(jì)算硬件核心抽象化,并提供用于綁定指定硬件及其核心坐標(biāo)的接口,然后將其轉(zhuǎn)換為硬件指令.然而,此方法在編譯SNN 應(yīng)用時(shí)便固定了硬件資源,缺乏靈活性,未提及如何動(dòng)態(tài)管理和分配核心.

SpiNNaker[5]構(gòu)建的軟件工具鏈也經(jīng)過(guò)多次迭代以解決SNN 應(yīng)用如何放置到硬件系統(tǒng)的問(wèn)題.其中,PACMAN48[24]要求用戶通過(guò)ybug2 工具手動(dòng)加載編譯后的SNN 應(yīng)用和路由表到SpiNNaker 機(jī)器上,且只支持單板;文獻(xiàn)[25]將SpiNNaker 系統(tǒng)中的映射問(wèn)題抽象成電路布局設(shè)計(jì),SpiNNTools[20]使用有向圖描述映射情況,有向圖的頂點(diǎn)表示PCB 板,有向圖的邊表示PCB 板之間的通信關(guān)系,通過(guò)一系列流程自動(dòng)查詢并綁定到可用的硬件機(jī)器,但仍是在編譯映射前綁定到硬件機(jī)器,缺乏流程靈活性.

文獻(xiàn)[21]中的方法是為L(zhǎng)oihi[8]構(gòu)建的包含編譯和運(yùn)行時(shí)2 個(gè)階段的軟件工具鏈,編譯分為預(yù)處理、資源分配和代碼生成3 個(gè)階段,資源分配階段通過(guò)將SNN 的網(wǎng)絡(luò)實(shí)體貪婪地分配給可用的核心資源來(lái)執(zhí)行資源分配,然后經(jīng)過(guò)代碼生成階段將SNN 應(yīng)用轉(zhuǎn)換為二進(jìn)制字節(jié)流,通過(guò)調(diào)用Loihi 運(yùn)行時(shí)庫(kù)完成運(yùn)行.

IBM 建立的基于TrueNorth 芯片的軟硬件生態(tài)系統(tǒng)[26]提出了設(shè)計(jì)和運(yùn)行時(shí)2 個(gè)工作流,針對(duì)資源分配,在設(shè)計(jì)階段的Placer 中采用了以最小化芯片間脈沖通信量、最小化芯片內(nèi)脈沖通信距離和最大化輸入輸出為目標(biāo)的啟發(fā)式算法來(lái)完成神經(jīng)元簇的物理映射.

上面所提到的軟件都是在編譯階段完成SNN 應(yīng)用的資源分配,在運(yùn)行時(shí)階段加載的神經(jīng)形態(tài)計(jì)算硬件核心是在編譯階段手動(dòng)或自動(dòng)綁定的硬件核心,沒(méi)有做到編譯映射與運(yùn)行時(shí)加載到神經(jīng)形態(tài)計(jì)算硬件核心解耦.在面對(duì)多SNN 應(yīng)用同時(shí)運(yùn)行時(shí),對(duì)神經(jīng)形態(tài)計(jì)算硬件核心資源的統(tǒng)一管理和動(dòng)態(tài)分配卻往往被忽視.

Darwin-S[27]是相對(duì)更完整、更簡(jiǎn)潔的軟件參考體系結(jié)構(gòu),它包括一個(gè)類腦操作系統(tǒng)(Brain-inspired OS)和一個(gè)集成開(kāi)發(fā)環(huán)境(integrated development environment,IDE).Brain-inspired OS 提供了硬件抽象層和資源管理層,其中資源管理層實(shí)現(xiàn)神經(jīng)形態(tài)計(jì)算硬件資源的管理和統(tǒng)一調(diào)度,在資源管理層為SNN 應(yīng)用動(dòng)態(tài)分配神經(jīng)形態(tài)計(jì)算硬件核心資源及部分路由信息,如脈沖輸入輸出路由;IDE 中包括SNN構(gòu)建語(yǔ)言和編譯器,編譯器根據(jù)硬件約束將神經(jīng)元?jiǎng)澐植⒂成涞竭壿嫼诵?,文獻(xiàn)[18]基于平臺(tái)提出了一種先進(jìn)的神經(jīng)元?jiǎng)澐趾陀成涞乃惴?

2 問(wèn)題建模

2.1 神經(jīng)形態(tài)計(jì)算硬件模型

目前,幾乎所有新型的大規(guī)模神經(jīng)形態(tài)芯片[5-13]的設(shè)計(jì)都是基于二維網(wǎng)格片上網(wǎng)絡(luò)(2D mesh network on chip,2D Mesh NoC)的計(jì)算架構(gòu).圖1 展示了一個(gè)典型的神經(jīng)形態(tài)計(jì)算硬件架構(gòu)的抽象模型.這個(gè)架構(gòu)由多個(gè)通過(guò)路由節(jié)點(diǎn)相互連接的同質(zhì)同構(gòu)神經(jīng)形態(tài)核心組成,每個(gè)神經(jīng)形態(tài)核心都能并行地模擬神經(jīng)元行為并存儲(chǔ)突觸權(quán)重.每個(gè)神經(jīng)形態(tài)核心與一個(gè)路由節(jié)點(diǎn)綁定,并通過(guò)雙向鏈路將其與4 個(gè)方向上的鄰居節(jié)點(diǎn)連接起來(lái),從而形成了一個(gè)具有2D 網(wǎng)格拓?fù)浣Y(jié)構(gòu)的互聯(lián)網(wǎng)絡(luò).通過(guò)互連線級(jí)聯(lián)多個(gè)芯片,可以構(gòu)建更大規(guī)模的二維網(wǎng)格.每個(gè)神經(jīng)形態(tài)核心與其綁定的路由節(jié)點(diǎn)都有一個(gè)坐標(biāo) (x,y),神經(jīng)形態(tài)核心之間通過(guò)路由節(jié)點(diǎn)傳輸脈沖包,脈沖包在片上網(wǎng)絡(luò)采用XY算法進(jìn)行路由,即通過(guò)目標(biāo)神經(jīng)形態(tài)核心與源核心在X和Y方向上的差值來(lái)完成傳輸.

Fig.1 Neuromorphic computing hardware resources model圖1 神經(jīng)形態(tài)計(jì)算硬件資源模型

神經(jīng)形態(tài)計(jì)算硬件資源的大小通過(guò)二元組(N,M) 表示,這意味著有N×M個(gè)可用的神經(jīng)形態(tài)核心(圖1 實(shí)心圓圈所示).我們將神經(jīng)形態(tài)計(jì)算硬件資源定義為一個(gè)集合:

其中,每個(gè)神經(jīng)形態(tài)核心ci=(x,y)用一個(gè)二元組表示在二維網(wǎng)格中的坐標(biāo),x表示該神經(jīng)形態(tài)核心在網(wǎng)格X方向上的位置,y表示該神經(jīng)形態(tài)核心在網(wǎng)格Y方向上的位置.二維網(wǎng)格左上角的神經(jīng)形態(tài)核心索引為 (0,0),右下角的神經(jīng)形態(tài)核心索引為 (N-1,M-1).

軟件與片上網(wǎng)絡(luò)輸入輸出脈沖通過(guò)芯片邊緣的4 個(gè)直接內(nèi)存訪問(wèn)(direct memory access,DMA)通道進(jìn)行通信,我們將脈沖輸入輸出方向定義為:dir∈{WEST,EAST,NORTH,SOUTH},分別代表西、東、北、南4 個(gè)方向的DMA 通道.我們將DMA 抽象為與片上網(wǎng)絡(luò)同行同列的虛擬輸入輸出核心(如圖1 的虛線圓圈所示),用于在軟件與片上網(wǎng)絡(luò)核心之間傳遞輸入輸出脈沖.虛擬輸入輸出核心定義為4 個(gè)邊緣核心的坐標(biāo)集合:

根據(jù)式(1)和式(2),我們將硬件資源表示為所有神經(jīng)形態(tài)核心與虛擬輸入輸出核心的集合:

2.2 SNN 應(yīng)用映射簇網(wǎng)絡(luò)

編譯階段主要完成SNN 的劃分和映射,SNN 應(yīng)用編譯離線完成,編譯階段映射的核心稱為邏輯核心,如圖2 所示SNN 應(yīng)用1 和SNN 應(yīng)用2 的編譯過(guò)程,其中右側(cè)空心圓圈形成的是一塊 4×5的邏輯核心網(wǎng)格配置,邏輯核心具有與神經(jīng)形態(tài)核心同樣的行為和限制.值得注意的是,映射的邏輯核心無(wú)需與神經(jīng)形態(tài)核心的實(shí)時(shí)狀態(tài)進(jìn)行綁定,即所有離線編譯的SNN 應(yīng)用可以使用同一塊邏輯核心配置,實(shí)現(xiàn)了與神經(jīng)形態(tài)計(jì)算硬件解耦的目的.

Fig.2 SNN APP compile圖2 SNN 應(yīng)用編譯

根據(jù)神經(jīng)形態(tài)核心的限制,將SNN 劃分為神經(jīng)元簇,并根據(jù)一定的映射規(guī)則[18]將神經(jīng)元簇映射到邏輯核心,映射的產(chǎn)物是映射簇網(wǎng)絡(luò)(mapped cluster network,MCN).在映射階段,遵循著將與脈沖輸入輸出節(jié)點(diǎn)直接相連的神經(jīng)元簇節(jié)點(diǎn)映射到網(wǎng)絡(luò)的邊緣邏輯核心.由于神經(jīng)形態(tài)計(jì)算硬件存在對(duì)稱性,在不影響實(shí)驗(yàn)結(jié)果的前提下,為簡(jiǎn)化表達(dá),本文指定了默認(rèn)脈沖輸入輸出方向?yàn)?WEST.我們將MCN定義為一個(gè)五元組:

其中,Vclu={c0,c1,…} 代表神經(jīng)元簇節(jié)點(diǎn)集合,Vio={io0,io1,…}代表虛擬輸入輸出節(jié)點(diǎn)集合,表示軟件與片上網(wǎng)絡(luò)輸入輸出脈沖的虛擬節(jié)點(diǎn)集合.E={e0,e1,…} 代表邊集;每個(gè)ei∈E用一個(gè)三元組ei=(si,ti,wi)表示,代表源節(jié)點(diǎn)si到目的節(jié)點(diǎn)ti的具有脈沖通信連接且通信流量權(quán)重為ei,并且此通信流量與該連接的脈沖傳輸?shù)目倲?shù)成正比;Eclu表示神經(jīng)元簇之間的連接;Eio表示虛擬輸入輸出節(jié)點(diǎn)與神經(jīng)元簇之間的連接,其中E=表示ci到邏輯核心的映射函數(shù),即Plog(ci)=(xi,yi).

圖2 給出了一個(gè)SNN 應(yīng)用映射簇網(wǎng)絡(luò)的示例.其中SNN 應(yīng)用1 是一個(gè)包含12 個(gè)神經(jīng)元(n0~n11)的全連接SNN.首先,基于神經(jīng)形態(tài)核心的限制(圖2顯示每個(gè)核心能存儲(chǔ)的最大神經(jīng)元數(shù)量為3)將神經(jīng)元n0~n11劃分為4 個(gè)神經(jīng)元簇節(jié)點(diǎn)c0~c3,即Vclu={c0,c1,c2,c3};其中與脈沖輸入直接相連的神經(jīng)元n0~n1被劃分在神經(jīng)元簇節(jié)點(diǎn)c0,定義與c0相連的虛擬輸入節(jié)點(diǎn)為io0且連接權(quán)重w0=2,因此e0=(io0,c0,2),同理e1=(io1,c1,2),與脈沖輸出直接相連的神經(jīng)元n9~n11被劃分在神經(jīng)元簇節(jié)點(diǎn)c3,定義與c3相連的虛擬輸出節(jié)點(diǎn)為io2且連接權(quán)重w2=3,即e7=(c3,io2,3);則Vio={io0,io1,io2},Eio={e0,e1,e7}={(io0,c0,2),(io1,c1,2),(c3,io2,3)},Eclu={e2,e3,e4,e5,e6}.在映射階段,根據(jù)映射規(guī)則,神經(jīng)元簇節(jié)點(diǎn)c0~c3分別映射的邏輯核心為:Plog(c0)=(0,0),Plog(c1)=(1,0),Plog(c2)=(1,1),Plog(c3)=(2,0).針對(duì)SNN 應(yīng)用2,邏輯核心映射為:Plog(c0)=(0,0),Plog(c1)=(0,1),Plog(c2)=(1,1),Plog(c3)=(1,0).

2.3 問(wèn)題定義

對(duì)于神經(jīng)形態(tài)計(jì)算硬件資源HWsys和n個(gè)待分配神經(jīng)形態(tài)計(jì)算硬件資源的SNN 應(yīng)用MCN,TS={MCN0,MCN1,…,MCNn-1},資源分配問(wèn)題可以被建模為MCNi中每個(gè)邏輯核心分配合適的神經(jīng)形態(tài)核心以及指定脈沖輸入輸出方向.具體來(lái)說(shuō),就是將一組邏輯神經(jīng)形態(tài)核心集合分配到物理神經(jīng)形態(tài)核心集合,并指定虛擬輸入輸出節(jié)點(diǎn)與虛擬輸入輸出核心的映射.

輸入:神經(jīng)形態(tài)計(jì)算硬件資源HWsys和所有SNN應(yīng)用的MCN集合TS;

輸出:對(duì)每個(gè)MCN,一個(gè)映射函數(shù)P.P表示為MCN的邏輯核心(分配的)物理神經(jīng)(形態(tài)核)心的映射函數(shù),其中,

我們使用4 個(gè)指標(biāo)來(lái)量化本文算法的性能.

1)脈沖輸入輸出總能耗峰值

給定一個(gè)MCN和一個(gè)資源分配結(jié)果P(MCN),MCN消耗的脈沖輸入輸出能耗(energy cost,EC) 計(jì)算為:

其中,disi=‖P(si)-P(ti)‖ 表示2 個(gè)神經(jīng)形態(tài)核心之間的曼哈頓距離,ENroute表示路由器路由一個(gè)脈沖的能耗,ENwire表示路由器之間的鏈路傳遞一個(gè)脈沖的能耗.

給定TS和每個(gè)MCNi的資源分配結(jié)果P(MCNi),基于式(5)計(jì)算神經(jīng)形態(tài)計(jì)算硬件系統(tǒng)脈沖輸入輸出消耗的總能耗峰值:

2)脈沖輸入輸出平均延遲

給定一個(gè)MCN和一個(gè)資源分配結(jié)果P(MCN),MCN的脈沖輸入輸出平均延遲(average latency,AL)計(jì)算為:

其中,Lroute表示路由器路由一個(gè)脈沖的延遲,Lwire表示路由器之間的鏈路傳遞一個(gè)脈沖的延遲.

給定TS和每個(gè)MCNi的資源分配結(jié)果P(MCNi),基于式(7)計(jì)算神經(jīng)形態(tài)計(jì)算硬件系統(tǒng)脈沖輸入輸出的平均傳輸延遲峰值:

3)脈沖輸入輸出最大延遲

給定一個(gè)MCN和一個(gè)資源分配結(jié)果P(MCN),MCN的脈沖輸入輸出最大延遲(maxmize latency,ML)計(jì)算為:

給定TS和每個(gè)MCNi的資源分配結(jié)果P(MCNi),基于式(9)計(jì)算神經(jīng)形態(tài)計(jì)算硬件系統(tǒng)上脈沖輸入輸出的最大延遲為:

4)碎片率

給定TS和所有分配成功的MCNi集合TSsuccess,資源碎片率(fragmentation rate,FR)計(jì)算為:

其中,MCNi.w,MCNi.h分別表示MCNi的邏輯核心組成的矩形區(qū)域的寬和高,N×M表示神經(jīng)形態(tài)計(jì)算硬件核心總數(shù)量.

3 神經(jīng)元計(jì)算機(jī)操作系統(tǒng)的資源分配方法

3.1 神經(jīng)元計(jì)算機(jī)操作系統(tǒng)的資源分配流程

文獻(xiàn)[27]提出的Darwin-S 包括了IDE 和一個(gè)類腦操作系統(tǒng)Brain-inspired OS.IDE 包括編譯器,負(fù)責(zé)編譯SNN 應(yīng)用并生成運(yùn)行于神經(jīng)形態(tài)計(jì)算硬件系統(tǒng)的二進(jìn)制指令;Brain-inspired OS 作為運(yùn)行時(shí)除了將SNN 應(yīng)用加載到神經(jīng)形態(tài)計(jì)算硬件外,負(fù)責(zé)抽象和管理神經(jīng)形態(tài)計(jì)算硬件核心資源,統(tǒng)一為SNN 應(yīng)用分配神經(jīng)形態(tài)計(jì)算硬件資源,并行調(diào)度多個(gè)SNN 應(yīng)用等.

本節(jié)提出的神經(jīng)元計(jì)算機(jī)操作系統(tǒng)的資源分配流程是在Brain-inspired OS 的基礎(chǔ)上實(shí)現(xiàn)的,旨在提升神經(jīng)形態(tài)資源管理的效率以及資源分配的靈活性.

所提出的資源分配流程為:

1)編譯器離線完成SNN 應(yīng)用的編譯,輸出SNN應(yīng)用在神經(jīng)形態(tài)計(jì)算硬件上運(yùn)行的二進(jìn)制指令以及對(duì)應(yīng)的MCN,其中編譯階段輸出的二進(jìn)制指令不用關(guān)注軟件到片上網(wǎng)絡(luò)SNN 的輸入輸出路由,或者在編譯階段統(tǒng)一默認(rèn)一個(gè)輸入輸出路由.當(dāng)SNN 應(yīng)用需要運(yùn)行時(shí)再發(fā)送到神經(jīng)元計(jì)算機(jī)操作系統(tǒng).

2)神經(jīng)元計(jì)算機(jī)操作系統(tǒng)接收到SNN 應(yīng)用時(shí),根據(jù)操作系統(tǒng)管理的神經(jīng)形態(tài)計(jì)算硬件核心資源的實(shí)時(shí)占用情況,給SNN 應(yīng)用分配合適的空閑核心資源以及脈沖輸入輸出路由,根據(jù)實(shí)際分配的軟件到片上網(wǎng)絡(luò)的脈沖輸入輸出路由,修改SNN 應(yīng)用中二進(jìn)制指令和MCN中的輸入輸出路由信息并加載到神經(jīng)形態(tài)計(jì)算硬件上運(yùn)行.

圖3 展示了其他現(xiàn)有研究的資源分配過(guò)程(圖3(a))與我們提出的神經(jīng)元計(jì)算機(jī)操作系統(tǒng)資源分配過(guò)程(圖3(b))的對(duì)比.我們提出的資源分配流程帶來(lái)的好處為:

Fig.3 Comparison of resource allocation processes圖3 資源分配流程對(duì)比

1)實(shí)現(xiàn)了編譯與神經(jīng)形態(tài)計(jì)算硬件的實(shí)時(shí)狀態(tài)解耦.編譯器假定一塊資源永遠(yuǎn)是可用的,無(wú)需考慮軟件與片上網(wǎng)絡(luò)脈沖輸入輸出的路由以及真實(shí)的神經(jīng)形態(tài)計(jì)算硬件的運(yùn)行狀態(tài),如神經(jīng)形態(tài)核心的占用情況、資源碎片化等.編譯器可以將更多的精力集中在SNN 應(yīng)用的優(yōu)化上,這種策略能大幅度提升編譯效率.

2)只有當(dāng)SNN 需要加載到神經(jīng)形態(tài)計(jì)算硬件運(yùn)行時(shí)才需要給SNN 分配硬件資源,而不需要提前為待編譯的SNN 應(yīng)用預(yù)留資源.

3)實(shí)現(xiàn)了神經(jīng)元計(jì)算機(jī)操作系統(tǒng)統(tǒng)一管理神經(jīng)形態(tài)計(jì)算硬件資源以及最大化利用硬件資源.例如,如圖4(a)所示,在神經(jīng)形態(tài)計(jì)算硬件不足或者資源碎片化嚴(yán)重時(shí),我們通過(guò)應(yīng)用遷移有效地利用碎片化資源.如果硬件資源因?yàn)樗槠療o(wú)法滿足SNN 應(yīng)用C的資源需求,神經(jīng)元操作系統(tǒng)的任務(wù)調(diào)度模塊會(huì)將已部署的SNN 應(yīng)用B遷移到其他碎片化位置,釋放并整合更多的資源以滿足SNN 應(yīng)用C的需求.應(yīng)用遷移的過(guò)程只需在神經(jīng)元計(jì)算機(jī)操作系統(tǒng)完成即可,不需要重新編譯SNN 應(yīng)用.

Fig.4 Parallel scheduling scenario圖4 并行調(diào)度場(chǎng)景

4)實(shí)現(xiàn)了神經(jīng)元計(jì)算機(jī)操作系統(tǒng)可以并行運(yùn)行多個(gè)SNN 應(yīng)用的可能性.SNN 應(yīng)用是通過(guò)每個(gè)時(shí)間步完成脈沖計(jì)算,而不同的SNN 應(yīng)用所需的時(shí)間步可能不一樣.在調(diào)度多個(gè)SNN 應(yīng)用時(shí),我們的操作系統(tǒng)可以將具有相同時(shí)間步的SNN 應(yīng)用分配或遷移到共享一個(gè)時(shí)間步的硬件節(jié)點(diǎn)上運(yùn)行,實(shí)現(xiàn)真正的并行運(yùn)行多個(gè)SNN 應(yīng)用.如圖4(b)所示,對(duì)于SNN 應(yīng)用A~D,其時(shí)間步長(zhǎng)度分別為10 ms,1 ms,8 ms,2 ms,將相近時(shí)間步的SNN 應(yīng)用A和C分配到硬件節(jié)點(diǎn)1上,并將硬件節(jié)點(diǎn)1 計(jì)算的時(shí)間步長(zhǎng)度設(shè)置為10 ms,那么在調(diào)度硬件節(jié)點(diǎn)1 上應(yīng)用時(shí),可以并行運(yùn)行SNN 應(yīng)用A和C;同理,將SNN 應(yīng)用B和D分配到硬件節(jié)點(diǎn)2,硬件節(jié)點(diǎn)2 計(jì)算的時(shí)間步長(zhǎng)度設(shè)置為2 ms,即可以做到并行運(yùn)行硬件節(jié)點(diǎn)2 上的所有應(yīng)用.3)和4)流程主要是由神經(jīng)元計(jì)算機(jī)操作系統(tǒng)的調(diào)度器和資源分配模塊協(xié)同完成的,其中調(diào)度器的詳細(xì)內(nèi)容超出了本文的討論范圍,因此不再進(jìn)行詳細(xì)說(shuō)明.

針對(duì)神經(jīng)元計(jì)算機(jī)操作系統(tǒng)管理以及為SNN 應(yīng)用分配神經(jīng)形態(tài)計(jì)算硬件資源的方法,本文引入MER 算法管理空閑資源[23].MER 頂點(diǎn)包括左上角(left top,LT)、右上角(right top,RT)、左下角(left bottom,LB)、右下角(right bottom,RB),為SNN 應(yīng)用分配資源時(shí),將SNN 應(yīng)用MCN的邏輯核心形成的矩形放置在頂點(diǎn)的位置,對(duì)于所有滿足資源分配條件的候選位置,找到一個(gè)最合適的位置分配給SNN 應(yīng)用.

圖5 展示了當(dāng)前神經(jīng)形態(tài)計(jì)算硬件資源空閑資源的MER 列表 {MER0,MER1,MER2,MER3,MER4},其中黑色實(shí)心圓圈表示已被占用核心.圖5 中藍(lán)色和綠色標(biāo)識(shí)的在MER0中為圖2 所示的2 個(gè)SNN 應(yīng)用分配的神經(jīng)形態(tài)核心;為SNN 應(yīng)用2 分配的神經(jīng)形態(tài)核心集合為 {c0:(0,4),c1:(1,4),c2:(1,5),c3:(0,5)},其中c0:(0,4)表示為SNN 應(yīng)用2 節(jié)點(diǎn)c0分配的神經(jīng)形態(tài)核心是 (0,4);為SNN 應(yīng)用1 分配神經(jīng)形態(tài)核心的2 種方案,方案1 和方案2 分配的神經(jīng)形態(tài)核心集合分別為 {c0:(0,1),c1:(0,2),c2:(1,2),c3:(0,3)} 和 {c0:(N-2,1),c1:(N-2,2),c2:(N-2,2),c3:(N-2,3)};為SNN 應(yīng)用1 和SNN 應(yīng)用2 分配的虛擬輸入輸出方向都為 WEST;為SNN 應(yīng)用1 分配的方案1 明顯優(yōu)于方案2,相較于方案1,方案2 將整體資源切割成了更多的碎片資源,且方案2 為SNN 應(yīng)用1 分配的神經(jīng)形態(tài)核心離 WEST方向的虛擬輸入輸出核心距離較遠(yuǎn),導(dǎo)致脈沖輸入輸出通信距離變長(zhǎng),從而增加了脈沖輸入輸出的能耗和延遲,關(guān)于這個(gè)問(wèn)題,我們將在3.2 節(jié)更系統(tǒng)和數(shù)學(xué)化地提出我們的解決方案.

Fig.5 Resource allocation strategy of neuron computer operating system圖5 神經(jīng)元計(jì)算機(jī)操作系統(tǒng)資源分配方案

3.2 最小化脈沖輸入輸出通信代價(jià)的資源分配算法

隨著神經(jīng)形態(tài)芯片的發(fā)展,神經(jīng)元規(guī)模的擴(kuò)大導(dǎo)致了通信瓶頸的出現(xiàn),這包括軟件的通信瓶頸和片上網(wǎng)絡(luò)的通信瓶頸.因此,在SNN 應(yīng)用邏輯核心間的通信距離相對(duì)固定的情況下,如何最小化脈沖輸入輸出距離成為了神經(jīng)元計(jì)算機(jī)操作系統(tǒng)為SNN 應(yīng)用分配神經(jīng)形態(tài)硬件資源時(shí)需要量化的重要指標(biāo).在處理傳統(tǒng)資源的放置策略時(shí),基于MER 的任務(wù)放置方法是將鄰接值作為其分配準(zhǔn)則.鄰接值的定義是,盡可能將新到達(dá)的任務(wù)放置在MER 的邊緣或靠近其他任務(wù)的位置,這樣的布局可以極大程度地減少不同任務(wù)間的碎片化,從而有效降低整體資源的碎片率.文獻(xiàn)[28]在考慮任務(wù)的生命周期的同時(shí),提出了一種創(chuàng)新的基于MER 的三維鄰接值啟發(fā)式算法,與其他算法相比,這一算法展示出了更優(yōu)秀的任務(wù)接受率.而SNN 與傳統(tǒng)任務(wù)最大的區(qū)別是,SNN運(yùn)行是通過(guò)脈沖輸入輸出完成計(jì)算的,脈沖輸入輸出需要通過(guò)軟件與片上網(wǎng)絡(luò)之間的DMA 通道傳遞;基于鄰接值的資源分配策略在初期容易將應(yīng)用分配到相鄰的資源區(qū)域,這意味著應(yīng)用會(huì)集中在同一邊的輸入輸出通道,在脈沖通信量大的情況下,必然會(huì)產(chǎn)生通信延遲.為了解決這個(gè)問(wèn)題,本節(jié)提出一種基于MER的最小化脈沖輸入輸出通信代價(jià)的資源分配方案,旨在降低脈沖輸入輸出的功耗和延遲,同時(shí)提高資源利用率.下面將詳細(xì)介紹神經(jīng)元計(jì)算機(jī)操作系統(tǒng)如何基于MER 算法為一個(gè)SNN 應(yīng)用MCN分配最優(yōu)的神經(jīng)形態(tài)計(jì)算硬件資源的過(guò)程.

3)對(duì)于每一個(gè)滿足放置的MERj,Clog各邏輯核心相對(duì)位置固定,結(jié)合MERj的4 個(gè)頂點(diǎn)和脈沖輸入輸出方向,有8 種放置情況:PDIR={WLT,WLB,NLT,NRT,ERT,ERB,SLB,SRB},WLT和WLB表示 WEST方向脈沖輸入輸出的左上角和左下角,NLT和NRT表示 NORTH方向的左上角和右上角,ERT和ERB表示 EAST方向的右上角和右下角,SLB和SRB表示 SOUTH方向的左下角和右下角.

在各個(gè)方向放置需滿足條件:

為了保證分配的輸入輸出核心靠近芯片邊緣,且輸入輸出通道均衡在不同的片上網(wǎng)絡(luò)路由通道,當(dāng)模型放置在 NORTH,EAST,SOUTH方向時(shí),將Clog分別向右旋轉(zhuǎn)90°,180°,270°;旋轉(zhuǎn)后邏輯核心組成的寬高變化為,以及所有邏輯核心為:

同時(shí)根據(jù)確定的神經(jīng)形態(tài)核心坐標(biāo)與輸入輸出方向確定虛擬輸入輸出節(jié)點(diǎn)坐標(biāo):

5)根據(jù)式(5)計(jì)算MCN在MERj的候選放置位置的脈沖輸入輸出通信代價(jià),以及根據(jù)式(16)計(jì)算鄰接值CV.

其中,n表示MCN放置到候選位置后MCN矩形區(qū)域接觸到的已放置SNN 應(yīng)用數(shù)量與接觸到的神經(jīng)形態(tài)計(jì)算硬件資源區(qū)域的邊的數(shù)量之和.Lengthp表示第p個(gè)接觸核心邊緣的重疊長(zhǎng)度.

6)根據(jù)步驟3~5 找到MCN在MERs的所有可能放置候選位置以及放置后的脈沖輸入輸出通信代價(jià)和鄰接值,并優(yōu)先選擇脈沖輸入輸出通信代價(jià)最低的放置方案,在脈沖輸入輸出通信代價(jià)相同的情況下,選擇鄰接值最大的方案以降低碎片率.

完整地為SNN 應(yīng)用集合TS分配神經(jīng)形態(tài)計(jì)算硬件資源的算法如算法1 所示.

算法1.MER-MSIOCRA.

4 實(shí) 驗(yàn)

4.1 實(shí)驗(yàn)環(huán)境

我們使用軟件仿真一個(gè)抽象的目標(biāo)神經(jīng)形態(tài)計(jì)算硬件平臺(tái)來(lái)測(cè)量本文提出的方法.表1 中列出了目標(biāo)硬件平臺(tái)的參數(shù).

Table 1 Parameters of Target Neuromorphic Computing Hardware表1 目標(biāo)神經(jīng)形態(tài)計(jì)算硬件參數(shù)

實(shí)驗(yàn)是在Ubuntu 20.04.1(GNU Linux 5.4.0-125-generic x86 64)服務(wù)器上進(jìn)行的,該服務(wù)器具有16 個(gè)CPU 內(nèi)核(Intel Xeon Processor(Skylake,IBRS)CPU@2.92 GHz),64 GB 內(nèi)存.

所有仿真程序都是由C++實(shí)現(xiàn),沒(méi)有用到GPU計(jì)算能力或多核并行計(jì)算功能.

4.2 對(duì)比算法

神經(jīng)形態(tài)計(jì)算硬件領(lǐng)域暫沒(méi)有提出相關(guān)資源分配方法,為了將本文提出的MER-MSIOCRA 算法與其他算法的性能進(jìn)行比較,對(duì)比了2 種傳統(tǒng)二維資源分配算法:1)SBHF 算法[29].用于解決二維裝箱問(wèn)題,該算法將不同大小的矩形放入特定大小的箱子中.該算法將箱子的可用區(qū)域按照自下而上的架子組織,每次在架子上放置矩形時(shí)都可以調(diào)整開(kāi)放架子的高度.然而,下方區(qū)域架子的高度不可變,被稱為封閉式貨架.2)MER-3D-Contact 算法[28].選擇鄰接值最高的放置方案,具有較高的任務(wù)接受率和較低的碎片率.

為了體現(xiàn)公平性,上述2 種對(duì)比算法在查找到候選位置后,脈沖輸入輸出方向選擇到4 個(gè)方向中脈沖輸入輸出通信代價(jià)最低的方向.

4.3 評(píng)價(jià)指標(biāo)

評(píng)價(jià)資源動(dòng)態(tài)分配的所有指標(biāo)為:

1)系統(tǒng)脈沖輸入輸出總能耗峰值(式(6));

2)系統(tǒng)脈沖輸入輸出平均延遲(式(8));

3)SNN 應(yīng)用的脈沖輸入輸出最大延遲(式(10));

4)資源碎片率(式(11)).

4.4 實(shí)驗(yàn)結(jié)果分析

在第1 個(gè)實(shí)驗(yàn)中對(duì)比了能耗、平均延遲和最大延遲,我們?cè)O(shè)計(jì)了5 組SNN 應(yīng)用集,每組應(yīng)用集的數(shù)量如表2 所示,5 組SNN 應(yīng)用集隨機(jī)產(chǎn)生的規(guī)則一致,如表3 所示.為了保證3 種算法對(duì)比的基準(zhǔn)一致,SNN 應(yīng)用集1~應(yīng)用集4 的每組SNN 應(yīng)用集所需的總資源小于硬件資源,表示每組SNN 應(yīng)用集都能被成功分配,而SNN 應(yīng)用集5 所需的總資源約等于硬件資源.針對(duì)SNN 應(yīng)用集5,SBHF 并沒(méi)有得到完全分配,而MER-3D-Contact 和MER-MSIOCRA 算法中所有的SNN 應(yīng)用均分配成功.

Table 2 Number of SNN APP Sets表2 SNN 應(yīng)用集數(shù)量

Table 3 SNN APP Set Generation Rules表3 SNN 應(yīng)用集生成規(guī)則

如圖6 展示了3 種算法在神經(jīng)形態(tài)硬件系統(tǒng)能耗峰值的實(shí)驗(yàn)結(jié)果.實(shí)驗(yàn)結(jié)果表明,基于4 組應(yīng)用集(數(shù)量分別為40,60,80,100)的碎片率一致的情況下,MER-MSIOCRA 算法明顯優(yōu)于其他2 種算法,這是因?yàn)镸ER-MSIOCRA 算法總是優(yōu)先給SNN 應(yīng)用分配離輸入輸出通道較近的神經(jīng)形態(tài)核心.MER-MSIOCRA算法比MER-3D-Contact 算法最高降低了71%,比SBHF 最高降低了81%;對(duì)于應(yīng)用集(數(shù)量為200),由于SBHF 算法并沒(méi)有完全分配所有的應(yīng)用,因?yàn)榻y(tǒng)計(jì)的能耗值是部分應(yīng)用的結(jié)果,而針對(duì)完全分配成功的MER-3D-Contact 和MER-MSIOCRA 的結(jié)果分析,MERMSIOCRA 明顯優(yōu)于MER-3D-Contact.

Fig.6 Results on energy consumption for spiking input and output圖6 脈沖輸入輸出能耗結(jié)果

圖7 展示了3 種算法在神經(jīng)形態(tài)硬件系統(tǒng)的平均延遲結(jié)果.實(shí)驗(yàn)結(jié)果表明,在碎片率一致的情況下,MER-MSIOCRA 算法也表現(xiàn)出較好的性能;MERMSIOCRA 算法比MER-3D-Contact 算法降低了70%,比SBHF 算法最高降低了81%.

Fig.7 Results on average latency for spiking input and output圖7 脈沖輸入輸出平均延遲結(jié)果

圖8 展示了在給定神經(jīng)形態(tài)硬件資源中分配的SNN 應(yīng)用最大延遲結(jié)果.在碎片率一致的情況下,MER-MSIOCRA 算法比MER-3D-Contact 算法最高降低了79%,比SBHF 算法最高降低了84%.因?yàn)镸ERMSIOCRA 算法總是優(yōu)先將SNN 應(yīng)用分配到靠近輸入輸出通道的位置.

Fig.8 Results on maximum latency for spiking input and output圖8 脈沖輸入輸出最大延遲結(jié)果

在第2 個(gè)實(shí)驗(yàn)中,我們通過(guò)碎片率驗(yàn)證MERMSIOCRA 算法的優(yōu)勢(shì),我們?cè)O(shè)計(jì)了4 組SNN 應(yīng)用集,每組應(yīng)用集的數(shù)量如表4 所示,4 組SNN 應(yīng)用集隨機(jī)產(chǎn)生的規(guī)則一致如表3 所示.為了保證3 種算法對(duì)比的基準(zhǔn)一致,APP Set1 所需的總資源是小于硬件資源的,APP Set2~ APP Set4 所需的總資源是高于硬件資源的,即可以保證SNN 應(yīng)用集中有分配不成功的應(yīng)用.

Table 4 Number of SNN APP Sets for Fragmentation Rate Test表4 用于碎片率測(cè)試的SNN 應(yīng)用集數(shù)量

圖9 展示了4 組數(shù)據(jù)集的碎片率結(jié)果,3 種算法在APP Set1(數(shù)量為100)中產(chǎn)生的碎片率一致,因?yàn)锳PP Set1(數(shù)量為100)中所有的應(yīng)用都分配成功;APP Set2(數(shù)量為200)中所有應(yīng)用在MER-3D-Contact和算法MER-MSIOCRA 都分配成功,表現(xiàn)優(yōu)于SBHF;APP Set3(數(shù)量為300)和APP Set4(數(shù)量為400)在3種算法中都有部分應(yīng)用沒(méi)有分配成功,但MERMSIOCRA 明顯優(yōu)于其他2 種算法,相比MER-3DContact,MER-MSIOCRA 產(chǎn)生的碎片率最高降低了32%,相比SBHF,MER-MSIOCRA 最高降低了92%.

Fig.9 Results on fragmentation rate圖9 碎片率結(jié)果

5 結(jié)論

本文提出了一種神經(jīng)元計(jì)算機(jī)操作系統(tǒng)的資源分配流程,即與編譯解耦的資源分配過(guò)程在軟件層面大幅度提升了系統(tǒng)效率.基于所提出的資源分配流程,本文還提出了MER-MSIOCRA 算法,一種基于MER 的最小化脈沖輸入輸出方法.其主要思想是在不改變SNN 應(yīng)用模型內(nèi)核心之間的相對(duì)距離的情況下,通過(guò)旋轉(zhuǎn)SNN 應(yīng)用模型將輸入輸出核心放在靠近DMA 通道的方向.實(shí)驗(yàn)結(jié)果表明,MER-MSIOCRA算法在脈沖輸入輸出能耗、延遲的性能比現(xiàn)有算法有明顯的提升,在應(yīng)對(duì)大規(guī)模SNN 應(yīng)用并發(fā)時(shí),MERMSIOCRA 算法在碎片率上也表現(xiàn)出較好的性能.

作者貢獻(xiàn)聲明:王鳳娟和呂攀為共同第一作者,提出了論文的總體框架和算法思路,完成了實(shí)驗(yàn)并撰寫(xiě)論文的主體部分;金歐文、邢慶輝參與了論文討論和論文修改;鄧水光提出指導(dǎo)意見(jiàn)并修改論文.

猜你喜歡
輸入輸出資源分配神經(jīng)元
《從光子到神經(jīng)元》書(shū)評(píng)
自然雜志(2021年6期)2021-12-23 08:24:46
新研究揭示新冠疫情對(duì)資源分配的影響 精讀
Camtasia Studio高清視頻輸入輸出原理及方法
鐵路信號(hào)系統(tǒng)安全輸入輸出平臺(tái)
一種基于價(jià)格競(jìng)爭(zhēng)的D2D通信資源分配算法
躍動(dòng)的神經(jīng)元——波蘭Brain Embassy聯(lián)合辦公
輸入輸出理論在大學(xué)英語(yǔ)聽(tīng)說(shuō)課堂中的教學(xué)探索
輸入輸出視角下高職英語(yǔ)教學(xué)研究
基于二次型單神經(jīng)元PID的MPPT控制
毫米波導(dǎo)引頭預(yù)定回路改進(jìn)單神經(jīng)元控制
察隅县| 南木林县| 蒙城县| 万山特区| 陕西省| 达孜县| 福鼎市| 贵南县| 南召县| 隆化县| 黄浦区| 晋宁县| 安平县| 章丘市| 琼海市| 教育| 沙河市| 宝山区| 芜湖市| 分宜县| 湛江市| 德安县| 广德县| 沭阳县| 山东| 吴堡县| 綦江县| 博兴县| 利津县| 哈巴河县| 新源县| 龙陵县| 淮南市| 革吉县| 德化县| 观塘区| 逊克县| 鄂州市| 河池市| 南召县| 诸暨市|