一種面向任務流的基于寄存器文件的快速數(shù)據(jù)交換結(jié)構(gòu)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種面向任務流的基于寄存器文件的快速數(shù)據(jù)交換結(jié)構(gòu)。
【背景技術(shù)】
計算機系統(tǒng)中三大支柱是:處理部件,存儲部件和通信部件(包括I/o和網(wǎng)絡互聯(lián))。從表面上看,計算、存儲、通信這三者是相互獨立的。但事實上,在一定條件下,計算、存儲、通信之間可以互相轉(zhuǎn)化。在許多高性能并行計算的應用中,數(shù)據(jù)的通信能力往往是制約其性能提高的瓶頸,即系統(tǒng)最終的整體性能往往由系統(tǒng)節(jié)點間的數(shù)據(jù)交換能力所決定。但當前高性能計算系統(tǒng)對這個問題的解決思路非常單一,基本上都是通過各種方式優(yōu)化和改善計算節(jié)點間互聯(lián)網(wǎng)絡的性能來實現(xiàn)的。
[0002]MPP系統(tǒng)通過SMP、CC-NUMA、Cluster-NUMA多線程體系結(jié)構(gòu)及各種混合式結(jié)構(gòu)的使用解決整機互連問題,其網(wǎng)絡設計復雜度、網(wǎng)絡直徑和通信延遲隨整機規(guī)模擴大迅速增大。而采用Cluster體系結(jié)構(gòu)集群系統(tǒng),具有可自由伸縮、高度可管理、高可用、高性能價格比等諸多優(yōu)點;但其通信開銷和延遲大,隨著和計算結(jié)點數(shù)目的增加,對交換機的數(shù)量和性能要求越來越高。
[0003]對可擴展、高帶寬、低延遲的高效能并行計算機系統(tǒng)而言,網(wǎng)絡直徑和延時隨著系統(tǒng)規(guī)模的增加而大幅增長所帶來的影響已經(jīng)非常突出,高效能計算系統(tǒng)中可重構(gòu)、可分區(qū)、可配置特性也變得越來越重要。如何突破互聯(lián)網(wǎng)絡這種單一數(shù)據(jù)交換模式,獲得比MPP耦合網(wǎng)絡結(jié)構(gòu)和Cluster松耦合網(wǎng)絡結(jié)構(gòu)更高的效能是一個亟待解決的問題。
【發(fā)明內(nèi)容】
[0004]為解決上述現(xiàn)有的缺點,本發(fā)明的主要目的在于提供一種實用的面向任務流的基于寄存器文件的快速數(shù)據(jù)交換結(jié)構(gòu),具有時延小、易于擴展和便于支配管理的優(yōu)點,實現(xiàn)了存儲和通信的互相轉(zhuǎn)化,有效提高系統(tǒng)擴展的性能價格比。
[0005]為達成以上所述的目的,本發(fā)明的一種面向任務流的基于寄存器文件的快速數(shù)據(jù)交換結(jié)構(gòu)采取如下技術(shù)方案:
一種面向任務流的基于寄存器文件的快速數(shù)據(jù)交換結(jié)構(gòu),其特征在于,含有全局寄存器文件和η個計算節(jié)點,η為自然數(shù),每個計算節(jié)點通過專用總線分別與全局寄存器文件連接,計算節(jié)點含有局部寄存器文件和不同層次的任務流處理部件,任務流處理部件之間以及任務流處理部件與局部寄存器文件之間通過交叉總線連接,局部寄存器文件通過寄存器文件邏輯端口接交叉總線,局部寄存器文件根據(jù)計算節(jié)點的層次結(jié)構(gòu),為計算節(jié)點中的各個任務流處理部件提供可訪問的寄存器文件邏輯端口,全局寄存器文件通過寄存器文件邏輯端口接專用總線,全局寄存器文件為不同的計算節(jié)點提供不同的寄存器文件邏輯端口,為同一計算節(jié)點中不同的任務流處理部件提供單一的物理端口,通過時間分片為不同的任務流處理部件提供可同時訪問的寄存器文件邏輯端口,全局寄存器文件為存儲各計算節(jié)點中間結(jié)果的寄存器文件組,局部寄存器文件為存儲計算節(jié)點內(nèi)進行任務處理時的所有操作數(shù)和中間結(jié)果的寄存器文件組,任務流處理部件含有FPGA陣列、CPU陣列、CPU陣列、共享存儲器加速裝置Shared memory accelerator、多核共享快速緩沖C存區(qū)Cacheshared mult1-core、主存儲器Main memory和存儲器Storage,所述寄存器文件組含有m個寄存器文件,每個寄存器文件含有寄存器文件控制器和k個存儲簇,存儲簇由寄存器構(gòu)成,m和k為自然數(shù),寄存器文件控制器通過統(tǒng)一的交叉總線連接,存儲簇之間通過數(shù)據(jù)總線進行連接,寄存器文件控制器和存儲簇之間采用集中式的串行鏈接方式,所述每一個計算節(jié)點均可以對全局寄存器文件進行共享訪問,以發(fā)掘各計算節(jié)點間的任務流數(shù)據(jù)重用,全局寄存器文件的大小可以根據(jù)計算節(jié)點的資源規(guī)模進行動態(tài)分配和調(diào)整,當計算節(jié)點內(nèi)各任務流處理部件間進行數(shù)據(jù)通信時,局部寄存器文件為相應的數(shù)據(jù)交換提供支持。
[0006]計算節(jié)點與全局寄存器文件之間釆用統(tǒng)一的數(shù)據(jù)格式進行數(shù)據(jù)交互,根據(jù)各計算節(jié)點上運行任務所需數(shù)據(jù)量大小可將全局寄存器文件動態(tài)劃分出相應的寄存器空間,用于計算節(jié)點間的數(shù)據(jù)交換,對寄存器文件控制器和存儲簇的訪問通過寄存器文件的物理地址進行控制,在使用寄存器文件時,直接通過交叉總線按照寄存器文件的物理地址進行訪問,寄存器文件控制器與存儲簇之間使用的接口即為存儲簇的物理地址,也就是寄存器文件的物理地址,對全局寄存器文件同一區(qū)域的讀取與寫入操作是不能同時進行的,但是當一個計算節(jié)點完成寫入后,其它計算節(jié)點可以同時讀取數(shù)據(jù),共享寄存器文件中不同區(qū)域之間的讀/寫操作可以同時進行,在多個計算節(jié)點同時使用全局寄存器文件執(zhí)行任務流中的任務時,可以根據(jù)不同計算節(jié)點所執(zhí)行任務的優(yōu)先級高低,優(yōu)先將全局寄存器文件空間分配給優(yōu)先級較高的計算節(jié)點,若計算節(jié)點在執(zhí)行任務時所需要交換的數(shù)據(jù)量變化較大,還可根據(jù)全局寄存器文件中剩余空間大小進行動態(tài)調(diào)整,根據(jù)優(yōu)先級高低盡可能的滿足所有計算節(jié)點的數(shù)據(jù)量需求,各計算節(jié)點之間進行數(shù)據(jù)交換時,首先將待交換數(shù)據(jù)存放至全局寄存器文件的指定區(qū)域,然后再由需要接收數(shù)據(jù)的計算節(jié)點從全局寄存器文件中的指定區(qū)域中讀出,局部寄存器文件對任務操作的所有操作數(shù)和中間結(jié)果進行暫存,各任務流處理部件通過各計算節(jié)點內(nèi)的交叉總線傳遞并緩存到局部寄存器文件中,計算節(jié)點在計算過程中,各任務流處理部件不需要去訪問外部存儲器或全局寄存器文件,只有在各計算節(jié)點間需要數(shù)據(jù)交互時,才將結(jié)果寫回全局寄存器文件或外部存儲器。
[0007]采用如上技術(shù)方案的本發(fā)明,具有如下有益效果:
本發(fā)明具有時延小、易于擴展和便于支配管理的優(yōu)點,實現(xiàn)了存儲和通信的互相轉(zhuǎn)化,有效提高系統(tǒng)擴展的性能價格比。
【附圖說明】
[0008]圖1為基于寄存器文件的快速數(shù)據(jù)交換結(jié)構(gòu)的示意圖。
[0009]圖2為基于寄存器文件的快速數(shù)據(jù)交換的內(nèi)部詳細結(jié)構(gòu)示意圖。
【具體實施方式】
[0010]為了進一步說明本發(fā)明,下面結(jié)合附圖進一步進行說明:
參見圖1圖2,一種基于寄存器文件的快速數(shù)據(jù)交換結(jié)構(gòu),含有全局寄存器文件和η個計算節(jié)點,η為自然數(shù),每個計算節(jié)點通過專用總線分別與全局寄存器文件連接,每個計算節(jié)點之間的專用總線不存在交叉或共用,全局寄存的帶寬遠高于存儲帶寬,因此全局寄存器增強了各計算節(jié)點間的數(shù)據(jù)局部性,提供了快速數(shù)據(jù)交換能力。
[0011]計算節(jié)點含有局部寄存器文件和不同層次的任務流處理部件,任務流處理部件之間以及任務流處理部件與局部寄存器文件之間通過交叉總線連接。
[0012]總線按其功能可以分成專用總線和非專用總線,都屬于數(shù)據(jù)總線。專用總線是指只連接一對物理部件的總線,從物理位置上來說屬于外總線的一種,在此,專用總線是連接計算節(jié)點和全局寄存器文件,進行數(shù)據(jù)傳輸?shù)耐ǖ馈?br>[0013]交叉總線從物理位置上來說屬于內(nèi)總線。計算節(jié)點內(nèi)的各任務流處理部件之間、任務流處理部件與局部寄存器文件之間均通過交叉總線進行互聯(lián)。交叉總線為各個任務流處理部件之間的數(shù)據(jù)交互、任務流處理部件與局部寄存器文件之間的數(shù)據(jù)交互提供了傳輸通道。
[0014]局部寄存器文件通過寄存器文件邏輯端口接交叉總線,局部寄存器文件根據(jù)計算節(jié)點的層次結(jié)構(gòu),為計算節(jié)點中的各個任務流處理部件提供可訪問的寄存器文件邏輯端口 ;全局寄存器文件通過寄存器文件邏輯端口接專用總線,全局寄存器文件為不同的計算節(jié)點提供不同的寄存器文件邏輯端口,為同一計算節(jié)點中不同的任務流處理部件提供單一的物理端口,通過時間分片為不同的任務流處理部件提供可同時訪問的寄存器文件邏輯端□。
[0015]全局寄存器文件為存儲各計算節(jié)點中間結(jié)果的寄存器文件組,局部寄存器文件為存儲計算節(jié)點內(nèi)進行任務處理時的所有操作數(shù)和中間結(jié)果的寄存器文件組,任務流處理部件含有FPGA陣列、CPU陣列、GPU陣列、共享存儲器加速裝置Shared memory accelerator、多核共享快速緩沖C存區(qū)Cache shar