并行面向?qū)ο笳Z言技術(shù)進展_第1頁
并行面向?qū)ο笳Z言技術(shù)進展_第2頁
并行面向?qū)ο笳Z言技術(shù)進展_第3頁
并行面向?qū)ο笳Z言技術(shù)進展_第4頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、并行面向?qū)ο笳Z言技術(shù)進展于勐2001年3月26日(一教討論班)需求背景z并行計算的軟件進展落后于并行計算機的硬件進展約一代(K. Hwang & Z. Xu)zHPF,并行編譯器的成功應(yīng)用z面向?qū)ο蠹夹g(shù)所獲得的成功(Java, CORBA, DCOM, OOA, OOP)z高性能和易于使用的發(fā)展趨勢z并行的面向?qū)ο笳Z言?并行面向?qū)ο笳Z言zMentat - University of VirginiazpC+ - portable paralle C+ IndianazCC+ - Concurrent C+ ISI of USCzHPC+ - High Performance C+ Co

2、nsortium at Indiana UniversityzConcert (ICC+) - IllinoiszJavar - Indiana University并行模型z圖模型yMacro Data flow Graph of MentatyMultiple Objects Multiple Data flowz線程模型ypC+ SPMD yHPC+ 異構(gòu)計算節(jié)點,多上下文,多級并行性z對象交互規(guī)范JAVA RMI, Nexus RMI, CORBA, DCOM和OLE等并行面向?qū)ο笳Z言的并行設(shè)施z并行程序塊zMentat對象z處理器對象和全局對象指針z對象聚集z對象分布并行面向?qū)ο笳Z言

3、的并行設(shè)施z同步和互斥z隱式粒度控制z函數(shù)調(diào)用z全局名字空間并行程序塊zCC+中的并行程序塊用par statementsopt表示。zCC+中用parfor (for-init-statement expressionopt;expressionopt) statement標識一個并行循環(huán)。zICC+用conc關(guān)鍵字來標識并行程序塊和并行循環(huán)。與CC+不同,ICC+中的并行塊和并行循環(huán)中的迭代由編譯器檢查并保證語句間的依賴關(guān)系。并行程序塊zHPC+采用和Javar相同的方式對循環(huán)進行并行化。程序員為需要并行化的循環(huán)標明#pragma HPC_INDEPENDENT,由編譯器為該循環(huán)生成多個并

4、行執(zhí)行的線程副本,每個線程完成部分循環(huán)計算。在循環(huán)中,程序員還可以用#pragma HPC_REDUCE指出歸約變量,用#pragma HPC_INDEPENDENT,PRIVATE指出可私有化的變量。Mentat對象zmentat關(guān)鍵字定義的Mentat對象占據(jù)獨立的,互不相交的存儲空間。其成員函數(shù)調(diào)用都是傳值調(diào)用,函數(shù)返回結(jié)果也是傳值的。zpersistent mentat對象會保持對象調(diào)用間的狀態(tài),regular mentat對象則不保持對象調(diào)用間的狀態(tài),其成員函數(shù)更像一個純函數(shù)。z對象在使用時實例化。處理器對象和全局對象指針zCC+在類說明中用global來說明一個處理器對象(Proc

5、essor Object)類。處理器對象的公共成員函數(shù)和成員數(shù)據(jù)的作用域為對象所在的處理器。zpC+中的處理器對象的概念與上述不同,而與HPF中的處理器模板相似。pC+中用類似Processor P(m,n)的語法說明處理器結(jié)構(gòu),實際上對應(yīng)于目標SPMD程序的線程結(jié)構(gòu)。對象聚集z對象聚集(aggregate)指的是需要并行執(zhí)行相同操作的一組對象。我們認為對象聚集是用于高性能計算的并行面向?qū)ο笳Z言的一個必備的語言設(shè)施。zpC+用Collection關(guān)鍵字采用和類相同的語法定義對象聚集。對象聚集zCollection被編譯器自動處理為模板( T e m p l a t e ) 。程序員還可以用定

6、義Template TEClass的方法定義Collection,并可以用下面引用子向量的形式使用Collection。zpi:j:k.f();z表示對Collection p中標識從i到j(luò),步長k的所有元素調(diào)用函數(shù)f()。對象分布下面的例子建立了一個復(fù)數(shù)元素的分布數(shù)組,數(shù)組元素在處理器的分布由分布對象myDist和對齊對象myAlign共同確定。Processors P;Distribution myDist(7,7,&P,CYCLIC,WHOLE);Align myAlign(5,5,ALIGN(dummyij,myDistij);DistributedMatrix A(&

7、myDist, &myAlign);因為C+中已經(jīng)有Template關(guān)鍵字,所以pC+采用Distribution作為描述數(shù)據(jù)模板的關(guān)鍵字,以免混淆。模板和對齊的定義與HPF相同。同步和互斥z單賦值同步變量。z計數(shù)信號量。z協(xié)同操作和通信。z對象級同步。z函數(shù)級同步。z語句塊的同步。隱式粒度控制zICC+中的粒度是由編譯器來動態(tài)分析控制的。ICC+編譯器在編譯時刻生成多個可執(zhí)行的并行線程版本,由于線程的開銷也不相同(在ICC+中堆線程有1種,棧線程有3種),編譯器生成的目標代碼在運行時刻根據(jù)當時的動態(tài)綁定,對象分布情況選擇具有最小執(zhí)行開銷的線程版本運行。函數(shù)調(diào)用zMentat中對函數(shù)返

8、回值采用了return-to-future機制,其函數(shù)名為rtf()。y.它可以返回另外的剛剛啟動或正在運行的Mentat對象的函數(shù)值。y.rtf()不表明函數(shù)運行結(jié)束,只表示結(jié)果已經(jīng)可用。函數(shù)可以繼續(xù)進行其它處理,例如保存計算狀態(tài),和其它對象通信等。y依據(jù)編譯器發(fā)現(xiàn)的依賴關(guān)系,rtf()返回值送給MDF中所有使用該值的后繼結(jié)點。函數(shù)調(diào)用zHPC+中不同上下文之間的函數(shù)調(diào)用需要上下文標識和全局函數(shù)。需要遠程引用的函數(shù)要先進行登記,使用者首先獲取登記標識,在使用遠程上下文標識和函數(shù)標識進行調(diào)用。調(diào)用者隨即獲得控制權(quán)繼續(xù)執(zhí)行,返回值用單賦值同步變量保存,僅當調(diào)用者讀該變量并且返回結(jié)果尚未返回時調(diào)用

9、者阻塞。全局名字空間z全局對象名字空間是指在系統(tǒng)中的對象都有唯一的標識,以便用該標識進行對象間的操作。全局對象名字空間允許數(shù)據(jù)一致的存取,并將數(shù)據(jù)和任務(wù)的位置分配和函數(shù)說明分離開。優(yōu)化技術(shù)z內(nèi)嵌(inlining)z訪問區(qū)域擴張(access region expansion)z局部性優(yōu)化y動態(tài)指針對齊(dynamic pointer alignment)y視圖緩沖(view caching)運行時支持zMDF虛擬機z自動存儲管理zNexusRMI或CORBA IDL幾種并行面向?qū)ο笳Z言的比較并行支持MentatpC+CC+HPC+ICC+設(shè)計目標對象并行數(shù)據(jù)并行任務(wù)并行異構(gòu)并行實現(xiàn)優(yōu)化并行模

10、型MDFSPMDMPMDSPMDMPMD并行程序塊-TEClasspar,parfor#pragmaConc對象聚集-Collection-對象分布自 動 或 指定同 HPF自動-自動全局指針-支持支持支持-同步機構(gòu)單 賦 值 變量 , 對 象級同步線程協(xié)同單 賦 值 變量 , 函 數(shù)級同步單 賦 值 變量 , 計數(shù) 信號 量 ,線 程協(xié) 同 ,臨 界區(qū)對象級同步遠程調(diào)用MDF 虛擬機未命名未命名NexusRMI或CORBA IDL未命名目前的問題 什么樣的并行設(shè)施是必需的,編譯器和程序員所分擔(dān)的并行性的描述和實現(xiàn)進行怎樣的折衷。 針對分布式對象計算環(huán)境的目標程序的優(yōu)化技術(shù)的開發(fā)。 用于高性能計算的通用和專用并行類庫的構(gòu)造

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論