JPT: a Java Parallelization Tool Kristof Beyls1, Erik D'Hollander2, and

0 downloads 0 Views 178KB Size Report
tool which generates PVM code from a serial Java program. JPT au- tomatically ..... public static void main(String[] args) ... (int[] tids, String slavename, int band).
      ! "$#&%('*),+.-0/213546'87:9A@B CD+.4(46EGFIHJ1K#&L.9MEGFIHON% PRQMFSN=QIT U!VXW.YXZ[G\]_^a`Gb:cedeZKf:W:gXh_^jiekl^nmGb op W.Yrqs^atXu.\Xd:dXivewebKWefXbedeY:Zl^xW:gehy^jiekl^ameb zA{ Y:|gXvs^ { gGfXbedXYXZl^xW:gXh_^jiekl^nmGb }2~€‚Xƒ&„R…†ˆ‡Š‰‹ŒŽ2ƒ8~e‡r‘ ’“ƒ8”•„†‡R– ƒ8~e‡‹Œ_—_˜™ƒ&š&‡†„R‚šr•K˜y—_~›K‚~ƒ8ƒ&„R‚~€› œy•„*•˜‚˜™ƒ&˜žŠ~.Œ6‹K„R–•Ÿ‡R‚‹:~ e‰.…j‡Rƒ8– …  .‚~e‡†¡xœs‚ƒ&‡Rƒ,„R…†~‚ƒ8¢e£=…j‡†„*•:•Ÿ‡2¤.¥ ¦Ž¡x§K¨:¨:¨2ƒ&~G‡r‘¦0ƒ8˜‚›K™¢€– ©ªy«8¬8­Ÿ®¯:¬:° œs±“²³‚…´•…†¢€š8š8ƒ8…jŒ(¢˜‚˜ 7 ),+)8E.',> L â·+€QM4(H),×M1KFAßl1  R  »ó 7 L T  R T   R »ó TŸ9€â %?),× R T   R AT“EGF  sæ (





J( 9`

P

P

J(

R(SUT

( *

( *

S!

S!

R( 9`

_

C`

_

J(SUT

P

R(

R( *

_





 "! . _Ð0ÏMÕRÑ´Î #! ? _Ð Õ %$



֓×I1µÚŸ+€F5Ü.1#8',%?+€F+.-sEÁېEXÜXE$ÙI#,+€ä.#8EGØ %(F),+!EGF ê´ÖèöòJÖèEGF5' ),×M1Á',%(å1K'+G-=EG4(4_)&×M1ÁE.#,#8EX3J' %?FÅ)&×M1 ÙIE.#&E.4?4(14=4(+5+.ÙãE.'â·1K4?42E.'$)&×M1 %(FMÙMQJ)¹HMEe)8ES-n+.#E.4?4´%™)&1#8Ee),%(+.FA@ ( )  *+  CB )  * >A@D  %. *+  CBE %>A@D

V

V

66  ,F  " * '   "

 CBE ">2 %. *HGI# J &K .L # M D @   %C/21'%< "  .% *+ % N  %C/ 8 1 8  H * G A G  CBO %P>2%  "  .% @D %< "  + % "  .% * / 5 1H  * + * % %< "  .% / 1H  * + % N  %0/O%  " 1H  CBO  %P>Q * G %  "  GA- @D :>  % +5   R  * HBQ %  SP TT @  :U>Q * H/  1 ++)  * @ ( " % +    V

#    %C/21W + % N #   %P/ 8 1H  H/ 5 1 +  " %  ?  H/ - 1 +  " %  ? 66 $ N %4  "   :c>Q  * HBQ %  S F  CB^$N %P>$d"d G   G  CBE " e  e :  G dd G  * @@ ( # )   B^ CBO  %%P> d  %  0BQ  " #  " B^$N %." d T d>  %0/21' * @ 9   * %PfQ4$N %gd T dA S ;%   : ' b  * d @D  CBQ [  >A@D # )   BQ [  > , 8 @D V

66 " % )   %   W   ;" *'   %P> #   %P/21  @  SN!XYZ% * L[   % G \ %%    %L[   % G \   J L[   % G \ %   * L[   % ( X;S  X + XHBE:Y  ?>IH/ 5 1@D  " # " ;S  X \ %]  " # " @  S  XBO% N \ %%A@D S  *  + % N  S  * >Q S  X \ %% @D 0B^>A@D 0BQ  %C>A@D V V

67 - 9   %:     %  h % 7 6 66 " ,F  * h % *  CB  %   % * >] CBE " e  e :@D  %C/21'%.% *+ % N  %C/ 8 1H %.% * / 5 1 +  * HBQ %  SC %.% * / - 1 + % *   CBO  %>Q% .% *HG 8 GA- @D  CBO  %>^ * G  * HB^ % S GA- @D  CB   >^ * GI# J &K .L # M @D    % )  * 

¸ ɏ€ƒ ZDj.i3k:v Z:dXi3lebGZ – ƒ&‡R‹G¶

_ i`

_ • `µÉƒ¹¸•K…†ƒ¹š8˜™•…†…ÀK”€‡*œ_.–Á G˜™•Ÿ:ƒ‚~ ÀX•rK•”5•š,ÂK•K›KƒDÀXœŽÉ

  ° I° ɏƒDÀXœsÉá”5•Kš*ÂK•K›:ƒ ?m

4

4 dimension 100 300 500 ideal

Native threads

Speedup

3

3

2

Green threads

1

0 100

2

1

0 200

300 Dimension

400

500

1

2

3

4

Processors

_ • `Aº0‹:– ”•„R‚…†‹:~ ¸Jƒ&‡x£ƒ8ƒ8~蛄Rƒ8ƒ8~ •K~¶~5•Ÿ‡R‚Xƒ“‡R€„Rƒr•K¶€…

¸ 0…†”Jƒ&ƒr¶€¢€”!G…8½”.„R‹eš8ƒ8…†…†‹„R…

_ i`

  ° l°  G”Jƒ8ƒr¶.¢”…‹Œy‡Rƒ“–•Ÿ‡†„R –µ¢˜ˆ‡R‚”˜‚‚šr•‡R‚‹K~¹•K˜‚›K‹K„Rˆ‡R– 

0%(#&'*)A)&×M1ÝÙµJ½ F•˜™•K–•K~€š,€‚˜™˜‚I•K~¶Ä ½5º0‹Kƒ8~I½sº0‹:– –µ¢~€™š8•‡R‚‹:~”Jƒ&„†Œ(‹K„R–•K~€š8ƒ“‹hŒ †•rK•µ¸•K…†ƒr¶Á”5•„†¡ •K˜‚˜‚ƒ8˜lGˆ„†‡R¢5•˜