版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
實驗一多線程計算n,性能分析1.1實驗內(nèi)容多線程計算n性能分析1.2實驗原理—X01+X2'i+0.5丫I丿1.3實現(xiàn)方法編程語言:C++多線程:windows多線程thread平臺:windows7600(32bit),LenovoT400Laptop,IntelCore2DuoP8400@2.26GHz集成開發(fā)環(huán)境:VisualStudioTeamSystem2008(32bit)1.4程序流程圖開始*設定線程數(shù)*設定累加數(shù)1.5實驗結果線程數(shù)NUM_THREAD=4N nTime-cost1003.141600986923123ms10003.141592736923134ms100003.141592654423135ms1000003.1415926535981325ms10000003.1415926535899082ms1.6性能分析精度隨疊加次數(shù)N的增大而趨近于n的真實值,計算時間也隨之增高;相同的疊加次數(shù)下,因為是雙核處理器,線程數(shù)為2時計算性能最高。理論性能提升有極限值,所以不會因為線程的增多而性能無限增強。當線程數(shù)很大時,計算時間增加很快。1.7總結展望第一次編寫并行化的程序,對多線程編程有了初步的認識。由于是在VisualStudio平臺下編程,很多知識是從Lunix平臺移植過來的,雖然表現(xiàn)形式有少許差別,但核心思想一致。通過學習,對windows多線程編程有了一定的掌握。實驗二3PCF計算多線程實現(xiàn)實驗內(nèi)容?定義:點集D、R。一定義D中的點為a.UD,R中的點為b.UR。ii一距離:片、r2、r3、err?求:滿足以下條件的三元組(空間中三角形)的數(shù)目?va.,b,b>,la.-b|=r土err且la.-bl=r“土err且lb-b|=r土errimnim1 in2 mn3實驗原理對于D中每一點a.,在R中找到與之距離為、的點集R',找到與之距離為r2的點集R''。i 1 2在點集R'與R''中,查找兩點間距離為r3的點組數(shù)目。累加。多線程中將D點分組,分別驗證符合要求的點組,累加數(shù)目。實現(xiàn)方法編程語言:c++多線程:windows多線程thread平臺:windows7600(32bit),LenovoT400Laptop,IntelCore2DuoP8400@2.26GHz集成開發(fā)環(huán)境:VisualStudioTeamSystem2008(32bit)程序流程圖
2.5實驗結果r1=0.4r2=0.8r3=0.7err=0.2D/RcountTime-cost3233410TOC\o"1-5"\h\z256 1828275 0.25512 13908434 1.801024 115062333 14.562048919041742115.21409673678266071048.492.6性能分析相同的線程數(shù),點集增大時,計算時間增多;相同的點集,線程增多時,計算時間先減少后增多。這與理論相符,點集增大,計算量隨之增加;線程增多,程序并行化提高,但由于計算單元有限,無限制增加線程會提高線程間通信成本,導致計算性能降低。2.7總結展望此次實驗與第一次實驗多線程實現(xiàn)方法相同,采用域劃分,將相同的任務分配給不同的線程,將計算量均衡化,采用3PCF的基本思想,逐一驗證三邊,算法效率較低,可以設計新優(yōu)化算法,利用矩陣乘法快速求出3PCF的結果,待實現(xiàn)。實驗三MPI實現(xiàn)Jacobi迭代3.1實驗內(nèi)容h+//;+//,.+h;h力h+//;+//,.+h;h力+i,/MetalplateEnlarged實驗原理通過MPI消息傳遞,實現(xiàn)并行計算。每個進程根據(jù)各自的Rank來劃分數(shù)據(jù)域,并進行自己的迭代,覆蓋原來的矩陣,進程之間互相通訊傳遞消息,繼續(xù)循環(huán)迭代矩陣,直到達到迭代次數(shù)為止。將1024*1024的矩陣初始化,將邊界設置為10,不斷進行迭代,可以看出矩陣向中央均衡化的過程,逐漸收斂。實現(xiàn)方法編程語言:C++多線程:MPI平臺:windows7600(32bit),LenovoT400Laptop,IntelCore2DuoP8400@2.26GHz集成開發(fā)環(huán)境:VisualStudioTeamSystem2008(32bit)程序流程圖
Y循環(huán)結束N分區(qū)Jacobi迭代消息傳遞1分區(qū)Jacobi迭代消息傳遞分區(qū)Jacobi迭代Y循環(huán)結束N分區(qū)Jacobi迭代消息傳遞1分區(qū)Jacobi迭代消息傳遞分區(qū)Jacobi迭代消肖息傳遞,分區(qū)Jacobi迭代覆蓋原矩陣分別輸出迭代結果MPI初始化開始結束3.5實驗結果局部數(shù)據(jù)截圖: 11.U> !-■1.1 -C.77-L ~E1.u'X■■_■. -L U*9344130.9396970.9336410.^382530.93226T0.9361080.^305430.9335759392730.9335020.9382530.^323750.9364090.9307550.^340150.9289359330900.9378S40.9322670.9364090.93082&0.9342380.^290250.931B889371610.g3iw0.9361080.9307550.9342380.9290560.^318270.9271489314280.9355170.9305430.9340150.9290250.931S2T0.^271340.92927393465^0.9301990.9335750.92B9350.9316880.9271480.^292730.9251419297360.932^370.92S7880.9314150.9271870.9292230.^25igg0.9266B293212E0.928EST0.9310170.9272500.9291230.9253720.^2&7210.92326192833^0.930EOB0.9273310.92B9770.9256490.9267960.^235640.9242B7□.9299070.9274240.92S7870.9260190.926^020.9240540.^245310.921B410.9275220.9285590.9264&30.^270330.92470S0.9248810.^225310.9224220.92S2970.926^590.9271800.^254970.9253220.9234550.0.9211470.9274S30.9273330.9263860.^258310.9245710.9237260.^223140.9213340.9274S30.927333Q.9263360.^25S310.924571Q.9237260.9盈3140.9213340.9282970.926^59Q.9271300.^254970.925322Q.9234550.9盈旳80.9211479275220.9Z85590.9264&30.^270330.9247080.9248810.^225310.9224229299070.9Z74240.9287870.^260190.926^020.9240540.^24:5310.92184192833^0.9305080.9273310.^289770.9256490.9267960.^235640.9242873.6總結展望學習并實踐了一種新的并行程序設計方法,掌握應用了MPI六個基本函數(shù),對MPI模型有了基本了解。MPI是一種很好的實現(xiàn)并行計算的方法,并可應用于Cluster中,適合多臺計算機或集群并行計算。由于時間有限,現(xiàn)只實現(xiàn)了MPI+VC的編程,未來將實現(xiàn)MPI在Lunix的應用。實驗四基于MapRedue模型的WordCount算法實驗內(nèi)容基于MapRedue模型的WordCount算法在Hadoop上的實現(xiàn)實驗原理將數(shù)據(jù)源中的word和1作為map函數(shù)中的<key,value>對。map()生成一個或多個中間結果,以及與input相對應的一個outputkey。reduce()函數(shù)將這些中間結果組合為多個對應于同一outputkey的finalvalue,將相同word中的value相加,最終的<key,value>^代表keyword出現(xiàn)了value次。將基于Mapreduce的WordCount并行化,對每個文件分別Map,然后Reduce,之后將各個線程的結果最終歸約,得到求解。實現(xiàn)方法編程語言:java平臺:雙i7四核,Ubuntu,SSH遠程登錄偽代碼map(Stringinput_key,Stringinput_value)://input_key:documentname//input_value:documentcontentsforeachwordwininput_value:EmitIntermediate(w,"1");reduce(Stringoutput_key,Iteratorintermediate_values)://output_key:aword//output_values:alistofcountsintresult=0;foreachvinintermediate_values:result+=ParseInt(v);Emit(AsString(result));性能分析將MapReduce并行化之后,每個線程處理數(shù)據(jù)域的文檔,各自MapReduce之后將結果進行歸約,得到最終的方案。計算量一定,線程數(shù)增多,計算時間先減少后增加,符合理論值。因為計算單元有限,所以超過一定數(shù)量后,通信成本過高,程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年甲乙雙方關于新建文化傳媒公司的股權轉讓合同
- 二零二五年度住宅裝修消防設施合同3篇
- 2025版股票質押業(yè)務盡職調(diào)查合同范本3篇
- 二零二五年度商業(yè)綜合體監(jiān)理合同終止及消防驗收協(xié)議3篇
- 2025年度二零二五班主任學生社團指導合同3篇
- 2024年限社保補充協(xié)議條款深化協(xié)議版B版
- 2024年林業(yè)用地樹木砍伐與生態(tài)補償合同范本3篇
- 二零二五年度BIM咨詢與建筑工程節(jié)能改造合同2篇
- 二零二五年度信用卡透支借款合同打印范本3篇
- 房屋租賃協(xié)議范本
- 《古蘭》中文譯文版
- 膽囊結石合并急性膽囊炎臨床路徑表單
- 電力建設安全工作規(guī)程解析(線路部分)課件
- 軟膠囊生產(chǎn)工藝流程
- 小學英語不規(guī)則動詞表
- VIC模型PPT課件
- AQL2.5抽檢標準
- 宣傳廣告彩頁制作合同
- 除濕機說明書
- 征信知識測試題及答案
- 理想系列一體化速印機故障代碼
評論
0/150
提交評論