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

  • Published on
    15-Jan-2016

  • View
    86

  • Download
    15

Embed Size (px)

DESCRIPTION

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

Transcript

  • ParJava.., ..V

  • ParJava.

    .

  • (Fortran, C/C++) MPI ( ) OpenMP ( )

    ( ) (HPF, Cilk (MIT), Unified Parallel C (Java version Titanium) (Berkeley), etc.)

  • // MPI while ((iterN--) != 0) { for(i = 2; i
  • HPF : , , , .

    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.

  • :- ( Fortress (Sun), Chapel (Cray), X10 (IBM)) , MPI

  • ParJava (workflow) MPI-, ,

  • ParJava ( ) - ( ) ( brunch-and-cut) ( )

  • P=X*Y*Z V=2*((X-1)+(Y-1)+(Z-1))*N2 8 : V = 14N2 > V = 8N2 > V = 6N2 128 : V = 254N2 > V = 44N2 > V = 26N2 , X+Y+Z

  • //sending Send Recv //calculating for (i = beg_i; i < end_i; i++) for (j = 0; j < N; j++) B[i][j] = f(A[i][j]); //sending ISend IRecv //calculating for (i = 1; i < N - 1; i++) for (j = 0; j < N; j++) B[i][j] = f(A[i][j]); //waiting Wait(); //calculating last columns if (myid != 0) for (j = 0; j < N; j++) B[0][j] = f(tempL[j]); if (myid != proc_size - 1) for (j = 0; j < N; j++) B[N - 1][j] = f(tempR[j]);

  • //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);

    if(myid != 0) Send(tempR, 0, N, DOUBLE, myid - 1, 200); if (myid != (proc_size - 1)) Recv(tempR, 0, N, DOUBLE, myid + 1, 200);

    //calculating for (i = beg_i; i < end_i; i++) for (j = 0; j < 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);

    if(myid != 0) ISend(tempR, 0, N, DOUBLE, myid - 1, 200); if (myid != (proc_size - 1)) IRecv(tempR, 0, N, DOUBLE, myid + 1, 200);

    //calculating for (i = 1; i < N - 1; i++) for (j = 0; j < N; j++) B[i][j] =Math.sqrt(A[i-1][j] + A[i+1][j]);

    //waiting Wait();

    //calculating last columns if (myid != 0) for (j = 0; j < N; j++) B[0][j] = StrictMath.sqrt(tempL[j] + A[1][j]); if (myid != proc_size - 1) for (j = 0; j < N; j++) B[N - 1][j] = StrictMath.sqrt(A[N - 2][j] + tempR[j]);

  • , , .T > T . + T =

    T + S . /V

    1

    11111

    4.18958904117.1130241274847.3901574161

    4.549497954613.236922406316813.595840214

    4.3274142217.8515579071241218.880687346

    send

    send

    10 times

    (. - .. - 550 ) (. - .. - 550 )

    11171 Mb608960614730160641061158011

    81171 Mb760043653911.6823895498288837778171029205.9422852701245534

    162171 Mb380544459601.378442012740735639650730768.3690951886328768

    243171 Mb252615331671.1529783351507356275121857363.292738079915767412

    Layer 160X160 (R=351 count_times = 2 initN = 1500)0.9882112972

    114 Mb611536116816070860731111

    814 Mb7657146004.18958904116928767385387.113024127484647.3901574161

    1624 Mb3831134454.549497954695993894458813.2369224063675813.595840214

    2434 Mb2643141354.32741422114772592340217.85155790717911218.880687346

    10 times

    0000

    0000

    0000

    0000

    00000

    00000

    00000

    00000

    send

    send

    (. - .. - 550 ) (. - .. - 550 )

    11171 Mb6089661473160641611581

    2171 Mb30428384711.5979049154749330330321981.89943474751318

    3171 Mb20182329811.86389133141224920091229372.66634695032296

    4171 Mb15164300162.04800772921430215061185403.29870550162929

    5171 Mb12105324901.89205909511983512134164953.70766899063811

    6171 Mb10119330161.86191543492234710106154873.9489894754831

    7171 Mb8671349061.7611012433256858628140844.34237432554906

    8171 Mb7642394851.5568696974312937791147244.15362673196383

    162171 Mb3841459201.338697735241529380795736.38859291765216

    243171 Mb2565528481.1632039055497333543699630.874147763865870

    Layer 160X160 (R=351 count_times = 2 initN = 1500)

    114 Mb606460741606460741

    24 Mb304932821.8507007922223303430921.964424320848

    34 Mb203723712.561788275324202921332.847632442694

    44 Mb153220532.9585971749511152616933.587714117157

    54 Mb125018223.3336992316562122013564.4793510324126

    64 Mb106523072.63285652361232102513044.6579754601269

    74 Mb91722802.66403508771353104515134.0145406477458

    84 Mb82518393.30288200111004134616103.7726708075254

    1624 Mb42814964.060160427810584466928.7774566474236

    2434 Mb30415913.817724701412773226339.5955766193301

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    000

    omega-new9/18/07

    ~/pribluda@master:> more run

    #PBS -l walltime=00:05:00,nodes=1:ppn=4

    #PBS -N pribluda_just

    # -q @master

    #!/bin/sh

    cd /home/barbara/pribluda

    /home/shaman/mpiJava/src/scripts/prunjava -cp /home/vartan/mpiJava/lib/classes:/home/barbara/pribluda -Xbootclasspath/p:/home/vartan/mpiJava/lib/bootclasses -

    Djava.library.path=/home/shaman/mpiJava/lib -d32 -Xmx600M pribluda_justpar

    ~/pribluda@master:> more nrun

    #PBS -l walltime=00:05:00,nodes=1:ppn=4

    #PBS -N pribluda_notjust

    # -q @master

    #!/bin/sh

    cd /home/barbara/pribluda

    /home/shaman/mpiJava/src/scripts/prunjava -cp /home/vartan/mpiJava/lib/classes:/home/barbara/pribluda -Xbootclasspath/p:/home/vartan/mpiJava/lib/bootclasses -

    Djava.library.path=/home/shaman/mpiJava/lib -d32 -Xmx600M pribluda_notjustpar

    Barbara: 1555 790

  • ,

    2 :

    , , , , .

  • , , ( ).

    ,

    , 320X320X200 10 2.5

  • N*N*M N*N*M/2 byte

    N = M = 160 2 119 (16 2- Power 2,2 GHz, 4 GB) 6 .

    N = 320 M = 200 10 300 (64 2- Power 2,2 GHz, 4 GB) - .

  • 6

    1110.5

    1.75413533831.792180834521

    3.24027777783.08617604942

    4.86891385775.270918203163

    5.96262135926.621780080684

    7.66571428577.6886340017105

    8.88175675689.4329571608126

    9.657342657311.6518070331147

    11.277533039613.135536416168

    18.929577464814.4403516943216

    1916.5136511874221

    23.318.25451746726432

    Prediction

    Real execution

    Max Speedup

    Efficiency 0.5

    Processors

    Speedup

    1

    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

    1116.651272210.511

    266.51.754135338342.9380.629370629411.75413533831.7921808345

    4363.240277777832.730.80.825688073423.24027777783.086176049

    626.74.368913857731.729.70.851735015834.86891385775.2709182031

    820.65.662621359239380.692307692345.96262135926.6217800806

    1017.56.665714285747.5440.568421052657.66571428577.6886340017

    1214.87.881756756833.5310.805970149368.88175675689.4329571608

    1414.38.157342657328240.964285714379.657342657311.6518070331

    1611.3510.27753303960811.277533039613.135536416

    327.116.42957746481618.929577464814.440351694

    422119

    643223.316.513651187

    18.2545174672

    111

    21.75413533831.79218083452.1228603374

    43.24027777783.0861760494.9932902816

    64.86891385775.27091820317.6268371076

    85.96262135926.62178008069.9544037009

    107.66571428577.68863400170.2980986737

    128.88175675689.43295716085.8433468384

    149.65734265730

    1611.277533039611.65180703313.2121540664

    2013.135536416100

    2414.440351694100

    2816.513651187100

    3218.929577464818.25451746723.6980435053

    4.7186293139

    1

    00

    00

    00

    00

    00

    00

    00

    00

    00

    2

    0000

    0000

    0000

    0000

    0000

    0000

    0000

    0000

    0000

    000

    3

    0100

    01.792180834500

    03.08617604900

    05.270918203100

    06.621780080600

    07.688634001700

    09.432957160800

    011.651807033100

    013.13553641600

    014.44035169400

    016.51365118700

    018.254517467200

    Prediction

    Real execution

    Max Speedup

    Efficiency 0.5

    Processors

    Speedup

  • . ParJava.

    . ParJava. ParJava Eclipse.

    , () , ...

  • . : , . , 18-23 2006.

    - 12-17 2006 .

    International Conference on the Methods of Aerophysical Research Novosibirsk, 2007.

    Sixth International Conference on Computer Science and Information Technologies (CSIT2007), 24-28 September, Yerevan, Armenia

    MTPP 2007 Parallel Computing Technologies First Russian-Taiwan Symposium Pereslavl-Zalesskii (Russia), September 2-3, 2007

  • 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.

  • 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 .

  • .., ., .., ... . ParJava. // . ( )

    .., B.B. ... : ..// / ( )

    : , . , 18-23 2006. . 109-112.

    - 12-17 2006 . .16-20.

    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.

    Sixth International Conference on Computer Science and Information Technologies (CSIT2007), 24-28 September, Yerevan, Armenia

    MTPP 2007 Parallel Computing Technologies First Russian-Taiwan Symposium Pereslavl-Zalesskii (Russia), September 2-3, 2007

Recommended

View more >