粗粒度的時空計算
摘要:不斷提高計算機(jī)的能力是支持?jǐn)?shù)學(xué)上的infinite的技術(shù)途徑之一,本文介紹了標(biāo)量計算機(jī)、并行計算模式、陣列語言、陣列計算機(jī)等技術(shù)。但強(qiáng)大的計算能力遭遇到了能耗問題。圓片級的硅直通技術(shù)(TSV)是降低能耗的途徑之一。粗粒度的陣列計算機(jī)的規(guī)則性是適合于TSV技術(shù)的?! ?/p>本文引用地址:http://www.butianyuan.cn/article/143176.htm

前言
按照牛頓物理學(xué),人們可感知的3維空間中的事物是隨1維時間而演變的[1] ;而按照愛因斯坦的狹義相對論,時間和空間并不是有所分別的兩件東西,兩者是合成4維的時空(space-time)的,時間是第4個維度。狹義相對論是4維時空的數(shù)學(xué)框架,和牛頓物理學(xué)本質(zhì)上是相同的。因此,可以認(rèn)為人們可感知的客觀世界的一切事物是在4維時空中演變的。計算機(jī)是用來對事物演變的數(shù)據(jù)完成時空計算的,其計算模式的實現(xiàn)應(yīng)該是自然反應(yīng)時空計算的概念的。數(shù)學(xué)家是以描述客觀世界的數(shù)學(xué)語言為基礎(chǔ)發(fā)明計算機(jī)的。數(shù)學(xué)是無窮(infinite)的科學(xué),是研究數(shù)和形的。計算機(jī)就是以無窮的存儲空間(圖靈抽象機(jī)的無窮長的帶,和馮.諾依曼計算機(jī)的輸入/輸出體系結(jié)構(gòu))和無止境的提高計算能力(也就是提高處理器的計算頻率,以及增加處理器的復(fù)雜度)來支持?jǐn)?shù)學(xué)上的infinite的,而數(shù)和形的研究不僅有細(xì)粒度標(biāo)量計算的特點,還有粗粒度陣列計算的特點。
標(biāo)量計算機(jī)
芯片技術(shù)問世之后,計算機(jī)的設(shè)計工作越來越多地轉(zhuǎn)移到了芯片上。1971年Intel公司的Ted Hoff(特德.霍夫)工程師發(fā)明了世界上第一顆微處理器芯片Intel 4004[2]。處理器將ISA(Instruction Set Architecture)的設(shè)計工作轉(zhuǎn)移到了芯片上。按照馮.諾依曼體系結(jié)構(gòu)的Flynn分類[3] ,單處理器計算機(jī),是以單指令流單數(shù)據(jù)流的SISD體系結(jié)構(gòu)為基礎(chǔ)的標(biāo)量計算機(jī)(Scalar Computer)。細(xì)粒度的標(biāo)量計算是“從點開始,從點到線,從線到面”再“分層處理” 完成事物演變的時空計算的,是一種(時間)1維的計算機(jī),粗粒度的陣列計算在標(biāo)量計算機(jī)上是順序完成的。標(biāo)量計算機(jī)是以ISA作為更高抽象層次的接口,使程序設(shè)計不必了解ISA的實現(xiàn)細(xì)節(jié),能從算法解決問題的方式中直覺地產(chǎn)生出來,成為一種確定而可預(yù)測的過程,促進(jìn)了細(xì)粒度時空計算的軟件繁榮[4] 。

并行計算模式
1974年 Robert Dennard等提出了按比例縮小定律。芯片的集成度是在功耗密度與成本幾乎不變的情況下,按摩爾預(yù)言的速度提高的。1987年人們提出了系統(tǒng)芯片(SoC,System On Chip)的概念,要將計算機(jī)的系統(tǒng)設(shè)計工作也轉(zhuǎn)移到芯片上來,發(fā)展出了TLP(Tread Level Parallel,進(jìn)程級并行)、 DLP(Data Level Parallel,數(shù)據(jù)級并行)和OLP(Operation Level Parallel,操作級并行)三種并行計算模式。但其實現(xiàn),遭遇到了計算可擴(kuò)展性限制和能源使用問題。只有OLP計算模式實現(xiàn)了操作粗粒度的時空計算,但是采用ASIC/FPGA陣列芯片,而不是陣列處理器實現(xiàn)的。
由多核/眾核CPU系統(tǒng)芯片實現(xiàn)的TLP計算模式,是將計算任務(wù)分成多個線程安排在每個標(biāo)量處理器核(CPU)上執(zhí)行的。線程之間是通過共享存儲器通信的,沒有直接的互連關(guān)系,實際上是一種單指令流多線程流的SIMT(Single Instruction Multiple Thread)執(zhí)行。雖然線程可以同時開始執(zhí)行計算,但不一定能同時完成計算,存在如何同步(同時完成)的問題;線程之間也可能存在數(shù)據(jù)相關(guān),不能完全獨立的執(zhí)行,有互斥(數(shù)據(jù)依賴)的問題。使多核程序設(shè)計是一種內(nèi)在不確定性的過程(nondeterministic process),需要徹底了解多核計算機(jī)的實現(xiàn)細(xì)節(jié)[4] 。
按照馮.諾依曼體系結(jié)構(gòu)的Flynn分類,DLP計算模式應(yīng)該是以單指令流多數(shù)據(jù)流的SIMD體系結(jié)構(gòu)為基礎(chǔ),實現(xiàn)數(shù)據(jù)粗粒度的時空計算的。而現(xiàn)在實現(xiàn)DLP計算模式的GPU/GPGPU系統(tǒng)芯片,計算效率雖然比多核芯片的高得多,已應(yīng)用在超級計算機(jī)中,但都不能有效實現(xiàn)數(shù)據(jù)粗粒度的時空計算。例如,索尼、東芝和IBM公司聯(lián)合開發(fā)的總線互連的Cell芯片,只是DLP計算模式的一種SIMT執(zhí)行[5]。Nvidia公司的GPGPU系統(tǒng)芯片,是一種GPU+CPU的系統(tǒng)芯片,由于GPU和CPU的數(shù)目是固定的,在不同應(yīng)用中會出現(xiàn)比例分配不平衡和數(shù)據(jù)傳輸?shù)膯栴}[6] 。

評論