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

基于宏與全局變量Floyd并行算法的性能對比

2014-07-07 03:37:56李超燕裴林滔
計算機工程與應用 2014年16期
關鍵詞:定義程序實驗

李超燕,裴林滔

1.寧波職業技術學院電子信息工程系,浙江寧波 315800

2.國防科技大學計算機學院,長沙 410000

基于宏與全局變量Floyd并行算法的性能對比

李超燕1,裴林滔2

1.寧波職業技術學院電子信息工程系,浙江寧波 315800

2.國防科技大學計算機學院,長沙 410000

在Ubuntu操作系統上,實現多線程并行的Floyd算法。對實驗數據分析表明,基于全局變量定義代價矩陣A大小的并行程序所獲得的并行性能要優于基于宏參數定義矩陣A大小的并行程序的性能。這與相應的用宏參數定義矩陣A大小的串行程序性能要更優的結果相反。

宏參數;全局變量;Floyd算法;多線程

1 概述

Floyd算法在消防站選擇,火災消防救援,公交路線優化,物流運輸路徑選擇,矢量地圖最短路徑搜索等領域中都有應用,對Floyd算法進行學習和研究是有實用價值的。在Ubuntu操作系統上對Floyd算法進行并行實現時,程序中對矩陣大小基于宏參數與全局變量的不同定義出現了并行程序所獲得的性能與串行程序所獲得的性能相反的結果。

在本文實驗中,Floyd算法的串行程序1中的矩陣A用宏定義的參數n(n為實驗數據的節點數)來定義二維數組大小:A[n][n];Floyd算法的串行程序2中的矩陣A用全局變量nodenum(nodenum所賦的值也為實驗數據的節點數)來定義二維數組大?。篈[nodenum][nodenum],其他代碼與串行程序1完全相同;實驗顯示串行程序1的性能要優于串行程序2的性能。對串行程序1和串行程序2實現并行化后分別得并行程序1和并行程序2,并行程序1和并行程序2所用的并行指導語句完全相同,在雙核的雙線程下運行出現了并行程序2的性能反而優于并行程序1的結果。

2 算法原理

對于一個各邊權值都不小于1的有向圖,求解每對節點間的最短路徑長度和最短路徑可以以每個節點為源點,循環求出每對節點間的最短路徑長度和最短路徑,當然,Floyd算法也可求解任意兩節點之間的最短路徑長度和最短路徑。Floyd算法又被稱為傳遞閉包方法,串行算法的時間復雜度為O(n3),其基本思想是遞推產生一個矩陣序列A(0),A(1)…A(k)…A(n),其中A(0)為給定的代價矩陣,A(k)[i][j]表示從節點i到節點j之間節點序號不大于k的最短路徑長度[1]。

Floyd串行算法的描述如下:

輸入:有限帶權圖的節點數n,圖的鄰接矩陣Edge[n][n],<vi,vj>是Edge中從節點i到節點j的弧,Edge[i][j]是?。紇i,vj>(1≤i,j≤N)的非負權值,權值表示從節點i到j的距離[2];為了表示求得的任意兩個節點間的最短途徑,路徑矩陣Path對最短路徑途經的節點作記錄。求A(k)[i][j]時,path[i][j]存放從節點i到節點j的中間節點編號不大于k的最短路徑上前一個節點的編號。在算法結束時,由path的值追溯得到節點i到j的最短路徑。Floyd串行算法[3]:

在并行算法的設計中,問題的分解通常有域分解和功能分解兩種。域分解將問題分解為若干個子問題,然后分別對其并行求解;功能分解,將問題按功能分解為若干個子問題,然后分別對其求解。對于Floyd算法,選擇域分解更為合適[4]。

3 算法實現

為了方便起見,約定線程數為p,節點數規模為n[5]。

for(k=0;k<n;k++)循環開始,進行線程并行。各個任務執行并行計算:

本文并行程序的設計很簡單,主要是在k循環內層加并行指導命令,進行線程并行,對最短路徑進行并行計算[6]。在實驗中,串行程序1和并行程序1中矩陣A的維數用宏定義的n來定義大?。篿ntA[n][n]。串行程序2和并行程序2中矩陣A的維數用全局變量nodenum來定義大小:intA[nodenum][nodenum]。串行程序1和串行程序2的其他的代碼完全相同,并行程序1和并行程序2的其他代碼也完全相同。

4 實驗測試與分析

4.1 實驗環境及實驗數據

實驗環境為:

(1)Intel Pentium雙核T3400 CPU@2.16 GHz,2 GB內存,操作系統為Ubuntu 11.10,由gcc+openmp3.0編譯[7]。

(2)Intel?CoreTMi5-2430M CPU@2.40 GHz,3 GB內存,操作系統為Ubuntu12.04,由gcc+openm p3.0編譯。

(3)百萬億次巨型機,單計算節點為2路6核Intel Westmere EP6處理器,銀河麒麟Linux操作系統,gcc+ openmp3.0編譯。

實驗數據為:節點數分別為n=100,200,…,1 000,權值范圍限定不大于100,邊數為n×n的10個*.txt文檔。

為了驗證實驗的結果,本實驗在三個環境下進行,用來驗證實驗結果的可靠性[8]。

4.2 實驗結果

串行程序1,2和并行程序1,2在(1)Intel Pentium雙核T3400@2.16 GHz CPU,2 GB內存,操作系統為Ubuntu 11.10的環境下編譯,其中并行程序1,2以雙線程運行,運行時間如表1所示(單位:s)。

串行程序1,2和并行程序1,2在(2)Intel?CoreTMi5-2430M CPU@2.40 GHz 2.40 GHz,3 GB內存,操作系統為Ubuntu12.04的環境下編譯運行,其中并行程序1,2以雙線程運行,運行時間如表2所示(單位:s)。

表1 在Intel Pentium雙核T3400@2.16 GHz CPU,2 GB內存下運行的時間表s

表2 在Intel?CoreTMi5-2430M CPU@2.40 GHz,3 GB內存下運行的時間表s

串行程序1,2和并行程序1,2在(3)百萬億次巨型機,單計算節點為2路6核Intel Westmere EP6處理器,銀河麒麟Linux操作系統,gcc+openmp3.0的環境下編譯運行,其中并行程序1,2以多線程運行,運行時間如表3至表5所示(單位:s)。

表3 串行程序1,2運行時間表s

表4 并行程序1運行時間表s

表5 并行程序2運行時間表s

本文實驗數據表明:在Ubuntu操作系統下,串行程序1除了n=200,400,800外,其余的性能優于串行程序2;而并行程序2的性能都優于并行程序1。在銀河麒麟Linux操作系統下,串行程序1的性能都優于串行程序2;而并行程序1的性能與并行程序2的性能相當。對于Floyd算法,在串行程序中雖然宏參數帶來了性能優勢,但在并行程序中反而不如全局變量。

5 結束語

Floyd算法在Ubuntu操作系統下基于全局變量所定義的代價矩陣A大小的串行程序性能雖然不如基于宏參數所定義代價矩陣A大小的串行程序性能,但前者實現并行化后其性能反而優于后者程序并行化的性能,程序加速比前者大于后者。在巨型機的銀河麒麟Linux操作系統下,基于全局變量所定義代價矩陣A大小的串行程序性能同樣不如基于宏參數所定義的代價矩陣A大小的串行程序性能,但前者實現并行化后其性能幾乎與后者程序并行化的性能等同,加速比也是前者大于后者。對于Floyd的并行程序,宏參數并不能給程序帶來性能的改善,這與串行程序的情況相反。

[1]吳向君,任凱.交互網絡上任意節點對的最短路徑集解法[J].海軍工程大學學報,2011(4).

[2]葉金平,朱征宇,王麗娜,等.智能交通中的高效多準最短路徑混合算法[J].計算機應用研究,2011(9).

[3]李春葆,尹為民,李蓉蓉,等.數據結構教程[M].3版.北京:清華大學出版社,2009.

[4]單瑩,吳建平,王正華.基于SMP集群的多層次并行編程模型與并行優化技術[J].計算機應用研究,2006(10).

[5]楊慶芳,劉冬,楊兆升.基于MPI+OpenMP混合編程模型的城市路網最短路徑并行算法[J].吉林大學學報,2011(6).

[6]Mocean L,Ciaca M.About parallel programm ing:paradigms,parallel execution and collaborative systems[J].Informatica Econom ic?,2009,13(2).

[7]張平,李清寶,趙榮彩.OpenMP并行程序的編譯器優化[J].計算機工程,2006(24).

[8]濮芳琍,盧炎生.一種并行程序可靠組合測試策略[J].華中科技大學學報,2009(6).

LI Chaoyan1,PEI Lintao2

1.Department of Information Technology,Ningbo Professional Technology Institute,Ningbo,Zhejiang 315800,China
2.National University of Defense Technology,Changsha 410000,China

A multi-thread parallel Floyd algorithm is achieved on the Ubuntu operating system.Analysis of experimental data show s that the parallel performance of the parallel program with matrixAwhose size is defined with global variable is better than the parallel program with matrixAwhose size is defined with macro parameter.This is contrary to the much better performance of the serial program with matrixAwhose size is defined with global variable.

macro parameter;global variable;Floyd algorithm;multi-thread

A

TP301.6

10.3778/j.issn.1002-8331.1209-0045

LI Chaoyan,PEI Lintao.Difference of multi-thread parallel Floyd algorithm with macro parameter and global variable.Computer Engineering and Applications,2014,50(16):45-47.

李超燕(1978—),女,副教授,研究方向為算法設計與應用;裴林滔(1988—),男,碩士生,研究方向為并行程序與高性能計算。E-mail:190515528@qq.com

2012-09-09

2012-10-11

1002-8331(2014)16-0045-03

CNKI網絡優先出版:2012-12-18,http://www.cnki.net/kcms/detail/11.2127.TP.20121218.1520.005.htm l

猜你喜歡
定義程序實驗
記一次有趣的實驗
做個怪怪長實驗
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 精品成人一区二区| 久久综合伊人77777| 国产亚洲精品资源在线26u| 在线永久免费观看的毛片| 青青青视频蜜桃一区二区| 国产激情无码一区二区免费| 久久综合九色综合97婷婷| 综合人妻久久一区二区精品| 伊人久久婷婷| 亚洲一级毛片在线观播放| 久久精品这里只有国产中文精品| 亚洲欧洲日本在线| 国产精品私拍在线爆乳| 91香蕉国产亚洲一二三区| 亚洲午夜福利在线| 国产精品制服| 亚洲人成电影在线播放| 在线观看无码a∨| 国产精品成人一区二区| 凹凸国产分类在线观看| 日韩精品无码免费专网站| 国产性生大片免费观看性欧美| 国产va免费精品观看| 88国产经典欧美一区二区三区| 91无码视频在线观看| av在线5g无码天天| 国产极品美女在线播放| 中文字幕日韩欧美| 在线观看视频99| 人妻少妇久久久久久97人妻| www精品久久| 国产精品国产三级国产专业不| 露脸一二三区国语对白| 99热这里只有精品在线观看| 国产视频一区二区在线观看| 日韩欧美视频第一区在线观看| 婷婷六月在线| 国产精品真实对白精彩久久| 亚洲无限乱码| 欧美成人亚洲综合精品欧美激情 | 久久国产毛片| 老熟妇喷水一区二区三区| 日韩国产亚洲一区二区在线观看| 六月婷婷激情综合| 99激情网| 丁香婷婷在线视频| 国产乱子伦手机在线| 亚洲日韩AV无码一区二区三区人| 这里只有精品免费视频| 在线观看欧美精品二区| 免费欧美一级| 另类专区亚洲| 狂欢视频在线观看不卡| 精品国产美女福到在线不卡f| 久草视频精品| 99热这里都是国产精品| 国产Av无码精品色午夜| 中文字幕免费在线视频| 欧美在线伊人| 四虎影视8848永久精品| 黄色污网站在线观看| 久久久受www免费人成| 国产成人在线小视频| 国产尹人香蕉综合在线电影| 欧美中文一区| 国产精品va| 国内精品手机在线观看视频| 爆乳熟妇一区二区三区| 呦视频在线一区二区三区| 97青草最新免费精品视频| 国产特级毛片| 日本91视频| 天天综合天天综合| 欧美日韩在线观看一区二区三区| 欧美在线观看不卡| 亚洲色图综合在线| 日韩精品亚洲人旧成在线| yjizz视频最新网站在线| 欧美、日韩、国产综合一区| 亚洲欧美自拍视频| 久久综合色天堂av| 日韩在线1|