999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

并行程序設計語言中局部性機制的探討

2021-09-13 00:58:29王婧
無線互聯科技 2021年12期

王婧

摘 要:多核CPU的存儲層次越來越深而且越來越復雜,這已經成為優化大規模并行應用程序性能的關鍵瓶頸。目前并行程序設計語言和多核CPU有兩種局部性設計方法,一個是橫向局部性,另一個是縱向局部性,通過這兩種視角可以進一步了解現在并行程序設計語言中局部性機制的特點。文章就并行程序設計語言中局部性機制進行探討,深入分析其優缺點,探究未來并行程序設計語言設計的方向,指出新語言可以考慮這兩種局部性設計機制,希望能為相關從業者帶來一些參考。

關鍵詞:并行程序;設計語言;局部性機制

0 引言

為了解決訪問延遲與處理器速度之間的差距變大的問題,體系架構設計者在硬件上引入了存儲層次概念。同時,想要充分挖掘出存儲層次的硬件設計優點,并行程序設計語言要具備優秀的局部性機制,才能得到更高的性能。并行程序設計語言領域中,技術人員會逐步加入不同的局部性機制,進一步增強語言挖掘局部性的力度??蒲腥藛T若要寫出性能高的代碼,需要考慮在并行程序設計語言和編程模型的設計中加入局部性的描述和表示機制,以方便科研人員利用這些機制來描述和挖掘算法及程序中的局部性[1]。

1 并行編程語言發展趨勢

隨著科技發展,多路多核處理器的出現使得MPI(Message Passing Interface)在優化設計并行算法時遇到困難,MPI是基于分布式存儲最受歡迎的編程方式。雖然MPI在節點間運行,OpenMP在節點內運行,這樣可以實現混合并行,但是這是兩種不一樣的并行語言,設計人員在設計時難度會增加。所以新并行編程語言一定要考慮到多層次并行的支持,進一步優化硬件層次的設計、訪存的延遲和帶寬等。數據局部性會成為重要的因素,新設計的編程語言要給技術人員定義數據局部性的機制,盡量減少訪存和通信次數,提高程序運行性能。存儲層次的復雜,使得并行程序設計語言中局部性機制更加重要,目前人們日益關注針對多核的存儲訪問局部性的算法研究,所以未來并行編程語言的研究重點是設計容易表達算法局部性的機制。

2 新設計的并行編程語言要具備的要點

首先要有具備縱向局部性和橫向局部性的顯式管理機制?,F在并行計算系統的存儲層次越來越復雜,如果只靠運行時系統和編譯器來處理局部性問題和并行性開發,不是最佳的處理方法,還要依靠技術人員的顯式管理。

新開發的并行編程語言要能夠應用在不一樣的并行編程模式中,比如任務并行、數據并行等。

統一管理程序的局部性和并行性,開發設計人員利用編程語言可以整體設計這兩種特性,想辦法減輕人員的工作負擔,同時又能夠開發高性能的并行程序,并且保證并行程序可在不同硬件平臺移植。

與Local View類似,這些方法雖然能夠幫助開發人員編程的效率,減輕他們的工作負擔,加快并行程序的開發進程,但是這種固定的處理數據方案也限制了更有效設計并行算法和數據劃分,而且也只能支持部分并行模式。雖然并行程序開發人員管理局部性可以復用分布類,但其實是有限的,就算是設計了大量的分布類,都很難高效使用。

3 并行程序設計語言中局部性機制

并行程序設計涉及多方面的知識,并非簡單的并行算法的設計,只有綜合考慮各方面的因素,才能設計出高效率的并行程序[2]。并行程序設計語言中局部性機制分為橫向局部性和縱向局部性兩種。對分布式并行程序設計而言,利用更多的局部性機制是橫向局部性,主要考慮怎么樣減少消息傳遞的開銷。而串行程序相反,考慮更多的是縱向局部性,現在已經有很多的文獻研究。

3.1? 并行程序設計語言中橫向局部性

橫向局部性是由于存儲位置的分布導致同一內存層次上的數據通信,例如Jacobi算法就是因為把數組數據分塊造成不同塊間的邊界通信。一般來說數據分布如果有不錯的空間局部性,就會有不錯的橫向局部性,但是橫向局部性不只有良好的空間局部性,還包括數據通信的開銷。并行程序設計語言的橫向局部性分為兩種設計,一種是像OpenMP,編譯器自動劃分和分配數據,另一種是像HPF,技術人員管理控制數據劃分和分配過程。

HPF編程模型和OpenMP,MPI都不一樣,前者為了管理并行程序設計語言中的橫向局部性,設計定義和它們不一樣的分布類型。在管理橫向局部性方面,顯然HPF優勢更大。開發人員運用HPF編寫程序時,一般運用編譯制導語句來進行數據的分塊,并行操作不同數據塊則運用forall語句,不過HPF描述數據局部性較單一。因為有劃分的內存地址空間,并行程序設計語言PGAS改進了OpenMP的存儲模型,但是數據分塊方法略有差異,思想還是差不多,由開發人員來管理數據分塊,運行時系統和編譯器管理線程間的通信。

3.2? 并行程序設計語言中縱向局部性

不同存儲層次之間的局部性就是縱向局部性,比如內存和Cache??v向局部性還可以從時間和空間來分成兩種。隨著科技的發展,并行計算系統存儲層次越來越復雜,CPU性能和內存訪問性能之間的差距正在擴大。想要提高計算程序的性能,就一定要考慮到數據的縱向局部性。同時,這種考慮往往不具備可移植性,所以在對并行編程模型重新設計時,一定要顯式管理存儲層次,尤其是出現多核處理器后,讓并行程序對存儲層次進行顯式管理,進一步優化縱向局部性,是一種提升程序性能的重要方法。

在顯式管理縱向局部性方面,現在已經有多個基于Cell處理器的編程模型??v使Cell SDK可以位于Cell核內部完成MPI編程,也可以位于獨立地址空間實施Pthread編程,然而Cell SDK在局部性管理上仍有缺陷,橫向局部性管理導致并行編程的難度大大增加,縱向局部性管理也只是實現了不同存儲層次間的通信,擴展性和可移植性很差。

Sequoia是為了應對Cell SDK的這些缺陷而出現的,現在是組成Cell的重要部分。開發人員可以用Sequoia顯式管理存儲層次,設計出性能更加好的算法。在顯式管理縱向局部性時,Sequoia設置數據傳遞大小會考慮底層硬件平臺的不同存儲層次特征,更好地顯式管理縱向局部性。不過計算機集群系統卻沒有上面所說的共享機制,它的計算節點是經由高速網絡之后連接,Sequoia為實現物理內存的抽象特意添加虛擬層。因此Sequoia不管是縱向局部性還是橫向局部性都可以管理,并且應該允許技術人員的繼續優化,不斷提升程序的性能??傊瓹ell SDK可以顯式管理每個層次,可以看成是具備兩個存儲層次的Sequoia。

3.3? 綜合兩種局部性

在算法設計和并行實現時,想要讓并行程序的性能更高,就需要對縱向局部性和橫向局部性加以考慮。并行編程語言設計好了關于橫向局部性的管理機制,比如PGAS和MPI,不管用哪個通信機制,都是為了讓開發人員更好實現對橫向局部性的顯式管理,并且盡量減少通信開銷。當并行應用程序采用了這些編程語言時,橫向局部性、并行性挖掘和并行模式等都會考慮到,因此可以將并行性完美融合橫向局部性。在縱向局部性方面,由Sequoia設計出來的task,便于編程語言管理并行和兩種局部性,它既能制定多層次的并行模式,又有管理縱向局部性和橫向局部性的機制。在開發新的編程模型時可以考慮以上方式,編寫出更高效和性能更好的應用程序。

4 結語

現如今計算機存儲系統越來越復雜,尤其是多核處理器的出現,系統更加難以開發局部性,所以更加顯出局部性的描述和表示機制的優勢。局部性機制可以幫助研究人員寫的代碼性能更好,進一步挖掘算法。本文分析了并行程序設計語言和多核處理器的狀況,探討了未來并行程序設計語言的發展趨勢,詳細分析了并行程序設計語言中局部性機制的各種定義和應用。并行程序設計語言中局部性機制主要是分為縱向局部性和橫向局部性兩種,文章分別從這兩個視角來著重分析了局部性機制,對設計并行編程模型的方向更加明確。

[參考文獻]

[1]袁良,張云泉,白雪瑞,等.并行程序設計語言中局部性機制的研究[J].計算機科學,2020(1):7-16.

[2]黃偉文,姚文慶.并行程序設計[J].寧波職業技術學院學報,2002(2):87-90.

(編輯 何 琳)

主站蜘蛛池模板: 在线观看国产精品一区| 久久久久久久久亚洲精品| 四虎亚洲精品| 久久不卡精品| 国产va在线观看| 免费人成视网站在线不卡| 久久香蕉国产线看观看精品蕉| 欧美在线精品怡红院 | 亚洲国产高清精品线久久| 青青久久91| jijzzizz老师出水喷水喷出| 成人一区在线| 无码免费视频| 久久这里只有精品66| 四虎国产永久在线观看| 欧美成人影院亚洲综合图| 在线免费观看a视频| 国产超碰一区二区三区| 91精品啪在线观看国产| 免费看美女自慰的网站| 呦女亚洲一区精品| 国产精品无码影视久久久久久久 | 久久综合九色综合97婷婷| 亚洲欧美在线精品一区二区| AV片亚洲国产男人的天堂| 91色在线观看| 99久久精品免费观看国产| 久久综合一个色综合网| 露脸国产精品自产在线播| 久久精品这里只有国产中文精品| 国产欧美一区二区三区视频在线观看| 综合网天天| 这里只有精品在线播放| 久久综合亚洲鲁鲁九月天| 国产精品免费p区| 美女裸体18禁网站| 免费 国产 无码久久久| 亚洲综合色区在线播放2019| a级毛片视频免费观看| 精品福利国产| 国产精品55夜色66夜色| 99久久亚洲综合精品TS| 97se综合| 99re精彩视频| 日韩在线观看网站| 国产精品极品美女自在线看免费一区二区| 天天综合色网| 亚欧成人无码AV在线播放| 26uuu国产精品视频| 国产精品太粉嫩高中在线观看| 亚洲香蕉在线| 欧美午夜在线观看| 亚洲精品福利视频| 国产美女91视频| 欧美日韩精品在线播放| 色老二精品视频在线观看| 色综合综合网| 欧美日韩高清在线| 欧美成人影院亚洲综合图| 国产网站免费看| av在线人妻熟妇| 成人午夜天| 香蕉99国内自产自拍视频| 久久久久亚洲av成人网人人软件| 亚洲第一区欧美国产综合 | 亚洲人成网站18禁动漫无码| 2048国产精品原创综合在线| 四虎成人精品在永久免费| 天堂在线www网亚洲| 成人在线不卡视频| 亚洲AⅤ综合在线欧美一区| 欧美色亚洲| 日韩午夜福利在线观看| 亚洲色图欧美在线| 精品视频一区二区观看| 日韩精品免费一线在线观看| 97se亚洲综合| 欧美特黄一级大黄录像| 玖玖精品视频在线观看| 九九热这里只有国产精品| 91精品国产一区| 国产成人精品高清在线|