presentation

"
!" # !
$% &'%
#$ ""%
#%
%(
!
'
)%
"
&
$
%& %# % $
" $ *+"& ) (%$
&
% ! ,%
-
"
,
" '
."
$- &'% "
$"
% !% &'%
$" "( 0 1 2
%"$
" " , ""%
&% '
!
#&
/
'
. &
"* / " # !
!"
' "" "
%""
*%' 3, 4 5/
6%
78 9:
" 3
%"$ ' " "4 *
* %'
""%
%! " ! " '
. ";! # ( 0" %&
&#
.0" %&
< = &' &
$
% ,
# ( 0 0
" !#$
..
>
#
! !
!
%&
& ! "
*&
& %'0
""% "
"
&
%$
&&
%$ " 0
0
,
."
),
# " ,
!
%'0 "
&' # "
% "
,
%
' ""
=
=% & )
"" ( @ '
+#"
!
#
!
% $A
"*
"' '
"B 0 "" !
C B3 4DC 9 2
"
""#&
$
?
Bias in Occurrence of Message Orderings [p=8; “MCR” (Pentium4)]
,%'0 !
!
, ""% + !
"
%
&
'
#(%
) *#
$( / 01
%" +''
$+, .
.$23 /
' *
(7,*)
)
(2,*)
(1,*)
2
Bias in Occurrence of Message Orderings [p=8; “Thunder” (Itanium 2)]
%" , ""% + !
" .0 ! 5 C :
4123675
3412657
2341765
1234765
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
9
Bias in Occurrence of Message Orderings [p=8; BG/L]
%" , ""% + !
" >; 5 C :
4213765
4123765
3124567
2453761
2315467
2134567
1423765
1234567
0
2000
4000
6000
8000
Co-processor Mode
10000
12000
14000
16000
Virtual Node Mode
18000
20000
+ &
!'
4
%!
%
"""%
..
> - ,
#% &
%$
=
%& " &"
'&" " ! ' " % !!"' ""
)
!
" ',
, !&
-#" %' =% &" 0% '%
%"!
!
" '@ '
, ' %
" "' *''
% # "
< &0 ! *# ''
"@
F
#& "
!
" '' ! !
% $A " ,
% "
%#&A
=% &"
#(%& / 5'
65
7 %' %!!
$( 0 & 0 %! !
. " =% &"
?7/
0&" 0 " / " # !!%%" ' "
7(8 & )
'"
& 5
-
"E
)
!
"' '
=% &
if rank is 0 then // Master receive on p0
repeat p-1 times
MPI_Recv (*); // “Wildcard” receive
else
MPI_Send (message
0); // Send to p0
" !
, !&
#&
.%"< >&#%&"
+
' ""
-&
& '"" !G; %&
%'' &
% " %& "
%$
*&(
, !&
",
%& %&
0 "
*&(
#&
if rank is 0 then
let s
(an initial value)
repeat p-1 times
t
MPI_Recv (*);
s
s + t // May overflow!
else
let u
(some constant > 0)
if rank is odd then
message
u
else
message
-u
MPI_Send (message
0);
, !&
#& 2
'
repeat
.%"< >&#%& ! '
'%&'
%
%!'%" " &
#
" &"*
0
'"
"%
&#%& " &
-&
& %&% ' !
&#%&
" &3 %#&4
*@ A
%"" '%
, !&
"
%
'%&
0!
-&
& '"'
% &#%& "! %&
@ A "*&%
%!!
cond(s) ""* '
'
s
local_computation ();
// Non-blocking send all
foreach n
Neighbors do
MPI_Isend (s
n);
repeat |Neighbors| times
x
MPI_Recv (*);
s
s
x // Combine
// Wait for sends to complete
MPI_Waitall ();
until cond (s);
+ &
!'
!
%!
%
)
" ',
! & #& "
9"!!: ;<'
")
=
%& " &"
'&" " ! ' " % !!"' ""
.
..
>
- ,
, ""%
! %- &
$ % "3 ,
- " !" / &
%$#$% % !
&
/ "
-
'
"
&
#
. "4
%
&
%%
B !&
"@
""%
** % !
!
= &' '
&
, "" ' &
#%
,
*
A
!
%$
" !"% ! '
#%
"
"
""% "
!
""% "( 0%# %$!%% $ "
#$!$ % '%&
&
$
'
" !; '
( 0
5H
I!
"<
'%&
&
"
J :
?
! "!
/ &
%$" !#$
" '0 ""
*
*
+
#%
, !&
'0 "
* &
$ 5
%
%= * 0 % &'
" %&
&0
**'
&
%
0 % &'%
" &'
%= %
. %'<"" %&
&( ! ( *
K 0 !% %
( 0
%=:
!
' %""
% '%&
&
$ %!%
"# (
%& "
'
&
$
" !"
2
'
"!
&
#%
&
$!
"'
'&
-""
% "
""% * %&
& 0
** *= !
# * ""% "
""% "
! !
%
%
>
'"% %'0 ' % $'%&
&"
%! % ' !&=' % 0'%&
&
$ ' %"
!
* pC2 3 ?4 3 ? 4 3 ?4 3 ? 4 3? 4 3?
" **'
* *' '
%&
" %&
& ! "( &
&#
&
$
!
4
" !
0% !&
%& %
"
9
'
,
,
),
%&
&
" "
% !%!! * "%
*&
*%'
,%$
' % $'%&
&
. &! &
&
"! " !,
!
& ! &%%
),
"
& &
L "!
J
&&
%$ " %< " " *
%
%! &
%$
, " '*'' %
"
&&
%$ "
% "'%&
&'0% "* %&
&"
'0 &
6% !!
"<
K 0%
,
&
"
"
&
E
! &"
+ &
)
..
:=
!'
!
>
%!
" ',
- ,
'&" " ! '
%
!&
""%
#& "
#% &
%$
" % !!"' ""
=
%& " &"
% ?
)
! "*
%'0 * 0
!&
#& "
%&)
#%
" !
! "!
#%
'
'
"! # **
%&%
&
%*
&" * 9 (%$ 7
2 >MN
2 ! " O %! '" &
% ?G,
,
&
% '$19 P" #% !( ! 01 ?2 , ;"
,%= *
!"
' "" ; !
)
!
"' '
=
-&
&
'"" !
'"
.0 % C 3p 4DC 9 2
" ! %= C 7
9 "
=% &
B #"
""%
!
"
pC
.0
"
$K &
&" 1 ?Q *%&
& ""#& !
-""
-*
C
""#& !
%&
& !
" L %&
&
$&< &
$ RR
%&
" = ' "
L
!
1
d d 1
d
%&
"
"
k
k d ,d
"%*
1
1
d 1
e
No Perturbation [p=8]
)
!
"' '
%
&
'
#(%
) *#
$( / 1272
)
$+, .
.$23 /
#%
)
With Perturbation [p=8]
)
!
"' '
K 0
#%
)
!
%
"' '
, ""% + !
"
''
)
"%&
& !
!
"!
"' '
" '%&
&
$
/ ** "* % @ ! %&
A
' "" (0'0 ""%
!
* &
$% % !
&
%'
'! " %
= % 0" ! %&% " %&
& %&'
#%
**' % "( 0
" &"
"% '0 "
"
( <&%!
0(
! %&
$0 % $ "%
)
%&0%"&( ' % * ! !'% ! !
" &" = ! , ! & #&
3+ *&(4
0
%'0 "
?
" &"* , ! &
&
#& 2
'
! &#%&%&
& %&
&*&%
*
" &
'"
'"
%&
&
'"'
"%
"
% "!
"
"
! **
=
" pC2 % !
0 "
'%& %& "% !cond(s) #%" !
""#& " "
, %" @*%& % A
* L '$ 0% % $cond(s) !"%
&
%?
*
!"%
SpD %
"
"
" # &
!"% " '"
*%&
%
2
'
" &"3 C 4
9
+ &
)
..
=
8
!'
!
>
%!
%
" ',
!&
- ,
""%
%& " &"
#& "
#% &
%$
'&" "
%
'0 L "% &
$ % %&
&
$ ,
&
"" ! % ! '
"!
= !
'
"!
! & 0% !& 0 %
K&
&% &
$
%&% &'% "
..
>
. (%!%@'
& A "
, & &&
%$ "' # ! 0
, " '*''
%
&
%$
%
G
%&
& " '*' ,
% ( 0 %!
..
>
*% ( <* ,
0
% "
#%
"
% "
),
&
"
5H
I!
"<
J :
),
"% '% %&
$"" "
%
%&' %
&
"
,
."
% '- %&
$""* F !
,
%
%
, "%&
%
! ' "
0 '<#%"'-!% ="
.%"<" L
"%
&
",
!
'
M
" ,
% "E
&=-
TBF !
"BF%'0
7H J 9
% % %&
$""
&
$ %'0 !" !"; ' " #% " ' &
&' "
**
"
" %!# *
#&'<
.
%& "%
"
" $#$/
6% T 0 I !
"< 8 9
= ! =" % %&
$""#$ 0 "
/ .-J B
'
& "
7
8
& #%"!. "
+
'
" '
. &
"( 0 +
&
U' 3 77/
+
7*
" '
&* # &
! ' " 6 !" '
" '
*
% ! GGBF %
! &
.% " " "(; '
& #%'<
!
*%" ' "
* ";( %"" % ' "
% !! #
$B ) 4
&
"
% % %&
$"" %+ - %&
$"" -> V
K0 &
% - . *& ;+ " %&6%
'&
&
%# %
"
"
% % !!$ % '% %&
$""
%" ' % 5 ,:
, %"
%&!%
+" $5 % % !
/% ":
)
'%&
%&
;# !"% %&
$""5,',%"
7
:
*%' ,+
! &'0 '< 5 &
& #
%& &
& :
%'
% " %&6%
H 66- %&
$6 5 % %" ) :
!
?
, !&
.%"<
#&
%' %!!
V
(% " 0
' "%&
&% %&
%#&
""% "
0 &
!
V
%&
& 0 # %$" "
""#&
-!% !*
& 0 %! !
. " =% &
if rank is 0 then
sleep (.1 sec);
let s
0
while messages available do
MPI_Recv (*);
t
s
s + t
print (s);
else
let message
10rank-1
MPI_Send (message
0);
?
, !&
#&
#& ? /
/
"
0&" 0 "
! %!&'<
" ' %'L "
0&" 0 "" % %' ' &
% %#& % !"0%
%'0 0&" 0 @ 0 <"A % !@ %"A
. @ %A
" %'L # 0
"&
"% ! &%"
$
@.
'
' &3
&*
"&
"
&
$(0 !
0 %4
%! %
# ! ' "" "% 0&" 0 " !!%
0&" 0 "" ! $ %'L
"&
"#$" !
, !&
" / " # !!%%" '
%"<L
"&
"
""% "
&
&
&
%&
&
$! %!&'<"
0 <
- ,
A &< &0 ! *! %!&'<#$'
'&
"
%
?
),
&
&" % !
??
) !
"' '
.0
'%&
&
$ * +!
%
"
" !
?2
" &"* , ! &
#&
%' %!!
=
C B= ' !
*
" !! &
%$ *7
? "' '
+#"
!%&
& ""#&
% !
"
# &
!&
%$ *7 " '
"%*
2
"
?9
" &"* , ! &
#& ? /
0&" 0 "
=
&
!"$
'
'&
.0 < % ! %
"# 0!" # !
"% !%!! %
7 "'
% *
%&
"
@F%& A C "% %
3' &
! "
4
0 " %!%
&
$
%= '
+#" %
, %
='
%&
&
$( 0
% 7
9 "'
"
#! "
*%&!
# * %&
" *%& *
%&$ 7
9
#!
" 1?9
%&
"
?
'
" &"3 C24
?
+
U' % ! *%" '
. &* # &
!
.%
'"
6 !" '
*
% ! GGBF %
" " "(; '
& #%'<
F '"
*
%'
6%
"
&
"
! &
!
* "'
/ % " '*'% %&
$""% !
+#U'
!%#" %'
'
'0&
% "* % "
*%" '
" '
6%
*''
"
* ";( %"" % '
"
% % %&
$"" %+ - %&
$"" -> V
K0 &
% - . *& ;+ " %&6%
M <" +" $3 %"
"4 ,+ 3
" !#$ 77/ %
*
% !! #
! &'0 '< 4 ,% & V
$
%# %'%! ' ! " %& " "% !' &
&
%# % "
+
" ' &%" 0"$ %
?
+
- '0 '
- &'%
F
# %$
-
%
"
!3 /> #%"!4
- .
. &
"
*%'
,! !
- . *%
-# %'
'
-#" %' -(% - %&
$""
-#" %'
& %
= ! !. %!
%&+
6% "
' G- . . % "* % "
'
- .
*%
'
*%
- . *%
- . *%
%'< !
. % "*
!% &'%
" '
?