Разработка приложений в среде ParJava

  • Published on
    15-Jan-2016

  • View
    88

  • Download
    15

Embed Size (px)

DESCRIPTION

ParJava. .., ... V . - PowerPoint PPT Presentation

Transcript

<ul><li><p> ParJava.., ..V </p></li><li><p> ParJava. </p><p> . </p></li><li><p> (Fortran, C/C++) MPI ( ) OpenMP ( )</p><p> ( ) (HPF, Cilk (MIT), Unified Parallel C (Java version Titanium) (Berkeley), etc.) </p></li><li>// MPI while ((iterN--) != 0) { for(i = 2; i </li><li><p> HPF : , , , . </p><p>Ken Kennedy, Charles Koelbel, Hans Zima. The Rise and Fall of High Performance Fortran: An Historical Object Lesson// Proceedings of the third ACM SIGPLAN conference on History of programming languages, San Diego, California, Pages: 7-1 - 7-22, 2007.</p></li><li><p> :- ( Fortress (Sun), Chapel (Cray), X10 (IBM)) , MPI</p></li><li><p> ParJava (workflow) MPI-, , </p></li><li><p> ParJava ( ) - ( ) ( brunch-and-cut) ( ) </p></li><li><p> P=X*Y*Z V=2*((X-1)+(Y-1)+(Z-1))*N2 8 : V = 14N2 &gt; V = 8N2 &gt; V = 6N2 128 : V = 254N2 &gt; V = 44N2 &gt; V = 26N2 , X+Y+Z </p></li><li><p> //sending Send Recv //calculating for (i = beg_i; i &lt; end_i; i++) for (j = 0; j &lt; N; j++) B[i][j] = f(A[i][j]); //sending ISend IRecv //calculating for (i = 1; i &lt; N - 1; i++) for (j = 0; j &lt; N; j++) B[i][j] = f(A[i][j]); //waiting Wait(); //calculating last columns if (myid != 0) for (j = 0; j &lt; N; j++) B[0][j] = f(tempL[j]); if (myid != proc_size - 1) for (j = 0; j &lt; N; j++) B[N - 1][j] = f(tempR[j]);</p></li><li><p> //sending if( myid != (proc_size 1)) Send(tempL, 0, N, DOUBLE, myid + 1, 200); if (myid != 0) Recv(tempL, 0, N, DOUBLE, myid - 1, 200);</p><p> if(myid != 0) Send(tempR, 0, N, DOUBLE, myid - 1, 200); if (myid != (proc_size - 1)) Recv(tempR, 0, N, DOUBLE, myid + 1, 200);</p><p> //calculating for (i = beg_i; i &lt; end_i; i++) for (j = 0; j &lt; N; j++) { if (i == 0) B[i][j] = Math.sqrt(tempL[i] + A[i+1][j]); else if (i == N - 1) B[i][j] = Math.sqrt(A[i-1][j] + tempR[i]); else B[i][j] =Math.sqrt(A[i-1][j] + A[i+1][j]); } //sending if( myid != (proc_size 1)) ISend(tempL, 0, N, DOUBLE, myid + 1, 200); if (myid != 0) IRecv(tempL, 0, N, DOUBLE, myid - 1, 200);</p><p> if(myid != 0) ISend(tempR, 0, N, DOUBLE, myid - 1, 200); if (myid != (proc_size - 1)) IRecv(tempR, 0, N, DOUBLE, myid + 1, 200);</p><p> //calculating for (i = 1; i &lt; N - 1; i++) for (j = 0; j &lt; N; j++) B[i][j] =Math.sqrt(A[i-1][j] + A[i+1][j]);</p><p> //waiting Wait();</p><p> //calculating last columns if (myid != 0) for (j = 0; j &lt; N; j++) B[0][j] = StrictMath.sqrt(tempL[j] + A[1][j]); if (myid != proc_size - 1) for (j = 0; j &lt; N; j++) B[N - 1][j] = StrictMath.sqrt(A[N - 2][j] + tempR[j]);</p></li><li><p> , , .T &gt; T . + T = </p><p>T + S . /V </p><p>1</p><p>11111</p><p>4.18958904117.1130241274847.3901574161</p><p>4.549497954613.236922406316813.595840214</p><p>4.3274142217.8515579071241218.880687346</p><p> send</p><p> send</p><p> 10 times</p><p> (. - .. - 550 ) (. - .. - 550 )</p><p>11171 Mb608960614730160641061158011</p><p>81171 Mb760043653911.6823895498288837778171029205.9422852701245534</p><p>162171 Mb380544459601.378442012740735639650730768.3690951886328768</p><p>243171 Mb252615331671.1529783351507356275121857363.292738079915767412</p><p> Layer 160X160 (R=351 count_times = 2 initN = 1500)0.9882112972</p><p>114 Mb611536116816070860731111</p><p>814 Mb7657146004.18958904116928767385387.113024127484647.3901574161</p><p>1624 Mb3831134454.549497954695993894458813.2369224063675813.595840214</p><p>2434 Mb2643141354.32741422114772592340217.85155790717911218.880687346</p><p> 10 times</p><p>0000</p><p>0000</p><p>0000</p><p>0000</p><p>00000</p><p>00000</p><p>00000</p><p>00000</p><p> send</p><p> send</p><p> (. - .. - 550 ) (. - .. - 550 )</p><p>11171 Mb6089661473160641611581</p><p>2171 Mb30428384711.5979049154749330330321981.89943474751318</p><p>3171 Mb20182329811.86389133141224920091229372.66634695032296</p><p>4171 Mb15164300162.04800772921430215061185403.29870550162929</p><p>5171 Mb12105324901.89205909511983512134164953.70766899063811</p><p>6171 Mb10119330161.86191543492234710106154873.9489894754831</p><p>7171 Mb8671349061.7611012433256858628140844.34237432554906</p><p>8171 Mb7642394851.5568696974312937791147244.15362673196383</p><p>162171 Mb3841459201.338697735241529380795736.38859291765216</p><p>243171 Mb2565528481.1632039055497333543699630.874147763865870</p><p> Layer 160X160 (R=351 count_times = 2 initN = 1500)</p><p>114 Mb606460741606460741</p><p>24 Mb304932821.8507007922223303430921.964424320848</p><p>34 Mb203723712.561788275324202921332.847632442694</p><p>44 Mb153220532.9585971749511152616933.587714117157</p><p>54 Mb125018223.3336992316562122013564.4793510324126</p><p>64 Mb106523072.63285652361232102513044.6579754601269</p><p>74 Mb91722802.66403508771353104515134.0145406477458</p><p>84 Mb82518393.30288200111004134616103.7726708075254</p><p>1624 Mb42814964.060160427810584466928.7774566474236</p><p>2434 Mb30415913.817724701412773226339.5955766193301</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>000</p><p>omega-new9/18/07</p><p>~/pribluda@master:&gt; more run</p><p>#PBS -l walltime=00:05:00,nodes=1:ppn=4</p><p>#PBS -N pribluda_just</p><p># -q @master</p><p>#!/bin/sh</p><p>cd /home/barbara/pribluda</p><p>/home/shaman/mpiJava/src/scripts/prunjava -cp /home/vartan/mpiJava/lib/classes:/home/barbara/pribluda -Xbootclasspath/p:/home/vartan/mpiJava/lib/bootclasses -</p><p>Djava.library.path=/home/shaman/mpiJava/lib -d32 -Xmx600M pribluda_justpar</p><p>~/pribluda@master:&gt; more nrun</p><p>#PBS -l walltime=00:05:00,nodes=1:ppn=4</p><p>#PBS -N pribluda_notjust</p><p># -q @master</p><p>#!/bin/sh</p><p>cd /home/barbara/pribluda</p><p>/home/shaman/mpiJava/src/scripts/prunjava -cp /home/vartan/mpiJava/lib/classes:/home/barbara/pribluda -Xbootclasspath/p:/home/vartan/mpiJava/lib/bootclasses -</p><p>Djava.library.path=/home/shaman/mpiJava/lib -d32 -Xmx600M pribluda_notjustpar</p><p>Barbara: 1555 790</p></li><li><p> , </p><p>2 :</p><p> , , , , .</p></li><li><p> , , ( ).</p><p> , </p><p>, 320X320X200 10 2.5 </p></li><li><p> N*N*M N*N*M/2 byte</p><p> N = M = 160 2 119 (16 2- Power 2,2 GHz, 4 GB) 6 .</p><p> N = 320 M = 200 10 300 (64 2- Power 2,2 GHz, 4 GB) - .</p></li><li><p>6</p><p>1110.5</p><p>1.75413533831.792180834521</p><p>3.24027777783.08617604942</p><p>4.86891385775.270918203163</p><p>5.96262135926.621780080684</p><p>7.66571428577.6886340017105</p><p>8.88175675689.4329571608126</p><p>9.657342657311.6518070331147</p><p>11.277533039613.135536416168</p><p>18.929577464814.4403516943216</p><p>1916.5136511874221</p><p>23.318.25451746726432</p><p>Prediction</p><p>Real execution</p><p>Max Speedup</p><p>Efficiency 0.5</p><p>Processors</p><p>Speedup</p><p>1</p><p>for i in 2 4 6 8 10 12 14 16; do java ru.ispras.ParJava.orange.Monitor -prop ../network.prop -np $i -ad /home/barbara/testintepr/src/cd tornadoMRKApar2Ch_090606 0 0 ../last_090606_small.set | tee -a results.log; donetimespeedup/nethome/vartan/mpiJava/src/scripts/prunjava 1 -maxtime 40 -cp /nethome/vartan/mpiJava/lib/classes:$HOME/java:/nethome/barbara/tornado/classes -Xbootclasspath/p:/nethome/vartan/mpiJava/lib/bootclasses -Djava.library.path=/nethome/vartan/mpiJava/lib -Xmx40no array timespeedup</p><p>1116.651272210.511</p><p>266.51.754135338342.9380.629370629411.75413533831.7921808345</p><p>4363.240277777832.730.80.825688073423.24027777783.086176049</p><p>626.74.368913857731.729.70.851735015834.86891385775.2709182031</p><p>820.65.662621359239380.692307692345.96262135926.6217800806</p><p>1017.56.665714285747.5440.568421052657.66571428577.6886340017</p><p>1214.87.881756756833.5310.805970149368.88175675689.4329571608</p><p>1414.38.157342657328240.964285714379.657342657311.6518070331</p><p>1611.3510.27753303960811.277533039613.135536416</p><p>327.116.42957746481618.929577464814.440351694</p><p>422119</p><p>643223.316.513651187</p><p>18.2545174672</p><p>111</p><p>21.75413533831.79218083452.1228603374</p><p>43.24027777783.0861760494.9932902816</p><p>64.86891385775.27091820317.6268371076</p><p>85.96262135926.62178008069.9544037009</p><p>107.66571428577.68863400170.2980986737</p><p>128.88175675689.43295716085.8433468384</p><p>149.65734265730</p><p>1611.277533039611.65180703313.2121540664</p><p>2013.135536416100</p><p>2414.440351694100</p><p>2816.513651187100</p><p>3218.929577464818.25451746723.6980435053</p><p>4.7186293139</p><p>1</p><p>00</p><p>00</p><p>00</p><p>00</p><p>00</p><p>00</p><p>00</p><p>00</p><p>00</p><p>2</p><p>0000</p><p>0000</p><p>0000</p><p>0000</p><p>0000</p><p>0000</p><p>0000</p><p>0000</p><p>0000</p><p>000</p><p>3</p><p>0100</p><p>01.792180834500</p><p>03.08617604900</p><p>05.270918203100</p><p>06.621780080600</p><p>07.688634001700</p><p>09.432957160800</p><p>011.651807033100</p><p>013.13553641600</p><p>014.44035169400</p><p>016.51365118700</p><p>018.254517467200</p><p>Prediction</p><p>Real execution</p><p>Max Speedup</p><p>Efficiency 0.5</p><p>Processors</p><p>Speedup</p></li><li><p> . ParJava. </p><p> . ParJava. ParJava Eclipse.</p><p> , () , ... </p></li><li><p> . : , . , 18-23 2006. </p><p> - 12-17 2006 .</p><p>International Conference on the Methods of Aerophysical Research Novosibirsk, 2007.</p><p>Sixth International Conference on Computer Science and Information Technologies (CSIT2007), 24-28 September, Yerevan, Armenia </p><p>MTPP 2007 Parallel Computing Technologies First Russian-Taiwan Symposium Pereslavl-Zalesskii (Russia), September 2-3, 2007</p></li><li><p> Wind vector evolution in YZ-plane, which is passed through the center of the vortex (X=500 m) in the following points of time (left-to-right, up-to-down): t1=10.34 sec,t5=51.7 sec,t10=103.4 sec, t16=165.4 sec. </p></li><li><p> The field of velocities in the point of timet8 = 83 s on the different levels(left-to-right, up-to-down): z10 = 187.5 , z40 = 750 , z60 = 1125 , z79 = 1481 .</p></li><li><p> .., ., .., ... . ParJava. // . ( )</p><p>.., B.B. ... : ..// / ( )</p><p> : , . , 18-23 2006. . 109-112.</p><p> - 12-17 2006 . .16-20. </p><p>A.Yu. Gubar, A.I. Avetisyan, and V.V. Babkova, Numerical modelling of 3D tornado arising in the mesovortice turbulence theory of Nikolaevskiy /International Conference on the Methods of Aerophysical Research: Proc. Pt III /Ed. V.M. Fomin. Novosibirsk: Publ. House Parallel, 2007. 250 p; P135-140.</p><p>Sixth International Conference on Computer Science and Information Technologies (CSIT2007), 24-28 September, Yerevan, Armenia </p><p>MTPP 2007 Parallel Computing Technologies First Russian-Taiwan Symposium Pereslavl-Zalesskii (Russia), September 2-3, 2007</p></li></ul>

Recommended

View more >