summaryrefslogtreecommitdiffstats
path: root/Bachelor/BSc-Arbeit/mat_bsc_arbeit/Quellen/SUN-1999.ps
diff options
context:
space:
mode:
authorSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
committerSven Eisenhauer <sven@sven-eisenhauer.net>2023-11-10 15:11:48 +0100
commit33613a85afc4b1481367fbe92a17ee59c240250b (patch)
tree670b842326116b376b505ec2263878912fca97e2 /Bachelor/BSc-Arbeit/mat_bsc_arbeit/Quellen/SUN-1999.ps
downloadStudium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.gz
Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.bz2
add new repoHEADmaster
Diffstat (limited to 'Bachelor/BSc-Arbeit/mat_bsc_arbeit/Quellen/SUN-1999.ps')
-rw-r--r--Bachelor/BSc-Arbeit/mat_bsc_arbeit/Quellen/SUN-1999.ps14251
1 files changed, 14251 insertions, 0 deletions
diff --git a/Bachelor/BSc-Arbeit/mat_bsc_arbeit/Quellen/SUN-1999.ps b/Bachelor/BSc-Arbeit/mat_bsc_arbeit/Quellen/SUN-1999.ps
new file mode 100644
index 0000000..22fca8d
--- /dev/null
+++ b/Bachelor/BSc-Arbeit/mat_bsc_arbeit/Quellen/SUN-1999.ps
@@ -0,0 +1,14251 @@
+%!PS-Adobe-1.0
+%%Creator: setsuko:vss (V.S.Sunderam,216 Fishburne,7275926,2974135)
+%%Title: stdin (ditroff)
+%%CreationDate: Sun Aug 5 09:43:41 1990
+%%EndComments
+% Start of psdit.pro -- prolog for ditroff translator
+% Copyright (c) 1985,1987 Adobe Systems Incorporated. All Rights Reserved.
+% GOVERNMENT END USERS: See Notice file in TranScript library directory
+% -- probably /usr/lib/ps/Notice
+% RCS: $Header: psdit.pro,v 2.2 87/11/17 16:40:42 byron Rel $
+/$DITroff 140 dict def $DITroff begin
+
+%% Psfig additions
+/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap
+currentlinejoin currentdash currentgray currentmiterlimit ] cvx def
+
+/startFig {
+ /SavedState save def
+ userdict maxlength dict begin
+ currentpoint transform
+
+ DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap
+ setlinewidth setmatrix
+
+ itransform moveto
+
+ /ury exch def
+ /urx exch def
+ /lly exch def
+ /llx exch def
+ /y exch 72 mul resolution div def
+ /x exch 72 mul resolution div def
+
+ currentpoint /cy exch def /cx exch def
+
+ /sx x urx llx sub div def % scaling for x
+ /sy y ury lly sub div def % scaling for y
+
+ sx sy scale % scale by (sx,sy)
+
+ cx sx div llx sub
+ cy sy div ury sub translate
+
+ /DefFigCTM matrix currentmatrix def
+
+ /initmatrix {
+ DefFigCTM setmatrix
+ } def
+ /defaultmatrix {
+ DefFigCTM exch copy
+ } def
+
+ /initgraphics {
+ DocumentInitState setmiterlimit setgray setdash
+ setlinejoin setlinecap setlinewidth setmatrix
+ DefFigCTM setmatrix
+ } def
+
+ /showpage {
+ initgraphics
+ } def
+
+} def
+% Args are llx lly urx ury (in figure coordinates)
+/clipFig {
+ currentpoint 6 2 roll
+ newpath 4 copy
+ 4 2 roll moveto
+ 6 -1 roll exch lineto
+ exch lineto
+ exch lineto
+ closepath clip
+ newpath
+ moveto
+} def
+% doclip, if called, will always be just after a `startfig'
+/doclip { llx lly urx ury clipFig } def
+/endFig {
+ end SavedState restore
+} def
+/globalstart {
+ % Push details about the enviornment on the stack.
+ fontnum fontsize fontslant fontheight firstpage
+ mh my resolution slotno currentpoint
+ pagesave restore gsave
+} def
+/globalend {
+ grestore moveto
+ /slotno exch def /resolution exch def /my exch def
+ /mh exch def /firstpage exch def /fontheight exch def
+ /fontslant exch def /fontsize exch def /fontnum exch def
+ F
+ /pagesave save def
+} def
+
+%% end XMOD additions
+
+/fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
+/xi {0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto
+ /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F
+ /pagesave save def}def
+/PB{save /psv exch def currentpoint translate
+ resolution 72 div dup neg scale 0 0 moveto}def
+/PE{psv restore}def
+/m1 matrix def /m2 matrix def /m3 matrix def /oldmat matrix def
+/tan{dup sin exch cos div}bind def
+/point{resolution 72 div mul}bind def
+/dround {transform round exch round exch itransform}bind def
+/xT{/devname exch def}def
+/xr{/mh exch def /my exch def /resolution exch def}def
+/xp{}def
+/xs{docsave restore end}def
+/xt{}def
+/xf{/fontname exch def /slotno exch def fontnames slotno get fontname eq not
+ {fonts slotno fontname findfont put fontnames slotno fontname put}if}def
+/xH{/fontheight exch def F}bind def
+/xS{/fontslant exch def F}bind def
+/s{/fontsize exch def /fontheight fontsize def F}bind def
+/f{/fontnum exch def F}bind def
+/F{fontheight 0 le {/fontheight fontsize def}if
+ fonts fontnum get fontsize point 0 0 fontheight point neg 0 0 m1 astore
+ fontslant 0 ne{1 0 fontslant tan 1 0 0 m2 astore m3 concatmatrix}if
+ makefont setfont .04 fontsize point mul 0 dround pop setlinewidth}bind def
+/X{exch currentpoint exch pop moveto show}bind def
+/N{3 1 roll moveto show}bind def
+/Y{exch currentpoint pop exch moveto show}bind def
+/S /show load def
+/ditpush{}def/ditpop{}def
+/AX{3 -1 roll currentpoint exch pop moveto 0 exch ashow}bind def
+/AN{4 2 roll moveto 0 exch ashow}bind def
+/AY{3 -1 roll currentpoint pop exch moveto 0 exch ashow}bind def
+/AS{0 exch ashow}bind def
+/MX{currentpoint exch pop moveto}bind def
+/MY{currentpoint pop exch moveto}bind def
+/MXY /moveto load def
+/cb{pop}def % action on unknown char -- nothing for now
+/n{}def/w{}def
+/p{pop showpage pagesave restore /pagesave save def}def
+/abspoint{currentpoint exch pop add exch currentpoint pop add exch}def
+/dstroke{currentpoint stroke moveto}bind def
+/Dl{2 copy gsave rlineto stroke grestore rmoveto}bind def
+/arcellipse{oldmat currentmatrix pop
+ currentpoint translate 1 diamv diamh div scale /rad diamh 2 div def
+ rad 0 rad -180 180 arc oldmat setmatrix}def
+/Dc{gsave dup /diamv exch def /diamh exch def arcellipse dstroke
+ grestore diamh 0 rmoveto}def
+/De{gsave /diamv exch def /diamh exch def arcellipse dstroke
+ grestore diamh 0 rmoveto}def
+/Da{currentpoint /by exch def /bx exch def /fy exch def /fx exch def
+ /cy exch def /cx exch def /rad cx cx mul cy cy mul add sqrt def
+ /ang1 cy neg cx neg atan def /ang2 fy fx atan def cx bx add cy by add
+ 2 copy rad ang1 ang2 arcn stroke exch fx add exch fy add moveto}def
+/Barray 200 array def % 200 values in a wiggle
+/D~{mark}def
+/D~~{counttomark Barray exch 0 exch getinterval astore /Bcontrol exch def pop
+ /Blen Bcontrol length def Blen 4 ge Blen 2 mod 0 eq and
+ {Bcontrol 0 get Bcontrol 1 get abspoint /Ycont exch def /Xcont exch def
+ Bcontrol 0 2 copy get 2 mul put Bcontrol 1 2 copy get 2 mul put
+ Bcontrol Blen 2 sub 2 copy get 2 mul put
+ Bcontrol Blen 1 sub 2 copy get 2 mul put
+ /Ybi /Xbi currentpoint 3 1 roll def def 0 2 Blen 4 sub
+ {/i exch def
+ Bcontrol i get 3 div Bcontrol i 1 add get 3 div
+ Bcontrol i get 3 mul Bcontrol i 2 add get add 6 div
+ Bcontrol i 1 add get 3 mul Bcontrol i 3 add get add 6 div
+ /Xbi Xcont Bcontrol i 2 add get 2 div add def
+ /Ybi Ycont Bcontrol i 3 add get 2 div add def
+ /Xcont Xcont Bcontrol i 2 add get add def
+ /Ycont Ycont Bcontrol i 3 add get add def
+ Xbi currentpoint pop sub Ybi currentpoint exch pop sub rcurveto
+ }for dstroke}if}def
+end
+/ditstart{$DITroff begin
+ /nfonts 60 def % NFONTS makedev/ditroff dependent!
+ /fonts[nfonts{0}repeat]def
+ /fontnames[nfonts{()}repeat]def
+/docsave save def
+}def
+
+% character outcalls
+/oc {/pswid exch def /cc exch def /name exch def
+ /ditwid pswid fontsize mul resolution mul 72000 div def
+ /ditsiz fontsize resolution mul 72 div def
+ ocprocs name known{ocprocs name get exec}{name cb}
+ ifelse}def
+/fractm [.65 0 0 .6 0 0] def
+/fraction
+ {/fden exch def /fnum exch def gsave /cf currentfont def
+ cf fractm makefont setfont 0 .3 dm 2 copy neg rmoveto
+ fnum show rmoveto currentfont cf setfont(\244)show setfont fden show
+ grestore ditwid 0 rmoveto} def
+/oce {grestore ditwid 0 rmoveto}def
+/dm {ditsiz mul}def
+/ocprocs 50 dict def ocprocs begin
+(14){(1)(4)fraction}def
+(12){(1)(2)fraction}def
+(34){(3)(4)fraction}def
+(13){(1)(3)fraction}def
+(23){(2)(3)fraction}def
+(18){(1)(8)fraction}def
+(38){(3)(8)fraction}def
+(58){(5)(8)fraction}def
+(78){(7)(8)fraction}def
+(sr){gsave .05 dm .16 dm rmoveto(\326)show oce}def
+(is){gsave 0 .15 dm rmoveto(\362)show oce}def
+(->){gsave 0 .02 dm rmoveto(\256)show oce}def
+(<-){gsave 0 .02 dm rmoveto(\254)show oce}def
+(==){gsave 0 .05 dm rmoveto(\272)show oce}def
+end
+% DIThacks fonts for some special chars
+50 dict dup begin
+/FontType 3 def
+/FontName /DIThacks def
+/FontMatrix [.001 0.0 0.0 .001 0.0 0.0] def
+/FontBBox [-220 -280 900 900] def% a lie but ...
+/Encoding 256 array def
+0 1 255{Encoding exch /.notdef put}for
+Encoding
+ dup 8#040/space put %space
+ dup 8#110/rc put %right ceil
+ dup 8#111/lt put %left top curl
+ dup 8#112/bv put %bold vert
+ dup 8#113/lk put %left mid curl
+ dup 8#114/lb put %left bot curl
+ dup 8#115/rt put %right top curl
+ dup 8#116/rk put %right mid curl
+ dup 8#117/rb put %right bot curl
+ dup 8#120/rf put %right floor
+ dup 8#121/lf put %left floor
+ dup 8#122/lc put %left ceil
+ dup 8#140/sq put %square
+ dup 8#141/bx put %box
+ dup 8#142/ci put %circle
+ dup 8#143/br put %box rule
+ dup 8#144/rn put %root extender
+ dup 8#145/vr put %vertical rule
+ dup 8#146/ob put %outline bullet
+ dup 8#147/bu put %bullet
+ dup 8#150/ru put %rule
+ dup 8#151/ul put %underline
+ pop
+/DITfd 100 dict def
+/BuildChar{0 begin
+ /cc exch def /fd exch def
+ /charname fd /Encoding get cc get def
+ /charwid fd /Metrics get charname get def
+ /charproc fd /CharProcs get charname get def
+ charwid 0 fd /FontBBox get aload pop setcachedevice
+ 40 setlinewidth
+ newpath 0 0 moveto gsave charproc grestore
+ end}def
+/BuildChar load 0 DITfd put
+%/UniqueID 5 def
+/CharProcs 50 dict def
+CharProcs begin
+/space{}def
+/.notdef{}def
+/ru{500 0 rls}def
+/rn{0 750 moveto 500 0 rls}def
+/vr{20 800 moveto 0 -770 rls}def
+/bv{20 800 moveto 0 -1000 rls}def
+/br{20 770 moveto 0 -1040 rls}def
+/ul{0 -250 moveto 500 0 rls}def
+/ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def
+/bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def
+/sq{80 0 rmoveto currentpoint dround newpath moveto
+ 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def
+/bx{80 0 rmoveto currentpoint dround newpath moveto
+ 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def
+/ci{355 333 rmoveto currentpoint newpath 333 0 360 arc
+ 50 setlinewidth stroke}def
+
+/lt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def
+/lb{20 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def
+/rt{20 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def
+/rb{20 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def
+/lk{20 800 moveto 20 300 -280 300 s4 arcto pop pop 1000 sub
+ currentpoint stroke moveto
+ 20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def
+/rk{20 800 moveto 20 300 320 300 s4 arcto pop pop 1000 sub
+ currentpoint stroke moveto
+ 20 300 4 2 roll s4 a4p 20 -200 lineto stroke}def
+/lf{20 800 moveto 0 -1000 rlineto s4 0 rls}def
+/rf{20 800 moveto 0 -1000 rlineto s4 neg 0 rls}def
+/lc{20 -200 moveto 0 1000 rlineto s4 0 rls}def
+/rc{20 -200 moveto 0 1000 rlineto s4 neg 0 rls}def
+end
+
+/Metrics 50 dict def Metrics begin
+/.notdef 0 def
+/space 500 def
+/ru 500 def
+/br 0 def
+/lt 250 def
+/lb 250 def
+/rt 250 def
+/rb 250 def
+/lk 250 def
+/rk 250 def
+/rc 250 def
+/lc 250 def
+/rf 250 def
+/lf 250 def
+/bv 250 def
+/ob 350 def
+/bu 350 def
+/ci 750 def
+/bx 750 def
+/sq 750 def
+/rn 500 def
+/ul 500 def
+/vr 0 def
+end
+
+DITfd begin
+/s2 500 def /s4 250 def /s3 333 def
+/a4p{arcto pop pop pop pop}def
+/2cx{2 copy exch}def
+/rls{rlineto stroke}def
+/currx{currentpoint pop}def
+/dround{transform round exch round exch itransform} def
+end
+end
+/DIThacks exch definefont pop
+
+ditstart
+(psc)xT
+576 1 1 xr
+1(Times-Roman)xf 1 f
+2(Times-Italic)xf 2 f
+3(Times-Bold)xf 3 f
+4(Times-BoldItalic)xf 4 f
+5(Helvetica)xf 5 f
+6(Helvetica-Bold)xf 6 f
+7(Courier)xf 7 f
+8(Courier-Bold)xf 8 f
+9(Symbol)xf 9 f
+10(DIThacks)xf 10 f
+10 s
+1 f
+xi
+%%EndProlog
+
+%%Page: 1 1
+10 s 10 xH 0 xS 1 f
+3 f
+12 s
+1108 984(PVM)N
+1351(:)X
+1407(A)X
+1500(Framework)X
+2010(for)X
+2157(Parallel)X
+2503(Distributed)X
+2996(Computing)X
+1 f
+10 s
+3459(*)X
+2 f
+2057 1296(V.)N
+2146(S.)X
+2226(Sunderam)X
+1 f
+1603 1440(Department)N
+2002(of)X
+2089(Math)X
+2278(and)X
+2414(Computer)X
+2754(Science)X
+1690 1536(Emory)N
+1928(University,)X
+2306(Atlanta,)X
+2582(GA)X
+2718(30322)X
+2 f
+2115 1920(ABSTRACT)N
+1 f
+11 s
+1064 2128(The)N
+3 f
+9 s
+1229(PVM)X
+1 f
+11 s
+1425(system)X
+1702(is)X
+1793(a)X
+1864(programming)X
+2376(environment)X
+2854(for)X
+2988(the)X
+3128(development)X
+3617(and)X
+864 2240(execution)N
+1257(of)X
+1380(large)X
+1606(concurrent)X
+2032(or)X
+2155(parallel)X
+2470(applications)X
+2947(that)X
+3130(consist)X
+3425(of)X
+3548(many)X
+864 2352(interacting,)N
+1291(but)X
+1431(relatively)X
+1792(independent,)X
+2273(components.)X
+2771(It)X
+2853(is)X
+2940(intended)X
+3272(to)X
+3369(operate)X
+3656(on)X
+864 2464(a)N
+927(collection)X
+1299(of)X
+1395(heterogeneous)X
+1926(computing)X
+2327(elements)X
+2664(interconnected)X
+3206(by)X
+3317(one)X
+3467(or)X
+3563(more)X
+864 2576(networks.)N
+1233(The)X
+1396(participating)X
+1869(processors)X
+2265(may)X
+2443(be)X
+2552(scalar)X
+2783(machines,)X
+3164(multiprocessors,)X
+864 2688(or)N
+961(special-purpose)X
+1537(computers,)X
+1949(enabling)X
+2276(application)X
+2692(components)X
+3141(to)X
+3233(execute)X
+3525(on)X
+3636(the)X
+864 2800(architecture)N
+1311(most)X
+1514(appropriate)X
+1947(to)X
+2048(the)X
+2188(algorithm.)X
+3 f
+9 s
+2600(PVM)X
+1 f
+11 s
+2796(provides)X
+3131(a)X
+3202(straightforward)X
+864 2912(and)N
+1020(general)X
+1308(interface)X
+1645(that)X
+1807(permits)X
+2101(the)X
+2238(description)X
+2659(of)X
+2761(various)X
+3049(types)X
+3264(of)X
+3366(algorithms)X
+864 3024(\(and)N
+1044(their)X
+1230(interactions\),)X
+1718(while)X
+1939(the)X
+2072(underlying)X
+2479(infrastructure)X
+2978(permits)X
+3268(the)X
+3401(execution)X
+864 3136(of)N
+964(applications)X
+1418(on)X
+1533(a)X
+1599(virtual)X
+1857(computing)X
+2262(environment)X
+2734(that)X
+2893(supports)X
+3217(multiple)X
+3539(paral-)X
+864 3248(lel)N
+991(computation)X
+1471(models.)X
+3 f
+9 s
+1800(PVM)X
+1 f
+11 s
+2002(contains)X
+2334(facilities)X
+2677(for)X
+2817(concurrent,)X
+3253(sequential,)X
+3671(or)X
+864 3360(conditional)N
+1285(execution)X
+1651(of)X
+1747(application)X
+2163(components,)X
+2633(is)X
+2714(portable)X
+3025(to)X
+3116(a)X
+3177(variety)X
+3444(of)X
+3539(archi-)X
+864 3472(tectures,)N
+1182(and)X
+1331(supports)X
+1651(certain)X
+1913(forms)X
+2140(of)X
+2235(error)X
+2427(detection)X
+2773(and)X
+2922(recovery.)X
+3 f
+576 4044(1.)N
+686(Introduction)X
+1 f
+776 4296(In)N
+882(recent)X
+1130(years,)X
+1371(parallel)X
+1670(and)X
+1831(distributed)X
+2243(processing)X
+2653(have)X
+2853(been)X
+3053(conjectured)X
+3498(to)X
+3601(be)X
+3718(the)X
+3860(most)X
+576 4408(promising)N
+963(solution)X
+1277(to)X
+1375(the)X
+1512(computing)X
+1919(requirements)X
+2408(of)X
+2510(the)X
+2647(future.)X
+2908(Signi\256cant)X
+3320(advances)X
+3670(in)X
+3767(parallel)X
+576 4520(algorithms)N
+986(and)X
+1145(architectures)X
+1627(have)X
+1825(demonstrated)X
+2332(the)X
+2472(potential)X
+2814(for)X
+2948(applying)X
+3290(concurrent)X
+3699(computa-)X
+576 4632(tion)N
+737(techniques)X
+1137(to)X
+1229(a)X
+1290(wide)X
+1483(variety)X
+1750(of)X
+1845(problems.)X
+2217(However,)X
+2582(most)X
+2776(of)X
+2871(the)X
+3001(research)X
+3315(efforts)X
+3566(have)X
+3754(concen-)X
+576 4744(trated)N
+799(either)X
+1022(upon)X
+2 f
+1220(computational)X
+1752(models)X
+1 f
+2023([1],)X
+2169(parallel)X
+2457(versions)X
+2773(of)X
+2 f
+2869(algorithms)X
+1 f
+3251(,)X
+3296(or)X
+3392(machine)X
+2 f
+3714(architec-)X
+576 4856(tures)N
+1 f
+(;)S
+802(relatively)X
+1161(little)X
+1349(attention)X
+1683(has)X
+1824(been)X
+2014(given)X
+2234(to)X
+2327(software)X
+2653(development)X
+3133(environments)X
+3637(or)X
+3734(program)X
+576 4968(construction)N
+1047(techniques)X
+1459(that)X
+1627(are)X
+1770(required)X
+2099(in)X
+2204(order)X
+2425(to)X
+2530(translate)X
+2865(algorithms)X
+3279(into)X
+3453(operational)X
+3886(pro-)X
+576 5080(grams.)N
+842(This)X
+1028(aspect)X
+1277(is)X
+1365(becoming)X
+1742(more)X
+1952(important)X
+2325(as)X
+2426(parallel)X
+2719(processing)X
+3123(progresses)X
+3521(from)X
+3720(the)X
+3856(solu-)X
+576 5192(tion)N
+742(of)X
+843(stand-alone,)X
+1299 0.2788(mathematically)AX
+1873(precise,)X
+2172(problems)X
+2529(to)X
+2627(larger)X
+2861(and)X
+3017(more)X
+3227(complex)X
+3560(software)X
+3891(sys-)X
+576 5304(tems.)N
+820(Such)X
+1050(systems)X
+1383(often)X
+1618(consist)X
+1917(of)X
+2044(many)X
+2294(interacting)X
+2726(components,)X
+3228(each)X
+3443(with)X
+3654(its)X
+3792(unique)X
+8 s
+10 f
+576 5384(hhhhhhhhhhhhhhhhhh)N
+1 f
+656 5478(*)N
+720(Research)X
+974(performed)X
+1261(at)X
+1329(the)X
+1429(Mathematical)X
+1802(Sciences)X
+2047(Section)X
+2261(of)X
+2336(Oak)X
+2464(Ridge)X
+2639(National)X
+2881(Laboratory)X
+3186(under)X
+3353(the)X
+3453(auspices)X
+3691(of)X
+576 5558(the)N
+691(Faculty)X
+920(Research)X
+1190(Participation)X
+1554(Program)X
+1811(of)X
+1900(Oak)X
+2042(Ridge)X
+2231(Associated)X
+2547(Universities,)X
+2908(and)X
+3036(supported)X
+3324(by)X
+3424(the)X
+3538(Applied)X
+576 5638(Mathematical)N
+952(Sciences)X
+1201(subprogram)X
+1532(of)X
+1611(the)X
+1715(Of\256ce)X
+1900(of)X
+1979(Energy)X
+2189(Research,)X
+2464(U.S.)X
+2604(Department)X
+2931(of)X
+3010(Energy,)X
+3236(under)X
+3407(contract)X
+3638(DE-)X
+576 5718(AC05-84OR21400)N
+1079(with)X
+1209(Martin)X
+1399(Marietta)X
+1631(Energy)X
+1831(Systems,)X
+2077(Inc.)X
+
+2 p
+%%Page: 2 2
+8 s 8 xH 0 xS 1 f
+11 s
+2231 400(-)N
+2282(2)X
+2348(-)X
+576 688(requirements.)N
+1091(These)X
+1334(requirements)X
+1827(are)X
+1967(often)X
+2181(diverse)X
+2469(enough)X
+2762(that)X
+2929(it)X
+3013(is)X
+3106(dif\256cult)X
+3420(to)X
+3523(program)X
+3855(them)X
+576 800(within)N
+832(a)X
+901(uni\256ed)X
+1176(framework,)X
+1613(and)X
+1770(cumbersome,)X
+2272(and)X
+2429(sometime)X
+2803(impractical,)X
+3253(to)X
+3352(execute)X
+3650(the)X
+3787(system)X
+576 912(on)N
+686(a)X
+747(single)X
+980(machine.)X
+776 1164(An)N
+910(example)X
+1236(of)X
+1336(such)X
+1524(a)X
+1590(system)X
+1862(is)X
+1948(the)X
+2083(\257uid)X
+2273(dynamics)X
+2639(application)X
+3060(termed)X
+3333(BF3D,)X
+3598(described)X
+3963(in)X
+576 1276([17].)N
+777(This)X
+967(application)X
+1393(is)X
+1485(not)X
+1630(only)X
+1819(compute)X
+2155(intensive;)X
+2531(it)X
+2613(uses)X
+2796(large)X
+3004(amounts)X
+3335(of)X
+3440(memory,)X
+3788(creates)X
+576 1388(very)N
+755(large)X
+954(quantities)X
+1322(of)X
+1419(output)X
+1669(data,)X
+1862(and)X
+2013(requires)X
+2320(2D)X
+2451(and)X
+2602(3D)X
+2733(graphics)X
+3055(terminals)X
+3408(to)X
+3501(display)X
+3780(results.)X
+576 1500(The)N
+744(algorithm)X
+1119(essentially)X
+1523(involves)X
+1853(the)X
+1992(solution)X
+2308(of)X
+2411(a)X
+2480(set)X
+2608(of)X
+2711(partial)X
+2967(differential)X
+3389(equations)X
+3757(in)X
+3856(three)X
+576 1612(dimensional)N
+1036(space,)X
+1281(by)X
+1398(using)X
+1618(an)X
+1730(appropriately)X
+2229(staggered)X
+2595(grid.)X
+2788(The)X
+2954(algorithm)X
+3327(may)X
+3508(be)X
+3620(parallelized)X
+576 1724(in)N
+679(different)X
+1016(ways,)X
+1252(enabling)X
+1589(its)X
+1706(execution)X
+2082(on)X
+2203(several)X
+2485(categories)X
+2875(of)X
+2981(parallel)X
+3279(machines.)X
+3689(However,)X
+576 1836(typical)N
+840(multiprocessors)X
+1421(rarely)X
+1649(support)X
+1936(high-bandwidth)X
+2517(external)X
+2825(I/O)X
+2966(or)X
+3063(high)X
+3244(performance)X
+3712(graphics,)X
+576 1948(thereby)N
+887(necessitating)X
+1390(the)X
+1545(separation)X
+1954(of)X
+2074(the)X
+2229(computation,)X
+2740(output)X
+3012(management,)X
+3531(and)X
+3704(graphical)X
+576 2060(display)N
+866(components)X
+1327(of)X
+1435(the)X
+1578(system.)X
+1902(Another)X
+2225(example)X
+2560(of)X
+2669(an)X
+2788(application)X
+3217(with)X
+3410(differing)X
+3754(require-)X
+576 2172(ments)N
+822(for)X
+959(individual)X
+1353(sub-algorithms)X
+1917(is)X
+2011(the)X
+2154(Global)X
+2428(Environment)X
+2923(Simulation)X
+3346(project)X
+3625([2],)X
+3783(a)X
+3856(large)X
+576 2284(simulation)N
+979(effort)X
+1203(to)X
+1301(study)X
+1521(contaminant)X
+1988(concentrations)X
+2532(and)X
+2689(dispersal)X
+3032(characteristics)X
+3566(as)X
+3669(a)X
+3738(function)X
+576 2396(of)N
+685(various)X
+980(environmental)X
+1526(factors.)X
+1823(The)X
+1996(ideal)X
+2204(computational)X
+2746(requirements)X
+3242(of)X
+3351(this)X
+3515(simulation)X
+3925(are)X
+576 2508(vector)N
+833(processing)X
+1246(\(for)X
+1414(\257uid)X
+1613(\257ow)X
+1806(analysis\),)X
+2178(distributed)X
+2593(multiprocessing)X
+3194(\(modeling)X
+3595(contaminant)X
+576 2620(transport\),)N
+988(high-speed)X
+1422(scalar)X
+1675(computation)X
+2165(\(simulation)X
+2616(of)X
+2737(temperature)X
+3206(effects\),)X
+3539(and)X
+3713(real-time)X
+576 2732(graphics)N
+896(for)X
+1020(user)X
+1188(interaction.)X
+776 2984(From)N
+989(a)X
+1050(different)X
+1375(point)X
+1579(of)X
+1674(view,)X
+1889(many)X
+2107(applications)X
+2556(that)X
+2711(are)X
+2840(amenable)X
+3200(to)X
+3291(concurrent)X
+3689(execution)X
+576 3096(can)N
+722(be)X
+829(programmed)X
+1303(using)X
+1518(either)X
+1742(message)X
+2063(passing)X
+2350(or)X
+2446(shared)X
+2698(memory)X
+3015(algorithms;)X
+3441(when)X
+3654(computing)X
+576 3208(environments)N
+1091(supporting)X
+1503(both)X
+1695(are)X
+1837(available,)X
+2213(a)X
+2287(hybrid)X
+2552(algorithm,)X
+2953(at)X
+3052(a)X
+3126(suf\256ciently)X
+3558(high)X
+3751(level)X
+3959(of)X
+576 3320(granularity,)N
+1011(may)X
+1189(be)X
+1298(used)X
+1484(to)X
+1578(advantage.)X
+1982(A)X
+2070(straightforward,)X
+2659(but)X
+2797(illustrative)X
+3201(example)X
+3525(is)X
+3609(matrix)X
+3865(mul-)X
+576 3432 0.3250(tiplication)AN
+958(using)X
+1171(subblock)X
+1511(decompositions)X
+2087([18].)X
+2277(In)X
+2372(an)X
+2478(environment)X
+2947(consisting)X
+3328(of)X
+3424(different)X
+3750(types)X
+3959(of)X
+576 3544(scalar)N
+812(machines)X
+1176(and)X
+1334(multiprocessors,)X
+1944(highly)X
+2200(effective)X
+2538(and)X
+2695(ef\256cient)X
+3014(algorithms)X
+3422(for)X
+3554(matrix)X
+3815(multi-)X
+576 3656(plication)N
+915(can)X
+1067(be)X
+1180(implemented,)X
+1694(with)X
+1881(some)X
+2097(subblocks)X
+2479(being)X
+2705 0.3681(multiplied)AX
+3100(using)X
+3321(static)X
+3538(prescheduling)X
+576 3768(on)N
+712(shared)X
+989(memory)X
+1331(machines)X
+1712(and)X
+1886(others)X
+2148(using)X
+2386 0.1974("pipe-multiply-roll")AX
+3139(strategies)X
+3519(on)X
+3654(distributed)X
+576 3880(memory)N
+892(computers.)X
+1303(Empirical)X
+1674(results)X
+1926(obtained)X
+2252(by)X
+2362(using)X
+2575(this)X
+2725(approach)X
+3069(are)X
+3198(presented)X
+3557(in)X
+3648(Section)X
+3935(5.)X
+776 4132(It)N
+857(should)X
+1119(be)X
+1229(noted)X
+1452(that)X
+1612(most)X
+1811(typical)X
+2079(computing)X
+2484(environments)X
+2992(already)X
+3279(possess)X
+3570(the)X
+3706(hardware)X
+576 4244(diversity)N
+911(required)X
+1230(to)X
+1325(solve)X
+1537(such)X
+1724(large,)X
+1948(parallel)X
+2239(applications,)X
+2714(and)X
+2867(also)X
+3035(contain)X
+3320(support)X
+3609(for)X
+3736(multiple)X
+576 4356(concurrent)N
+989(computation)X
+1468(models.)X
+1783(High)X
+1997(speed)X
+2235(local)X
+2445(networks)X
+2805(with)X
+3000(graphics)X
+3336(workstations,)X
+3846(high-)X
+576 4468(performance)N
+1046(scalar)X
+1277(engines,)X
+1594(an)X
+1703(occasional)X
+2101(multiprocessor,)X
+2673(and)X
+2826(perhaps)X
+3125(a)X
+3189(vector)X
+3434(computer)X
+3792(are)X
+3924(the)X
+576 4580(norm)N
+786(rather)X
+1015(than)X
+1191(the)X
+1323(exception,)X
+1712(and)X
+1863(will)X
+2025(continue)X
+2353(to)X
+2446(be)X
+2553(over)X
+2733(the)X
+2865(next)X
+3041(few)X
+3197(years.)X
+3429(However,)X
+3797(to)X
+3891(har-)X
+576 4692(ness)N
+759(this)X
+919(collection)X
+1300(of)X
+1405(capabilities)X
+1840(and)X
+1999(to)X
+2100(utilize)X
+2354(it)X
+2436(productively)X
+2913(requires)X
+3227(considerable)X
+3703(efforts)X
+3963(in)X
+576 4804(coordination)N
+1047(and)X
+1199(reconciliation)X
+1710(between)X
+2028(different)X
+2356(computation)X
+2823(models)X
+3103(and)X
+3255(architectures)X
+3730(\320)X
+3844(all)X
+3959(of)X
+576 4916(which)N
+815(has)X
+956(to)X
+1049(be)X
+1156(done)X
+1351(manually.)X
+1748(The)X
+3 f
+9 s
+1905(PVM)X
+1 f
+11 s
+2093(\(Parallel)X
+2416(Virtual)X
+2689(Machine\))X
+3049(project)X
+3317(is)X
+3399(an)X
+3505(attempt)X
+3794(to)X
+3886(pro-)X
+576 5028(vide)N
+756(a)X
+823(uni\256ed)X
+1096(framework)X
+1510(within)X
+1765(which)X
+2009(large)X
+2214(parallel)X
+2508(systems)X
+2816(can)X
+2967(be)X
+3079(developed)X
+3470(in)X
+3568(a)X
+3636(straightfor-)X
+576 5140(ward)N
+774(and)X
+924(ef\256cient)X
+1236(manner.)X
+1545(The)X
+1705(overall)X
+1973(objective)X
+2319(of)X
+2414(this)X
+2564(project)X
+2831(is)X
+2912(to)X
+3003(permit)X
+3256(a)X
+3317(collection)X
+3688(of)X
+3783(hetero-)X
+576 5252(geneous)N
+906(machines)X
+1281(on)X
+1411(a)X
+1492(network)X
+1822(to)X
+1933(be)X
+2058(viewed)X
+2354(as)X
+2469(a)X
+2550(general)X
+2851(purpose)X
+3171(concurrent)X
+3590(computation)X
+576 5364(resource.)N
+918(Application)X
+1358(algorithms)X
+1759(are)X
+1889(expressed)X
+2258(using)X
+2472(the)X
+2603(most)X
+2798(suitable)X
+3095(paradigm;)X
+3475(the)X
+3 f
+9 s
+3601(PVM)X
+1 f
+11 s
+3787(system)X
+576 5476(executes)N
+913(them)X
+1124(on)X
+1246(the)X
+1388(most)X
+1594(appropriate)X
+2029(hardware)X
+2389(available,)X
+2764(either)X
+2999(directly)X
+3304(or)X
+3412(by)X
+3535(emulating)X
+3924(the)X
+576 5588(particular)N
+962(computation)X
+1452(model.)X
+1765(Furthermore,)X
+2275(it)X
+2372(is)X
+2478(frequently)X
+2887(desired)X
+3188(to)X
+3304(incorporate)X
+3752(existing)X
+576 5700(software)N
+917(\(preferably)X
+1346(with)X
+1542(little)X
+1745(or)X
+1857(no)X
+1984(modi\256cations\))X
+2533(into)X
+2710(a)X
+2788(larger)X
+3032(system;)X
+3341(the)X
+3 f
+9 s
+3484(PVM)X
+1 f
+11 s
+3688(system)X
+3973(is)X
+576 5812(designed)N
+911(to)X
+1002(enable)X
+1254(this)X
+1404(in)X
+1495(a)X
+1556(convenient)X
+1965(and)X
+2114(natural)X
+2381(manner.)X
+
+3 p
+%%Page: 3 3
+11 s 11 xH 0 xS 1 f
+2231 400(-)N
+2282(3)X
+2348(-)X
+776 688(The)N
+3 f
+9 s
+940(PVM)X
+1 f
+11 s
+1135(system)X
+1411(provides)X
+1745(a)X
+1815(set)X
+1944(of)X
+2048(user)X
+2225(interface)X
+2564(primitives)X
+2954(that)X
+3118(may)X
+3302(be)X
+3417(incorporated)X
+3894(into)X
+576 800(existing)N
+880(procedural)X
+1280(languages.)X
+1677(Primitives)X
+2064(exist)X
+2254(for)X
+2379(the)X
+2510(invocation)X
+2906(of)X
+3002(processes,)X
+3383(message)X
+3704(transmis-)X
+576 912(sion)N
+766(and)X
+936(reception,)X
+1329(broadcasting,)X
+1845(synchronization)X
+2452(via)X
+2604(barriers,)X
+2938(mutual)X
+3228(exclusion,)X
+3632(and)X
+3803(shared)X
+576 1024(memory.)N
+923(Processes)X
+1295(may)X
+1478(be)X
+1592(initiated)X
+1913(synchronously)X
+2456(or)X
+2559(asynchronously,)X
+3163(and)X
+3320(may)X
+3502(be)X
+3615(conditioned)X
+576 1136(upon)N
+789(the)X
+934 0.3681(initiation)AX
+1292(or)X
+1402(termination)X
+1847(of)X
+1957(another)X
+2258(process,)X
+2581(or)X
+2692(upon)X
+2906(the)X
+3052 0.2898(availability)AX
+3489(of)X
+3600(data)X
+3785(values.)X
+576 1248(Message)N
+906(transmission)X
+1375(as)X
+1471(well)X
+1646(as)X
+1742(\256le)X
+1878(output)X
+2127(may)X
+2302(be)X
+2408(preceded)X
+2748(by)X
+2859(invocations)X
+3288(of)X
+3383(specially)X
+3719(provided)X
+576 1360(primitives)N
+964(to)X
+1062(ensure)X
+1320(that)X
+1482(data)X
+1658(is)X
+1746(transmitted)X
+2173(or)X
+2276(stored)X
+2521(in)X
+2620(a)X
+2689(machine)X
+3018(independent)X
+3479(form.)X
+3724(Applica-)X
+576 1472(tion)N
+737(systems)X
+1039(may)X
+1214(be)X
+1320(programmed)X
+1793(using)X
+2007(these)X
+2211(primitives)X
+2593(in)X
+2684(the)X
+2814(language)X
+3154(of)X
+3249(choice;)X
+3526(different)X
+3851(com-)X
+576 1584(ponents)N
+881(may)X
+1065(even)X
+1263(be)X
+1378(programmed)X
+1860(in)X
+1961(different)X
+2296(languages.)X
+2702(The)X
+3 f
+9 s
+2867(PVM)X
+1 f
+11 s
+3063(constructs)X
+3452(therefore)X
+3801(permit)X
+576 1696(the)N
+715(most)X
+918(appropriate)X
+1350(programming)X
+1861(paradigm)X
+2225(and)X
+2383(language)X
+2732(to)X
+2832(be)X
+2946(used)X
+3138(for)X
+3271(each)X
+3462(individual)X
+3851(com-)X
+576 1808(ponent)N
+842(of)X
+941(a)X
+1006(parallel)X
+1297(system,)X
+1591(while)X
+1814(retaining)X
+2155(the)X
+2290(ability)X
+2544(for)X
+2673(components)X
+3126(to)X
+3222(interact)X
+3514(and)X
+3668(cooperate.)X
+576 1920(It)N
+657(should)X
+919(be)X
+1029(mentioned)X
+1429(that)X
+1588(the)X
+3 f
+9 s
+1718(PVM)X
+1 f
+11 s
+1908(user-interface)X
+2417(primitives)X
+2802(have)X
+2994(been)X
+3186(partly)X
+3418(derived)X
+3708(from)X
+3905(and)X
+576 2032(are)N
+718(a)X
+792(superset)X
+1115(of)X
+1223(the)X
+1366(portable)X
+1690(programming)X
+2205(constructs)X
+2597(described)X
+2969(in)X
+3073([3];)X
+3235(an)X
+3353(application)X
+3782(written)X
+576 2144(using)N
+806(these)X
+1026(primitives)X
+1424(may)X
+1615(therefore)X
+1971(also)X
+2152(execute)X
+2460(directly)X
+2769(on)X
+2896(a)X
+2973(speci\256c)X
+3280(multiprocessor)X
+3842(when)X
+576 2256(necessary.)N
+776 2508(The)N
+3 f
+9 s
+936(PVM)X
+1 f
+11 s
+1127(system)X
+1399(consists)X
+1705(of)X
+1805(support)X
+2096(software)X
+2425(that)X
+2585(executes)X
+2915(on)X
+3030(participating)X
+3504(hosts)X
+3712(on)X
+3828(a)X
+3895(net-)X
+576 2620(work;)N
+813(the)X
+953(network)X
+1273(may)X
+1457(be)X
+1572(local,)X
+1798(wide-area)X
+2176(or)X
+2281(a)X
+2352(combination,)X
+2848(and)X
+3007(the)X
+3147(host)X
+3326(pool)X
+3515(may)X
+3698(be)X
+3812(varied)X
+576 2732(dynamically.)N
+1072(Hosts)X
+1309(may)X
+1498(be)X
+1618(scalar)X
+1860(machines,)X
+2252(workstations,)X
+2761(or)X
+2871(parallel)X
+3173(processors)X
+3580(\320)X
+3705(the)X
+3850(latter)X
+576 2844(being)N
+811(considered)X
+1231(an)X
+1353(atomic)X
+1633(computational)X
+2178(resource)X
+2514(by)X
+3 f
+9 s
+2637(PVM)X
+1 f
+11 s
+2801(.)X
+2862(This)X
+3057(support)X
+3359(software)X
+3699(interprets)X
+576 2956(requests)N
+888(generated)X
+1254(by)X
+1366(the)X
+1498(user-level)X
+1870(constructs)X
+2252(and)X
+2404(carries)X
+2663(out)X
+2801(the)X
+2934(necessary)X
+3300(actions)X
+3575(in)X
+3669(a)X
+3733(machine)X
+576 3068(independent)N
+1031(manner.)X
+1341(The)X
+3 f
+9 s
+1498(PVM)X
+1 f
+11 s
+1686(software)X
+2012(essentially)X
+2409(consists)X
+2711(of)X
+2807(a)X
+2869(collection)X
+3241(of)X
+3337(protocol)X
+3654(algorithms)X
+576 3180(to)N
+674(implement)X
+1082(reliable)X
+1376(and)X
+1532(sequenced)X
+1927(data)X
+2103(transfer,)X
+2423(distributed)X
+2831(consensus,)X
+3239(and)X
+3396(mutual)X
+3672(exclusion.)X
+576 3292(In)N
+681(an)X
+796(attempt)X
+1094(to)X
+1195(make)X
+1418(the)X
+1558(system)X
+1835(as)X
+1939(robust)X
+2190(as)X
+2294(possible,)X
+2636(these)X
+2848(algorithms)X
+3257(also)X
+3430(incorporate)X
+3862(error)X
+576 3404(detection)N
+932(mechanisms)X
+1400(\320)X
+1520(process)X
+1815(and)X
+1975(processor)X
+2344(failure)X
+2607(noti\256cation)X
+3043(is)X
+3135(provided)X
+3481(to)X
+3583(applications,)X
+576 3516(thereby)N
+865(enabling)X
+1194(them)X
+1396(to)X
+1490(take)X
+1662(corrective)X
+2039(action.)X
+2302(In)X
+2400(addition,)X
+2736(heuristics)X
+3098(are)X
+3229(included)X
+3557(into)X
+3719(the)X
+3851(algo-)X
+576 3628(rithms)N
+838(for)X
+976(mutual)X
+1259(exclusion)X
+1634(and)X
+1798(consensus)X
+2191(that)X
+2361(enable)X
+2628(the)X
+2773(preemption)X
+3212(of)X
+3322(deadlock)X
+3677(in)X
+3783(several)X
+576 3740(situations.)N
+776 3992(Several)N
+1065(projects)X
+1369(similar)X
+1640(to)X
+3 f
+9 s
+1730(PVM)X
+1 f
+11 s
+1919(have)X
+2110(been)X
+2301(undertaken)X
+2717(in)X
+2811(the)X
+2944(past,)X
+3134(and)X
+3287(some)X
+3499(are)X
+3632(ongoing.)X
+3969(A)X
+576 4104(few)N
+739(representative)X
+1265(examples)X
+1630(are)X
+1769(listed)X
+1993(below,)X
+2262(with)X
+2451(comparisons)X
+2928(to)X
+3 f
+9 s
+3024(PVM)X
+1 f
+11 s
+3188(.)X
+3241(The)X
+3409(DPUP)X
+3664(library)X
+3930([4])X
+576 4216(emulates)N
+919(a)X
+987(loosely)X
+1272(coupled)X
+1581(multiprocessor)X
+2135(on)X
+2253(a)X
+2322(local)X
+2524(network,)X
+2864(as)X
+2967(does)X
+3158(the)X
+3296(dsim)X
+3498([5])X
+3630(system)X
+3905(and)X
+576 4328(the)N
+723(Cosmic)X
+1032(environment)X
+1516([6].)X
+1678(The)X
+1853(two)X
+2023(latter)X
+2243(systems)X
+2560(require)X
+2847(the)X
+2993(precon\256guration)X
+3613(of)X
+3724(a)X
+3801(virtual)X
+576 4440(machine)N
+897(on)X
+1007(which)X
+1244(applications)X
+1693(execute)X
+1985(and)X
+2135(support)X
+2422(only)X
+2602(basic)X
+2806(message)X
+3127(passing)X
+3414(mechanisms.)X
+3895(The)X
+576 4552(Amber)N
+859(project)X
+1143([15])X
+1328(is)X
+1426(somewhat)X
+1822(different)X
+2164(in)X
+2272(that)X
+2444(the)X
+2591(targeted)X
+2914(environment)X
+3398(is)X
+3495(a)X
+3572(collection)X
+3959(of)X
+576 4664(homogeneous)N
+2 f
+1100(multi-)X
+1 f
+1311(processors.)X
+1738(One)X
+1919(of)X
+2027(the)X
+2170(operating)X
+2538(modes)X
+2803(within)X
+3065(DPUP,)X
+3347(as)X
+3456(well)X
+3644(as)X
+3753(projects)X
+576 4776(such)N
+762(as)X
+860(Marionette)X
+1272([7])X
+1399(and)X
+1551(MSPCM)X
+1889([8],)X
+2038(uses)X
+2214(the)X
+2347(master-slave)X
+2817(approach,)X
+3186(where)X
+3425(a)X
+3489(central)X
+3753(control-)X
+576 4888(ling)N
+739(process)X
+1027(is)X
+1111(responsible)X
+1537(for,)X
+1686(or)X
+1784(is)X
+1868(involved)X
+2202(in,)X
+2318(every)X
+2538(system)X
+2808(event.)X
+3046(In)X
+3144(addition)X
+3459(to)X
+3553(affecting)X
+3891(per-)X
+576 5000(formance)N
+942(and)X
+1103(being)X
+1333(an)X
+1449(unnatural)X
+1815(model)X
+2069(for)X
+2204(certain)X
+2477(classes)X
+2754(of)X
+2860(problems,)X
+3243(this)X
+3404(central)X
+3677(process)X
+3973(is)X
+576 5112(critical,)N
+877(and)X
+1037(its)X
+1154(failure)X
+1417(leads)X
+1631(to)X
+1733(a)X
+1805(complete)X
+2162(collapse)X
+2484(of)X
+2591(the)X
+2733(entire)X
+2968(system.)X
+3269(Another)X
+3591(shortcoming)X
+576 5224(common)N
+912(to)X
+1008(all)X
+1124(the)X
+1259(above)X
+1496(is)X
+1582(the)X
+1717(use)X
+1861(of)X
+1961(virtual)X
+2219(circuits)X
+2506(for)X
+2635(network)X
+2950 0.2452(communication;)AX
+3552(in)X
+3647(addition)X
+3963(to)X
+576 5336(overheads)N
+954(that)X
+1109(may)X
+1283(not)X
+1418(be)X
+1523(justi\256able,)X
+1916(practical)X
+2242(limits)X
+2467(on)X
+2577(the)X
+2707(number)X
+2998(of)X
+3093(connections)X
+3537(affect)X
+3760(the)X
+3891(sca-)X
+576 5448(lability)N
+862(of)X
+969(applications.)X
+1474(In)X
+1581(addition,)X
+1927(failure)X
+2191(resiliency)X
+2568(and)X
+2728(debugging)X
+3133(support)X
+3430(is)X
+3522(minimal.)X
+3895(The)X
+3 f
+9 s
+576 5560(PVM)N
+1 f
+11 s
+771(system)X
+1047(is)X
+1137(completely)X
+1561(distributed,)X
+1992(supports)X
+2321(a)X
+2391(dynamic)X
+2726(host)X
+2904(pool,)X
+3114(and)X
+3272(assumes)X
+3596(only)X
+3784(that)X
+3949(an)X
+576 5672(unreliable,)N
+979(unsequenced)X
+1460(datagram)X
+1815(delivery)X
+2131(mechanism)X
+2560(is)X
+2646(available.)X
+3014(From)X
+3232(the)X
+3367(application's)X
+3850(point)X
+576 5784(of)N
+671(view,)X
+3 f
+9 s
+882(PVM)X
+1 f
+11 s
+1068(constructs)X
+1447(are)X
+1576(substantially)X
+2045(more)X
+2248(general)X
+2529(in)X
+2621(nature)X
+2864(and)X
+3014(encompass)X
+3423(both)X
+3603(the)X
+3734(message)X
+
+4 p
+%%Page: 4 4
+11 s 11 xH 0 xS 1 f
+2231 400(-)N
+2282(4)X
+2348(-)X
+576 688(passing)N
+867(and)X
+1020(shared)X
+1275(memory)X
+1595(paradigms;)X
+2013(yet,)X
+2169(by)X
+2283(substituting)X
+2722(alternative)X
+3121(libraries,)X
+3458(unmodi\256ed)X
+3886(pro-)X
+576 800(grams)N
+813(may)X
+987(execute)X
+1278(on)X
+1388(speci\256c)X
+1679(multiprocessors.)X
+776 1052(The)N
+937(following)X
+1304(section)X
+1578(describes)X
+1929(the)X
+2061(user)X
+2231(interface)X
+2564(and)X
+2716(the)X
+2849(important)X
+3218(design)X
+3473(aspects)X
+3752(of)X
+3 f
+9 s
+3846(PVM)X
+1 f
+11 s
+4010(.)X
+576 1164(An)N
+710(overview)X
+1064(of)X
+1164(the)X
+3 f
+9 s
+1295(PVM)X
+1 f
+11 s
+1486(support)X
+1777(software,)X
+2128(with)X
+2312(an)X
+2422(emphasis)X
+2777(on)X
+2892(the)X
+3027(protocol)X
+3348(algorithms)X
+3752(and)X
+3905(key)X
+576 1276 0.2885(implementation)AN
+1158(features)X
+1462(follows.)X
+1774(Preliminary)X
+2217(results)X
+2473(and)X
+2626(performance)X
+3096(\256gures)X
+3361(are)X
+3494(then)X
+3673(presented,)X
+576 1388(and)N
+725(the)X
+855(concluding)X
+1269(section)X
+1541(reports)X
+1807(on)X
+1917(continuing)X
+2317(and)X
+2466(future)X
+2698(work.)X
+3 f
+576 1724(2.)N
+686(The)X
+855(User)X
+1052(Interface)X
+1 f
+776 1976(The)N
+957(application)X
+1394(views)X
+1644(the)X
+3 f
+9 s
+1793(PVM)X
+1 f
+11 s
+2002(system)X
+2292(as)X
+2410(a)X
+2494(general)X
+2798(and)X
+2970(\257exible)X
+3280(parallel)X
+3590(computation)X
+576 2088(resource)N
+908(that)X
+1076(supports)X
+1409(common)X
+1753(parallel)X
+2053(programming)X
+2568(paradigms.)X
+2991(Application)X
+3442(programs)X
+3808(access)X
+576 2200(these)N
+784(resources)X
+1142(by)X
+1257(invoking)X
+1598(function)X
+1919(calls)X
+2109(from)X
+2308(within)X
+2562(common)X
+2899(procedural)X
+3303(languages)X
+3683(such)X
+3872(as)X
+3973(C)X
+576 2312(or)N
+676(Fortran.)X
+984(Such)X
+1187(an)X
+1297(interface)X
+1632(was)X
+1795(selected)X
+2106(primarily)X
+2462(for)X
+2590(portability)X
+2985(reasons)X
+3274(\320)X
+3388(most)X
+3586(multiproces-)X
+576 2424(sor)N
+712(applications)X
+1168(are)X
+1304(currently)X
+1651(written)X
+1930(in)X
+2028(procedural)X
+2433(languages)X
+2814(with)X
+3000(embedded,)X
+3413(machine-speci\256c,)X
+576 2536(function)N
+905(calls)X
+1102(that)X
+1270(perform)X
+1588(process)X
+1886(spawning,)X
+2280(message)X
+2613(reception)X
+2976(and)X
+3138(transmission,)X
+3641(and)X
+3803(shared)X
+576 2648(memory)N
+893(operations.)X
+1305(The)X
+3 f
+9 s
+1461(PVM)X
+1 f
+11 s
+1648(primitives)X
+2030(have)X
+2220(been)X
+2410(made)X
+2625(the)X
+2757(same)X
+2962(as)X
+3059(or)X
+3156(very)X
+3336(similar)X
+3606(to)X
+3699(the)X
+3831(union)X
+576 2760(of)N
+683(these)X
+898(functions,)X
+1282(thereby)X
+1580(enabling)X
+1918(previously)X
+2324(written)X
+2608(applications)X
+3068(to)X
+3170(be)X
+3286(ported)X
+3544(readily)X
+3822(to)X
+3924(the)X
+3 f
+9 s
+576 2872(PVM)N
+1 f
+11 s
+764(environment.)X
+1256(This)X
+1437(aspect)X
+1682(also)X
+1849(permits)X
+2139(the)X
+2272(execution)X
+2640(of)X
+2738(applications,)X
+3212(or)X
+3310(components)X
+3761(thereof,)X
+576 2984(on)N
+691(speci\256c)X
+987(machines)X
+1347(when)X
+1564(possible.)X
+1924(The)X
+3 f
+9 s
+2083(PVM)X
+1 f
+11 s
+2273(user)X
+2445(interface)X
+2779(syntax)X
+3035(and)X
+3188(semantics)X
+3562(are)X
+3695(presented)X
+576 3096(in)N
+667(this)X
+817(section)X
+1089(with)X
+1268(illustrative)X
+1669(examples)X
+2024(using)X
+2237(the)X
+2367(C)X
+2448(language)X
+2788(interface.)X
+3 f
+576 3432(2.1.)N
+752(Processes)X
+1130(and)X
+1294(Process)X
+1599(Initiation)X
+1 f
+776 3684(In)N
+879(the)X
+3 f
+9 s
+1013(PVM)X
+1 f
+11 s
+1207(system,)X
+1504(an)X
+1617(application)X
+2040(is)X
+2129(considered)X
+2540(to)X
+2639(consist)X
+2914(of)X
+2 f
+3017(components)X
+1 f
+3437(.)X
+3489(For)X
+3641(example,)X
+3993(a)X
+576 3796(simulation)N
+979(application)X
+1401(might)X
+1637(consist)X
+1911(of)X
+2013(a)X
+2081(partial)X
+2336(differential)X
+2756(equation)X
+3088(component,)X
+3530(a)X
+3597(matrix)X
+3856(solu-)X
+576 3908(tion)N
+738(component,)X
+1176(and)X
+1327(a)X
+1390(user)X
+1560(interface)X
+1892(component.)X
+2352(It)X
+2430(should)X
+2689(be)X
+2796(pointed)X
+3085(out)X
+3222(that)X
+3379(this)X
+3531(de\256nition)X
+3895(of)X
+3993(a)X
+576 4020(component)N
+993(is)X
+1077(perhaps)X
+1375(unconventional;)X
+1969(usually,)X
+2271(the)X
+2404(term)X
+2591(implies)X
+2877(a)X
+2941(phase)X
+3166(or)X
+3264(portion)X
+3544(of)X
+3641(an)X
+3748(applica-)X
+576 4132(tion)N
+741(that)X
+901(is)X
+988(embodied)X
+1364(in)X
+1461(a)X
+1528(subroutine)X
+9 f
+1928(-)X
+1 f
+2004(such)X
+2193(as)X
+2294("the)X
+2466(forward-substitution)X
+3213(component)X
+3633(of)X
+3734(a)X
+3801(matrix)X
+576 4244(solver".)N
+873(However,)X
+1240(the)X
+3 f
+9 s
+1368(PVM)X
+1 f
+11 s
+1556(system)X
+1825(is)X
+1908(a)X
+1971(large-granularity)X
+2587(environment,)X
+3079(primarily)X
+3432(targeted)X
+3739(at)X
+3826(appli-)X
+576 4356(cations)N
+849(that)X
+1005(are)X
+1135(collections)X
+1542(of)X
+1639(relatively)X
+1997(independent)X
+2452(programs.)X
+2830(In)X
+2927(view)X
+3122(of)X
+3219(this,)X
+3393(a)X
+3 f
+9 s
+3452(PVM)X
+1 f
+11 s
+3640(component)X
+576 4468(corresponds)N
+1031(not)X
+1175(to)X
+1275(a)X
+1345(phase)X
+1576(in)X
+1676(the)X
+1815(traditional)X
+2210(sense,)X
+2452(but)X
+2595(rather)X
+2830(to)X
+2929(a)X
+2998(larger)X
+3233(unit)X
+3401(of)X
+3504(an)X
+3617(application.)X
+576 4580(From)N
+790(the)X
+921(system)X
+1189(point)X
+1394(of)X
+1490(view,)X
+1706(a)X
+1768(component)X
+2183(corresponds)X
+2630(to)X
+2722(an)X
+2829(object)X
+3069(\256le)X
+3206(that)X
+3363(is)X
+3446(capable)X
+3739(of)X
+3836(being)X
+576 4692(executed)N
+925(as)X
+1034(a)X
+1109(user-level)X
+1492(process.)X
+1813(A)X
+1911(compiled)X
+2275(C)X
+2369(program)X
+2702(that)X
+2870(performs)X
+3222(LU)X
+3374(factorization)X
+3855(is)X
+3949(an)X
+576 4804(example)N
+897(of)X
+992(a)X
+1054(component.)X
+1491(It)X
+1568(is)X
+1650(the)X
+1781(responsibility)X
+2285(of)X
+2381(the)X
+2512(user)X
+2681(to)X
+2773(compile)X
+3081(component)X
+3496(programs)X
+3851(to)X
+3943(all)X
+576 4916(target)N
+806(architectures)X
+1285(on)X
+1402(which)X
+1646(that)X
+1808(component)X
+2229(may)X
+2409(execute.)X
+2728(Depending)X
+3142(upon)X
+3346(the)X
+3482(target)X
+3711(machine,)X
+576 5028(the)N
+719(compiled)X
+1083(version)X
+1377(of)X
+1485(a)X
+1559(component)X
+1986(may)X
+2173(either)X
+2409(link)X
+2582(against)X
+2867(the)X
+3 f
+9 s
+3007(PVM)X
+1 f
+11 s
+3207(primitives,)X
+3624(or)X
+3733(machine)X
+576 5140(speci\256c)N
+877(libraries,)X
+1220(or)X
+1325(both.)X
+1536(A)X
+1631(component)X
+2055(is)X
+2146(therefore)X
+2494(a)X
+2564(static)X
+2782(entity)X
+3015(and)X
+3173(is)X
+3263(identi\256ed)X
+3628(by)X
+3747(a)X
+2 f
+3817(name)X
+1 f
+4007(;)X
+576 5252(associations)N
+1024(between)X
+1339(component)X
+1753(names)X
+2000(and)X
+2149(executable)X
+2548(versions)X
+2864(are)X
+2994(set)X
+3115(up)X
+3226(as)X
+3322(discussed)X
+3682(in)X
+3774(the)X
+3905(fol-)X
+576 5364(lowing)N
+843(paragraphs.)X
+776 5616(A)N
+888(complete)X
+1261(description)X
+1703(of)X
+1826(application)X
+2269(components,)X
+2767(i.e.)X
+2925(the)X
+3083(component)X
+3525(name)X
+3766(and)X
+3943(all)X
+576 5728(corresponding)N
+1126(executables)X
+1584(\(each)X
+1820(with)X
+2023(an)X
+2152(architecture)X
+2614(tag\),)X
+2819(is)X
+2924(obtained)X
+3274(by)X
+3408(the)X
+3 f
+9 s
+3558(PVM)X
+1 f
+11 s
+3768(support)X
+576 5840(software.)N
+935(This)X
+1127(information)X
+1579(is)X
+1673(gathered)X
+2011(either)X
+2247(from)X
+2454(a)X
+2529(\256le)X
+2678(or)X
+2787(from)X
+2994(a)X
+3069(startup)X
+3345(process,)X
+3666(as)X
+3775(will)X
+3949(be)X
+
+5 p
+%%Page: 5 5
+11 s 11 xH 0 xS 1 f
+2231 400(-)N
+2282(5)X
+2348(-)X
+576 688(explained)N
+950(below.)X
+1218(An)X
+1356(example)X
+1686(of)X
+1790(a)X
+1860(component)X
+2283(description)X
+2705(\256le)X
+2848(is)X
+2937(shown)X
+3196(in)X
+3295(Figure)X
+3555(1.)X
+3673(This)X
+3860(table)X
+576 800(illustrates)N
+944(that)X
+1101(a)X
+1164(component,)X
+1602(identi\256ed)X
+1961(by)X
+2074(a)X
+2138(name,)X
+2376(may)X
+2553(be)X
+2661(manifested)X
+3073(as)X
+3171(several)X
+3445(different)X
+3773(execut-)X
+576 912(able)N
+755(\256les;)X
+959(and)X
+1118(conversely,)X
+1553(that)X
+1718(multiple)X
+2046(component)X
+2470(names)X
+2727(may)X
+2911(map)X
+3094(onto)X
+3282(the)X
+3421(same)X
+3633(executable.)X
+576 1024(The)N
+746(\256rst)X
+916(feature)X
+1193(permits)X
+1491(the)X
+3 f
+9 s
+1628(PVM)X
+1 f
+11 s
+1825(system)X
+2104(to)X
+2207(execute)X
+2510(components)X
+2970(at)X
+3068(the)X
+3210(most)X
+3416(suitable)X
+3725(location,)X
+576 1136(while)N
+794(the)X
+924(second)X
+1190(allows)X
+1442(the)X
+1572(user)X
+1740(to)X
+1831(specify)X
+2107(a)X
+2168(particular)X
+2528(location)X
+2835(as)X
+2930(will)X
+3090(be)X
+3195(explained)X
+3560(below.)X
+10 f
+1190 1328(i)N
+1218(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1234 1440(Name)N
+1615(Location)X
+2061(Object)X
+2318(\256le)X
+2934(Architecture)X
+10 f
+1190 1456(i)N
+1218(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1190 1472(i)N
+1218(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1234 1576(factor)N
+1615(iPSC)X
+2061(/u0/host/factor1)X
+2934(ipsc)X
+1234 1688(factor)N
+1615(msrsun)X
+2061 0.1612(/usr/alg/math/factor)AX
+2934(sun3)X
+1234 1800(factor)N
+1615(msrsun)X
+2061 0.1531(/usr/alg4/math/factor)AX
+2934(sun4)X
+1234 1912(chol)N
+1615(csvax2)X
+2061(/usr/matrix/chol)X
+2934(vax)X
+1234 2024(chol)N
+1615(vmsvax)X
+2061(JOE:CHOL.OBJ)X
+2934(vms)X
+1234 2136(tool)N
+1615(msrsun)X
+2061(/usr/view/graph/obj)X
+2934(sun3)X
+1234 2248(factor2)N
+1615(iPSC)X
+2061(/u0/host/factor1)X
+2934(ipsc)X
+10 f
+1190 2272(i)N
+1218(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1190(c)X
+2208(c)Y
+2120(c)Y
+2032(c)Y
+1944(c)Y
+1856(c)Y
+1768(c)Y
+1680(c)Y
+1592(c)Y
+1504(c)Y
+1416(c)Y
+3418 2272(c)N
+2208(c)Y
+2120(c)Y
+2032(c)Y
+1944(c)Y
+1856(c)Y
+1768(c)Y
+1680(c)Y
+1592(c)Y
+1504(c)Y
+1416(c)Y
+1 f
+1451 2544(Figure)N
+1703(1)X
+1769(:)X
+1816(Example)X
+2152(Component)X
+2586(Description)X
+3019(File)X
+776 2908(A)N
+2 f
+862(process)X
+1 f
+1153(is)X
+1235(an)X
+1341(executing)X
+1707(instance)X
+2019(of)X
+2115(a)X
+2177(component)X
+2592(and)X
+2742(is)X
+2824(identi\256ed)X
+3181(by)X
+3293(the)X
+3425(component)X
+3841(name)X
+576 3020(and)N
+736(a)X
+808(positive)X
+1121(instance)X
+1443(number.)X
+1767(Processes)X
+2141(may)X
+2326(be)X
+2442(initiated)X
+2766(from)X
+2969(within)X
+3227(components)X
+3685(or)X
+3790(from)X
+3993(a)X
+576 3132("startup")N
+914(process)X
+1203(that)X
+1362(may)X
+1540(be)X
+1649(manually)X
+2004(executed)X
+2343(on)X
+2457(any)X
+2610(participating)X
+3083(host.)X
+3278(A)X
+3367(process)X
+3656(is)X
+3741(initiated)X
+576 3244(by)N
+688(invoking)X
+1026(the)X
+3 f
+1158(initiate)X
+1 f
+1447(primitive)X
+1796(with)X
+1977(the)X
+2108(component)X
+2523(name)X
+2737(as)X
+2833(an)X
+2939(argument;)X
+3320(the)X
+3451(instance)X
+3763(number)X
+576 3356(of)N
+676(the)X
+811(initiated)X
+1129(process)X
+1419(is)X
+1505(returned)X
+1825(to)X
+1921(the)X
+2057(user.)X
+2253(Prior)X
+2457(to)X
+2554(executing)X
+2925(any)X
+3 f
+9 s
+3076(PVM)X
+1 f
+11 s
+3268(construct,)X
+3641(however,)X
+3993(a)X
+576 3468(process)N
+871(must)X
+1075(invoke)X
+1347(the)X
+3 f
+1486(enroll)X
+1 f
+1738(function;)X
+2088(this)X
+2247(establishes)X
+2660(a)X
+2730(\(machine)X
+3089(dependent\))X
+3511(mechanism)X
+3944(by)X
+576 3580(which)N
+815(a)X
+878(user)X
+1048(process)X
+1335(may)X
+1511(communicate)X
+2011(with)X
+2192(the)X
+3 f
+9 s
+2320(PVM)X
+1 f
+11 s
+2509(system.)X
+2801(A)X
+2889(typical)X
+3155(section)X
+3430(of)X
+3528(code)X
+3719(executed)X
+576 3692(by)N
+690(a)X
+754(startup)X
+1019(process)X
+1307(is)X
+1391(shown)X
+1645(in)X
+1739(Figure)X
+1994(2.)X
+2107(It)X
+2186(should)X
+2446(be)X
+2554(noted)X
+2775(in)X
+2869(the)X
+3002(example)X
+3326(shown)X
+3580(that)X
+3738(the)X
+3871(phy-)X
+576 3804(sical)N
+770(location)X
+1087(of)X
+1192(the)X
+1333(initiated)X
+1657(processes)X
+2026(is)X
+2118(transparent)X
+2542(to)X
+2644(the)X
+2785(invoking)X
+3132(process;)X
+3453(the)X
+3 f
+9 s
+3590(PVM)X
+1 f
+11 s
+3787(system)X
+576 3916(determines)N
+989(the)X
+1123(best)X
+1291(machine)X
+1616(on)X
+1730(which)X
+1971(to)X
+2066(execute)X
+2361(a)X
+2426(process)X
+2715(based)X
+2940(upon)X
+3141(the)X
+3274(current)X
+3548(host)X
+3720(pool,)X
+3924(the)X
+576 4028(alternative)N
+994(architectures)X
+1489(on)X
+1622(which)X
+1882(a)X
+1966(component)X
+2403(may)X
+2600(execute,)X
+2936(and)X
+3109(the)X
+3263(load)X
+3461(factor)X
+3712(on)X
+3846(those)X
+576 4140(machines.)N
+955(However,)X
+1322(a)X
+1385(speci\256c)X
+1678(location)X
+1987(may)X
+2163(be)X
+2269(forced)X
+2516(by)X
+2627(declaring)X
+2978(a)X
+3040(new)X
+3209(component)X
+3624(name)X
+3838(\(as)X
+3963(in)X
+576 4252(the)N
+706(last)X
+851(line)X
+1006(of)X
+1101(the)X
+1231(component)X
+1645(description)X
+2059(\256le)X
+2194(above\))X
+2455(and)X
+2604 0.3681(initiating)AX
+2947(that)X
+3102(component.)X
+8 f
+735 4524(...)N
+735 4636 0.1985(enroll\("startup"\);)AN
+735 4748(for)N
+947(\(i=0;i<10;i++\))X
+894 4860(instance[i])N
+1530(=)X
+1636 0.1979(initiate\("factor"\);)AX
+735 4972(...)N
+1 f
+1373 5132(Figure)N
+1625(2)X
+1691(:)X
+1738(Initiation)X
+2085(of)X
+2180(multiple)X
+2498(component)X
+2912(instances)X
+2 f
+776 5496(Positioning)N
+1 f
+1212(of)X
+1313(application)X
+1734(components)X
+2188(on)X
+2304(speci\256c)X
+2601(processing)X
+3005(elements)X
+3348(is)X
+3436(often)X
+3646(a)X
+3714(desirable)X
+576 5608(facility,)N
+881(particularly)X
+1320(in)X
+1420(heterogeneous)X
+1959(environments.)X
+2492(When)X
+2733(the)X
+2872(application)X
+3296(has)X
+3444(prior)X
+3646(knowledge)X
+576 5720(of)N
+674(the)X
+807(special)X
+1077(capabilities)X
+1505(of)X
+1603(a)X
+1667(speci\256c)X
+1961(machine)X
+2285(or)X
+2383(even)X
+2574(the)X
+2707(characteristics)X
+3237(of)X
+3336(a)X
+3401(particular)X
+3765(dataset,)X
+576 5832(executing)N
+951(a)X
+1022(component)X
+1445(at)X
+1540(a)X
+1610(\256xed)X
+1817(location)X
+2133(can)X
+2286(lead)X
+2464(to)X
+2564(signi\256cant)X
+2963(bene\256ts.)X
+3290(In)X
+3 f
+9 s
+3390(PVM)X
+1 f
+11 s
+3554(,)X
+3607(this)X
+3766(may)X
+3949(be)X
+
+6 p
+%%Page: 6 6
+11 s 11 xH 0 xS 1 f
+2231 400(-)N
+2282(6)X
+2348(-)X
+576 688(accomplished)N
+1090(either)X
+1320(statically)X
+1669(as)X
+1771(explained)X
+2143(above,)X
+2404(or)X
+2506(dynamically)X
+2972(by)X
+3089(using)X
+3309(the)X
+3 f
+3446(entercomp)X
+1 f
+3876(con-)X
+576 800(struct.)N
+824(Arguments)X
+1245(to)X
+1344(this)X
+1502(construct)X
+1855(are)X
+1992(a)X
+2060(component)X
+2481(name,)X
+2723(an)X
+2835(object)X
+3080(\256lename)X
+3413(and)X
+3569(location,)X
+3905(and)X
+576 912(an)N
+686(architecture)X
+1129(tag.)X
+1308(This)X
+1492(construct)X
+1842(is)X
+1928(used)X
+2116(to)X
+2212("register")X
+2575(a)X
+2641(new)X
+2814(component)X
+3233(that)X
+3393(may)X
+3572(subsequently)X
+576 1024(be)N
+695(executed)X
+1044(by)X
+1168(using)X
+1394(the)X
+3 f
+1537(initiate)X
+1 f
+1837(construct.)X
+2217(For)X
+2374(example,)X
+2730(if)X
+2819(an)X
+2937(executing)X
+3315(component)X
+3742(found)X
+3982(it)X
+576 1136(necessary)N
+952(to)X
+1056(spawn)X
+1315(a)X
+1389(subprocess)X
+1809(on)X
+1932(a)X
+2006(speci\256c)X
+2311(machine,)X
+2668(it)X
+2754(might)X
+2997(use)X
+3150(the)X
+3294(following)X
+3673(section)X
+3959(of)X
+576 1248(code:)N
+8 f
+735 1520 0.1912(entercomp\("subproc","sequent8","/usr/a.out","seq"\);)AN
+735 1632 0.1974(initiate\("subproc"\);)AN
+1 f
+776 1932(The)N
+3 f
+946(initiate)X
+1 f
+1244(mechanism)X
+1679(is,)X
+1793(by)X
+1914(default,)X
+2214(asynchronous.)X
+2752(Control)X
+3055(is)X
+3147(returned)X
+3473(to)X
+3576(the)X
+3718(invoking)X
+576 2044(process)N
+871(as)X
+975(soon)X
+1172(as)X
+1276(the)X
+1415(instance)X
+1735(number)X
+2035(of)X
+2139(the)X
+2278(process)X
+2572(is)X
+2662(available.)X
+3034(However,)X
+3408(under)X
+3639(certain)X
+3910(cir-)X
+576 2156(cumstances,)N
+1044(it)X
+1134(may)X
+1326(be)X
+1450(necessary)X
+1832(to)X
+1942(initiate)X
+2230(a)X
+2310(component)X
+2743(only)X
+2941(after)X
+3143(another)X
+3448(process)X
+3752(has)X
+3910(ter-)X
+576 2268(minated.)N
+938(The)X
+3 f
+1108(initiateP)X
+1 f
+1460(variant)X
+1738(allows)X
+2001(this)X
+2162(by)X
+2283(permitting)X
+2685(the)X
+2826(user)X
+3005(to)X
+3107(defer)X
+3320 0.3681(initiation)AX
+3674(of)X
+3780(a)X
+3851(com-)X
+576 2380(ponent)N
+838(until)X
+1023(after)X
+1206(another)X
+1492(has)X
+1631(terminated.)X
+2053(For)X
+2197(example,)X
+8 f
+735 2540 0.1937(initiateP\("factor","matmul",3\);)AN
+1 f
+576 2784(will)N
+742(initiate)X
+1017(an)X
+1129(instance)X
+1447(of)X
+1549("factor")X
+1855(only)X
+2041(after)X
+2231(instance)X
+2549(number)X
+2847(3)X
+2920(of)X
+3022("matmul")X
+3394(has)X
+3540(terminated.)X
+3969(A)X
+576 2896(third-argument)N
+1131(value)X
+1348(of)X
+1447(0)X
+1517(will)X
+1681(cause)X
+1902("factor")X
+2205(to)X
+2300(be)X
+2409(initiated)X
+2726(only)X
+2909(when)X
+2 f
+3124(all)X
+1 f
+3243(instances)X
+3591(of)X
+3689("matmul")X
+576 3008(terminate.)N
+956(In)X
+1053(an)X
+1160(analogous)X
+1541(fashion,)X
+3 f
+1846(initiateD)X
+1 f
+2198(is)X
+2281(used)X
+2466(to)X
+2559(execute)X
+2852(components)X
+3302(conditional)X
+3724(upon)X
+3924(the)X
+576 3120(occurrence)N
+983(of)X
+1078(a)X
+1139(user-signaled)X
+1630(event,)X
+1865(normally)X
+2206(the)X
+2336 0.2898(availability)AX
+2757(of)X
+2852(data.)X
+3043(Thus,)X
+8 f
+735 3280 0.1942(initiateD\("chol","dataset7"\);)AN
+1 f
+576 3524(will)N
+761(delay)X
+999(the)X
+1154(execution)X
+1544(of)X
+1664("chol")X
+1936(until)X
+2147(some)X
+2381(other)X
+2610(process)X
+2921(signals)X
+3214(the)X
+3370(occurrence)X
+3803(of)X
+3924(the)X
+576 3636("dataset7")N
+972(event,)X
+1220(by)X
+1343(invoking)X
+1692(the)X
+3 f
+1834(ready)X
+1 f
+2049(\("dataset7"\))X
+2502(primitive.)X
+2883(All)X
+3030(variants)X
+3343(of)X
+3 f
+3450(initiate)X
+1 f
+3749(return)X
+3993(a)X
+576 3748(negative)N
+897(result)X
+1115(if)X
+1191(a)X
+1252(process)X
+1537(could)X
+1755(not)X
+1890(be)X
+1996(initiated,)X
+2332(thereby)X
+2619(enabling)X
+2946(the)X
+3077(invoker)X
+3369(to)X
+3461(take)X
+3631(appropriate)X
+576 3860(action.)N
+862(The)X
+1025(global)X
+1272(component)X
+1690(dependencies)X
+2190(of)X
+2289(the)X
+2423(application)X
+2841(may)X
+3018(therefore)X
+3360(be)X
+3468(speci\256ed)X
+3806(within)X
+576 3972(a)N
+640(startup)X
+905(process)X
+1193(by)X
+1306(the)X
+1440(use)X
+1583(of)X
+1682(appropriate)X
+3 f
+2109(initiate)X
+1 f
+2400(primitives)X
+2785(or)X
+2884(variants,)X
+3211(embedded)X
+3599(within)X
+3851(com-)X
+576 4084(mon)N
+765(selection)X
+1110(and)X
+1268(iteration)X
+1594(control)X
+1875(\257ow)X
+2062(constructs)X
+2450(available)X
+2800(in)X
+2900(the)X
+3039(host)X
+3217(language.)X
+3588(Of)X
+3711(course,)X
+3993(a)X
+576 4196(component)N
+991(itself)X
+1191(may)X
+1366(be)X
+1472(composed)X
+1852(of)X
+1948(several)X
+2220(subcomponents)X
+2791(\320)X
+2902(whose)X
+3149(dependencies)X
+3647(and)X
+3798(execu-)X
+576 4308(tion)N
+748(order)X
+967(are)X
+1108(indicated)X
+1466(in)X
+1569(an)X
+1686(analogous)X
+2076(manner)X
+2373(within)X
+2632(that)X
+2798(component.)X
+3267(Two)X
+3461(other)X
+3675(constructs)X
+576 4420(termed)N
+3 f
+862(terminate)X
+1 f
+1269(and)X
+3 f
+1438(waitprocess)X
+1 f
+1919(are)X
+2068(also)X
+2252(provided.)X
+2629(Both)X
+2843(take)X
+3032(a)X
+3113(component)X
+3547(name)X
+3780(and)X
+3949(an)X
+576 4532(instance)N
+894(number)X
+1192(\(or)X
+1323(0)X
+1395(to)X
+1492(mean)X
+1711(all)X
+1828(instances\))X
+2208(as)X
+2309(arguments;)X
+2729(the)X
+2865(\256rst)X
+3030(aborts)X
+3273(the)X
+3409(process)X
+3700(while)X
+3924(the)X
+576 4644(second)N
+842(blocks)X
+1094(the)X
+1224(caller)X
+1442(until)X
+1627(the)X
+1757(process)X
+2042(completes.)X
+3 f
+576 4980(2.2.)N
+752(Data)X
+954(Transfer)X
+1308(and)X
+1472(Barrier)X
+1778(Synchronization)X
+1 f
+776 5232(Inter-process)N
+1258(communication)X
+1832(via)X
+1964(message)X
+2286(passing)X
+2574(is)X
+2657(one)X
+2808(of)X
+2905(the)X
+3037(basic)X
+3242(facilities)X
+3572(supported)X
+3944(by)X
+3 f
+9 s
+576 5344(PVM)N
+1 f
+11 s
+740(.)X
+792(In)X
+895(the)X
+1033(interest)X
+1323(of)X
+1426(portability)X
+1825(and)X
+1982(wide)X
+2183 0.2452(applicability,)AX
+2678(the)X
+2816(primitives)X
+3205(to)X
+3303(accomplish)X
+3734(message)X
+576 5456(transfer)N
+872(have)X
+1066(been)X
+1260(derived)X
+1552(from)X
+1751(existing)X
+2059 0.2500(implementations)AX
+2677(\(e.g)X
+2839([9]\),)X
+3020(including)X
+3382(those)X
+3597(described)X
+3963(in)X
+576 5568([3].)N
+725(Certain)X
+1010(aspects,)X
+1311(however,)X
+1660(are)X
+1792(necessarily)X
+2208(different;)X
+2561(primary)X
+2865(among)X
+3130(them)X
+3331(is)X
+3414(addressing.)X
+3836(Since)X
+576 5680(the)N
+712(physical)X
+1035(location)X
+1349(of)X
+1451(processes)X
+1816(is)X
+1904(deliberately)X
+2350(transparent)X
+2770(to)X
+2868(user)X
+3043(programs,)X
+3426(message)X
+3753(destina-)X
+576 5792(tions)N
+783(are)X
+925(identi\256ed)X
+1294(by)X
+1417(a)X
+1491({component)X
+1960(name,)X
+2208(instance)X
+2532(number})X
+2878(pair.)X
+3071(Furthermore,)X
+3567(owing)X
+3821(to)X
+3924(the)X
+
+7 p
+%%Page: 7 7
+11 s 11 xH 0 xS 1 f
+2231 400(-)N
+2282(7)X
+2348(-)X
+576 688(heterogeneous)N
+1108(nature)X
+1352(of)X
+1449(the)X
+1582(underlying)X
+1989(hardware)X
+2340(that)X
+3 f
+9 s
+2494(PVM)X
+1 f
+11 s
+2683(executes)X
+3011(upon,)X
+3234(it)X
+3309(is)X
+3393(necessary)X
+3759(for)X
+3886(user)X
+576 800(programs)N
+935(to)X
+1031(send)X
+1219(and)X
+1373(receive)X
+1654(typed)X
+1877(data)X
+2051(in)X
+2147(a)X
+2213(machine)X
+2538(independent)X
+2995(form.)X
+3214(To)X
+3338(enable)X
+3594(this,)X
+3770(a)X
+3835(set)X
+3959(of)X
+576 912(conversion)N
+989(routines)X
+1300(has)X
+1444(been)X
+1637(provided)X
+1977(\320)X
+2092(user)X
+2265(programs)X
+2624(invoke)X
+2892(these)X
+3101(routines)X
+3413(to)X
+3510(construct)X
+3861(mes-)X
+576 1024(sage)N
+754(buffers)X
+1024(and)X
+1173(to)X
+1264(retrieve)X
+1555(data)X
+1724(values)X
+1971(from)X
+2164(incoming)X
+2520(messages.)X
+776 1276(In)N
+871(keeping)X
+1172(with)X
+1351(popular)X
+1642(message)X
+1962(passing)X
+2249(mechanisms,)X
+2730(the)X
+3 f
+9 s
+2857(PVM)X
+11 s
+3044(send)X
+1 f
+3238(and)X
+3 f
+3388(receive)X
+1 f
+3675(constructs)X
+576 1388(incorporate)N
+1003(a)X
+1068("type")X
+1318(argument.)X
+1699(This)X
+1882(is)X
+1967(the)X
+2101(only)X
+2284(argument)X
+2642(to)X
+3 f
+2736(receive)X
+1 f
+3000(,)X
+3047(while)X
+3 f
+3268(send)X
+1 f
+3464(requires)X
+3772(a)X
+3836(desti-)X
+576 1500(nation)N
+827(component)X
+1249(name)X
+1470(and)X
+1628(instance)X
+1948(number)X
+2248(as)X
+2352(additional)X
+2737(arguments.)X
+3157(The)X
+3325(type)X
+3508(parameter)X
+3891(per-)X
+576 1612(mits)N
+759(the)X
+897(selective)X
+1236(reception)X
+1594(of)X
+1697(messages)X
+2059(and)X
+2216(has)X
+2363(been)X
+2559(found)X
+2794(to)X
+2892(be)X
+3004(extremely)X
+3386(useful)X
+3630(in)X
+3728(practical)X
+576 1724(applications.)N
+1053(It)X
+1135(should)X
+1398(be)X
+1509(noted)X
+1733(that)X
+1894(neither)X
+2167(the)X
+2303(data)X
+2478(buffer)X
+2720(itself)X
+2925(nor)X
+3071(its)X
+3184(length)X
+3434(appear)X
+3697(explicitly)X
+576 1836(as)N
+684(arguments)X
+1086(\320)X
+1209(owing)X
+1464(to)X
+1568(data)X
+1749(representation)X
+2282(and)X
+2443(size)X
+2614(differences)X
+3038(on)X
+3160(different)X
+3497(machines,)X
+3886(user)X
+576 1948(programs)N
+940(should)X
+1207(only)X
+1396(access)X
+1652(messages)X
+2016(using)X
+2239(the)X
+2380(conversion)X
+2799(routines.)X
+3138(Shown)X
+3415(in)X
+3517(Figure)X
+3780(3)X
+3857(is)X
+3949(an)X
+576 2060(example)N
+897(of)X
+992(data)X
+1161(transfer)X
+1451(between)X
+1766(two)X
+1920(component)X
+2334(processes.)X
+8 f
+735 2220(/*)N
+894(Sending)X
+1318(Process)X
+1742(*/)X
+735 2332 0.1969(/*-----------------*/)AN
+735 2444(initsend\(\);)N
+2537(/*)X
+2696(Initialize)X
+3279(send)X
+3544(buffer)X
+3915(*/)X
+735 2556(putstring\("The)N
+1530(square)X
+1901(root)X
+2166(of)X
+2325("\);)X
+2537(/*)X
+2696(Store)X
+3014(values)X
+3385(in)X
+3915(*/)X
+735 2668(putint\(2\);)N
+2537(/*)X
+2696(machine)X
+3120(independent)X
+3915(*/)X
+735 2780(putstring\("is)N
+1477("\);)X
+2537(/*)X
+2696(form)X
+3915(*/)X
+735 2892(putfloat\(1.414\);)N
+735 3004 0.1964(send\("receiver",4,99\);)AN
+2537(/*)X
+2696(Instance)X
+3173(4;)X
+3332(type)X
+3597(99)X
+3915(*/)X
+735 3228(/*)N
+894(Receiving)X
+1424(Process)X
+1848(*/)X
+735 3340 0.1960(/*-------------------*/)AN
+735 3452(char)N
+1000 0.1992(msg1[32],msg2[4];)AX
+735 3564(int)N
+947(num;)X
+1212(float)X
+1530(sqnum;)X
+735 3676(recv\(99\);)N
+2537(/*)X
+2696(Receive)X
+3120(msg)X
+3332(of)X
+3491(type)X
+3756(99)X
+3915(*/)X
+735 3788(getstring\(msg1\);)N
+2537(/*)X
+2696(Extract)X
+3120(values)X
+3491(in)X
+3915(*/)X
+735 3900(getint\(&num\);)N
+2537(/*)X
+2696(a)X
+2802(machine)X
+3226(specific)X
+3915(*/)X
+735 4012(getstring\(msg2\);)N
+2537(/*)X
+2696(manner)X
+3915(*/)X
+735 4124 0.1992(getfloat\(&sqnum\);)AN
+1 f
+1667 4396(Figure)N
+1919(3)X
+1985(:)X
+2032(User)X
+2219(process)X
+2504(data)X
+2673(transfer)X
+776 4760(In)N
+883(order)X
+1102(for)X
+1238(a)X
+1311(receiving)X
+1673(process)X
+1970(to)X
+2073(obtain)X
+2328(additional)X
+2716(information)X
+3167(about)X
+3398(the)X
+3541(most)X
+3748(recently)X
+576 4872(received)N
+901(message,)X
+1248(the)X
+3 f
+1383(recvinfo)X
+1 f
+1718(construct)X
+2068(is)X
+2154(provided;)X
+2519(this)X
+2674(returns)X
+2944(the)X
+3078(name)X
+3295(and)X
+3448(instance)X
+3763(number)X
+576 4984(of)N
+672(the)X
+803(sending)X
+1100(process)X
+1386(and)X
+1536(the)X
+1667(message)X
+1988(length.)X
+2276(In)X
+2372(addition,)X
+2707(two)X
+2862(variants)X
+3164(of)X
+3261(the)X
+3 f
+3393(recv)X
+1 f
+3578(construct)X
+3925(are)X
+576 5096(provided.)N
+936(The)X
+1097(\256rst,)X
+3 f
+1280(recv1)X
+1 f
+1485(,)X
+1531(permits)X
+1820(the)X
+1952(user)X
+2122(to)X
+2215(specify)X
+2493(the)X
+2625(maximum)X
+3008(number)X
+3301(of)X
+3398(messages)X
+3754(of)X
+3851(other)X
+576 5208(types)N
+790(that)X
+951(may)X
+1131(arrive)X
+1364(in)X
+1461(the)X
+1597(interim)X
+1882(\(i.e.)X
+2048(while)X
+2273(waiting)X
+2567(for)X
+2698(a)X
+2766(message)X
+3093(of)X
+3195(the)X
+3332(speci\256ed)X
+3674(type\).)X
+3906(If)X
+3993(a)X
+576 5320(message)N
+902(of)X
+1003(the)X
+1138(anticipated)X
+1553(type)X
+1732(does)X
+1920(not)X
+2060(arrive)X
+2292(within)X
+2545(this)X
+2700(window,)X
+3032(an)X
+3142(error)X
+3339(value)X
+3557(is)X
+3643(returned)X
+3963(to)X
+576 5432(the)N
+731(program,)X
+1098(thus)X
+1292(enabling)X
+1643(the)X
+1798(detection)X
+2169(of)X
+2289(and)X
+2463(possible)X
+2799(recovery)X
+3154(from)X
+3373(incorrect)X
+3734(program)X
+576 5544(behavior)N
+948(or)X
+1085(unacceptable)X
+1609(levels)X
+1878(of)X
+2014(asynchrony.)X
+2504(The)X
+2704(second)X
+3011(variant,)X
+3 f
+3341(recv2)X
+1 f
+3546(,)X
+3631(allows)X
+3924(the)X
+576 5656(speci\256cation)N
+1045(of)X
+1141(a)X
+1203(timeout)X
+1497(value)X
+1711(and)X
+1861(is)X
+1943(valuable)X
+2265(in)X
+2357(preventing)X
+2757(certain)X
+3020(forms)X
+3248(of)X
+3344(deadlock)X
+3686(as)X
+3783(well)X
+3959(as)X
+576 5768(in)N
+670(user-level)X
+1042(detection)X
+1391(of)X
+1489(failed)X
+1715(components.)X
+2188(Also)X
+2379(provided)X
+2717(is)X
+2801(the)X
+3 f
+2934(broadcast)X
+1 f
+3330(primitive)X
+3680(that)X
+3837(sends)X
+
+8 p
+%%Page: 8 8
+11 s 11 xH 0 xS 1 f
+2231 400(-)N
+2282(8)X
+2348(-)X
+576 688(a)N
+637(message)X
+957(to)X
+1048(all)X
+1159(instances)X
+1504(of)X
+1599(a)X
+1660(speci\256ed)X
+1995(component.)X
+776 940(Synchronization)N
+1377(via)X
+1508(barriers)X
+1799(is)X
+1881(a)X
+1944(common)X
+2277(operation)X
+2634(in)X
+2727(many)X
+2947(applications.)X
+3442(Under)X
+3 f
+9 s
+3681(PVM)X
+1 f
+11 s
+3845(,)X
+3891(bar-)X
+576 1052(rier)N
+725(synchronization)X
+1315(is)X
+1401(accomplished)X
+1913(using)X
+2131(the)X
+3 f
+2266(barrier)X
+1 f
+2567(construct.)X
+2939(This)X
+3122(construct)X
+3471(takes)X
+3678(an)X
+3787(integer)X
+576 1164(argument;)N
+975(an)X
+1099(instance)X
+1429(of)X
+1543(a)X
+1623(component)X
+2056(invoking)X
+2411(this)X
+2581(construct)X
+2946(will)X
+3126(block)X
+3364(until)X
+3569(the)X
+3719(speci\256ed)X
+576 1276(number)N
+870(of)X
+968(instances)X
+1316(of)X
+1414(the)X
+1547(component)X
+1963(also)X
+2129(arrive)X
+2358(at)X
+2446(the)X
+2578(barrier.)X
+2858(For)X
+3004(example,)X
+3349(to)X
+3442(measure)X
+3759(the)X
+3891(per-)X
+576 1388(formance)N
+938(of)X
+1041(algorithm)X
+1415(sections,)X
+1751(participating)X
+2228(components)X
+2684(may)X
+2866(execute)X
+3165(the)X
+3304(following)X
+3678(section)X
+3959(of)X
+576 1500(code:)N
+8 f
+841 1772(.)N
+947(.)X
+1053(.)X
+841 1884(barrier\(k\);)N
+1795(/*)X
+1954(There)X
+2272(are)X
+2484(k)X
+2590(instances)X
+3120(executing)X
+3650(*/)X
+841 1996(/*)N
+1000(Get)X
+1212(start)X
+1530(time)X
+1795(*/)X
+841 2108(/*)N
+1000(Perform)X
+1424(computations)X
+2113(*/)X
+841 2220(/*)N
+1000(Get)X
+1212(end)X
+1424(time)X
+1689(*/)X
+841 2332(barrier\(k\);)N
+841 2444(/*)N
+1000(Compute)X
+1424(global)X
+1795(maximum)X
+2219(of)X
+2378(\(end)X
+2643(time)X
+2908(-)X
+3014(start)X
+3332(time\))X
+3650(*/)X
+1 f
+576 2632(When)N
+808(the)X
+938(barrier)X
+1194(construct)X
+1539(has)X
+1678(the)X
+1809(above)X
+2042(semantics)X
+2413(however,)X
+2760(it)X
+2833(is)X
+2915(possible)X
+3227(that)X
+3383(different)X
+3709(instances)X
+576 2744(invoke)N
+845(the)X
+3 f
+982(barrier)X
+1 f
+1285(construct)X
+1636(with)X
+1821(different)X
+2152(arguments.)X
+2569(Any)X
+2748(such)X
+2937(con\257icts)X
+3264(are)X
+3399(resolved)X
+3725(by)X
+3841(using)X
+576 2856(the)N
+708(maximum)X
+1091(speci\256ed)X
+1428(number)X
+1721(as)X
+1818(the)X
+1950(barrier)X
+2208(count.)X
+2472(The)X
+3 f
+9 s
+2629(PVM)X
+1 f
+11 s
+2817(system)X
+3086(also)X
+3252(attempts)X
+3576(to)X
+3669(detect)X
+3905(and)X
+576 2968(correct)N
+849(barrier)X
+1112(deadlocks)X
+1493(by)X
+1610(notifying)X
+1963(invoking)X
+2306(processes)X
+2671(if)X
+2754(some)X
+2969(instances)X
+3321(of)X
+3423(a)X
+3490(component)X
+3910(ter-)X
+576 3080(minate)N
+850(before)X
+1107(they)X
+1292(reach)X
+1515(a)X
+1587(barrier,)X
+1876(and)X
+2036(the)X
+2177(residual)X
+2489(number)X
+2791(of)X
+2897(instances)X
+3253(cannot)X
+3521(form)X
+3725(a)X
+3798(barrier)X
+576 3192(quorum.)N
+897(In)X
+995(such)X
+1181(situations,)X
+1567(live)X
+1725(processes)X
+2086(return)X
+2321(from)X
+2517(a)X
+3 f
+2581(barrier)X
+1 f
+2880(call)X
+3032(with)X
+3213(a)X
+3276(negative)X
+3599(result)X
+3819(value.)X
+576 3304(In)N
+673(addition)X
+987(to)X
+1080(barriers,)X
+1394(or)X
+1491(as)X
+1588(an)X
+1695(alternative,)X
+2114(the)X
+3 f
+2247(waituntil)X
+1 f
+2610(construct)X
+2958(is)X
+3042(also)X
+3209(provided)X
+3547(as)X
+3645(a)X
+3709(means)X
+3959(of)X
+576 3416(synchronization.)N
+1201(This)X
+1398(construct)X
+1760(\(suggested)X
+2175(in)X
+2283([10]\))X
+2497(takes)X
+2717(an)X
+2839(event)X
+3069(name)X
+3299(as)X
+3411(an)X
+3533(argument)X
+3905(and)X
+576 3528(blocks)N
+834(until)X
+1026(another)X
+1319(process)X
+1611(indicates)X
+1954(the)X
+2091(occurrence)X
+2505(of)X
+2607(that)X
+2769(event)X
+2989(by)X
+3106(using)X
+3326(the)X
+3 f
+3463(ready)X
+1 f
+3707(primitive)X
+576 3640(mentioned)N
+971(earlier.)X
+3 f
+576 3976(2.3.)N
+752(Shared)X
+1043(Memory)X
+1387(and)X
+1551(Mutual)X
+1852(Exclusion)X
+1 f
+776 4228(The)N
+945(use)X
+1094(of)X
+1199(shared)X
+1461(memory)X
+1788(to)X
+1890(synchronize)X
+2348(and)X
+2508(communicate)X
+3017(between)X
+3343(processes)X
+3712(is)X
+3804(a)X
+3876(con-)X
+576 4340(venient)N
+865(and)X
+1020(well)X
+1200(understood)X
+1619(paradigm,)X
+2002(and)X
+2157(the)X
+3 f
+9 s
+2289(PVM)X
+1 f
+11 s
+2481(system)X
+2754(provides)X
+3085(such)X
+3274(an)X
+3385(interface)X
+3721(for)X
+3851(algo-)X
+576 4452(rithms)N
+831(that)X
+993(are)X
+1129(best)X
+1300(expressed)X
+1675(in)X
+1773(these)X
+1983(terms.)X
+2230(This)X
+2416(facility,)X
+2718(however,)X
+3071(should)X
+3335(be)X
+3448(used)X
+3639(judiciously)X
+576 4564(\320)N
+693(since)X
+903(shared)X
+1161(memory)X
+1484(is)X
+1572(emulated)X
+1925(by)X
+3 f
+9 s
+2038(PVM)X
+1 f
+11 s
+2231(on)X
+2347(distributed)X
+2753(memory)X
+3075(architectures,)X
+3575(some)X
+3789(perfor-)X
+576 4676(mance)N
+832(degradation)X
+1274(is)X
+1359(inevitable)X
+1735(when)X
+1952(the)X
+2087(granularity)X
+2501(of)X
+2601(access)X
+2852(is)X
+2938(very)X
+3121(\256ne.)X
+3302(Nevertheless,)X
+3805(such)X
+3993(a)X
+576 4788(feature)N
+854(is)X
+947(useful)X
+1196(and)X
+1357(valuable.)X
+1712(For)X
+1868(example,)X
+2223(when)X
+2447(using)X
+2672(the)X
+2814("bag)X
+3011(of)X
+3117(tasks")X
+3362(and)X
+3522("worker)X
+3839(pool")X
+576 4900(approach,)N
+945(the)X
+1078(shared)X
+1332(memory)X
+1651(model)X
+1897(permits)X
+2188(greater)X
+2458(control,)X
+2756(increased)X
+3114(overall)X
+3385(throughput,)X
+3820(and)X
+3973(is)X
+576 5012(affected)N
+885(less)X
+1042(by)X
+1155(load)X
+1332(imbalances,)X
+1776(provided)X
+2114(the)X
+2247(tasks)X
+2448(are)X
+2580(of)X
+2678(suf\256ciently)X
+3100(large)X
+3301(size.)X
+3485(Since)X
+3 f
+9 s
+3702(PVM)X
+1 f
+11 s
+3891(per-)X
+576 5124(mits)N
+755(each)X
+942(worker)X
+1216(in)X
+1311(the)X
+1445(pool)X
+1628(to)X
+1723(run)X
+1866(on)X
+1981(different)X
+2311(architectures,)X
+2810(the)X
+2945(individual)X
+3331(worker)X
+3606(components)X
+576 5236(\(or)N
+710(groups)X
+981(thereof\))X
+1291(may)X
+1475(be)X
+1590(written)X
+1872(to)X
+2 f
+1973(internally)X
+1 f
+2348(use)X
+2496(either)X
+2728(message)X
+3057(passing)X
+3352(or)X
+3456(shared)X
+3716(memory.)X
+576 5348(Section)N
+873(5)X
+949(describes)X
+1308(an)X
+1423(experiment)X
+1852(where)X
+2098(this)X
+2258(facility)X
+2541(was)X
+2709(successfully)X
+3172(used)X
+3366(to)X
+3468(enable)X
+3731(a)X
+3803(shared)X
+576 5460(memory)N
+892(multiprocessor)X
+1438(to)X
+1529(cooperate)X
+1893(with)X
+2072(a)X
+2133(hypercube)X
+2521(in)X
+2612(the)X
+2742(solution)X
+3049(of)X
+3144(an)X
+3249(application)X
+3664(problem.)X
+776 5712(The)N
+951(shared)X
+1218(memory)X
+1550(primitives)X
+1947(provided)X
+2298(are)X
+2444(modeled)X
+2787(once)X
+2992(again)X
+3222(after)X
+3422(popular,)X
+3752(existing)X
+576 5824 0.2333(implementations.)AN
+1238(A)X
+1329(shared)X
+1585(memory)X
+1906(segment)X
+2227(is)X
+2313(\256rst)X
+2477(allocated)X
+2823(by)X
+2938(invoking)X
+3279(the)X
+3 f
+3414(shmget)X
+1 f
+3709(construct)X
+
+9 p
+%%Page: 9 9
+11 s 11 xH 0 xS 1 f
+2231 400(-)N
+2282(9)X
+2348(-)X
+576 688(that)N
+731(takes)X
+934(a)X
+995(string)X
+1218(valued)X
+1476(identi\256er)X
+1818(and)X
+1968(a)X
+2030(segment)X
+2347(size)X
+2507(in)X
+2599(bytes.)X
+2852(To)X
+2973(acquire)X
+3255(a)X
+3317(shared)X
+3569(memory)X
+3886(seg-)X
+576 800(ment)N
+783(for)X
+915(use,)X
+1084(a)X
+1153(user)X
+1329(process)X
+1622(invokes)X
+1926(the)X
+3 f
+2064(shmat)X
+1 f
+2323(construct,)X
+2698(specifying)X
+3094(the)X
+3231(segment)X
+3554(identi\256er,)X
+3924(the)X
+576 912(address)N
+869(within)X
+1125(the)X
+1263(process)X
+1556(at)X
+1650(which)X
+1895(the)X
+2033(segment)X
+2357(is)X
+2446(to)X
+2546(be)X
+2660(mapped,)X
+2992(a)X
+3062(\257ag)X
+3225(indicating)X
+3610(whether)X
+3924(the)X
+576 1024(segment)N
+899(is)X
+987(to)X
+1085(be)X
+1197(mapped)X
+1505(read-only)X
+1871(or)X
+1973(read-write,)X
+2385(and)X
+2541(a)X
+2609(timeout)X
+2909(value.)X
+3150(This)X
+3335(construct)X
+3686 0.4306(implicitly)AX
+576 1136(incorporates)N
+1033(a)X
+1094(lock)X
+1268(operation;)X
+1648(if)X
+1724(mutually)X
+2061(exclusive)X
+2416(access)X
+2662(to)X
+2754(the)X
+2885(segment)X
+3202(cannot)X
+3460(be)X
+3566(provided,)X
+3924(the)X
+576 1248(invoking)N
+912(process)X
+1197(is)X
+1278(suspended)X
+1666(\320)X
+1776(for)X
+1900(a)X
+1961(period)X
+2208(not)X
+2343(to)X
+2434(exceed)X
+2700(the)X
+2830(speci\256ed)X
+3165(timeout)X
+3458(value.)X
+776 1500(The)N
+950(attach)X
+1198(operation)X
+1568(described)X
+1942(above)X
+2189(maps)X
+2412(a)X
+2488(contiguous,)X
+2934(untyped)X
+3255(block)X
+3488(of)X
+3598(bytes)X
+3822(at)X
+3924(the)X
+576 1612(speci\256ed)N
+914(address.)X
+1224(In)X
+1322(most)X
+1519(situations)X
+1883(however,)X
+2232(shared)X
+2486(memory)X
+2805(segments)X
+3158(will)X
+3321(be)X
+3429(used)X
+3615(to)X
+3709(store)X
+3905(and)X
+576 1724(manipulate)N
+998(typed)X
+1223(data.)X
+1421(In)X
+1523(order)X
+1737(to)X
+1835(permit)X
+2095(this)X
+2252(among)X
+2522(dissimilar)X
+2901(machines,)X
+3286(typed)X
+3512(variants)X
+3821(of)X
+3924(the)X
+576 1836(attach)N
+813(construct)X
+1162(are)X
+1295(provided.)X
+1656(For)X
+1804(example,)X
+2151(the)X
+3 f
+2285(shmatint)X
+1 f
+2643(construct)X
+2991(takes)X
+3197(an)X
+3305(integer)X
+3575(pointer)X
+3850(as)X
+3948(its)X
+576 1948(second)N
+843(argument,)X
+1221(while)X
+1440(the)X
+3 f
+1572(shmat\257oat)X
+1 f
+1991(variant)X
+2260(is)X
+2343(used)X
+2528(for)X
+2654(shared)X
+2907(memory)X
+3225(regions)X
+3508(that)X
+3665(hold)X
+3846(\257oat-)X
+576 2060(ing)N
+725(point)X
+943(values.)X
+1248(\(It)X
+1367(should)X
+1637(be)X
+1755(noted)X
+1986(that)X
+2154(typed)X
+2385(data)X
+2567(transfer)X
+2870(between)X
+3198(dissimilar)X
+3582(architectures)X
+576 2172(could)N
+807(lead)X
+989(to)X
+1093(loss)X
+1266(of)X
+1375(precision)X
+1734(or)X
+1843(to)X
+1948(truncation)X
+2342(owing)X
+2598(to)X
+2703(wordsize)X
+3056(differences.)X
+3526(Both)X
+3734(message)X
+576 2284(passing)N
+865(and)X
+1017(shared)X
+1271(memory)X
+1590(mechanisms)X
+2051(are)X
+2183(subject)X
+2458(to)X
+2552(this)X
+2705(drawback.)X
+3115(The)X
+3 f
+9 s
+3273(PVM)X
+1 f
+11 s
+3462(system)X
+3732(attempts)X
+576 2396(to)N
+671(minimize)X
+1032(this)X
+1186(by)X
+1300(utilizing)X
+1623(the)X
+1758(largest)X
+2020(size)X
+2184(possible)X
+2500(for)X
+2629(typed)X
+2852(data)X
+3026(values.\))X
+3351(When)X
+3588(a)X
+3654(process)X
+3944(no)X
+576 2508(longer)N
+836(needs)X
+1071(exclusive)X
+1439(access)X
+1698(to)X
+1802(a)X
+1876(region,)X
+2158(it)X
+2243(invokes)X
+2552(the)X
+3 f
+2694(shmdt)X
+1 f
+2962(construct)X
+3319(\(or)X
+3455(a)X
+3528(typed)X
+3758(variant\))X
+576 2620(whereupon)N
+993(the)X
+1128(lock)X
+1307(is)X
+1393(released)X
+1708(and)X
+1862(the)X
+1997(region)X
+2249(unmapped.)X
+2666(Finally,)X
+2967(the)X
+3 f
+3103(shmfree)X
+1 f
+3433(construct)X
+3784(is)X
+3871(used)X
+576 2732(to)N
+670(deallocate)X
+1053(a)X
+1117(segment)X
+1436(of)X
+1534(shared)X
+1788(memory)X
+2107(when)X
+2322(it)X
+2397(is)X
+2481(no)X
+2594(longer)X
+2844(required.)X
+3183(Shown)X
+3451(in)X
+3544(Figure)X
+3798(4)X
+3866(is)X
+3949(an)X
+576 2844(example)N
+897(of)X
+992(the)X
+1122(use)X
+1261(of)X
+1356(these)X
+1559(constructs)X
+1938(to)X
+2029(pass)X
+2202(an)X
+2307(array)X
+2509(of)X
+2604(real)X
+2758(numbers)X
+3083(between)X
+3398(two)X
+3552(processes.)X
+8 f
+735 3116(/*)N
+894(Process)X
+1318(A)X
+1424(*/)X
+735 3228(/*-----------*/)N
+735 3340(if)N
+894 0.1964(\(shmget\("matrx",1024\)\))AX
+2113(error\(\);/*)X
+2696(Allocation)X
+3279(failure)X
+3862(*/)X
+735 3452(while)N
+2537(/*)X
+2696(Try)X
+2908(to)X
+3067(lock)X
+3332(&)X
+3438(map)X
+3650(seg)X
+3862(*/)X
+894 3564 0.1935(\(shmatfloat\("matrx",fp,"RW",5\)\);)AN
+735 3676(for)N
+947(\(i=0;i<256;i++\))X
+1795(*fp++)X
+2113(=)X
+2219(a[i];)X
+2537(/*)X
+2696(Fill)X
+2961(in)X
+3120(shmem)X
+3438(segment)X
+3862(*/)X
+735 3788 0.1974(shmdtfloat\("matrx"\);)AN
+2537(/*)X
+2696(Unlock)X
+3067(&)X
+3173(unmap)X
+3491(region)X
+3862(*/)X
+735 4012(/*)N
+894(Process)X
+1318(B)X
+1424(*/)X
+735 4124(/*-----------*/)N
+735 4236(while)N
+2537(/*)X
+2696(Lock)X
+2961(&)X
+3067(map;)X
+3332(note:reader*/)X
+894 4348 0.1934(\(shmatfloat\("matrx",fp,"R",5\)\);/*)AN
+2696(may)X
+2908(lock)X
+3173(before)X
+3544(writer)X
+3915(*/)X
+735 4460(for)N
+947(\(i=0;i<256;i++\))X
+1795(a[i])X
+2060(=)X
+2166(*fp++;)X
+2537(/*)X
+2696(Read)X
+2961(out)X
+3173(values)X
+3915(*/)X
+735 4572 0.1974(shmdtfloat\("matrx"\);)AN
+2537(/*)X
+2696(Unlock)X
+3067(&)X
+3173(unmap)X
+3491(region)X
+3915(*/)X
+735 4684 0.1992(shmfree\("matrx"\);)AN
+2537(/*)X
+2696(Deallocate)X
+3279(mem)X
+3491(segment)X
+3915(*/)X
+1 f
+1581 4844(Figure)N
+1833(4)X
+1899(:)X
+1946(Use)X
+2104(of)X
+2199(shared)X
+2450(memory)X
+2766(for)X
+2890(IPC)X
+776 5096(While)N
+1014(shared)X
+1265(memory)X
+1581(is)X
+1662(perhaps)X
+1957(the)X
+2087(most)X
+2281(common)X
+2612(resource)X
+2931(that)X
+3086(processes)X
+3445(require)X
+3717(mutually)X
+576 5208(exclusive)N
+957(access)X
+1229(to,)X
+1368(it)X
+1466(is)X
+1573(possible)X
+1910(that)X
+2091(the)X
+3 f
+9 s
+2243(PVM)X
+1 f
+11 s
+2455(environment)X
+2949(contains)X
+3291(other)X
+3520(resources)X
+3899(that)X
+576 5320(processes)N
+946(must)X
+1152(access)X
+1410(in)X
+1513(a)X
+1586(similar)X
+1866(manner.)X
+2186(To)X
+2318(accommodate)X
+2842(such)X
+3037(requirements,)X
+3553(a)X
+3626(generalized)X
+576 5432(locking)N
+864(facility)X
+1138(is)X
+1220(also)X
+1385(provided.)X
+1743(The)X
+3 f
+1903(lock)X
+1 f
+2082(construct)X
+2427(permits)X
+2714(the)X
+2844(logical)X
+3107(locking)X
+3394(of)X
+3489(an)X
+3594(entity)X
+3818(that)X
+3973(is)X
+576 5544(named)N
+840(by)X
+957(a)X
+1025(string)X
+1255(argument;)X
+1642(the)X
+3 f
+9 s
+1776(PVM)X
+1 f
+11 s
+1970(system)X
+2245(blocks)X
+2505(other)X
+2716(processes)X
+3082(wishing)X
+3391(to)X
+3490(lock)X
+3672(this)X
+3830(entity)X
+576 5656(until)N
+769(the)X
+907(possessor)X
+1273(invokes)X
+1577(the)X
+3 f
+1715(unlock)X
+1 f
+2000(construct.)X
+2397(For)X
+2549(example,)X
+2899(different)X
+3231(components)X
+3686(of)X
+3788(a)X
+3856(large)X
+576 5768(application)N
+996(may)X
+1175(wish)X
+1368(to)X
+1464(output)X
+1717(results)X
+1974(periodically)X
+2424(to)X
+2521(a)X
+2588(user)X
+2762(terminal.)X
+3107(To)X
+3233(avoid)X
+3457(interference)X
+3905(and)X
+
+10 p
+%%Page: 10 10
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(10)X
+2370(-)X
+576 688(to)N
+670(distinguish)X
+1083(the)X
+1216(source)X
+1470(of)X
+1568(the)X
+1701(output,)X
+1974(components)X
+2425(may)X
+2602(adopt)X
+2823(a)X
+2887(convention)X
+3303(that)X
+3460(requires)X
+3767(locking)X
+576 800(")N
+7 f
+612(terminal)X
+1 f
+1036(")X
+1100(before)X
+1352(printing)X
+1660(messages)X
+2021(or)X
+2123(results.)X
+2404(Another)X
+2721(situation)X
+3055(where)X
+3298(such)X
+3488(a)X
+3556(facility)X
+3836(could)X
+576 912(be)N
+685(useful)X
+926(may)X
+1104(be)X
+1213(found)X
+1444(in)X
+1539(the)X
+1673(shared)X
+1928(memory)X
+2248(example)X
+2573(in)X
+2668(Figure)X
+2924(4.)X
+3016(In)X
+3115(that)X
+3274(example,)X
+3621(it)X
+3697(is)X
+3782(easy)X
+3963(to)X
+576 1024(see)N
+714(that)X
+873(the)X
+1007(processes)X
+1369(may)X
+1547(access)X
+1797(the)X
+1931(shared)X
+2186(memory)X
+2506(segment)X
+2826(in)X
+2922(an)X
+3032(incorrect)X
+2 f
+3372(order)X
+1 f
+3594(even)X
+3787(though)X
+576 1136(each)N
+767(will)X
+935(have)X
+1131(exclusive)X
+1494(access)X
+1748(to)X
+1847(it.)X
+1949(A)X
+2042(possible)X
+2361(recti\256cation)X
+2813(of)X
+2915(this)X
+3072(situation)X
+3406(is)X
+3494(to)X
+3592(use)X
+3738(the)X
+3 f
+3875(lock)X
+1 f
+576 1248(construct)N
+925(as)X
+1025(shown)X
+1281(in)X
+1377(Figure)X
+1634(5;)X
+1730(however,)X
+2081(in)X
+2177(practice)X
+2483(it)X
+2560(is)X
+2646(more)X
+2854(likely)X
+3083(that)X
+3243(a)X
+3309(transmitted)X
+3734(message)X
+576 1360(or)N
+671(the)X
+3 f
+801(waituntil)X
+1 f
+1161(facility)X
+1434(will)X
+1594(be)X
+1699(used)X
+1882(to)X
+1973(resolve)X
+2249(such)X
+2432(situations.)X
+8 f
+735 1632(/*)N
+894(Process)X
+1318(A)X
+1424(*/)X
+735 1744(/*-----------*/)N
+735 1856 0.1969(lock\("fillmatrix",5\);)AN
+735 1968(/*)N
+894(Allocate,)X
+1424(attach,)X
+1848(fill,)X
+2166(and)X
+2378(detach)X
+2749(shared)X
+3120(mem)X
+3332(segment.)X
+3809(*/)X
+735 2080 0.1969(unlock\("fillmatrix"\);)AN
+735 2304(/*)N
+894(Process)X
+1318(B)X
+1424(*/)X
+735 2416(/*-----------*/)N
+735 2528(loop:)N
+894 2640 0.1969(lock\("fillmatrix",5\);)AN
+894 2752(if)N
+1053(\(shmatfloat\(...\))X
+1954(==)X
+2113 0.1974(SEGMENT_NONEXISTENT\))AX
+3226({)X
+1053 2864 0.1969(unlock\("fillmatrix"\);)AN
+1053 2976(sleep\(1\);)N
+1053 3088(goto)N
+1318(loop;)X
+894 3200(})N
+735 3312(/*)N
+894(Read)X
+1159(values)X
+1530(out)X
+1742(of)X
+1901(shared)X
+2272(mem)X
+2484(segment,)X
+2961(detach,)X
+3385(&)X
+3491(free)X
+3756(*/)X
+1 f
+1651 3472(Figure)N
+1903(5)X
+1969(:)X
+2016(Use)X
+2174(of)X
+2269(the)X
+7 f
+2399(lock)X
+1 f
+2633(construct)X
+776 3836(It)N
+855(should)X
+1115(be)X
+1223(noted)X
+1444(that)X
+1602(the)X
+3 f
+1735(lock)X
+1 f
+1917(construct)X
+2265(is)X
+2350(intended)X
+2680(in)X
+3 f
+9 s
+2771(PVM)X
+1 f
+11 s
+2961(for)X
+3089(obtaining)X
+3449(exclusive)X
+3808(access)X
+576 3948(to)N
+674(resources)X
+1033(at)X
+1125(a)X
+1192(large-grained)X
+1689(level,)X
+1911(as)X
+2012(opposed)X
+2333(to)X
+2430(loop)X
+2615(level)X
+2815(locking)X
+3108(of)X
+3209(shared)X
+3466(variables)X
+3812(that)X
+3973(is)X
+576 4060(common)N
+908(on)X
+1019(shared)X
+1271(memory)X
+1588(machines.)X
+1966(Once)X
+2174(again,)X
+2410(a)X
+2473(component)X
+2889(that)X
+3046(executes)X
+3373(on)X
+3485(such)X
+3670(a)X
+3733(machine)X
+576 4172(would)N
+833(be)X
+953(programmed)X
+1440(to)X
+1546(use)X
+1699(internal)X
+2005(locking)X
+2306(constructs)X
+2699(where)X
+2949(appropriate,)X
+3408(and)X
+3 f
+9 s
+3567(PVM)X
+1 f
+11 s
+3767(locking)X
+576 4284(facilities)N
+905(for)X
+1032(resource)X
+1354(sharing)X
+1638(between)X
+1956(other)X
+2162(components)X
+2613(that)X
+2771(executed)X
+3109(on)X
+3222(other)X
+3428(architectures.)X
+3925(An)X
+576 4396(example)N
+903(code)X
+1097(skeleton)X
+1419(depicting)X
+1776(this)X
+1932(situation)X
+2265(on)X
+2381(a)X
+2447(Sequent)X
+2758(shared)X
+3014(memory)X
+3335(multiprocessor)X
+3886([19])X
+576 4508(is)N
+657(shown)X
+908(in)X
+999(Figure)X
+1251(6.)X
+3 f
+576 4956(2.4.)N
+752(Miscellaneous)X
+1303(Facilities)X
+1 f
+776 5208(In)N
+874(addition)X
+1189(to)X
+1284(the)X
+1418(primary)X
+1723(constructs)X
+2106(described)X
+2469(in)X
+2564(the)X
+2698(preceding)X
+3071(sections,)X
+3403(a)X
+3468(few)X
+3625(miscellane-)X
+576 5320(ous)N
+737(constructs)X
+1132(are)X
+1277(also)X
+1457(provided.)X
+1830(The)X
+3 f
+2005(status)X
+1 f
+2262(construct)X
+2623(takes)X
+2842(a)X
+2919(component)X
+3349(name)X
+3578(and)X
+3743(instance)X
+576 5432(number)N
+870(as)X
+968(arguments)X
+1360(and)X
+1512(returns)X
+1781(status)X
+2007(and)X
+2159(location)X
+2469(information)X
+2911(regarding)X
+3274(that)X
+3433(component.)X
+3895(The)X
+3 f
+576 5544(entercomp)N
+1 f
+1000(construct)X
+1347(permits)X
+1636(dynamic)X
+1963(additions)X
+2310(to)X
+2402(the)X
+2533(component)X
+2948(description)X
+3363(table.)X
+3580(The)X
+3 f
+3740(shmstat)X
+1 f
+576 5656(construct)N
+929(is)X
+1018(used)X
+1209(to)X
+1308(obtain)X
+1559(information)X
+2007(about)X
+2234(active)X
+2476(shared)X
+2736(memory)X
+3061(regions,)X
+3373(while)X
+3600(the)X
+3 f
+3739(lockstat)X
+1 f
+576 5768(primitive)N
+935(reports)X
+1213(the)X
+1355(status)X
+1590(of)X
+1697(active)X
+1942(locks.)X
+2184(A)X
+2281(complete)X
+2639(list)X
+2782(of)X
+2889(all)X
+3012(the)X
+3154(user)X
+3334(interface)X
+3675(constructs)X
+
+11 p
+%%Page: 11 11
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(11)X
+2370(-)X
+8 f
+1106 736(.)N
+1212(.)X
+1318(.)X
+1106 848(CALL)N
+1371 0.1942(shmatfloat\("A_row1",A,"RW",5\))AX
+7 f
+1106 960({Lock)N
+1424(&)X
+1530(map)X
+1742(row)X
+1954(1)X
+2060(of)X
+2219(an)X
+2 f
+2378(external)X
+7 f
+2720(shared)X
+3091(array)X
+3409(to)X
+3568(A})X
+8 f
+1106 1072(.)N
+1212(.)X
+1318(.)X
+788 1184(C$DOACROSS)N
+1371(SHARE\(A,index\))X
+1106 1296(do)N
+1265(20)X
+1424(i)X
+1530(=)X
+1636(1,)X
+1795(100)X
+1106 1408(.)N
+1212(.)X
+1318(.)X
+1106 1520(CALL)N
+1371(m_lock)X
+7 f
+1106 1632({Local,)N
+1530(loop)X
+1795(level)X
+2113(lock)X
+2378(to)X
+2537(indicate)X
+3014(critical)X
+3491(section})X
+8 f
+1106 1744(index)N
+1424(=)X
+1530(index)X
+1848(+)X
+1954(1)X
+1106 1856(CALL)N
+1371(m_unlock)X
+1106 1968(.)N
+1212(.)X
+1318(.)X
+788 2080(20)N
+1106(continue)X
+1106 2192(.)N
+1212(.)X
+1318(.)X
+1106 2304(CALL)N
+1371 0.1974(shmdtfloat\("A_row1"\))AX
+7 f
+1106 2416({Unlock)N
+1530(and)X
+1742(unmap)X
+2060(external)X
+2537(shared)X
+2908(array})X
+8 f
+1106 2528(.)N
+1212(.)X
+1318(.)X
+1 f
+1173 2688(Figure)N
+1425(6:)X
+3 f
+9 s
+1516(PVM)X
+1 f
+11 s
+1702(locking)X
+1989(contrasted)X
+2373(to)X
+2464(machine)X
+2785(dependent)X
+3169(locking)X
+576 2912(along)N
+794(with)X
+973(their)X
+1157(argument)X
+1512(lists)X
+1677(and)X
+1826(a)X
+1887(one-line)X
+2198(description)X
+2612(of)X
+2707(each)X
+2890(is)X
+2971(given)X
+3189(in)X
+3280(the)X
+3410(appendix.)X
+3 f
+576 3248(3.)N
+686(PVM)X
+908(System)X
+1198(Design)X
+1474(and)X
+1638(Implementation)X
+1 f
+776 3500(The)N
+3 f
+9 s
+938(PVM)X
+1 f
+11 s
+1131(support)X
+1424(software)X
+1756(executes)X
+2089(as)X
+2192(a)X
+2261(user-level)X
+2638(process)X
+2931(on)X
+3049(each)X
+3240(host)X
+3417(in)X
+3516(the)X
+3654(participant)X
+576 3612(pool.)N
+778(An)X
+908(initial)X
+1139(set)X
+1260(of)X
+1356(participating)X
+1825(hosts)X
+2028(is)X
+2109(statically)X
+2451(identi\256ed;)X
+2832(additions)X
+3178(or)X
+3273(deletions)X
+3614(are)X
+3743(possible)X
+576 3724(during)N
+842(operation)X
+1212(by)X
+1337(means)X
+1599(of)X
+1709(an)X
+1829(administration)X
+2377(interface.)X
+2744(The)X
+3 f
+9 s
+2914(PVM)X
+1 f
+11 s
+3115(system)X
+3397(is)X
+3493(designed)X
+3843(to)X
+3949(be)X
+576 3836(implemented)N
+1061(in)X
+1153(a)X
+1215(manner)X
+1502(that)X
+1658(requires)X
+1964(no)X
+2075(operating)X
+2431(system)X
+2699(changes)X
+3005(or)X
+3101(modi\256cations,)X
+3627(and)X
+3777(porting)X
+576 3948(efforts)N
+834(to)X
+932(varied)X
+1181(operating)X
+1544(system)X
+1819(environments)X
+2329(are)X
+2466(minimal.)X
+2814(The)X
+3 f
+9 s
+2977(PVM)X
+1 f
+11 s
+3171(support)X
+3465(process)X
+3758(\(termed)X
+2 f
+576 4060(pvmd)N
+1 f
+766(\))X
+828(on)X
+949(a)X
+1021(host)X
+1201(is)X
+1293(responsible)X
+1727(for)X
+1862(all)X
+1983(application)X
+2408(component)X
+2832(processes)X
+3200(executing)X
+3575(on)X
+3695(that)X
+3860(host;)X
+576 4172(however,)N
+922(there)X
+1120(is)X
+1202(no)X
+1313(central)X
+1576(or)X
+1672(master)X
+1930(instance)X
+2242(of)X
+2 f
+2338(pvmd)X
+1 f
+2528(.)X
+2573(Control)X
+2866(is)X
+2948(completely)X
+3364(distributed)X
+3765(\(by)X
+3905(vir-)X
+576 4284(tue)N
+714(of)X
+817(all)X
+2 f
+936(pvmd)X
+1 f
+1156(processes)X
+1522(possessing)X
+1928(global)X
+2179(knowledge\))X
+2624(in)X
+2722(the)X
+2859(interest)X
+3148(of)X
+3250(avoiding)X
+3588(performance)X
+576 4396(bottlenecks)N
+1003(and)X
+1155(increasing)X
+1542(fault)X
+1729(tolerance.)X
+2099(The)X
+2 f
+2261(pvmd)X
+1 f
+2476(processes)X
+2837(are)X
+2969(initiated)X
+3285(on)X
+3398(each)X
+3585(participating)X
+576 4508(host)N
+770(either)X
+1018(manually,)X
+1416(through)X
+1737(the)X
+1892(administration)X
+2450(interface,)X
+2827(or)X
+2947(via)X
+3102(a)X
+3188(machine/OS)X
+3670(dependent)X
+576 4620(mechanism)N
+1004(such)X
+1191(as)X
+2 f
+1290(inetd)X
+1 f
+1493(in)X
+1588(the)X
+1723(Unix)X
+1926(environment.)X
+2443(In)X
+2543(this)X
+2698(section,)X
+2997(the)X
+3132(key)X
+3286(design)X
+3543(aspects)X
+3824(of)X
+3924(the)X
+2 f
+576 4732(pvmd)N
+1 f
+788(software)X
+1112(are)X
+1241(discussed)X
+1600(with)X
+1779(an)X
+1884(emphasis)X
+2234(on)X
+2344(the)X
+2474(protocol)X
+2790(algorithms)X
+3190(used.)X
+3 f
+576 5068(3.1.)N
+752(Basic)X
+975(Facilities)X
+1 f
+776 5320(In)N
+894(terms)X
+1135(of)X
+1253(network)X
+1586(capabilities,)X
+2056(the)X
+3 f
+9 s
+2205(PVM)X
+1 f
+11 s
+2414(system)X
+2704(assumes)X
+3042(only)X
+3244(that)X
+3422(unreliable,)X
+3842(unse-)X
+576 5432(quenced,)N
+934(point-to-point)X
+1467(data)X
+1656(transfer)X
+1966(\(but)X
+2150(with)X
+2349(data)X
+2538(integrity\))X
+2909(facilities)X
+3256(are)X
+3405(supported)X
+3794(by)X
+3924(the)X
+576 5544(hardware)N
+926(platform)X
+1255(on)X
+1368(which)X
+1608(it)X
+1683(executes.)X
+2033(The)X
+2195(required)X
+2513(reliability)X
+2883(and)X
+3035(sequencing,)X
+3478(as)X
+3576(well)X
+3753(as)X
+3851(other)X
+576 5656(necessary)N
+943(operations)X
+1336(such)X
+1522(as)X
+1620(broadcast,)X
+2004(are)X
+2136(built)X
+2324(into)X
+2487(the)X
+3 f
+9 s
+2616(PVM)X
+1 f
+11 s
+2805(system)X
+3075(in)X
+3169(the)X
+3302(interest)X
+3587(of)X
+3685(ef\256ciency)X
+576 5768(and)N
+729(portability.)X
+1146(While)X
+1388(it)X
+1464(is)X
+1550(true)X
+1714(that)X
+1874(most)X
+2073(operating)X
+2433(systems)X
+2739(in)X
+2835(existence)X
+3190(already)X
+3476(support)X
+3767(reliable)X
+
+12 p
+%%Page: 12 12
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(12)X
+2370(-)X
+576 688(and)N
+734(sequenced)X
+1131(data)X
+1309(delivery,)X
+1651(in)X
+1751(most)X
+1954(cases)X
+2170(this)X
+2329(is)X
+2419(via)X
+2558(the)X
+2697(use)X
+2844(of)X
+2947(virtual)X
+3208(circuits)X
+3498(\320)X
+3616(for)X
+3748(the)X
+3886(pro-)X
+576 800(jected)N
+816(use)X
+962(of)X
+3 f
+9 s
+1060(PVM)X
+1 f
+11 s
+1224(,)X
+1275(the)X
+1412(overheads)X
+1797(and)X
+1953(scalability)X
+2346 0.3625(limitations)AX
+2756(of)X
+2859(using)X
+3080(such)X
+3271(a)X
+3340(service)X
+3619(directly)X
+3919(did)X
+576 912(not)N
+721(warrant)X
+1020(its)X
+1135(adoption.)X
+1497(In)X
+1601(the)X
+1740(test)X
+1894 0.2500(implementations)AX
+2515(of)X
+3 f
+9 s
+2615(PVM)X
+1 f
+11 s
+2779(,)X
+2832(the)X
+2971(UDP)X
+3177([11])X
+3354(protocol)X
+3679(was)X
+3846(used;)X
+576 1024(this)N
+727(deliberate)X
+1098(choice)X
+1351(of)X
+1447(a)X
+1509(simple)X
+1768(datagram)X
+2119(protocol)X
+2437(also)X
+2603(permits)X
+2892(relatively)X
+3250(simple)X
+3510(porting)X
+3789(or)X
+3886(pro-)X
+576 1136(tocol)N
+775(conversion)X
+1183(when)X
+3 f
+9 s
+1391(PVM)X
+1 f
+11 s
+1577(is)X
+1658(to)X
+1749(be)X
+1854(installed)X
+2176(under)X
+2398(a)X
+2459(different)X
+2784(operating)X
+3139(system)X
+3406(environment.)X
+776 1388(Across)N
+1042(the)X
+1173(network,)X
+2 f
+1506(pvmd)X
+1 f
+1719(processes)X
+2078(communicate)X
+2577(using)X
+2791(UDP)X
+2990(datagrams.)X
+3420(The)X
+3581("well)X
+3793(known)X
+576 1500(port")N
+777(approach)X
+1122(is)X
+1203(used)X
+1386(for)X
+1510(addressing;)X
+1933(all)X
+2044(incoming)X
+2400(messages)X
+2754(are)X
+2883(received)X
+3203(by)X
+2 f
+3313(pvmd)X
+1 f
+3525(processes)X
+3883(on)X
+3993(a)X
+576 1612(predetermined)N
+1132(port)X
+1321(number.)X
+1659(For)X
+1828(user-process)X
+2313(to)X
+2429(user-process)X
+2914(communication,)X
+3533(the)X
+3689(following)X
+576 1724(scheme)N
+887(is)X
+993(employed.)X
+1410(The)X
+1594(\256rst)X
+1778(communication)X
+2375(instance)X
+2710(between)X
+3049(any)X
+3222(two)X
+3400(entities)X
+3702(is)X
+3807(routed)X
+576 1836(through)N
+880(the)X
+2 f
+1018(pvmd)X
+1 f
+1239(processes)X
+1606(on)X
+1725(the)X
+1864(source)X
+2124(and)X
+2282(destination)X
+2701(machines.)X
+3087(Location)X
+3432(and)X
+3590(port)X
+3763(number)X
+576 1948(information)N
+1032(is)X
+1130(appended)X
+1506(to)X
+1614(this)X
+1781(exchange;)X
+2177(the)X
+3 f
+9 s
+2320(PVM)X
+1 f
+11 s
+2522(routines)X
+2844(\(linked)X
+3132(to)X
+3239(the)X
+3385(user)X
+3569(process\))X
+3899(that)X
+576 2060(implement)N
+3 f
+981(send)X
+1 f
+1179(and)X
+3 f
+1333(recv)X
+1 f
+1521(cache)X
+1748(this)X
+1903(information,)X
+2369(thus)X
+2543(enabling)X
+2874(direct)X
+3102(communication)X
+3679(for)X
+3808(subse-)X
+576 2172(quent)N
+796(exchanges.)X
+1230(Local)X
+1455(user)X
+1625(processes)X
+1985(communicate)X
+2485(with)X
+2 f
+2666(pvmd)X
+1 f
+2880(using)X
+3095(the)X
+3226(most)X
+3421(ef\256cient)X
+3733(machine)X
+576 2284(dependent)N
+970(mechanism)X
+1405(available)X
+1757(and)X
+1917(the)X
+2058(development)X
+2547(of)X
+2653(this)X
+2814(mechanism)X
+3249(is)X
+3341(deemed)X
+3648(part)X
+3818(of)X
+3924(the)X
+576 2396(installation)N
+995(procedure.)X
+1415(However,)X
+1783(the)X
+1915(generic)X
+2198(version)X
+2503(of)X
+2 f
+2600(pvmd)X
+1 f
+2814(may)X
+2990(be)X
+3097(adopted;)X
+3425(this)X
+3577(utilizes)X
+3857(UDP)X
+576 2508(datagrams)N
+961(once)X
+1150(again,)X
+1386(via)X
+1517(the)X
+1649(loopback)X
+1996(interface)X
+2328(if)X
+2406(one)X
+2557(is)X
+2640(available.)X
+3005(The)X
+2 f
+3166(pvmd)X
+1 f
+3380(process)X
+3667(uses)X
+3842(a)X
+3905(dif-)X
+576 2620(ferent,)N
+825(predetermined)X
+1356(port)X
+1520(number)X
+1811(for)X
+1935(incoming)X
+2291(messages)X
+2645(from)X
+2838(all)X
+2949(local)X
+3143(user)X
+3311(processes.)X
+3 f
+576 2956(3.2.)N
+752(Point-to-Point)X
+1307(Data)X
+1509(Transfer)X
+1 f
+776 3208(To)N
+896(achieve)X
+1187(reliable)X
+1474(and)X
+1623(sequenced)X
+2011(point-to-point)X
+2524(communications,)X
+3152(the)X
+2 f
+3282(pvmd)X
+1 f
+3494(processes)X
+3853(use)X
+3993(a)X
+576 3320(positive)N
+892(acknowledgment)X
+1530(scheme)X
+1829(and)X
+1991(an)X
+2109(additional)X
+2498(header)X
+2767(that)X
+2935(contains)X
+3264(sequence)X
+3621(numbers)X
+3959(as)X
+576 3432(well)N
+758(as)X
+861(fragmentation)X
+1386(and)X
+1543(reassembly)X
+1969(information.)X
+2438(Unacknowledged)X
+3083(transmissions)X
+3594(are)X
+3732(retried)X
+3993(a)X
+576 3544(parameterized)N
+1104(number)X
+1402(of)X
+1504(times)X
+1725(after)X
+1915(which)X
+2159(the)X
+2296(recipient)X
+2634(process)X
+2926(or)X
+3028(processor)X
+3393(is)X
+3481(presumed)X
+3852(to)X
+3949(be)X
+576 3656(inoperative.)N
+1019(The)X
+1180(sequence)X
+1526(numbers)X
+1853(are)X
+1984(destination)X
+2396(speci\256c)X
+2689(and)X
+2840(are)X
+2971(used)X
+3156(by)X
+3268(the)X
+3400(message)X
+3723(recipient)X
+576 3768(for)N
+716(sequencing)X
+1150(as)X
+1261(well)X
+1451(as)X
+1562(for)X
+1702(duplicate)X
+2064(detection.)X
+2448(The)X
+2623(header)X
+2895(is)X
+2992(placed)X
+3260(at)X
+3362(the)X
+3507(end)X
+3671(of)X
+3781(a)X
+3857(UDP)X
+576 3880(datagram)N
+936(to)X
+1037(reduce)X
+1303(copying)X
+1619(overheads,)X
+2029(and)X
+2189(single)X
+2433(datagram)X
+2794(sizes)X
+2998(are)X
+3138(restricted)X
+3499(to)X
+3601(the)X
+3742(smallest)X
+576 3992(MTU)N
+824(\(maximum)X
+1265(transmission)X
+1764(unit\))X
+1984(of)X
+2109(all)X
+2250(participating)X
+2749(hosts.)X
+3026(When)X
+3288(\256rst)X
+3477(initiated,)X
+2 f
+3842(pvmd)X
+1 f
+576 4104(processes)N
+940(determine)X
+1321(the)X
+1457(protocol)X
+1779(speci\256c)X
+2076(addresses)X
+2440(of)X
+2541(all)X
+2658(participating)X
+3133(hosts)X
+3342(and)X
+3497(proceed)X
+3803(to)X
+3901(ser-)X
+576 4216(vice)N
+745(incoming)X
+1101(requests)X
+1411(from)X
+1604(the)X
+1734(network)X
+2044(or)X
+2139(user)X
+2307(processes)X
+2665(in)X
+2756(an)X
+2861(in\256nite)X
+3134(loop.)X
+776 4468(Each)N
+2 f
+977(pvmd)X
+1 f
+1192(process)X
+1480(maintains)X
+1849(information)X
+2292(concerning)X
+2709(the)X
+2843(location)X
+3154(and)X
+3307(status)X
+3534(of)X
+3633(all)X
+3748(applica-)X
+576 4580(tion)N
+742(component)X
+1162(processes.)X
+1548(A)X
+1639(user)X
+3 f
+1812(send)X
+1 f
+2010(is)X
+2096(addressed)X
+2469(to)X
+2565(a)X
+2631(component)X
+3050(name)X
+3268(and)X
+3422(instance)X
+3738(number;)X
+576 4692(the)N
+712(local)X
+2 f
+912(pvmd)X
+1 f
+1130(determines)X
+1545(the)X
+1681(physical)X
+2003(location)X
+2316(of)X
+2417(that)X
+2578(process)X
+2869(and)X
+3024(forwards)X
+3363(the)X
+3499(message)X
+3826(to)X
+3924(the)X
+576 4804(remote)N
+2 f
+849(pvmd)X
+1 f
+1039(.)X
+1089(As)X
+1214(described,)X
+1601(the)X
+1737(user)X
+1911(process)X
+2202(library)X
+2465(performs)X
+2810(this)X
+2966(translation)X
+3367(for)X
+3497(the)X
+3633(second)X
+3905(and)X
+576 4916(subsequent)N
+1005(messages.)X
+1397(The)X
+1572(source)X
+1839(component)X
+2269(name)X
+2498(and)X
+2663(instance)X
+2990(number)X
+3297(are)X
+3442(appended)X
+3817(to)X
+3924(the)X
+576 5028(message,)N
+929(enabling)X
+1266(message)X
+1597(delivery)X
+1919(with)X
+2109(an)X
+2225(indication)X
+2612(of)X
+2718(the)X
+2859(sender's)X
+3183(identity.)X
+3508(As)X
+3637(mentioned,)X
+576 5140(executing)N
+958(the)X
+3 f
+1105(enroll)X
+1 f
+1365(construct)X
+1727(is)X
+1825(a)X
+1903(precondition)X
+2388(to)X
+2496(user)X
+2682(process)X
+2985(participation)X
+3472(\320)X
+3600(in)X
+3709(the)X
+3857(UDP)X
+576 5252 0.2679(implementation,)AN
+1176(this)X
+1326(supplies)X
+1637(to)X
+1728(the)X
+1858(local)X
+2 f
+2052(pvmd)X
+1 f
+2264(the)X
+2394(receiving)X
+2744(port)X
+2908(number)X
+3199(of)X
+3294(the)X
+3424(user)X
+3592(process.)X
+
+13 p
+%%Page: 13 13
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(13)X
+2370(-)X
+3 f
+576 688(3.3.)N
+752(Message)X
+1091(Broadcasting)X
+1 f
+776 940(Broadcast)N
+1161(is)X
+1253(a)X
+1326(commonly)X
+1738(performed)X
+2138(operation)X
+2505(in)X
+2608(the)X
+3 f
+9 s
+2746(PVM)X
+1 f
+11 s
+2944(system,)X
+3245(both)X
+3436(because)X
+3748(applica-)X
+576 1052(tions)N
+772(desire)X
+1006(such)X
+1191(a)X
+1254(facility)X
+1529(and)X
+1680(since)X
+1885(it)X
+1959(is)X
+2042(inherent)X
+2355(to)X
+2448(the)X
+2580(completely)X
+2997(distributed)X
+3399(nature)X
+3643(of)X
+3740(the)X
+3 f
+9 s
+3868(PVM)X
+1 f
+11 s
+576 1164(support)N
+888(software.)X
+1261(All)X
+2 f
+1423(pvmd)X
+1 f
+1662(processes)X
+2047(maintain)X
+2406(information)X
+2872(regarding)X
+3258(all)X
+3396(processes,)X
+3803(shared)X
+576 1276(memory)N
+900(segments,)X
+1280(and)X
+1437(locks,)X
+1675(to)X
+1774(guard)X
+2004(against)X
+2284(loss)X
+2451(of)X
+2553(context)X
+2842(and)X
+2998(state)X
+3189(in)X
+3287(the)X
+3424(event)X
+3644(of)X
+3746(failures.)X
+576 1388(User)N
+779(process)X
+1080(broadcasts)X
+1489(are)X
+1635(\256rst)X
+1811(delivered)X
+2178(sequentially)X
+2644(to)X
+2752(local)X
+2963(recipient)X
+3311(user)X
+3496(processes)X
+3871(after)X
+576 1500(which)N
+814(the)X
+945(local)X
+2 f
+1139(pvmd)X
+1 f
+1351(process)X
+1636(broadcasts)X
+2029(over)X
+2207(the)X
+2337(network)X
+2647(to)X
+2738(all)X
+2849(other)X
+2 f
+3052(pvmd)X
+1 f
+3264(processes)X
+3622(that)X
+3777(in)X
+3868(turn,)X
+576 1612(deliver)N
+843(the)X
+973(message)X
+1293(to)X
+1384(their)X
+1568(local)X
+1762(user)X
+1930(process)X
+2215(recipients.)X
+2602(Although)X
+2957(most)X
+3151(computing)X
+3552(environments)X
+576 1724(support)N
+865(a)X
+929(network)X
+1242(broadcast)X
+1604(facility,)X
+2 f
+1902(pvmd)X
+1 f
+2117(broadcast)X
+2479(is)X
+2563(implemented)X
+3049(in)X
+3 f
+9 s
+3138(PVM)X
+1 f
+11 s
+3326(using)X
+3541(point-to-point)X
+576 1836(messages)N
+948(with)X
+1145(recursive)X
+1507(doubling.)X
+1883(This)X
+2080(decision)X
+2414(was)X
+2590(made)X
+2821(in)X
+2931(the)X
+3080(interest)X
+3381(of)X
+3495(portability)X
+3905(and)X
+576 1948(ef\256ciency;)N
+974(given)X
+1196(that)X
+1355(network)X
+1669(broadcast)X
+2032(is)X
+2116(unreliable,)X
+2516(acknowledgments)X
+3177(are)X
+3309(necessary)X
+3675(from)X
+3871(each)X
+576 2060(recipient,)N
+937(resulting)X
+1277(in)X
+2 f
+1377(O)X
+1 f
+1454(\()X
+2 f
+1483(p)X
+1 f
+1534(\))X
+1594(time)X
+1783(\()X
+2 f
+1812(p)X
+1 f
+2 f
+9 f
+1885(+)X
+1 f
+1955(1)X
+2030(sequential)X
+2419(steps)X
+2626(are)X
+2764(to)X
+2864(be)X
+2978(performed)X
+3375(by)X
+3494(the)X
+3633(originator\),)X
+576 2172(while)N
+799(recursive)X
+1148(doubling)X
+1489(broadcast)X
+1852(is)X
+1937(accomplished)X
+2448(in)X
+2 f
+2543(O)X
+1 f
+2620(\(log)X
+8 s
+2762 2189(2)N
+11 s
+2 f
+2823 2172(p)N
+1 f
+2874(\))X
+2929(time,)X
+3135(where)X
+2 f
+3375(p)X
+1 f
+3445(is)X
+3530(the)X
+3664(number)X
+3959(of)X
+576 2284(processors.)N
+993(The)X
+1155(participating)X
+1627(pool)X
+1809(of)X
+1907(hosts)X
+2113(is)X
+2197(logically)X
+2532(numbered)X
+2909(from)X
+3105(0)X
+3174(to)X
+2 f
+3268(p)X
+9 f
+3326(-)X
+1 f
+3374(1,)X
+3466(and)X
+3619(the)X
+3753(origina-)X
+576 2396(tor)N
+697(\(or)X
+822(root\))X
+1016(of)X
+1112(the)X
+1243(broadcast)X
+1603(is)X
+1685(part)X
+1845(of)X
+1941(the)X
+2072(broadcast)X
+2432(message.)X
+2775(There)X
+3002(is)X
+3083(one)X
+2 f
+3232(pvmd)X
+1 f
+3444(process)X
+3729(per)X
+3863(host,)X
+576 2508(which)N
+840(represents)X
+1223(that)X
+1383(processor.)X
+1768(Broadcast)X
+2147(proceeds)X
+2486(in)X
+2582("rounds",)X
+2943(with)X
+3128(the)X
+3264(number)X
+3561(of)X
+3662(processors)X
+576 2620(contributing)N
+1031(to)X
+1123(the)X
+1254(broadcast)X
+1614(effort)X
+1832(doubling)X
+2169(in)X
+2261(each)X
+2445(round.)X
+2717(In)X
+2813(any)X
+2963(round,)X
+3212(processor)X
+2 f
+3570(i)X
+1 f
+3617(transmits)X
+3963(to)X
+2 f
+576 2732(i)N
+1 f
+2 f
+9 f
+630(+)X
+1 f
+700(2)X
+2 f
+8 s
+2697(r)Y
+1 f
+11 s
+2 f
+798 2732(mod)N
+1 f
+2 f
+978(p)X
+1 f
+1050(and)X
+1206(receives)X
+1523(an)X
+1635(acknowledgment.)X
+2288(A)X
+2380(processor)X
+2 f
+2752(j)X
+1 f
+2806(joins)X
+3007(the)X
+3144(broadcast)X
+3510(effort)X
+3734(at)X
+3827(round)X
+2 f
+576 2844(r)N
+8 s
+615 2861(j)N
+1 f
+11 s
+640 2844(,)N
+700(where)X
+2 f
+952(r)X
+8 s
+991 2861(j)N
+1 f
+11 s
+2 f
+9 f
+1038 2844(=)N
+1 f
+2 f
+1108(no.)X
+1 f
+2 f
+1247(of)X
+1 f
+2 f
+1345(signi\256cant)X
+1 f
+2 f
+1742(bits)X
+1 f
+2 f
+1899(in)X
+1 f
+1997(\()X
+2 f
+2033(j)X
+1 f
+2 f
+9 f
+2087(-)X
+1 f
+2 f
+2157(root)X
+1 f
+2311(\))X
+2 f
+2362(mod)X
+1 f
+2 f
+2542(p)X
+1 f
+(.)S
+2668(In)X
+2779(the)X
+2924(event)X
+3152(of)X
+3262(processor)X
+3635(failure,)X
+3924(the)X
+2 f
+576 2956(pvmd)N
+1 f
+792(process)X
+1081(that)X
+1241(\256rst)X
+1405(detects)X
+1677(the)X
+1812(failure)X
+2069(assumes)X
+2389(the)X
+2524(broadcast)X
+2888(duties)X
+3126(of)X
+3226(the)X
+3361(failed)X
+3589(processor.)X
+3974(If)X
+576 3068(the)N
+709(quantity)X
+1024(2\(2)X
+2 f
+8 s
+1141 3033(r)N
+1 f
+11 s
+1173 3068(\))N
+1226(is)X
+1309(less)X
+1465(than)X
+1641(2)X
+1707(log)X
+8 s
+1820 3085(2)N
+11 s
+2 f
+1881 3068(p)N
+1 f
+(,)S
+1971(failure)X
+2225(noti\256cation)X
+2652(is)X
+2735(piggybacked)X
+3209(on)X
+3321(the)X
+3453(broadcast,)X
+3836(at)X
+3924(the)X
+576 3180(end)N
+733(of)X
+836(which)X
+1081(the)X
+1219(remaining)X
+1607(processors)X
+2007(are)X
+2144(individually)X
+2602(informed.)X
+2978(Otherwise,)X
+3392(the)X
+3531(detecting)X
+3886(pro-)X
+576 3292(cessor)N
+817(initiates)X
+1120(another)X
+1406(broadcast)X
+1765(with)X
+1944(failure)X
+2196(information,)X
+2657(at)X
+2743(completion)X
+3163(of)X
+3258(the)X
+3388(current)X
+3659(broadcast.)X
+776 3544(The)N
+2 f
+950(pvmd)X
+1 f
+1177(processes)X
+1550(execute)X
+1856(a)X
+1932(\256nite)X
+2151(state)X
+2350(machine)X
+2686(which)X
+2938(gives)X
+3161(precedence)X
+3593(to)X
+3700(messages)X
+576 3656(\(requests\))N
+960(incoming)X
+1332(while)X
+1566(another)X
+1867(activity)X
+2170(is)X
+2266(in)X
+2372(progress.)X
+2728(Such)X
+2941(a)X
+3017(scheme)X
+3318(is)X
+3414(adopted)X
+3730(to)X
+3836(avoid)X
+576 3768(deadlock;)N
+941(two)X
+1095(processes)X
+1453(transmitting)X
+1903(to)X
+1994(each)X
+2177(other)X
+2380(may)X
+2554(both)X
+2733(wait)X
+2908(inde\256nitely)X
+3334(for)X
+3459(each)X
+3643(others)X
+3881(ack-)X
+576 3880(nowledgment)N
+1084(if)X
+1166(this)X
+1322(precedence)X
+1745(rule)X
+1910(were)X
+2108(not)X
+2249(followed.)X
+2612(It)X
+2694(should)X
+2957(also)X
+3126(be)X
+3236(pointed)X
+3528(out)X
+3668(that)X
+3828(in)X
+3924(the)X
+576 3992(case)N
+771(of)X
+3 f
+9 s
+884(PVM)X
+1 f
+11 s
+1092(hardware)X
+1462(platforms)X
+1844(where)X
+2102(wide)X
+2317(area)X
+2508(networks)X
+2875(are)X
+3027(involved,)X
+3403(the)X
+3556(choice)X
+3831(of)X
+3949(an)X
+576 4104(appropriate)N
+1009(timeout)X
+1312(value)X
+1535(can)X
+1689(signi\256cantly)X
+2158(affect)X
+2390(the)X
+2530(performance)X
+3006(of)X
+3111(the)X
+3251(data)X
+3430(transfer)X
+3729(mechan-)X
+576 4216(isms)N
+760(and)X
+909(the)X
+1039(broadcast)X
+1398(process.)X
+1705(Further,)X
+2008(the)X
+2139(present)X
+2416 0.2885(implementation)AX
+2995(does)X
+3179(not)X
+3315(perform)X
+3621(any)X
+3771(optimi-)X
+576 4328(zations)N
+850(in)X
+943(the)X
+1075(broadcast)X
+1436(scheme)X
+1724(when)X
+1938(a)X
+2001(geographically)X
+2548(distant)X
+2807(host)X
+2977(is)X
+3059(at)X
+3146(a)X
+3208(non-leaf)X
+3524(position)X
+3832(in)X
+3924(the)X
+576 4440(broadcast)N
+935(spanning)X
+1275(tree.)X
+3 f
+576 4776(3.4.)N
+752(Mutual)X
+1053(Exclusion)X
+1 f
+776 5028(Mutual)N
+1058(exclusion)X
+1423(is)X
+1509(another)X
+1800(primitive)X
+2153(required)X
+2474(both)X
+2659(in)X
+2756(response)X
+3091(to)X
+3188(user)X
+3362(requests)X
+3678(as)X
+3779(well)X
+3959(as)X
+576 5140(for)N
+2 f
+723(pvmd)X
+1 f
+958(coordination.)X
+1471(Examples)X
+1863(are)X
+2014(exclusive)X
+2391(access)X
+2659(to)X
+2772(emulated)X
+3140(shared)X
+3413(memory,)X
+3773(general)X
+576 5252(resource)N
+928(locking,)X
+1270(and)X
+1452(assignment)X
+1904(of)X
+2033(unique)X
+2329(instance)X
+2674(numbers)X
+3033(for)X
+3191(application)X
+3640(component)X
+576 5364(processes.)N
+973(Distributed)X
+1409(mutual)X
+1694(exclusion)X
+2071(is)X
+2168(normally)X
+2525(achieved)X
+2876(by)X
+3002(unanimous)X
+3427(or)X
+3538(majority)X
+3876(con-)X
+576 5476(sensus;)N
+871(a)X
+951(requesting)X
+1359(process)X
+1663(that)X
+1837(receives)X
+2166(permission)X
+2594(from)X
+2806(a)X
+2887(certain)X
+3169(number)X
+3480(of)X
+3595(processes)X
+3973(is)X
+576 5588(deemed)N
+877(to)X
+973(have)X
+1166(acquired)X
+1496(the)X
+1631(lock.)X
+1832(Different)X
+2181(strategies,)X
+2562(varying)X
+2857(in)X
+2952(their)X
+3140(approach,)X
+3510(ef\256ciency,)X
+3905(and)X
+576 5700(level)N
+779(of)X
+883(failure)X
+1144(resiliency)X
+1518(have)X
+1716(been)X
+1914(proposed)X
+2268(and)X
+2427(representative)X
+2953(methods)X
+3284(are)X
+3423(described)X
+3792(in)X
+3893([12,)X
+576 5812(13,)N
+727(14].)X
+907(The)X
+1085(strategy)X
+1405(adopted)X
+1725(in)X
+3 f
+9 s
+1831(PVM)X
+1 f
+11 s
+2036(is)X
+2136(somewhat)X
+2534(different)X
+2878(from)X
+3090(these)X
+3312(approaches,)X
+3770(but)X
+3924(the)X
+
+14 p
+%%Page: 14 14
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(14)X
+2370(-)X
+576 688(algorithm)N
+953(is)X
+1046(ef\256cient)X
+1369(and,)X
+1552(more)X
+1767(importantly,)X
+2236(is)X
+2329(integrated)X
+2716(with)X
+2907(the)X
+3049(required)X
+3376(distribution)X
+3840(to)X
+3943(all)X
+2 f
+576 800(pvmd)N
+1 f
+766(s)X
+822(of)X
+917(lock)X
+1091(location)X
+1398(information.)X
+776 1052(A)N
+2 f
+862(pvmd)X
+1 f
+1075(process,)X
+1383(either)X
+1607(for)X
+1732(its)X
+1840(own)X
+2015(purposes)X
+2351(or)X
+2448(on)X
+2560(behalf)X
+2804(of)X
+2901(a)X
+2964(local)X
+3160(user)X
+3330(process,)X
+3639(attempts)X
+3963(to)X
+576 1164(obtain)N
+821(a)X
+884(lock)X
+1060(by)X
+1172(broadcasting)X
+1646(a)X
+1709("claim")X
+2002(for)X
+2128(the)X
+2260(lock.)X
+2457(Since)X
+2676(all)X
+2 f
+2788(pvmd)X
+1 f
+3001(processes)X
+3360(possess)X
+3646(knowledge)X
+576 1276(regarding)N
+935(the)X
+1065(use)X
+1204(\(and)X
+1382(location\))X
+1718(of)X
+1813(all)X
+1924(locks,)X
+2154(such)X
+2337(an)X
+2442(attempt)X
+2730(will,)X
+2912(of)X
+3007(course,)X
+3280(only)X
+3460(be)X
+3566(made)X
+3780(when)X
+3993(a)X
+576 1388(lock)N
+754(is)X
+839(known)X
+1104(to)X
+1199(be)X
+1308(free)X
+1469(at)X
+1558(the)X
+1691(start)X
+1868(of)X
+1966(the)X
+2099(claim.)X
+2343(In)X
+2441(the)X
+2574(absence)X
+2877(of)X
+2975(con\257icting)X
+3378(claims)X
+3634(\(a)X
+3727(situation)X
+576 1500(most)N
+774(likely)X
+1002(to)X
+1097(be)X
+1206(encountered)X
+1662(in)X
+1757(practice\),)X
+2113(the)X
+2247(requester,)X
+2618(after)X
+2806(the)X
+2941(broadcast)X
+3305(has)X
+3449(been)X
+3642(completed,)X
+576 1612(can)N
+728(assume)X
+1017(that)X
+1180(the)X
+1318(lock)X
+1500(has)X
+1647(been)X
+1843(successfully)X
+2303(obtained.)X
+2659(In)X
+2762(the)X
+2900(process,)X
+3215(all)X
+3334(other)X
+2 f
+3544(pvmd)X
+1 f
+3734(s)X
+3797(update)X
+576 1724(their)N
+766(lock)X
+946(table)X
+1146(information,)X
+1613(and)X
+1768 0.2955(\(implicitly\))AX
+2201(grant)X
+2411(the)X
+2548(requester)X
+2899(permission)X
+3315(for)X
+3446(exclusive)X
+3808(access)X
+576 1836(to)N
+667(the)X
+797(particular)X
+1157(resource.)X
+776 2088(It)N
+858(is)X
+945(of)X
+1046(course)X
+1303(possible)X
+1620(that)X
+1781(two)X
+1941(processes)X
+2305(may)X
+2485(initiate)X
+2760(claims)X
+3019(on)X
+3135(the)X
+3272(same)X
+3482(resource)X
+3808(before)X
+576 2200(either)N
+802(has)X
+944(received)X
+1267(the)X
+1399(other's)X
+1667(request.)X
+1989(In)X
+3 f
+9 s
+2082(PVM)X
+1 f
+11 s
+2246(,)X
+2292(such)X
+2477(situations)X
+2840(are)X
+2971(resolved)X
+3293(using)X
+3508(a)X
+3571(heuristic)X
+3899(that)X
+576 2312(assumes)N
+897(that)X
+1058(communication)X
+1636(between)X
+1957(any)X
+2112(pair)X
+2277(of)X
+2378(processors)X
+2776(takes)X
+2985(the)X
+3122(same)X
+3332(amount)X
+3626(of)X
+3728(time.)X
+3959(In)X
+576 2424(particular,)N
+962(consider)X
+1286(two)X
+1444(processors)X
+1840(\()X
+2 f
+1869(pvmd)X
+1 f
+2085(processes\))X
+2 f
+2476(A)X
+1 f
+2556(and)X
+2 f
+2709(B)X
+1 f
+2789(that)X
+2948(wish)X
+3140(to)X
+3235(acquire)X
+3519(the)X
+3652(same)X
+3858(lock,)X
+576 2536(and)N
+726(another)X
+1013(processor)X
+2 f
+1372(C)X
+1 f
+1431(.)X
+1498(Note)X
+1692(that)X
+1848({)X
+2 f
+1890(B)X
+1 f
+1944(,)X
+2 f
+(C)S
+1 f
+2025(})X
+2090(and)X
+2240({)X
+2 f
+2282(A)X
+1 f
+2336(,)X
+2 f
+(C)S
+1 f
+2417(})X
+2482(are)X
+2612(in)X
+2705(the)X
+2837(broadcast)X
+3198(spanning)X
+3540(trees)X
+3730(of)X
+2 f
+3827(A)X
+1 f
+3905(and)X
+2 f
+576 2648(B)N
+1 f
+655(respectively,)X
+1128(possibly)X
+1447(at)X
+1536(different)X
+1864(depths.)X
+2141(It)X
+2219(may)X
+2395(be)X
+2502(assumed)X
+2829(without)X
+3123(loss)X
+3284(of)X
+3381(generality)X
+3758(that)X
+2 f
+3915(A)X
+1 f
+3969('s)X
+576 2760(processor)N
+941(number)X
+1239(is)X
+1327(less)X
+1488(than)X
+1669(that)X
+1831(of)X
+2 f
+1933(B)X
+1 f
+1987(.)X
+2038(Under)X
+2286(the)X
+2423(constant)X
+2746(time)X
+2933(assumption,)X
+3386(both)X
+2 f
+3572(A)X
+1 f
+3655(and)X
+2 f
+3811(B)X
+1 f
+3894(will)X
+576 2872(receive)N
+865(each)X
+1061(others)X
+1311(claims)X
+1577(before)X
+1836(their)X
+2033(broadcast)X
+2405(is)X
+2499(completed.)X
+2924(When)X
+2 f
+3168(B)X
+1 f
+3256(receives)X
+2 f
+3578(A)X
+1 f
+3632('s)X
+3729(claim,)X
+3982(it)X
+576 2984(computes)N
+942(the)X
+1078(number)X
+1376(of)X
+1478(rounds)X
+1746(that)X
+2 f
+1908(A)X
+1 f
+1962('s)X
+2054(broadcast)X
+2420(has)X
+2566(proceeded;)X
+2981(if)X
+3064(this)X
+3221(number)X
+3519(is)X
+3607(greater)X
+3880(than)X
+576 3096(the)N
+708(number)X
+1001(of)X
+1098(rounds)X
+1361(that)X
+1518(its)X
+1626(own)X
+1801(broadcast)X
+2162(has)X
+2303(proceeded,)X
+2 f
+2710(B)X
+1 f
+2788(surrenders)X
+3177(its)X
+3285(claim)X
+3505(to)X
+3597(the)X
+3728(lock.)X
+3925(An)X
+576 3208(identical)N
+910(\(\256rst-claim,)X
+1353(\256rst)X
+1520(served\))X
+1808(policy)X
+2059(is)X
+2148(followed)X
+2491(by)X
+2 f
+2609(A)X
+1 f
+2663(.)X
+2715(If)X
+2803(the)X
+2941(broadcast)X
+3308(progress)X
+3635(metrics)X
+3925(are)X
+576 3320(the)N
+712(same,)X
+943(the)X
+1079(lower)X
+1307(numbered)X
+1687(processor)X
+2051(is)X
+2138(given)X
+2362(priority)X
+2655(and)X
+2810(is)X
+2896(considered)X
+3304(to)X
+3400(have)X
+3593(obtained)X
+3924(the)X
+576 3432(lock.)N
+773(The)X
+933(passive)X
+1215(processor)X
+2 f
+1574(C)X
+1 f
+1656(also)X
+1821(makes)X
+2069(the)X
+2200(same)X
+2404(decision)X
+2721(since)X
+2925(it)X
+2998(has)X
+3138(the)X
+3269(capability)X
+3641(of)X
+3738(comput-)X
+576 3544(ing)N
+723(the)X
+865(number)X
+1168(of)X
+1274(rounds)X
+1546(of)X
+1652(broadcast)X
+2022(progress)X
+2352(that)X
+2518(each)X
+2712(claimant)X
+3050(has)X
+3200(made)X
+3424(when)X
+3647(the)X
+3788(second)X
+576 3656(such)N
+759(broadcast)X
+1118(arrives.)X
+776 3908(In)N
+872(practice)X
+1174(however,)X
+1521(communication)X
+2094(times)X
+2309(between)X
+2625(arbitrary)X
+2951(pairs)X
+3145(of)X
+3242(processors)X
+3636(may)X
+3812(not)X
+3949(be)X
+576 4020(constant;)N
+920(further,)X
+1206(intervening)X
+1633(messages)X
+1990(of)X
+2088(other)X
+2294(types)X
+2504(may)X
+2680(skew)X
+2884(the)X
+3016(propagation)X
+3461(time)X
+3643(of)X
+3740(a)X
+3803(broad-)X
+576 4132(cast)N
+759(claim.)X
+1046(For)X
+1214(practical)X
+1564(safety)X
+1821(therefore,)X
+2207(the)X
+2362(originators)X
+2791(of)X
+2911(con\257icting)X
+3336(claims)X
+3614(exchange)X
+3993(a)X
+576 4244(con\256rmatory)N
+1061(message)X
+1389(\320)X
+1507(with)X
+1694(the)X
+1832(claim)X
+2059(being)X
+2285(abandoned)X
+2696(if)X
+2780(their)X
+2972(respective)X
+3358(notions)X
+3647(of)X
+3749(the)X
+3886(suc-)X
+576 4356(cessful)N
+848(claimant)X
+1181(are)X
+1317(not)X
+1459(in)X
+1557(agreement.)X
+1975(In)X
+2077(such)X
+2267(a)X
+2335(situation,)X
+2691(the)X
+2828(lower)X
+3057(numbered)X
+3438(processor)X
+3803(broad-)X
+576 4468(casts)N
+769(a)X
+830("reset)X
+1054(lock")X
+1264(message,)X
+1606(and)X
+1755(the)X
+1885(entire)X
+2108(process)X
+2393(is)X
+2474(started)X
+2731(afresh,)X
+2989(but)X
+3124(without)X
+3416(competition)X
+3861(from)X
+576 4580(the)N
+707("losing")X
+1018(processor.)X
+1421(In)X
+1517(case)X
+1691(of)X
+1787(process)X
+2073(or)X
+2169(processor)X
+2528(failures,)X
+2837(the)X
+2969(strategy)X
+3272(of)X
+3369(all)X
+2 f
+3482(pvmd)X
+1 f
+3696(processes)X
+576 4692(possessing)N
+979(all)X
+1095(information)X
+1539(is)X
+1624(used)X
+1811(to)X
+1906(avoid)X
+2128(undesirable)X
+2560(situations.)X
+2947(If)X
+3031(a)X
+3096(process)X
+3385(or)X
+3484(processor)X
+3846(hold-)X
+576 4804(ing)N
+716(a)X
+782(lock)X
+961(terminates)X
+1356(without)X
+1653(releasing)X
+1998(it,)X
+2097(the)X
+2233(particular)X
+2599(resource)X
+2924(is)X
+3011(marked)X
+3303(as)X
+3404("defunct";)X
+3793(further)X
+576 4916(requests)N
+886(to)X
+977(the)X
+1107(resource)X
+1426(are)X
+1555(denied)X
+1812(until)X
+1997(an)X
+2102(explicit)X
+2390(reset)X
+2578(is)X
+2659(performed.)X
+3 f
+576 5252(3.5.)N
+752(Process)X
+1057(control)X
+1 f
+776 5504(The)N
+942 0.3681(initiation)AX
+1292(order)X
+1506(and)X
+1662(process)X
+1954(dependencies)X
+2458(of)X
+2561(application)X
+2984(components)X
+3440(are)X
+3577(described)X
+3944(by)X
+576 5616(the)N
+710(use)X
+853(of)X
+952(appropriate)X
+3 f
+1378(initiate)X
+1 f
+1668(constructs)X
+2050(embedded)X
+2437(within)X
+2688(host)X
+2860(language)X
+3203(control)X
+3478(\257ow)X
+3659(statements)X
+576 5728(as)N
+678(described)X
+1044(in)X
+1142(the)X
+1279(preceding)X
+1656(section.)X
+1958(This)X
+2145(implies)X
+2436(that)X
+2599(it)X
+2679(is)X
+2768(not)X
+2911(possible)X
+3230(to)X
+3329(determine)X
+3712(statically)X
+576 5840(the)N
+708(application)X
+1125(process)X
+1412(\257ow)X
+1592(graph)X
+1816(as)X
+1913(component)X
+2329 0.3063(initiations)AX
+2708(may)X
+2884(be)X
+2991(conditional)X
+3413(or)X
+3510(repeated)X
+3832(based)X
+
+15 p
+%%Page: 15 15
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(15)X
+2370(-)X
+576 688(upon)N
+778(parameters)X
+1190(known)X
+1456(only)X
+1640(at)X
+1731(execution)X
+2101(time.)X
+2308(The)X
+3 f
+9 s
+2468(PVM)X
+1 f
+11 s
+2659(system)X
+2931(therefore)X
+3275(performs)X
+3619(process)X
+3909(ini-)X
+576 800(tiations)N
+874(in)X
+980(response)X
+1324(to)X
+1430(requests)X
+1755(based)X
+1991(upon)X
+2203(the)X
+2347(resources)X
+2714(available)X
+3069(and)X
+3232(load)X
+3420(conditions)X
+3824(at)X
+3924(the)X
+576 912(moment)N
+889(of)X
+985(the)X
+1116(request)X
+1393(\320)X
+1504(rather)X
+1732(than)X
+1907(by)X
+2019(constructing)X
+2479(a)X
+2542(predetermined)X
+3075(static)X
+3286(schedule)X
+3618(and)X
+3769(process)X
+576 1024(to)N
+667(processor)X
+1025(assignments.)X
+776 1276(When)N
+1013(an)X
+1123(application)X
+1543(component)X
+1963(process)X
+2254(makes)X
+2507(an)X
+3 f
+2618(initiate)X
+1 f
+2911(request,)X
+3215(the)X
+3351(local)X
+2 f
+3551(pvmd)X
+1 f
+3769(process)X
+576 1388(\256rst)N
+747(determines)X
+1168(a)X
+1241(candidate)X
+1613(pool)X
+1804(of)X
+1911(target)X
+2146(hosts)X
+2361(based)X
+2595(upon)X
+2805(the)X
+2947(information)X
+3397(in)X
+3499(the)X
+3640(component)X
+576 1500(description)N
+990(\256le.)X
+1169(One)X
+1337(host)X
+1506(is)X
+1587(then)X
+1761(selected)X
+2067(from)X
+2260(this)X
+2410(pool)X
+2589(based)X
+2811(upon)X
+3009(the)X
+3139(following)X
+3504(algorithm:)X
+576 1668(\(1\))N
+776(Select)X
+1017(next)X
+1194(host)X
+1366(from)X
+1562(pool)X
+1744(in)X
+1838(round-robin)X
+2283(manner,)X
+2594(based)X
+2819(upon)X
+3020(all)X
+3134 0.3063(initiations)AX
+3515(that)X
+3674(originated)X
+776 1780(here.)N
+576 1920(\(2\))N
+776(Obtain)X
+1040(load)X
+1216(metric)X
+1467(\(decayed)X
+1809(average)X
+2107(of)X
+2205(number)X
+2499(of)X
+2597(processes)X
+2958(in)X
+3052(run)X
+3194(queue\))X
+3458(from)X
+3654(this)X
+3807(poten-)X
+776 2032(tial)N
+912(target)X
+1135(host.)X
+576 2172(\(3\))N
+776(If)X
+856(this)X
+1006(quantity)X
+1318(is)X
+1399(less)X
+1553(than)X
+1727(a)X
+1788(prespeci\256ed)X
+2235(threshold,)X
+2607(select)X
+2830(this)X
+2980(host.)X
+576 2312(\(4\))N
+776(Otherwise,)X
+1182(repeat)X
+1420(the)X
+1551(process.)X
+1859(If)X
+1940(no)X
+2051(host)X
+2221(has)X
+2361(a)X
+2423(load)X
+2598(factor)X
+2827(below)X
+3066(the)X
+3198(threshold,)X
+3572(the)X
+3704(host)X
+3875(with)X
+776 2424(the)N
+906(lowest)X
+1158(load)X
+1332(is)X
+1413(the)X
+1543(selected)X
+1849(target.)X
+576 2676(Once)N
+785(the)X
+917(target)X
+1142(host)X
+1313(is)X
+1396(identi\256ed,)X
+1776(the)X
+1908(local)X
+2 f
+2104(pvmd)X
+1 f
+2318(sends)X
+2537(the)X
+2669(initiate)X
+2940(request)X
+3218(to)X
+3311(the)X
+2 f
+3443(pvmd)X
+1 f
+3657(process)X
+3944(on)X
+576 2788(the)N
+712(remote)X
+985(host,)X
+1182(where)X
+1424(the)X
+1560(application)X
+1981(component)X
+2401(is)X
+2488(initiated.)X
+2829(The)X
+2993(remote)X
+2 f
+3265(pvmd)X
+1 f
+3482(then)X
+3661(broadcasts)X
+576 2900(noti\256cation)N
+1009(of)X
+1112(this)X
+1270(event)X
+1491(to)X
+1590(all)X
+1709(processors,)X
+2131(simultaneously)X
+2696(claiming)X
+3037(an)X
+3151(instance)X
+3471(number)X
+3771(for)X
+3904(this)X
+576 3012 0.3681(initiation)AN
+949(\(by)X
+1118(simply)X
+1411(incrementing)X
+1929(the)X
+2089(last)X
+2263(previous)X
+2617(instance)X
+2957(number)X
+3277(for)X
+3430(the)X
+3589(component\).)X
+576 3124(Con\257icting)N
+1008(claims)X
+1273(for)X
+1409(the)X
+1551(same)X
+1766(instance)X
+2089(number)X
+2392(are)X
+2533(again)X
+2758(resolved)X
+3090(as)X
+3197(in)X
+3300(the)X
+3442(case)X
+3628(of)X
+3736(multiple)X
+576 3236(claims)N
+837(to)X
+936(a)X
+1005(lock,)X
+1209(with)X
+1395(a)X
+1463("losing")X
+1780(processor)X
+2145(using)X
+2365(a)X
+2433(higher)X
+2687(value.)X
+2929(Once)X
+3143(again,)X
+3385(consistent)X
+3767(con\257ict)X
+576 3348(resolution)N
+958(is)X
+1046(con\256rmed)X
+1432(by)X
+1549(an)X
+1661(exchange)X
+2022(of)X
+2124(messages)X
+2485(between)X
+2807(all)X
+2925(claimants)X
+3293(and)X
+3449(reset)X
+3645(actions)X
+3925(are)X
+576 3460(performed)N
+985(in)X
+1097(the)X
+1248(case)X
+1442(of)X
+1558(disagreement.)X
+2115(Application)X
+2575(process)X
+2880(termination)X
+3330(information)X
+3789(is)X
+3890(also)X
+576 3572(broadcast)N
+937(to)X
+1030(all)X
+2 f
+1143(pvmd)X
+1 f
+1357(processes.)X
+1739(Conditional)X
+2181(variants)X
+2484(of)X
+3 f
+2581(initiate)X
+1 f
+2870(are)X
+3001(saved)X
+3225(by)X
+3338(the)X
+3471(local)X
+2 f
+3668(pvmd)X
+1 f
+3858(,)X
+3905(and)X
+576 3684(this)N
+726(queue)X
+958(is)X
+1039(inspected)X
+1394(and)X
+1543(appropriate)X
+1966(action)X
+2204(taken)X
+2417(when)X
+2629(the)X
+2759(particular)X
+3119(event)X
+3332(occurs.)X
+3 f
+576 4020(3.6.)N
+752(Shared)X
+1043(Memory)X
+1387(and)X
+1551(Barriers)X
+1 f
+776 4272(In)N
+872(the)X
+3 f
+9 s
+999(PVM)X
+1 f
+11 s
+1187(system,)X
+1478(shared)X
+1731(memory)X
+2049(is)X
+2132(emulated)X
+2480(by)X
+2592(\256rst)X
+2753(creating)X
+3061(an)X
+3168(image)X
+3408(of)X
+3505(a)X
+3568(memory)X
+3886(seg-)X
+576 4384(ment)N
+780(on)X
+895(secondary)X
+1278(storage.)X
+1581(A)X
+1671(\256le)X
+1811(of)X
+1911(the)X
+2046(requested)X
+2410(size)X
+2574(is)X
+2660(created;)X
+2966(for)X
+3094(ef\256ciency)X
+3467(and)X
+3620(failure)X
+3876(resi-)X
+576 4496(liency)N
+815(reasons,)X
+1123(the)X
+1254(local)X
+2 f
+1449(pvmd)X
+1 f
+1662(\(the)X
+1823(processor)X
+2183(at)X
+2271(which)X
+2510(the)X
+2642(creation)X
+2950(request)X
+3228(originated\))X
+3639(attempts)X
+3963(to)X
+576 4608(locate)N
+811(the)X
+943(\256le)X
+1080(on)X
+1192(a)X
+1255(device)X
+1509(that)X
+1666(is)X
+1749(accessible)X
+2130(to)X
+2223(other)X
+2428(processors)X
+2822(via)X
+2954(a)X
+3017(network)X
+3329(\256le)X
+3465(system.)X
+3777(Mutual)X
+576 4720(exclusion,)N
+958(both)X
+1137(for)X
+1261(creation)X
+1567(as)X
+1662(well)X
+1836(as)X
+1932(for)X
+2057(access,)X
+2326(is)X
+2408(achieved)X
+2744(as)X
+2840(described)X
+3200(earlier.)X
+3470(A)X
+2 f
+3556(pvmd)X
+1 f
+3769(process)X
+576 4832(that)N
+732(has)X
+872(acquired)X
+1198(a)X
+1259(lock)X
+1433(\(on)X
+1572(behalf)X
+1814(of)X
+1909(a)X
+1970(local)X
+2164(application)X
+2579(process\))X
+2893(copies)X
+3140(the)X
+3270(\256le)X
+3405(into)X
+3565(the)X
+3695(requested)X
+576 4944(address)N
+864(space;)X
+1109(this)X
+1262(is)X
+1346(done)X
+1542(directly)X
+1838(if)X
+1918(the)X
+2052(\256le)X
+2191(is)X
+2276(accessible)X
+2659(directly,)X
+2977(and)X
+3130(with)X
+3313(the)X
+3447(assistance)X
+3825(of)X
+3924(the)X
+576 5056(remote)N
+2 f
+846(pvmd)X
+1 f
+1061(if)X
+1140(it)X
+1215(is)X
+1299(not.)X
+1459(A)X
+1547(user)X
+1718(release)X
+1987(request)X
+2266(results)X
+2521(in)X
+2615(the)X
+2748(speci\256ed)X
+3086(memory)X
+3405(area)X
+3576(being)X
+3797(copied)X
+576 5168(back)N
+766(to)X
+859(the)X
+991(\256le)X
+1128(unless)X
+1372(the)X
+1504(lock)X
+1680(request)X
+1958(was)X
+2118(for)X
+2245(read-only)X
+2607(access.)X
+2900(It)X
+2979(should)X
+3239(be)X
+3347(noted)X
+3568(that)X
+3726(creation,)X
+576 5280(locking,)N
+888(unlocking,)X
+1288(and)X
+1440(deallocation)X
+1897(\(resulting)X
+2260(in)X
+2354(\256le)X
+2492(removal\))X
+2835(events)X
+3085(are)X
+3216(broadcast)X
+3577(to)X
+3670(all)X
+2 f
+3783(pvmd)X
+1 f
+3973(s;)X
+576 5392(given)N
+803(the)X
+942(con\257ict)X
+1238(resolution)X
+1622(rules)X
+1824(and)X
+1982(highest)X
+2268(priority)X
+2564(to)X
+2664(incoming)X
+3029(requests,)X
+3370(undesirable)X
+3807(incon-)X
+576 5504(sistencies)N
+936(are)X
+1065(avoided.)X
+
+16 p
+%%Page: 16 16
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(16)X
+2370(-)X
+776 688(Barrier)N
+1047(synchronization)X
+1632(in)X
+3 f
+9 s
+1719(PVM)X
+1 f
+11 s
+1905(is)X
+1986(accomplished)X
+2493(by)X
+2604(using)X
+2818(an)X
+2924(ef\256cient)X
+3236(algorithm)X
+3603(described)X
+3963(in)X
+576 800([20].)N
+770(The)X
+932(algorithm)X
+1301(considers)X
+1658(the)X
+2 f
+1791(pvmd)X
+1 f
+2006(processes)X
+2367(as)X
+2465(being)X
+2686(the)X
+2819(vertices)X
+3118(in)X
+3212(a)X
+3276(logical)X
+3542(quadratic)X
+3895(net-)X
+576 912(work.)N
+803(In)X
+901(such)X
+1087(a)X
+1151(network)X
+1464(each)X
+1650(vertex)X
+2 f
+1895(i)X
+1 f
+1945(has)X
+2087(outgoing)X
+2426(links)X
+2623(to)X
+2 f
+2725(j)X
+1 f
+2776(such)X
+2963(that)X
+2 f
+3129(j)X
+1 f
+2 f
+9 f
+3183(=)X
+1 f
+2 f
+3253(i)X
+1 f
+2 f
+9 f
+3307(+)X
+1 f
+3377(2)X
+2 f
+8 s
+877(r)Y
+1 f
+11 s
+2 f
+3475 912(modN)N
+1 f
+3685(,)X
+3733(where)X
+2 f
+3973(N)X
+1 f
+576 1024(is)N
+660(the)X
+793(number)X
+1087(of)X
+2 f
+1185(pvmd)X
+1 f
+1399(processes,)X
+1781(and)X
+1932(0)X
+9 f
+1998(\243)X
+2 f
+2068(r)X
+1 f
+2 f
+2131(<)X
+1 f
+2212(log)X
+8 s
+2325 1041(2)N
+11 s
+2 f
+2386 1024(N)N
+1 f
+2445(.)X
+2491(Upon)X
+2710(receipt)X
+2974(of)X
+3071(a)X
+3 f
+3134(barrier)X
+1 f
+3432(request)X
+3710(from)X
+3905(one)X
+576 1136(of)N
+673(the)X
+806(local)X
+1003(application)X
+1421(processes,)X
+1804(each)X
+2 f
+1990(pvmd)X
+1 f
+2205(process)X
+2 f
+2493(i)X
+1 f
+2543(\256rst)X
+2705(waits)X
+2916(until)X
+3104(all)X
+3218(local)X
+3415(components)X
+3866(have)X
+576 1248(also)N
+740(reached)X
+1035(the)X
+1165(barrier,)X
+1443(and)X
+1592(then)X
+1766(executes)X
+2091(the)X
+2221(following)X
+2586(algorithm:)X
+796 1388(for)N
+2 f
+920(r)X
+1 f
+976(:=)X
+1073(0)X
+1139(to)X
+1230(log)X
+8 s
+1343 1405(2)N
+11 s
+2 f
+1404 1388(N)N
+1 f
+2 f
+9 f
+1492(-)X
+1 f
+1562(1)X
+1628(do)X
+928 1500(send)N
+1111(message)X
+1431(containing)X
+2 f
+1826(r)X
+1 f
+1882(to)X
+2 f
+1973(i)X
+1 f
+2 f
+9 f
+2027(+)X
+1 f
+2097(2)X
+2 f
+8 s
+1465(r)Y
+1 f
+11 s
+2 f
+2195 1500(mod)N
+1 f
+2 f
+2375(N)X
+1 f
+928 1612(wait)N
+1102(for)X
+1226(receipt)X
+1488(of)X
+1583(message)X
+1903(containing)X
+2 f
+2298(r)X
+1 f
+576 1864(This)N
+762(algorithm)X
+1135(is)X
+1223(ef\256cient)X
+1541(both)X
+1727(in)X
+1825(the)X
+1962(number)X
+2261(of)X
+2364(messages)X
+2726(used)X
+2917(and)X
+3074(the)X
+3212(number)X
+3511(of)X
+3614(rounds,)X
+3905(and)X
+576 1976(may)N
+750(be)X
+855(used)X
+1038(for)X
+1162(arbitrary)X
+1487(values)X
+1734(of)X
+2 f
+1829(N)X
+1 f
+1888(.)X
+3 f
+576 2312(3.7.)N
+752(Discussion)X
+1 f
+776 2564(An)N
+914(overview)X
+1272(of)X
+1376(the)X
+1515(design)X
+1776(and)X
+1934 0.2885(implementation)AX
+2521(strategies)X
+2885(used)X
+3077(to)X
+3177(realize)X
+3443(the)X
+3582(various)X
+3 f
+9 s
+3868(PVM)X
+1 f
+11 s
+576 2676(features)N
+885(has)X
+1033(been)X
+1230(presented)X
+1598(in)X
+1698(this)X
+1857(section.)X
+2160(As)X
+2287(is)X
+2376(common)X
+2715(with)X
+2902(most)X
+3104(software)X
+3436(systems,)X
+3767(there)X
+3973(is)X
+576 2788(sometimes)N
+980(a)X
+1045(tradeoff)X
+1349(between)X
+1669(versatility)X
+2050(and)X
+2204(ef\256ciency.)X
+2600(In)X
+3 f
+9 s
+2696(PVM)X
+1 f
+11 s
+2860(,)X
+2909(the)X
+3044(shared)X
+3300(memory)X
+3621(facility)X
+3899(that)X
+576 2900(is)N
+664(emulated)X
+1017(on)X
+1134(a)X
+1202(network)X
+1519(is)X
+1607(likely)X
+1837(to)X
+1934(be)X
+2045(the)X
+2181(cause)X
+2404(of)X
+2505(performance)X
+2977(degradation)X
+3421(if)X
+3503(used)X
+3692(unwisely.)X
+576 3012(However,)N
+948(as)X
+1050(has)X
+1196(been)X
+1391(pointed)X
+1685(out,)X
+1849(when)X
+2068(the)X
+2205(grainsize)X
+2552(of)X
+2654(sharing)X
+2943(memory)X
+3267(across)X
+3516(the)X
+3654(distributed)X
+576 3124(environment)N
+1058(is)X
+1152(relatively)X
+1521(large,)X
+1754(acceptable)X
+2161(ef\256ciency)X
+2543(levels)X
+2784(may)X
+2971(be)X
+3089(obtained;)X
+3453(and)X
+3615(the)X
+3758(bene\256ts)X
+576 3236(obtained)N
+920(by)X
+1048(the)X
+1196(shared)X
+1466(memory)X
+1801(abstraction)X
+2229(outweighs)X
+2632(the)X
+2781(small)X
+3014(performance)X
+3499(degradation.)X
+3978(It)X
+576 3348(should)N
+839(be)X
+950(noted)X
+1174(that)X
+1335(mutual)X
+1608(exclusion)X
+1973(and)X
+2127(barrier)X
+2388(synchronization)X
+2978(are)X
+3112(implemented)X
+3601(independent)X
+576 3460(of)N
+679(the)X
+817(shared)X
+1076(memory)X
+1400(mechanism)X
+1832(and)X
+1990(use)X
+2138(algorithms)X
+2547(that)X
+2711(are)X
+2849(known)X
+3119(to)X
+3219(be)X
+3333(ef\256cient)X
+3653(for)X
+3786(tens)X
+3959(of)X
+576 3572(processors)N
+968(on)X
+1078(local)X
+1272(networks.)X
+3 f
+576 3908(4.)N
+686(Preliminary)X
+1164(Results)X
+1 f
+776 4160(To)N
+910(facilitate)X
+1256(its)X
+1376(use)X
+1529(and)X
+1692(to)X
+1797(determine)X
+2186(its)X
+2306(effectiveness,)X
+2823(the)X
+3 f
+9 s
+2963(PVM)X
+1 f
+11 s
+3163(system)X
+3444(has)X
+3598(been)X
+3801(imple-)X
+576 4272(mented)N
+865(on)X
+982(a)X
+1050(variety)X
+1324(of)X
+1426(machines)X
+1788(including)X
+2151(Sun)X
+2316(3/50,)X
+2523(3/60)X
+2708(and)X
+2863(SparcStation1)X
+3386(workstations,)X
+3886(Vax)X
+576 4384(11/785)N
+854(and)X
+1014(Sun)X
+1184(4/280)X
+1418(servers,)X
+1721(a)X
+1793(64)X
+1914(node)X
+2119(Intel)X
+2315(iPSC/2)X
+2600(hypercube,)X
+3022(and)X
+3183(a)X
+3256(12)X
+3378(processor)X
+3748(Sequent)X
+576 4496(shared-memory)N
+1157(multiprocessor.)X
+1732(The)X
+1898(minimal)X
+2223(assumptions)X
+2688(made)X
+2908(regarding)X
+3274(the)X
+3411(underlying)X
+3821(facili-)X
+576 4608(ties)N
+725(available)X
+1070(greatly)X
+1341(simpli\256ed)X
+1721(the)X
+1855 0.2885(implementation)AX
+2437(efforts;)X
+2717(the)X
+2852(software)X
+3181(could)X
+3404(be)X
+3514(ported)X
+3766(\(from)X
+3993(a)X
+576 4720(base)N
+773(Sun)X
+951(3)X
+1036 0.2455(implementation\))AX
+1662(to)X
+1772(to)X
+1881(all)X
+2010(the)X
+2158(environments)X
+2678(with)X
+2875(changes)X
+3198(necessary)X
+3579(only)X
+3776(in)X
+3885(data)X
+576 4832(representation)N
+1105(and)X
+1262(conversion)X
+1678 0.3403(utilities.)AX
+1997(In)X
+2101(the)X
+2240 0.2679(implementation,)AX
+2849(the)X
+2 f
+2988(pvmd)X
+1 f
+3209(processes)X
+3576(run)X
+3724(indepen-)X
+576 4944(dently,)N
+844(while)X
+1065(the)X
+1198(user)X
+1369(level)X
+1566(routines)X
+1875(are)X
+2007(supplied)X
+2331(as)X
+2429(a)X
+2493(set)X
+2616(of)X
+2714(libraries)X
+3028(to)X
+3122(be)X
+3229(linked)X
+3474(in)X
+3567(with)X
+3748(applica-)X
+576 5056(tion)N
+739(components.)X
+1235(This)X
+1418(section)X
+1694(reports)X
+1964(on)X
+2078(observed)X
+2421(performance)X
+2891(\256gures)X
+3156(for)X
+3284(the)X
+3418(basic)X
+3 f
+9 s
+3621(PVM)X
+1 f
+11 s
+3811(primi-)X
+576 5168(tives)N
+772(and)X
+928(two)X
+1089(straightforward)X
+1660(applications;)X
+2141(in)X
+2239(the)X
+2376(next)X
+2556(section,)X
+2856(two)X
+3016(other)X
+3225(applications)X
+3680(that)X
+3841(make)X
+576 5280(extensive)N
+931(use)X
+1070(of)X
+1165(the)X
+1295(heterogeneous)X
+1825(facilities)X
+2152(are)X
+2281(described.)X
+
+17 p
+%%Page: 17 17
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(17)X
+2370(-)X
+3 f
+576 688(4.1.)N
+752(Basic)X
+975(Primitives)X
+1 f
+776 940(The)N
+945(ef\256ciency)X
+1324(of)X
+1429(user-level)X
+1808(data)X
+1987(transfer)X
+2287(is)X
+2378(perhaps)X
+2683(the)X
+2823(most)X
+3027(critical)X
+3305(aspect)X
+3557(of)X
+3662(any)X
+3821(distri-)X
+576 1052(buted)N
+804(computing)X
+1214(environment.)X
+1714(In)X
+1819(the)X
+3 f
+9 s
+1955(PVM)X
+1 f
+11 s
+2150(system,)X
+2448(low)X
+2611(latency)X
+2897(data)X
+3075(transfer)X
+3374(has)X
+3522(been)X
+3719(provided)X
+576 1164(without)N
+877(sacri\256cing)X
+1276(location)X
+1593(transparency,)X
+2096(and)X
+2255(a)X
+2326(datagram)X
+2686(protocol)X
+3012(is)X
+3103(used)X
+3296(so)X
+3406(that)X
+3571(overheads)X
+3959(of)X
+576 1276(more)N
+791(heavyweight)X
+1275(protocols)X
+1636(are)X
+1776(avoided.)X
+2110(It)X
+2197(is)X
+2289(anticipated)X
+2710(that)X
+2876(a)X
+2948(large)X
+3157(proportion)X
+3562(of)X
+3668(the)X
+3809(use)X
+3959(of)X
+3 f
+9 s
+576 1388(PVM)N
+1 f
+11 s
+764(will)X
+926(be)X
+1033(constrained)X
+1463(to)X
+1557(local)X
+1754(networks,)X
+2123(with)X
+2305(only)X
+2487(a)X
+2551(few)X
+2707(applications)X
+3159(wishing)X
+3463(to)X
+3557(execute)X
+3851(com-)X
+576 1500(ponents)N
+873(on)X
+984(geographically)X
+1531(distant)X
+1790(hosts.)X
+2016(The)X
+2176(protocols)X
+2527(used)X
+2711(by)X
+3 f
+9 s
+2818(PVM)X
+1 f
+11 s
+3004(therefore)X
+3343(incur)X
+3546(the)X
+3676(overheads)X
+576 1612(of)N
+679(retransmission)X
+1223(and)X
+1380(sequencing)X
+1806(only)X
+1993(when)X
+2213(the)X
+2352(underlying)X
+2765(network)X
+3084(quality)X
+3361(is)X
+3451(poor;)X
+3668(more)X
+3880(than)X
+576 1724(95%)N
+766(of)X
+868(local)X
+1069(network)X
+1386(communications)X
+1999(typically)X
+2337(succeed)X
+2643(on)X
+2759(the)X
+2895(\256rst)X
+3060(attempt.)X
+3376(Table)X
+3605(1)X
+3677(shows)X
+3924(the)X
+576 1836(message)N
+897(delivery)X
+1209(times)X
+1424(for)X
+1549(varying)X
+1841(message)X
+2162(sizes)X
+2356(under)X
+3 f
+9 s
+2575(PVM)X
+1 f
+11 s
+2763(between)X
+3080(two)X
+3236(Sun)X
+3397(3/50)X
+3578(systems)X
+3881(on)X
+3993(a)X
+576 1948(10)N
+695(MB/s)X
+922(Ethernet.)X
+1273(It)X
+1357(should)X
+1622(be)X
+1735(noted)X
+1961(that)X
+2124(these)X
+2335(\256gures)X
+2604(represent)X
+2956(elapsed)X
+3250(time)X
+3438(from)X
+3639(the)X
+3777(start)X
+3959(of)X
+576 2060(message)N
+906(transmission)X
+1384(to)X
+1486(the)X
+1627(receipt)X
+1900(of)X
+2006(positive)X
+2319(acknowledgment)X
+2954(and)X
+3114(are)X
+3254(averages)X
+3594(over)X
+3783(several)X
+576 2172(runs)N
+749(performed)X
+1137(under)X
+1359(varying)X
+1650(host)X
+1819(and)X
+1968(network)X
+2278(loads.)X
+10 f
+1022 2364(i)N
+1034(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1066 2476(Message)N
+1395(size)X
+1554(\(bytes\))X
+2033(8)X
+2334(128)X
+2679(256)X
+3024(512)X
+3347(1024)X
+10 f
+1022 2492(i)N
+1034(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1022 2508(i)N
+1034(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1066 2612(First)N
+1250(instance)X
+1949(15)X
+2059(ms)X
+2294(18)X
+2404(ms)X
+2639(22)X
+2749(ms)X
+2984(25)X
+3094(ms)X
+3329(30)X
+3439(ms)X
+10 f
+1022 2636(i)N
+1034(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1066 2748(Subsequent)N
+1494(instances)X
+1971(6)X
+2037(ms)X
+2316(8)X
+2382(ms)X
+2639(10)X
+2749(ms)X
+2984(12)X
+3094(ms)X
+3329(15)X
+3439(ms)X
+10 f
+1022 2772(i)N
+1034(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1022(c)X
+2716(c)Y
+2628(c)Y
+2540(c)Y
+2452(c)Y
+1883 2772(c)N
+2716(c)Y
+2628(c)Y
+2540(c)Y
+2452(c)Y
+2228 2772(c)N
+2716(c)Y
+2628(c)Y
+2540(c)Y
+2452(c)Y
+2573 2772(c)N
+2716(c)Y
+2628(c)Y
+2540(c)Y
+2452(c)Y
+2918 2772(c)N
+2716(c)Y
+2628(c)Y
+2540(c)Y
+2452(c)Y
+3263 2772(c)N
+2716(c)Y
+2628(c)Y
+2540(c)Y
+2452(c)Y
+3586 2772(c)N
+2716(c)Y
+2628(c)Y
+2540(c)Y
+2452(c)Y
+1 f
+1436 2932(Table)N
+1659(1)X
+1725(:)X
+1772(User)X
+1959(process)X
+2244(data)X
+2413(transfer)X
+2703(times)X
+2917(in)X
+3 f
+9 s
+3008(PVM)X
+1 f
+11 s
+576 3184(Broadcast,)N
+976(since)X
+1183(it)X
+1259(is)X
+1344(used)X
+1531(heavily)X
+1817(within)X
+3 f
+9 s
+2065(PVM)X
+1 f
+11 s
+2229(,)X
+2277(is)X
+2363(another)X
+2654(important)X
+3025(factor)X
+3257(in)X
+3353(the)X
+3488(performance)X
+3959(of)X
+576 3296(the)N
+708(system.)X
+999(It)X
+1077(was)X
+1237(observed)X
+1578(that)X
+1734(for)X
+1859(broadcast)X
+2219(among)X
+2 f
+2482(pvmd)X
+1 f
+2695(processes,)X
+3076(the)X
+3207(calculated)X
+3588(performance)X
+576 3408(of)N
+679(the)X
+817(recursive)X
+1169(doubling)X
+1513(algorithm)X
+1887(is)X
+1976(consistent)X
+2359(with)X
+2546(actual)X
+2788(behavior.)X
+3171(Acknowledged)X
+3734(message)X
+576 3520(transmission)N
+1057(on)X
+1180(a)X
+1254(single)X
+1500(branch)X
+1774(of)X
+1882(the)X
+2024(broadcast)X
+2395(spanning)X
+2747(tree)X
+2913(required)X
+3240(between)X
+3567(4)X
+3645(and)X
+3806(9)X
+3884(mil-)X
+576 3632(liseconds)N
+929(for)X
+1056(a)X
+1120(\(typical\))X
+1444(100-byte)X
+1782(message,)X
+2128(depending)X
+2521(upon)X
+2723(the)X
+2857(speed)X
+3083(and)X
+3236(load)X
+3414(on)X
+3528(the)X
+3662(processors)X
+576 3744(involved.)N
+969(This)X
+1166(translated)X
+1549(to)X
+1658(measured)X
+2034(\256gures)X
+2312(of)X
+2424(15,)X
+2573(28,)X
+2722(35,)X
+2871(and)X
+3037(50)X
+3164(milliseconds)X
+3650(for)X
+3791(typical)X
+576 3856(broadcasts)N
+979(to)X
+1080(3,)X
+1178(7,)X
+1276(15,)X
+1418(and)X
+1577(31)X
+1697(hosts)X
+1910(respectively.)X
+2412(For)X
+2566(user)X
+2744(process)X
+3039(broadcasts,)X
+3464(the)X
+3604(\256gures)X
+3876(vary)X
+576 3968(widely,)N
+866(owing)X
+1114(to)X
+1211(the)X
+1347(fact)X
+1507(that)X
+2 f
+1668(pvmd)X
+1 f
+1885(processes)X
+2248(deliver)X
+2520(broadcasts)X
+2918(sequentially)X
+3372(to)X
+3468(local)X
+3667(recipients.)X
+576 4080(Thus,)N
+799(if)X
+878(a)X
+942(large)X
+1143(percentage)X
+1549(of)X
+1648(the)X
+1782(user)X
+1954(process)X
+2243(broadcast)X
+2606(group)X
+2837(were)X
+3033(physically)X
+3422(executing)X
+3791(on)X
+3905(one)X
+576 4192(host,)N
+773(the)X
+909(sequential)X
+1295(delivery)X
+1612(time)X
+1798(for)X
+1928(that)X
+2089(host)X
+2264(would)X
+2512(dominate)X
+2869(the)X
+3004(total)X
+3189(broadcast)X
+3553(time.)X
+3760(Table)X
+3988(2)X
+576 4304(shows)N
+835(typical)X
+1116(time)X
+1314(requirements)X
+1814(for)X
+1956(user)X
+2142(broadcast,)X
+2541(under)X
+2781(the)X
+2929(assumption)X
+3372(that)X
+3546(the)X
+3695(broadcast)X
+576 4416(groups)N
+837(are)X
+966(evenly)X
+1223(distributed)X
+1623(among)X
+1885(participating)X
+2354(hosts.)X
+776 4808(For)N
+926(access)X
+1179(to)X
+1277(shared)X
+1535(memory)X
+1858(segments,)X
+3 f
+9 s
+2233(PVM)X
+1 f
+11 s
+2426(performance)X
+2899(was)X
+3064(good,)X
+3291(although)X
+3629(the)X
+3766(timings)X
+576 4920(varied)N
+823(signi\256cantly,)X
+1309(depending)X
+1703(upon)X
+1906(the)X
+2041(number)X
+2337(of)X
+2437(active)X
+2 f
+2675(pvmd)X
+1 f
+2891(processes)X
+3253(as)X
+3352(well)X
+3530(as)X
+3629(the)X
+3763(number)X
+576 5032(of)N
+681(con\257icting)X
+1091(requests.)X
+1433(It)X
+1519(was)X
+1687(empirically)X
+2122(determined)X
+2551(that)X
+2716(the)X
+2856(average)X
+3161(time)X
+3351(to)X
+3452(access)X
+3708(emulated)X
+576 5144(shared)N
+827(memory)X
+1143(could)X
+1361(be)X
+1466(expressed)X
+1834(as)X
+2 f
+796 5368(Time)N
+8 s
+5385(ms)Y
+1 f
+11 s
+2 f
+9 f
+1072 5368(=)N
+1 f
+1142(12)X
+2 f
+9 f
+1252(\264)X
+1 f
+2 f
+1322(#)X
+1 f
+2 f
+1395(of)X
+1 f
+2 f
+1493(pvmd)X
+1 f
+2 f
+1712(processes)X
+1 f
+2 f
+9 f
+2082(+)X
+1 f
+2152(0.04)X
+2 f
+9 f
+2328(\264)X
+1 f
+2 f
+2398(segment_size)X
+8 s
+2862 5385(bytes)N
+1 f
+11 s
+576 5620(for)N
+705(shared)X
+961(memory)X
+1282(segments)X
+1637(of)X
+1737(size)X
+1901(256)X
+2060(bytes)X
+2274(and)X
+2429(larger.)X
+2684(the)X
+2820(\256rst)X
+2985(term)X
+3175(in)X
+3272(the)X
+3408(expression)X
+3812(is)X
+3899(that)X
+576 5732(required)N
+894(for)X
+1021(locking)X
+1311(the)X
+1444(segment,)X
+1785(this)X
+1938(term)X
+2125(is)X
+2209(dominant)X
+2568(and)X
+2720(increases)X
+3067(with)X
+3249(the)X
+3381(number)X
+3674(of)X
+3771(distinct)X
+576 5844(participating)N
+1048(processors.)X
+1465(An)X
+1597(alternative)X
+1996(mutual)X
+2268(exclusion)X
+2632(algorithm)X
+3002(that)X
+3161(reduced)X
+3465(the)X
+3599(effect)X
+3825(of)X
+3924(the)X
+
+18 p
+%%Page: 18 18
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(18)X
+2370(-)X
+10 f
+890 656(i)N
+901(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1007 768(No.)N
+1158(of)X
+1492(No.)X
+1643(of)X
+2422(Message)X
+2751(size)X
+2910(\(bytes\))X
+934 880(processors)N
+1436(processes)X
+1988(8)X
+2311(128)X
+2700(256)X
+3089(512)X
+3456(1024)X
+10 f
+890 896(i)N
+901(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+890 912(i)N
+901(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1119 1016(4)N
+1604(4)X
+1904(18)X
+2014(ms)X
+2293(22)X
+2403(ms)X
+2682(26)X
+2792(ms)X
+3071(30)X
+3181(ms)X
+3460(35)X
+3570(ms)X
+10 f
+890 1040(i)N
+901(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1119 1152(4)N
+1604(8)X
+1904(21)X
+2014(ms)X
+2293(26)X
+2403(ms)X
+2682(30)X
+2792(ms)X
+3071(35)X
+3181(ms)X
+3460(41)X
+3570(ms)X
+10 f
+890 1176(i)N
+901(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1119 1288(8)N
+1604(8)X
+1904(39)X
+2014(ms)X
+2293(48)X
+2403(ms)X
+2682(60)X
+2792(ms)X
+3071(75)X
+3181(ms)X
+3460(90)X
+3570(ms)X
+10 f
+890 1312(i)N
+901(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1119 1424(8)N
+1560(16)X
+1904(47)X
+2014(ms)X
+2293(57)X
+2403(ms)X
+2682(70)X
+2792(ms)X
+3071(86)X
+3181(ms)X
+3416(105)X
+3570(ms)X
+10 f
+890 1448(i)N
+901(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1075 1560(16)N
+1560(16)X
+1904(65)X
+2014(ms)X
+2293(76)X
+2403(ms)X
+2682(91)X
+2792(ms)X
+3027(110)X
+3181(ms)X
+3416(130)X
+3570(ms)X
+10 f
+890 1584(i)N
+901(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1075 1696(16)N
+1560(32)X
+1904(95)X
+2014(ms)X
+2249(110)X
+2403(ms)X
+2638(125)X
+2792(ms)X
+3027(145)X
+3181(ms)X
+3416(180)X
+3570(ms)X
+10 f
+890 1720(i)N
+901(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+890(c)X
+1712(c)Y
+1624(c)Y
+1536(c)Y
+1448(c)Y
+1360(c)Y
+1272(c)Y
+1184(c)Y
+1096(c)Y
+1008(c)Y
+920(c)Y
+832(c)Y
+744(c)Y
+1370 1720(c)N
+1712(c)Y
+1624(c)Y
+1536(c)Y
+1448(c)Y
+1360(c)Y
+1272(c)Y
+1184(c)Y
+1096(c)Y
+1008(c)Y
+920(c)Y
+832(c)Y
+744(c)Y
+1838 1720(c)N
+1712(c)Y
+1624(c)Y
+1536(c)Y
+1448(c)Y
+1360(c)Y
+1272(c)Y
+1184(c)Y
+1096(c)Y
+1008(c)Y
+920(c)Y
+832(c)Y
+744(c)Y
+2183 1720(c)N
+1704(c)Y
+1616(c)Y
+1528(c)Y
+1440(c)Y
+1352(c)Y
+1264(c)Y
+1176(c)Y
+1088(c)Y
+1000(c)Y
+2572 1720(c)N
+1704(c)Y
+1616(c)Y
+1528(c)Y
+1440(c)Y
+1352(c)Y
+1264(c)Y
+1176(c)Y
+1088(c)Y
+1000(c)Y
+2961 1720(c)N
+1704(c)Y
+1616(c)Y
+1528(c)Y
+1440(c)Y
+1352(c)Y
+1264(c)Y
+1176(c)Y
+1088(c)Y
+1000(c)Y
+3350 1720(c)N
+1704(c)Y
+1616(c)Y
+1528(c)Y
+1440(c)Y
+1352(c)Y
+1264(c)Y
+1176(c)Y
+1088(c)Y
+1000(c)Y
+3717 1720(c)N
+1712(c)Y
+1624(c)Y
+1536(c)Y
+1448(c)Y
+1360(c)Y
+1272(c)Y
+1184(c)Y
+1096(c)Y
+1008(c)Y
+920(c)Y
+832(c)Y
+744(c)Y
+1 f
+1449 1880(Table)N
+1672(2)X
+1738(:)X
+1785(User)X
+1972(process)X
+2257(broadcast)X
+2616(timings)X
+2904(in)X
+3 f
+9 s
+2995(PVM)X
+1 f
+11 s
+576 2104(\256rst)N
+739(term)X
+927(by)X
+1041(about)X
+1263(40%)X
+1450(is)X
+1535(available)X
+1880(and)X
+2033(may)X
+2211(be)X
+2320(used,)X
+2529(but)X
+2668(the)X
+2803(failure)X
+3060(resilience)X
+3425(properties)X
+3804(of)X
+3904(this)X
+576 2216(protocol)N
+892(are)X
+1021(considered)X
+1424(inadequate.)X
+776 2468(Owing)N
+1037(to)X
+1129(the)X
+1260(manner)X
+1547(in)X
+1639(which)X
+1877(process)X
+2163 0.3681(initiation)AX
+2507(and)X
+2657(mutual)X
+2926(exclusion)X
+3287(are)X
+3417(implemented,)X
+3924(the)X
+576 2580(time)N
+759(taken)X
+975(for)X
+1101(these)X
+1306(operations)X
+1697(are)X
+1828(almost)X
+2088(identical)X
+2417(to)X
+2510(that)X
+2667(for)X
+2793(100-byte)X
+3130(broadcasts)X
+3525(between)X
+2 f
+3842(pvmd)X
+1 f
+576 2692(processes.)N
+978(For)X
+1122(barrier)X
+1378(synchronization,)X
+1985(it)X
+2057(was)X
+2216(once)X
+2405(again)X
+2619(observed)X
+2959(that)X
+3115(the)X
+3246(sequential)X
+3627(handling)X
+3959(of)X
+576 2804(component)N
+992(instances)X
+1339(on)X
+1451(a)X
+1514(local)X
+1710(processor)X
+2069(could)X
+2288(be)X
+2394(dominant,)X
+2773(if)X
+2850(there)X
+3049(were)X
+3242(a)X
+3304(large)X
+3503(number)X
+3795(of)X
+3891(par-)X
+576 2916(ticipants)N
+912(on)X
+1036(any)X
+1199(one)X
+1362(machine.)X
+1720(To)X
+1855(measure)X
+2185(the)X
+2330(performance)X
+2811(of)X
+2921(the)X
+3066(barrier)X
+3 f
+9 s
+3333(PVM)X
+1 f
+11 s
+3534(primitive)X
+3896(was)X
+576 3028(tested)N
+805(using)X
+1019(a)X
+1081(sample)X
+1354(application)X
+1770(that)X
+1926(invoked)X
+2232(the)X
+3 f
+2362(barrier)X
+1 f
+2658(construct)X
+3003(twice)X
+3216(consecutively,)X
+3745(with)X
+3924(the)X
+576 3140(second)N
+842(invocation)X
+1237(being)X
+1455(timed.)X
+1701(Shown)X
+1967(in)X
+2058(Table)X
+2281(3)X
+2347(are)X
+2476(the)X
+2606(observed)X
+2945(measurements.)X
+10 f
+1638 3332(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1755 3444(No.)N
+1906(of)X
+2240(No.)X
+2391(of)X
+2695(Time)X
+1682 3556(processors)N
+2184(processes)X
+2652(\(msecs\))X
+10 f
+1638 3572(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1638 3588(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1867 3692(4)N
+2352(4)X
+2766(24)X
+10 f
+1638 3716(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1867 3828(4)N
+2352(8)X
+2766(58)X
+10 f
+1638 3852(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1867 3964(8)N
+2352(8)X
+2766(55)X
+10 f
+1638 3988(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1867 4100(8)N
+2308(16)X
+2722(120)X
+10 f
+1638 4124(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1823 4236(16)N
+2308(16)X
+2722(120)X
+10 f
+1638 4260(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1823 4372(16)N
+2308(32)X
+2722(270)X
+10 f
+1638 4396(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1823 4508(32)N
+2308(32)X
+2722(268)X
+10 f
+1638 4532(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1823 4644(32)N
+2308(64)X
+2722(605)X
+10 f
+1638 4668(i)N
+1649(iiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1638(c)X
+4652(c)Y
+4564(c)Y
+4476(c)Y
+4388(c)Y
+4300(c)Y
+4212(c)Y
+4124(c)Y
+4036(c)Y
+3948(c)Y
+3860(c)Y
+3772(c)Y
+3684(c)Y
+3596(c)Y
+3508(c)Y
+3420(c)Y
+2118 4668(c)N
+4652(c)Y
+4564(c)Y
+4476(c)Y
+4388(c)Y
+4300(c)Y
+4212(c)Y
+4124(c)Y
+4036(c)Y
+3948(c)Y
+3860(c)Y
+3772(c)Y
+3684(c)Y
+3596(c)Y
+3508(c)Y
+3420(c)Y
+2586 4668(c)N
+4652(c)Y
+4564(c)Y
+4476(c)Y
+4388(c)Y
+4300(c)Y
+4212(c)Y
+4124(c)Y
+4036(c)Y
+3948(c)Y
+3860(c)Y
+3772(c)Y
+3684(c)Y
+3596(c)Y
+3508(c)Y
+3420(c)Y
+2969 4668(c)N
+4652(c)Y
+4564(c)Y
+4476(c)Y
+4388(c)Y
+4300(c)Y
+4212(c)Y
+4124(c)Y
+4036(c)Y
+3948(c)Y
+3860(c)Y
+3772(c)Y
+3684(c)Y
+3596(c)Y
+3508(c)Y
+3420(c)Y
+1 f
+1436 4828(Table)N
+1659(3)X
+1725(:)X
+1772(Barrier)X
+2043(synchronization)X
+2628(timings)X
+2916(in)X
+3 f
+9 s
+3007(PVM)X
+11 s
+576 5276(4.2.)N
+752(Example)X
+1107(Applications)X
+1 f
+776 5416(In)N
+871(order)X
+1078(to)X
+1169(compare)X
+1494(the)X
+1624(relative)X
+1912(performance)X
+2379(of)X
+2475(the)X
+3 f
+9 s
+2602(PVM)X
+1 f
+11 s
+2789(system)X
+3057(to)X
+3149(existing)X
+3452(multiprocessors,)X
+576 5528(two)N
+733(existing)X
+1038(parallel)X
+1328(codes)X
+1553(were)X
+1748(ported)X
+1998(to)X
+2092(run)X
+2234(on)X
+2347(the)X
+2480(system.)X
+2772(These)X
+3006(two)X
+3162(applications)X
+3613(were)X
+3807(ported)X
+576 5640(without)N
+881(any)X
+1043(changes)X
+1361(to)X
+1466(the)X
+1610(algorithm)X
+1990(itself,)X
+2225(and)X
+2388(were)X
+2594(executed)X
+2943(under)X
+3 f
+9 s
+3175(PVM)X
+1 f
+11 s
+3375(on)X
+3499(a)X
+3574(collection)X
+3959(of)X
+576 5752(homogeneous)N
+1092(machines.)X
+1474(The)X
+1638(\256rst)X
+1802(application)X
+2222(was)X
+2385(numerical)X
+2764(integration)X
+3173(using)X
+3390(the)X
+3524(rectangle)X
+3873(rule.)X
+576 5864(The)N
+736(results)X
+989(from)X
+1184(this)X
+1336(experiment)X
+1757(were)X
+1951(uninterestingly)X
+2505(predictable;)X
+2946(on)X
+3 f
+9 s
+3054(PVM)X
+1 f
+11 s
+3218(,)X
+3264(scaling)X
+3538(in)X
+3631(the)X
+3763(number)X
+
+19 p
+%%Page: 19 19
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(19)X
+2370(-)X
+576 688(of)N
+673(processors)X
+1067(or)X
+1164(the)X
+1296(number)X
+1589(of)X
+1686(rectangles)X
+2067(resulted)X
+2370(in)X
+2462(a)X
+2524(linear)X
+2748(performance)X
+3215(increase.)X
+3570(Furthermore,)X
+576 800(the)N
+709(performance)X
+1178(ratio)X
+1365(between)X
+3 f
+9 s
+1679(PVM)X
+1 f
+11 s
+1868(and)X
+2020(the)X
+2153(iPSC/2)X
+2429(multiprocessor)X
+2978(for)X
+3105(this)X
+3258(problem)X
+3577(was)X
+3738(constant)X
+576 912(\320)N
+689(and)X
+840(consistent)X
+1217(with)X
+1398(the)X
+1530(inherent)X
+1843(processor)X
+2203(speed)X
+2427(differences.)X
+2863(The)X
+3024(second)X
+3292(application)X
+3709(is)X
+3792(Chole-)X
+576 1024(sky)N
+724(matrix)X
+981(factorization)X
+1453([16])X
+1625(\320)X
+1739(an)X
+1848(application)X
+2267(that)X
+2426(has)X
+2569(a)X
+2634(relatively)X
+2994(high)X
+3178(communication)X
+3755(to)X
+3851(com-)X
+576 1136(putation)N
+896(ratio.)X
+1132(Table)X
+1363(4)X
+1437(shows)X
+1686(the)X
+1824(elapsed)X
+2118(times)X
+2340(for)X
+2472(this)X
+2630(problem)X
+2954(run)X
+3101(on)X
+3219(a)X
+3288(network)X
+3606(of)X
+3709(Sun)X
+3875(3/50)X
+576 1248(machines)N
+952(for)X
+1098(varying)X
+1411(problem)X
+1749(sizes.)X
+1986(Shown)X
+2274(in)X
+2387(parentheses)X
+2841(adjacent)X
+3179(to)X
+3292(each)X
+3497(timing)X
+3773(are)X
+3924(the)X
+576 1360(corresponding)N
+1106(times)X
+1325(for)X
+1454(running)X
+1755(the)X
+1890(same)X
+2098(program)X
+2423(on)X
+2538(an)X
+2648(Intel)X
+2837(iPSC/2)X
+3115(hypercube.)X
+3530(In)X
+3629(this)X
+3783(experi-)X
+576 1472(ment,)N
+808(no)X
+929(attempt)X
+1228(was)X
+1397(made)X
+1621(to)X
+1723(place)X
+1942(more)X
+2156(than)X
+2341(one)X
+2501(component)X
+2926(process)X
+3223(on)X
+3345(a)X
+3418(host;)X
+3624(however,)X
+3982(it)X
+576 1584(should)N
+838(be)X
+948(noted)X
+1171(that)X
+1331(each)X
+1519(participating)X
+1993(host)X
+2167(was)X
+2330(also)X
+2499(being)X
+2722(used)X
+2910(simultaneously)X
+3472(for)X
+3601(general)X
+3886(pur-)X
+576 1696(pose)N
+759(editing,)X
+1049(compilation,)X
+1516(and)X
+1665(other)X
+1868(normal)X
+2140(workstation)X
+2578(activities.)X
+10 f
+936 1888(i)N
+944(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1053 2000(No.)N
+1204(of)X
+2005(Problem)X
+2326(size)X
+2485(\(Order)X
+2740(of)X
+2835(Matrix\))X
+980 2112(processors)N
+1610(100)X
+2119(200)X
+2661(500)X
+3269(1000)X
+10 f
+936 2128(i)N
+944(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+936 2144(i)N
+944(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1165 2248(2)N
+1526(6)X
+1702(\(2\))X
+2002(35)X
+2222(\(30\))X
+2500(260)X
+2764(\(245\))X
+3086(1950)X
+3394(\(1923\))X
+10 f
+936 2272(i)N
+944(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1165 2384(4)N
+1526(7)X
+1702(\(2\))X
+2002(22)X
+2222(\(16\))X
+2500(130)X
+2764(\(120\))X
+3130(990)X
+3438(\(970\))X
+10 f
+936 2408(i)N
+944(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1165 2520(8)N
+1526(9)X
+1702(\(1.5\))X
+2002(17)X
+2266(\(9\))X
+2544(75)X
+2808(\(64\))X
+3130(610)X
+3438(\(490\))X
+10 f
+936 2544(i)N
+944(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+1 f
+1121 2656(16)N
+1482(14)X
+1702(\(1\))X
+2002(12)X
+2266(\(6\))X
+2544(46)X
+2808(\(34\))X
+3130(342)X
+3438(\(255\))X
+10 f
+936 2680(i)N
+944(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)X
+936(c)X
+2592(c)Y
+2504(c)Y
+2416(c)Y
+2328(c)Y
+2240(c)Y
+2152(c)Y
+2064(c)Y
+1976(c)Y
+1416 2680(c)N
+2592(c)Y
+2504(c)Y
+2416(c)Y
+2328(c)Y
+2240(c)Y
+2152(c)Y
+2064(c)Y
+1976(c)Y
+1936 2680(c)N
+2672(c)Y
+2584(c)Y
+2496(c)Y
+2408(c)Y
+2320(c)Y
+2232(c)Y
+2434 2680(c)N
+2672(c)Y
+2584(c)Y
+2496(c)Y
+2408(c)Y
+2320(c)Y
+2232(c)Y
+3020 2680(c)N
+2672(c)Y
+2584(c)Y
+2496(c)Y
+2408(c)Y
+2320(c)Y
+2232(c)Y
+3672 2680(c)N
+2592(c)Y
+2504(c)Y
+2416(c)Y
+2328(c)Y
+2240(c)Y
+2152(c)Y
+2064(c)Y
+1976(c)Y
+1 f
+1327 2840(Table)N
+1550(4)X
+1616(:)X
+1663(Times)X
+1906(\(in)X
+2026(seconds\))X
+2355(for)X
+2479(Cholesky)X
+2834(factorization)X
+776 3204(The)N
+941(anomaly)X
+1273(apparent)X
+1605(in)X
+1703(the)X
+1840(\256rst)X
+2006(column)X
+2300(of)X
+2402(Table)X
+2632(4)X
+2705(was)X
+2870(traced)X
+3114(down)X
+3338(to)X
+3436(the)X
+3573(nature)X
+3822(of)X
+3924(the)X
+576 3316(Cholesky)N
+935(algorithm)X
+1305(\320)X
+1419(for)X
+1547(a)X
+1612(small)X
+1830(matrix,)X
+2109(the)X
+2243(simultaneous)X
+2735(broadcasts)X
+3132(of)X
+3230(every)X
+3450(process's)X
+3801(matrix)X
+576 3428(column)N
+877(to)X
+983(a)X
+1059(\(relatively\))X
+1488(large)X
+1701(number)X
+2007(of)X
+2117(processors)X
+2524(resulted)X
+2840(in)X
+2946(a)X
+3022(high)X
+3216(percentage)X
+3634(of)X
+3744(dropped)X
+576 3540(packets,)N
+889(leading)X
+1176(to)X
+1272(retransmissions)X
+1846(and)X
+1999(elapsed)X
+2289(timeouts.)X
+2642(For)X
+2790(larger)X
+3021(problems)X
+3375(however,)X
+3725(it)X
+3801(can)X
+3949(be)X
+576 3652(seen)N
+760(that)X
+921(the)X
+1057(performance)X
+1529(of)X
+3 f
+9 s
+1626(PVM)X
+1 f
+11 s
+1818(is)X
+1905(acceptable)X
+2305(at)X
+2397(the)X
+2533(least,)X
+2745(considering)X
+3184(that)X
+3346(the)X
+3483(application)X
+3905(is)X
+3993(a)X
+576 3764(substantially)N
+1051(communication)X
+1629(oriented)X
+1945(one)X
+2099(and)X
+2253(that)X
+2413(general)X
+2699(purpose)X
+3004(machines)X
+3364(on)X
+3479(a)X
+3545(local)X
+3744(network)X
+576 3876(were)N
+775(used.)X
+987(It)X
+1070(should)X
+1334(also)X
+1505(be)X
+1617(pointed)X
+1911(out)X
+2053(that)X
+2215(these)X
+2426(\256gures)X
+2695(are)X
+2832(2)X
+2906(to)X
+3005(4)X
+3079(times)X
+3301(better)X
+3532(than)X
+3714(those)X
+3930(for)X
+576 3988(other)N
+787(distributed)X
+1194(multiprocessor)X
+1747(simulators)X
+2144(such)X
+2334(as)X
+2436(dsim[5].)X
+2783(Furthermore,)X
+3274(the)X
+3411(factorization)X
+3886(pro-)X
+576 4100(gram)N
+794(was)X
+967(built)X
+1167(for)X
+1307(performance)X
+1789(measurement)X
+2297(purposes)X
+2647(and)X
+2812(therefore)X
+3167(internally)X
+3544(generated)X
+3924(the)X
+576 4212(matrix)N
+858(elements)X
+1223(and)X
+1401(did)X
+1565(not)X
+1729(output)X
+2006(the)X
+2165(factorized)X
+2568(results.)X
+2871(Given)X
+3137(the)X
+3295(usual)X
+3531(dif\256culty)X
+3905(and)X
+576 4324(inef\256ciencies)N
+1074(in)X
+1172(I/O)X
+1318(from)X
+1518(within)X
+1773(the)X
+1910(nodes)X
+2144(in)X
+2242(a)X
+2310(distributed)X
+2717(memory)X
+3040(machine,)X
+3390(it)X
+3469(is)X
+3557(expected)X
+3899(that)X
+3 f
+9 s
+576 4436(PVM)N
+1 f
+11 s
+785(will)X
+968(compare)X
+1316(much)X
+1557(more)X
+1783(favorably)X
+2164(against)X
+2458(hardware)X
+2828(multiprocessors)X
+3430(when)X
+3664(signi\256cant)X
+576 4548(amounts)N
+897(of)X
+992(I/O)X
+1131(are)X
+1260(performed.)X
+3 f
+576 4884(5.)N
+686(Application)X
+1149(Experiences)X
+1 f
+776 5136(The)N
+3 f
+9 s
+937(PVM)X
+1 f
+11 s
+1129(system)X
+1402(has)X
+1547(evolved)X
+1854(and)X
+2009(has)X
+2154(been)X
+2348(in)X
+2445 0.3182(intermittent)AX
+2887(use)X
+3033(for)X
+3164(the)X
+3301(past)X
+3472(several)X
+3750(months,)X
+576 5248(and)N
+730(enhancements)X
+1256(are)X
+1390(still)X
+1551(ongoing.)X
+1889(Several)X
+2180(application)X
+2599(codes)X
+2825(have)X
+3017(been)X
+3209(ported)X
+3460(to)X
+3555(run)X
+3698(under)X
+3924(the)X
+3 f
+9 s
+576 5360(PVM)N
+1 f
+11 s
+762(environment;)X
+1255(in)X
+1346(this)X
+1496(section,)X
+1790(two)X
+1944(applications)X
+2393(that)X
+2549(make)X
+2763(extensive)X
+3119(use)X
+3259(of)X
+3355(the)X
+3486(system)X
+3754(features)X
+576 5472(are)N
+705(described.)X
+
+20 p
+%%Page: 20 20
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(20)X
+2370(-)X
+3 f
+576 688(5.1.)N
+752(Block)X
+990(Matrix)X
+1276(Multiplication)X
+1 f
+776 940(Matrix)N
+1046 0.3365(multiplication)AX
+1574(is)X
+1663(a)X
+1732(compute)X
+2066(intensive)X
+2415(application)X
+2838(that)X
+3001(is)X
+3091(amenable)X
+3460(to)X
+3560(parallel)X
+3856(solu-)X
+576 1052(tion.)N
+767(On)X
+905(shared)X
+1165(memory)X
+1489(multiprocessors,)X
+2099(prescheduling)X
+2623(algorithms)X
+3031(work)X
+3241(well)X
+3423(and)X
+3580(exhibit)X
+3856(good)X
+576 1164(speedup)N
+901(characteristics)X
+1442(with)X
+1636(an)X
+1756(increase)X
+2081(in)X
+2187(the)X
+2332(number)X
+2638(of)X
+2748(processors.)X
+3177(On)X
+3322(distributed)X
+3738(memory)X
+576 1276(machines,)N
+957(matrices)X
+1282(are)X
+1415(decomposed)X
+1881(into)X
+2045(subblocks)X
+2423(and)X
+2576 0.3875(multiplied;)AX
+2992(and)X
+3144(a)X
+3208(regular)X
+3482(communication)X
+576 1388(pattern)N
+855(between)X
+1182(the)X
+1324(processing)X
+1734(elements)X
+2082(helps)X
+2302(minimize)X
+2671(the)X
+2814(overheads.)X
+3227(A)X
+3325(detailed)X
+3640(description)X
+576 1500(and)N
+725(analysis)X
+1031(of)X
+1126(block)X
+1344(matrix)X
+1597 0.3365(multiplication)AX
+2117(on)X
+2227(hypercube)X
+2615(architectures)X
+3087(may)X
+3261(be)X
+3366(found)X
+3593(in)X
+3684([18].)X
+776 1752(A)N
+870(modi\256ed)X
+1215(version)X
+1505(of)X
+1609(the)X
+1748(block)X
+1975(matrix)X
+2237 0.3365(multiplication)AX
+2766(algorithm)X
+3142(was)X
+3310(implemented)X
+3804(on)X
+3924(the)X
+3 f
+9 s
+576 1864(PVM)N
+1 f
+11 s
+768(system)X
+1041(and)X
+1196(executed)X
+1537(on)X
+1653(various)X
+1940(hardware)X
+2294(combinations.)X
+2820(The)X
+2985(modi\256cation)X
+3460(was)X
+3624(with)X
+3808(regard)X
+576 1976(to)N
+672(subblock)X
+1017(decomposition;)X
+1590(when)X
+1808(the)X
+1944(individual)X
+2331(processors)X
+2729(differ)X
+2952(widely)X
+3220(in)X
+3317(computing)X
+3723(capabili-)X
+576 2088(ties,)N
+752(equal)X
+974(sized)X
+1186(subblocks)X
+1569(lead)X
+1746(to)X
+1845(severe)X
+2099(load)X
+2281(imbalances)X
+2708(and)X
+2865(result)X
+3091(in)X
+3190(signi\256cant)X
+3588(performance)X
+576 2200(degradation.)N
+1040(To)X
+1164(overcome)X
+1538(this,)X
+1715(the)X
+1850(matrices)X
+2176(to)X
+2272(be)X
+2382 0.3681(multiplied)AX
+2774(were)X
+2971(viewed)X
+3252(as)X
+3352(being)X
+3575(composed)X
+3959(of)X
+576 2312(small,)N
+814(equal)X
+1029(sized)X
+1234(subblocks)X
+1610(\320)X
+1722(with)X
+1903(individual)X
+2286(processors)X
+2680(taking)X
+2924(responsibility)X
+3428(for)X
+2 f
+3553(collections)X
+1 f
+3959(of)X
+576 2424(subblocks)N
+965(at)X
+1066(a)X
+1142(time,)X
+1359(the)X
+1504(size)X
+1678(of)X
+1789(the)X
+1935(collections)X
+2356(being)X
+2590(determined)X
+3025(by)X
+3151(their)X
+3351(relative)X
+3654(computing)X
+576 2536(power.)N
+852(In)X
+960(other)X
+1176(words,)X
+1447(the)X
+1590(algorithm)X
+1969(was)X
+2140(expressed)X
+2521(using)X
+2747(the)X
+2890("bag)X
+3087(of)X
+3194(tasks")X
+3440(approach,)X
+3818(where)X
+576 2648(each)N
+783(task)X
+971(is)X
+1076(individual)X
+1481(subblock)X
+1846 0.3125(multiplication.)AX
+2413(However,)X
+2803(each)X
+3011(worker)X
+3306(process)X
+3616(extracts,)X
+3959(or)X
+576 2760(assumes)N
+893(responsibility)X
+1398(for,)X
+1546(a)X
+1609(number)X
+1902(of)X
+1999(tasks)X
+2199(at)X
+2287(a)X
+2350(time)X
+2531(to)X
+2623(reduce)X
+2880(synchronization)X
+3466(and)X
+3616(cooperation)X
+576 2872(overheads.)N
+576 3012 MXY
+3672
+2966
+0.00
+0.00
+459.00
+370.80
+startFig
+%!
+%%%Creator: vss@mathsund (V.S.Sunderam,216 Fishburne,7275926,2974135)
+%%%Title: fig7 (xpic)
+%%%CreationDate: Fri Mar 23 13:10:10 1990
+%%%Pages: 1
+%%%BoundingBox: 0 0 459 370.8
+%% (in inches) at 0 0, width 6.375, height 5.15
+%%%EndComments
+%% Prolog for xpic to PostScript converter
+%% Author: Mark Moraes
+%% $Header: x2ps.pro,v 1.2 88/03/19 16:50:09 moraes Exp
+%% %d D - change style SOLID, DOTTED, SHORT-DASH, LONG-DASH, DOT-DASH
+%% %s F - change font to fontname
+%% %d S - change size (font size in points)
+%% (%s) rj %d t - text right just. (%d is TOPLINE, MIDLINE, BOTLINE)
+%% (%s) lj %d t - text left just. (%d is TOPLINE, MIDLINE, BOTLINE)
+%% (%s) ce %d t - text centered (%d is TOPLINE, MIDLINE, BOTLINE)
+%% %d %d l - lineto
+%% %d %d m - moveto
+%% %d %d s - spline segment
+%% x - flush line, spline
+%% <wid> <ht> <x> <y> b - box
+%% <wid> <ht> <x> <y> e - ellipse
+%% %d ss - setscale
+%% %d W - change linewidth
+%% getpagesize - gets the values of PAGEHEIGHT and PAGEWIDTH
+%% %d %d flip - translate by %d, PAGEHEIGHT - %d (this
+%% transforms to X windows coordinates)
+save 50 dict begin /xpic exch def
+/StartXpic {newpath 0 0 moveto [] 0 setdash 0 setgray 1 setlinecap} def
+%% Set defaults
+/fontname /Times-Roman def
+/ptsize 12 def
+%% halign has the values for MIDLINE, TOPLINE, BOTLINE
+/halign 3 array def
+/s {rcurveto} def
+/x {stroke} def
+/l {lineto} def
+/m {moveto} def
+/b {
+ /ury exch def /urx exch def /lly exch def /llx exch def
+ llx lly moveto urx lly lineto urx ury lineto
+ llx ury lineto llx lly lineto stroke
+} def
+/mtrx matrix def
+/e {
+ /yc exch def /xc exch def /yrad exch def /xrad exch def
+ xc xrad add yc moveto
+ /savematrix mtrx currentmatrix def
+ xc yc translate
+ xrad yrad scale
+ 0 0 1 0 360 arc
+ savematrix setmatrix stroke
+} def
+%% The next three take the text string, and moveto the right horiz. position
+%% leaving the string on the stack.
+/lj {} def
+/rj {dup stringwidth pop neg 0 rmoveto} def
+/ce {dup stringwidth pop 2 div neg 0 rmoveto} def
+%% And this is invoked after one of the three above, and
+%% computes the vert. pos, and then displays the string.
+/t {halign exch get 0 exch rmoveto show newpath} def
+%% Store an array of patterns in /styles - a pattern is an array consisting
+%% of an array and an offset. Corresp to xpic patterns
+%% solid, dotted, short-dashed, long-dashed, dot-dashed
+/styles [ [] 0 ] [ [1 3] 0 ] [ [4 4] 0 ] [ [8 4] 0 ] [ [1 4 4 4] 0 ]
+ 5 array astore def
+%% change style to arg.
+/D {stroke styles exch get aload pop setdash newpath} def
+/W {stroke 0.5 mul setlinewidth newpath} def
+%% fontbox takes a fontname off the stack, and returns an array
+%% containing the values of the bottom line of the bounding box, the
+%% mid line of the bounding box, and the top line of the bounding box
+%% of that font, taken from the baseline, scaled to a font of size 1
+/fontbox {
+ findfont dup /FontMatrix get /fm exch def /FontBBox get aload pop
+ /ytop exch def pop /ybot exch def pop
+ /ymid ytop ybot sub 2 div def
+ 0 ybot fm dtransform exch pop % botline
+ dup neg exch % midline - this works better than (ytop-ybot)/2!
+ 0 ytop fm dtransform exch pop exch %topline
+ % now in the order midline, topline, botline.
+ 3 array astore
+} def
+%% select font
+/F {
+ dup /fontname exch def fontbox
+ /thisfontbox exch def SF
+} def
+%% set point size
+/S {/ptsize exch def SF} def
+%% actually set font
+/SF {
+ fontname findfont ptsize curscale div scalefont setfont
+ thisfontbox aload pop
+ 1 1 3 {
+ pop ptsize mul curscale div neg 3 1 roll
+ } for
+ halign astore pop
+} def
+%% sets the scale to 72 / n, where n is on the stack, and stores the value
+%% in curscale for font scaling
+/curscale 1 def
+/getpagesize{newpath clippath pathbbox /pageheight exch def
+ /pagewidth exch def pop pop newpath} def
+/flip{pageheight exch sub translate} def
+/ss {/curscale exch 72 exch div dup dup scale def} def
+/land {90 rotate} def
+StartXpic
+%%%EndProlog
+80 ss
+0.5 W
+/Times-Roman F
+10 S
+92 27 m
+(for result matrix subblock computations) ce 0 t
+84 43 m
+(-Heavy boxes show actual allocation) ce 0 t
+76 59 m
+(- Dashed grid shows decomposition) ce 0 t
+324 43 m
+(-) ce 0 t
+420 43 m
+(Bands in A and B are similarly identified) ce 0 t
+388 59 m
+(-Each Cn is a 64x512 "band") ce 0 t
+2 D
+76 195 m
+396 195 l
+x
+76 235 m
+396 235 l
+x
+76 275 m
+396 275 l
+x
+76 355 m
+396 355 l
+x
+76 315 m
+396 315 l
+x
+84 155 m
+404 155 l
+x
+2 W
+0 D
+76 395 156 315 b
+156 315 316 155 b
+0.5 W
+76 395 396 75 b
+2 D
+116 395 m
+116 75 l
+x
+156 75 m
+156 395 l
+x
+196 395 m
+196 75 l
+x
+236 395 m
+236 75 l
+x
+276 387 m
+276 75 l
+x
+316 387 m
+316 75 l
+x
+76 115 m
+396 115 l
+x
+2 W
+0 D
+316 155 396 75 b
+156 355 316 315 b
+156 395 316 355 b
+76 155 316 75 b
+316 395 396 155 b
+0.5 W
+236 243 m
+(16-node hypercube) ce 0 t
+116 363 m
+(4 Sun 3/50) ce 0 t
+188 123 m
+(12-processor Sequent) ce 0 t
+356 259 m
+(Sequent) ce 0 t
+356 123 m
+(Sun 4/280) ce 0 t
+236 371 m
+(Sun 3/60 #1) ce 0 t
+236 331 m
+(Sun 3/60 #2) ce 0 t
+156 43 m
+(-) ce 0 t
+76 403 m
+(0) ce 0 t
+68 395 m
+(0) ce 0 t
+60 75 m
+(511) ce 0 t
+396 403 m
+(511) ce 0 t
+/Times-Italic F
+436 387 m
+(Shared data ) ce 0 t
+436 379 m
+(structure C1) ce 0 t
+420 331 m
+(C2) ce 0 t
+420 299 m
+(C3) ce 0 t
+420 251 m
+(C4) ce 0 t
+420 211 m
+(C5) ce 0 t
+420 179 m
+(C6) ce 0 t
+420 139 m
+(C7) ce 0 t
+100 403 m
+(Ca) ce 0 t
+140 403 m
+(Cb) ce 0 t
+180 403 m
+(Cc) ce 0 t
+220 403 m
+(Cd) ce 0 t
+260 403 m
+(Ce) ce 0 t
+292 403 m
+(Cf) ce 0 t
+332 403 m
+(Cg) ce 0 t
+372 403 m
+(Ch) ce 0 t
+420 99 m
+(C8) ce 0 t
+2 W
+76 315 156 155 b
+0.5 W
+/Times-Roman F
+116 243 m
+(Vax) ce 0 t
+12 S
+252 3 m
+(Figure 7: Asymteric decomposition for matrix multiplication) ce 0 t
+2 D
+356 387 m
+356 75 l
+x
+%%%Trailer
+showpage
+%% Trailer for xpic to PostScript converter
+%% $Header: x2ps.tra,v 1.1 88/08/31 23:48:01 moraes Exp $
+xpic end restore
+endFig
+
+21 p
+%%Page: 21 21
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(21)X
+2370(-)X
+776 688(Figure)N
+1029(7)X
+1096(shows)X
+1338(an)X
+1444(example)X
+1766(scenario,)X
+2104(where)X
+2341(task)X
+2506(partitioning)X
+2941(is)X
+3022(shown)X
+3273(in)X
+3364(terms)X
+3582(of)X
+3677(the)X
+3807(result-)X
+576 800(ing)N
+715(matrix.)X
+1017(It)X
+1098(should)X
+1360(be)X
+1470(noted)X
+1693(that)X
+1853(the)X
+1988(decomposition)X
+2535(shown)X
+2791(in)X
+2887(the)X
+3022(\256gure)X
+3254(is)X
+3340(not)X
+3480(statically)X
+3827(deter-)X
+576 912(mined;)N
+858(each)X
+1055(processor)X
+1427(computes)X
+1801(one)X
+1964(subblock)X
+2317(aggregate,)X
+2716(then)X
+2903(obtains)X
+3193(another,)X
+3514(and)X
+3676(so)X
+3789(on.)X
+3934(To)X
+576 1024(implement)N
+977(this)X
+1127(on)X
+3 f
+9 s
+1233(PVM)X
+1 f
+11 s
+1397(,)X
+1441(the)X
+1571(following)X
+1936(strategy)X
+2237(was)X
+2395(used:)X
+576 1164(-)N
+776(The)X
+939(matrices)X
+1264(to)X
+1359(be)X
+1468 0.3681(multiplied)AX
+1859(\()X
+2 f
+1888(A)X
+1 f
+1968(and)X
+2 f
+2121(B)X
+1 f
+2175(\))X
+2231(are)X
+2365(maintained)X
+2785(in)X
+2881(emulated)X
+3232(shared)X
+3488(memory)X
+3809(by)X
+3924(the)X
+776 1276("startup")N
+1145(process,)X
+1487(with)X
+1701(each)X
+1919(subblock)X
+2294(row)X
+2487(and)X
+2671(column)X
+2993(\(band\))X
+3279(being)X
+3532(independently)X
+776 1388(identi\256able)N
+1196(as)X
+1291(shown)X
+1542(in)X
+1633(Figure)X
+1885(7.)X
+1973(The)X
+2132(granularity)X
+2541(of)X
+2636(sharing)X
+2917(is)X
+2998(therefore)X
+3337(large.)X
+576 1528(-)N
+776(System)X
+1060(component)X
+1476(programs)X
+1832(are)X
+1963(written)X
+2237(to)X
+2330(use)X
+2471(the)X
+2604(algorithm)X
+2973(most)X
+3170(appropriate)X
+3596(for)X
+3723(their)X
+3910(tar-)X
+776 1640(geted)N
+1033(architecture,)X
+1537(i.e.)X
+1710(a)X
+1814(square)X
+2108(subblock)X
+2491(component)X
+2948(for)X
+3115(the)X
+3288(hypercube,)X
+3741(a)X
+3845(static)X
+776 1752(prescheduled)N
+1279(component)X
+1710(for)X
+1851(the)X
+1998(Sequent)X
+2321(shared)X
+2589(memory)X
+2922(multiprocessor,)X
+3507(and)X
+3674(sequential)X
+776 1864(code)N
+964(for)X
+1088(the)X
+1218(Sun)X
+1377(workstations.)X
+576 2004(-)N
+776(A)X
+861("working)X
+1212(list")X
+1379(shared)X
+1630(data)X
+1799(structure)X
+2129(is)X
+2210(set)X
+2330(up,)X
+2462(once)X
+2650(again)X
+2863(by)X
+2973(the)X
+3103("startup")X
+3437(process.)X
+3744(This)X
+3923(list)X
+776 2116(holds)N
+991(the)X
+1123(result)X
+1343(matrix)X
+1598(subblocks)X
+1974(that)X
+2130(have)X
+2319(been)X
+2508(computed)X
+2879(or)X
+2975(have)X
+3164(been)X
+3353(taken)X
+3567(up)X
+3678(by)X
+3789(a)X
+3851(com-)X
+776 2228(ponent.)N
+1065(For)X
+1214(example,)X
+1562(when)X
+1779(all)X
+1895(but)X
+2035(the)X
+2170(bottom)X
+2448(right)X
+2642(corner)X
+2893(subblock)X
+3238(of)X
+2 f
+3338(C)X
+1 f
+3424(\(Fig.)X
+3620(7\))X
+3721(has)X
+3866(been)X
+776 2340(computed)N
+1146(the)X
+1276(list)X
+1407(might)X
+1636(contain:)X
+776 2480(+)N
+976({0,127},{0,127})X
+1584(:)X
+1631(Indicating)X
+2011(that)X
+2167(the)X
+2298(4-member)X
+2683(group)X
+2911(of)X
+3007(Sun)X
+3167(3/50's)X
+3410(\(using)X
+3 f
+9 s
+3649(PVM)X
+1 f
+11 s
+3836(prim-)X
+976 2592(itives)N
+1205(to)X
+1311(cooperate)X
+1690(using)X
+1918(message-passing\))X
+2575(had)X
+2739(taken)X
+2966(responsibility)X
+3483(for)X
+3621(the)X
+3765(top)X
+3914(left)X
+976 2704(corner)N
+1222(subblock.)X
+776 2844(+)N
+976({128,383},{0,63})X
+1628(:)X
+1675(Taken)X
+1917(\(and)X
+2095(perhaps)X
+2390(completed\))X
+2809(by)X
+2919(Sun)X
+3078(3/60)X
+3257(#1.)X
+776 2984(+)N
+976({128,383},{65,127})X
+1716(:)X
+1763(Taken)X
+2005(by)X
+2115(Sun)X
+2274(3/60)X
+2453(#2.)X
+776 3124(+)N
+976({384,511},{0,383})X
+1672(:)X
+1719(Taken)X
+1961(by)X
+2071(and)X
+2220(completed)X
+2610(by)X
+2720(the)X
+2850(Sequent.)X
+776 3264(+)N
+976({0,127},{128,383})X
+1672(:)X
+1719(Taken)X
+1961(by)X
+2071(Vax.)X
+776 3404(+)N
+976({0,383},{384,511})X
+1672(:)X
+1719(Taken)X
+1961(by)X
+2071(Sequent)X
+2377(and)X
+2526(perhaps)X
+2821(being)X
+3039(currently)X
+3379(processed.)X
+776 3516(The)N
+942(last)X
+1094(processor,)X
+1481(upon)X
+1686(inspecting)X
+2078(this)X
+2235(list,)X
+2395(determines)X
+2811(that)X
+2973(it)X
+3052(can)X
+3203(compute)X
+3536(the)X
+3674(remaining)X
+776 3628(subblock)N
+1120(\({384,511},{384,511}\),)X
+1988(and)X
+2140(enters)X
+2375(this)X
+2528(pair)X
+2690(in)X
+2784(the)X
+2917(list)X
+3051(-)X
+3105(thereby)X
+3394(signaling)X
+3743(comple-)X
+776 3740(tion)N
+936(to)X
+1027(other)X
+1230(processors.)X
+576 3880(-)N
+776(Having)X
+1071(determined)X
+1504(which)X
+1755(subblock)X
+2110(a)X
+2186(component)X
+2615(was)X
+2788(going)X
+3026(to)X
+3132(compute,)X
+3495(the)X
+3640(component)X
+776 3992(then)N
+958(maps)X
+1174(the)X
+1312(appropriate)X
+1743(segments)X
+2101(of)X
+2204(the)X
+2 f
+2341(A)X
+1 f
+2424(and)X
+2 f
+2580(B)X
+1 f
+2663(matrices)X
+2991(into)X
+3158(its)X
+3271(local)X
+3472(memory.)X
+3817(Again)X
+776 4104(using)N
+998(\256gure)X
+1234(7)X
+1309(as)X
+1413(an)X
+1527(example,)X
+1879(the)X
+2019(component)X
+2443(executing)X
+2818(on)X
+2938("Sun)X
+3143(3/60)X
+3332(#2")X
+3488(would)X
+3740(map)X
+3924(the)X
+776 4216(bands)N
+1005(A2)X
+1136(and)X
+1287(Bb-Bf)X
+1531(into)X
+1693(its)X
+1801(local)X
+1997(memory,)X
+2337(and)X
+2488(using)X
+2702(these,)X
+2928(would)X
+3171(compute)X
+3498(the)X
+3629(shown)X
+3881(sub-)X
+776 4328(block)N
+998(of)X
+1097(the)X
+1232(matrix)X
+2 f
+1490(C)X
+1 f
+1549(.)X
+1598(The)X
+1762(Sequent)X
+2073(\(in)X
+2198(one)X
+2352(case\))X
+2559(would)X
+2806(map)X
+2985(bands)X
+3217(A7-A8)X
+3487(and)X
+3641(Ba-Bf,)X
+3905(and)X
+776 4440(use)N
+915(a)X
+976(locally)X
+1239(parallel)X
+1526(program)X
+1846(to)X
+1937(compute)X
+2263(the)X
+2393(resulting)X
+2724(matrix)X
+2977(subblock.)X
+776 4804(The)N
+941(results)X
+1199(of)X
+1300(executing)X
+1672(this)X
+1829(asymmetric)X
+2270(algorithm)X
+2643(using)X
+2863(multiple)X
+3188(architectures)X
+3667(are)X
+3803(shown)X
+576 4916(in)N
+680(Table)X
+916(5.)X
+1017(Also)X
+1218(shown)X
+1482(are)X
+1624(the)X
+1766(timing)X
+2032(\256gures)X
+2305(for)X
+2441 0.3375(multiplying)AX
+2889(the)X
+3031(same)X
+3246(matrices)X
+3579(using)X
+3804("pure")X
+576 5028(algorithms)N
+978(on)X
+1090(a)X
+1153(hypercube)X
+1543(and)X
+1694(a)X
+1757(shared)X
+2010(memory)X
+2328(machine.)X
+2695(It)X
+2773(can)X
+2919(be)X
+3026(seen)X
+3207(from)X
+3403(the)X
+3536(\256gure)X
+3766(that)X
+3924(the)X
+3 f
+9 s
+576 5140(PVM)N
+1 f
+11 s
+776 0.2885(implementation)AX
+1368(scales)X
+1614(well,)X
+1824(even)X
+2026(for)X
+2163(a)X
+2237(heterogeneous)X
+2780(collection)X
+3164(of)X
+3272(processors,)X
+3699(when)X
+3924(the)X
+576 5252(matrices)N
+899(are)X
+1030(large.)X
+1252(For)X
+1398(smaller)X
+1682(matrices)X
+2005(however,)X
+2353(the)X
+2485(locking)X
+2774(and)X
+2925(emulated)X
+3274(shared)X
+3528(memory)X
+3847(over-)X
+576 5364(heads)N
+803(actually)X
+1110(cause)X
+1332(an)X
+2 f
+1442(increase)X
+1 f
+1767(in)X
+1862(execution)X
+2231(times)X
+2449(when)X
+2665(more)X
+2872(processors)X
+3268(are)X
+3401(added.)X
+3681(Neverthe-)X
+576 5476(less,)N
+760(it)X
+841(is)X
+931(felt)X
+1080(that)X
+1244(such)X
+1436(algorithms)X
+1845(are)X
+1983(valuable)X
+2313(for)X
+2446(two)X
+2609(important)X
+2984(reasons.)X
+3300(First,)X
+3515(when)X
+3736(multiple)X
+576 5588(processors)N
+970(are)X
+1101(available,)X
+1466(the)X
+1598(total)X
+1780(computing)X
+2182(power)X
+2425(can)X
+2571(be)X
+2677(increased)X
+3032(\320)X
+3143(e.g.)X
+3293(a)X
+3355(16-node)X
+3666(hypercube)X
+576 5700(may)N
+773(be)X
+901(combined)X
+1294(with)X
+1496(other)X
+1722(processors)X
+2137(to)X
+2251(emulate)X
+2576(a)X
+2660(32)X
+2793(processor)X
+3174(virtual)X
+3450(machine)X
+3794(that)X
+3973(is)X
+576 5812(bene\256cial)N
+950(for)X
+1083(large)X
+1290(matrices.)X
+1642(Second,)X
+1954(the)X
+2093(the)X
+2232(support)X
+2526(services)X
+2839(that)X
+3002(are)X
+3139(available)X
+3488(on)X
+3606(the)X
+3744(network)X
+
+22 p
+%%Page: 22 22
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(22)X
+2370(-)X
+10 f
+1327 656(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1 f
+1448 768(Machine)N
+1965(No.)X
+2116(of)X
+2322(Problem)X
+2643(Size)X
+2817(\(Order)X
+3072(of)X
+3167(Matrix\))X
+1526 880(type)N
+1971(procs.)X
+2334(64)X
+2580(128)X
+2892(256)X
+3248(512)X
+10 f
+1327 896(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1327 912(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1 f
+1460 1016(Sequent)N
+2055(4)X
+2323(5.4)X
+2569(40.5)X
+2859(326.6)X
+3193(2581.9)X
+10 f
+1327 1040(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1 f
+1460 1152(Sequent)N
+2055(8)X
+2323(2.9)X
+2569(20.9)X
+2859(163.8)X
+3193(1292.7)X
+10 f
+1327 1168(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1327 1184(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1 f
+1476 1288(iPSC/2)N
+2055(4)X
+2323(1.5)X
+2613(9.3)X
+2903(81.5)X
+3237(693.5)X
+10 f
+1327 1312(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1 f
+1476 1424(iPSC/2)N
+2033(16)X
+2323(1.2)X
+2613(3.1)X
+2903(18.2)X
+3237(191.7)X
+10 f
+1327 1440(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1327 1456(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1 f
+1381 1560(PVM)N
+1593(\(Suns\))X
+2055(4)X
+2323(1.8)X
+2613(4.3)X
+2903(26.5)X
+3237(231.6)X
+10 f
+1327 1584(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1 f
+1371 1696(PVM)N
+1583(\(Suns+)X
+1409 1808(Sequent-8\))N
+2033(16)X
+2323(2.8)X
+2613(5.1)X
+2903(20.3)X
+3237(212.5)X
+10 f
+1327 1832(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1 f
+1382 1944(PVM\(Suns+)N
+1398 2056(Sequent-8+)N
+2033(32)X
+2323(3.5)X
+2613(7.2)X
+2903(16.6)X
+3237(130.8)X
+1403 2168(iPSC/2-16\))N
+10 f
+1327 2192(iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii)N
+1327(c)X
+2152(c)Y
+2064(c)Y
+1976(c)Y
+1888(c)Y
+1800(c)Y
+1712(c)Y
+1624(c)Y
+1536(c)Y
+1448(c)Y
+1360(c)Y
+1272(c)Y
+1184(c)Y
+1096(c)Y
+1008(c)Y
+920(c)Y
+832(c)Y
+744(c)Y
+1899 2192(c)N
+2152(c)Y
+2064(c)Y
+1976(c)Y
+1888(c)Y
+1800(c)Y
+1712(c)Y
+1624(c)Y
+1536(c)Y
+1448(c)Y
+1360(c)Y
+1272(c)Y
+1184(c)Y
+1096(c)Y
+1008(c)Y
+920(c)Y
+832(c)Y
+744(c)Y
+2255 2192(c)N
+2152(c)Y
+2064(c)Y
+1976(c)Y
+1888(c)Y
+1800(c)Y
+1712(c)Y
+1624(c)Y
+1536(c)Y
+1448(c)Y
+1360(c)Y
+1272(c)Y
+1184(c)Y
+1096(c)Y
+1008(c)Y
+920(c)Y
+832(c)Y
+744(c)Y
+2501 2192(c)N
+2144(c)Y
+2056(c)Y
+1968(c)Y
+1880(c)Y
+1792(c)Y
+1704(c)Y
+1616(c)Y
+1528(c)Y
+1440(c)Y
+1352(c)Y
+1264(c)Y
+1176(c)Y
+1088(c)Y
+1000(c)Y
+2791 2192(c)N
+2144(c)Y
+2056(c)Y
+1968(c)Y
+1880(c)Y
+1792(c)Y
+1704(c)Y
+1616(c)Y
+1528(c)Y
+1440(c)Y
+1352(c)Y
+1264(c)Y
+1176(c)Y
+1088(c)Y
+1000(c)Y
+3125 2192(c)N
+2144(c)Y
+2056(c)Y
+1968(c)Y
+1880(c)Y
+1792(c)Y
+1704(c)Y
+1616(c)Y
+1528(c)Y
+1440(c)Y
+1352(c)Y
+1264(c)Y
+1176(c)Y
+1088(c)Y
+1000(c)Y
+3481 2192(c)N
+2152(c)Y
+2064(c)Y
+1976(c)Y
+1888(c)Y
+1800(c)Y
+1712(c)Y
+1624(c)Y
+1536(c)Y
+1448(c)Y
+1360(c)Y
+1272(c)Y
+1184(c)Y
+1096(c)Y
+1008(c)Y
+920(c)Y
+832(c)Y
+744(c)Y
+1 f
+1463 2464(Table)N
+1686(5:)X
+1777(Times)X
+2020(\(in)X
+2140(seconds\))X
+2469(for)X
+2593(matrix)X
+2846 0.3365(multiplication)AX
+576 2688(\(such)N
+790(as)X
+887(\256lesystems)X
+1303(etc.\))X
+1481(may)X
+1657(be)X
+1764(exploited;)X
+2142(for)X
+2268(very)X
+2449(large)X
+2650(datasets,)X
+2976(asymmetric)X
+3413(partitioning)X
+3851(algo-)X
+576 2800(rithms)N
+824(can)X
+968(contribute)X
+1348(signi\256cantly)X
+1807(to)X
+1898(reduced)X
+2198(I/O)X
+2337(and)X
+2486(swapping)X
+2845(overheads.)X
+3 f
+576 3136(5.2.)N
+752(Contaminant)X
+1272(Transport)X
+1680(Simulation)X
+1 f
+776 3388(To)N
+896(further)X
+1157(exercise)X
+1468(the)X
+1599(heterogeneous)X
+2130(computing)X
+2531(facilities)X
+2859(in)X
+3 f
+9 s
+2947(PVM)X
+1 f
+11 s
+3111(,)X
+3156(an)X
+3262(interactive)X
+3658(simulation)X
+576 3500(program)N
+900(was)X
+1062(ported)X
+1313(to)X
+1408(the)X
+1541(system.)X
+1833(This)X
+2015(simulation)X
+2414(models)X
+2694(contaminant)X
+3156(transport)X
+3494(in)X
+3588(groundwater)X
+576 3612(\257ow,)N
+777(and)X
+927(is)X
+1010(part)X
+1171(of)X
+1268(a)X
+1331(larger)X
+1560(and)X
+1711(more)X
+1916(comprehensive)X
+2473(simulation)X
+2871(effort.)X
+3112(Preliminary)X
+3553(\256ndings)X
+3861(from)X
+576 3724(this)N
+727(work)X
+930(are)X
+1060(reported)X
+1376(in)X
+1468([2].)X
+1615(The)X
+1774(major)X
+2002(components)X
+2450(of)X
+2545(the)X
+2675(existing)X
+2977(software)X
+3301(are)X
+3430(a)X
+3491(graphical)X
+3841(inter-)X
+576 3836(face)N
+754(and)X
+913(the)X
+1053(solution)X
+1370(of)X
+1476(sets)X
+1641(of)X
+1747(differential)X
+2172(equations)X
+2543(involving)X
+2915(transport)X
+3261(calculations)X
+3716(and)X
+3876(\257ow)X
+576 3948(calculations.)N
+1043(The)X
+1203(transport)X
+1539(calculations)X
+1984(are)X
+2114(highly)X
+2363(parallelizable,)X
+2884(while)X
+3103(the)X
+3234(\257ow)X
+3413(equations)X
+3774(may)X
+3949(be)X
+576 4060(well)N
+786(solved)X
+1074(on)X
+1220(a)X
+1317(fast)X
+1502(scalar)X
+1765(machine.)X
+2144(The)X
+2340(existing)X
+2679 0.2885(implementation)AX
+3294(encountered)X
+3783(several)X
+576 4172(dif\256culties,)N
+1003(including)X
+1364(the)X
+1499(interfacing)X
+1908(of)X
+2007(the)X
+2141(two)X
+2299(computational)X
+2831(components,)X
+3305(the)X
+3439(transfer)X
+3733(of)X
+3832(struc-)X
+576 4284(tured)N
+786(data)X
+962(between)X
+1284(multiple)X
+1631(instances,)X
+2006(and)X
+2163(interactions)X
+2605(with)X
+2792(an)X
+2905(X-windows)X
+3344(graphical)X
+3702(interface.)X
+576 4396(The)N
+735(latter)X
+939(issue)X
+1137(was)X
+1295(particularly)X
+1724(cumbersome)X
+2196(when)X
+2408(the)X
+2538(system)X
+2805(was)X
+2963(run)X
+3102(over)X
+3280(a)X
+3341(wide)X
+3534(area)X
+3702(network.)X
+776 4648(The)N
+947(simulation)X
+1355(programs)X
+1721(were)X
+1925(ported)X
+2184(for)X
+3 f
+9 s
+2316(PVM)X
+1 f
+11 s
+2515(use,)X
+2689(by)X
+2812(partitioning)X
+3260(the)X
+3403(system)X
+3683(into)X
+3856(three)X
+576 4760(components)N
+1030(-)X
+1087(the)X
+1223(transport)X
+1564(calculations)X
+2014(\(executed)X
+2384(on)X
+2500(a)X
+2567(hypercube\),)X
+3012(the)X
+3147(\257ow)X
+3330(equations)X
+3695(\(on)X
+3839(a)X
+3905(fast)X
+576 4872(scalar)N
+807(machine\),)X
+1183(and)X
+1336(the)X
+1470(graphical)X
+1824(interface)X
+2158(on)X
+2272(a)X
+2337(Sun)X
+2500(workstation.)X
+2964(Very)X
+3165(few)X
+3322(modi\256cations)X
+3829(in)X
+3924(the)X
+576 4984(existing)N
+900(codes)X
+1144(were)X
+1358(required;)X
+1719(the)X
+1870(scalar)X
+2118(and)X
+2288(hypercube)X
+2697(components)X
+3166(interacted)X
+3557(via)X
+3708(emulated)X
+576 5096(shared)N
+828(memory)X
+1145(while)X
+1364(the)X
+1495(graphics)X
+1816(component)X
+2231(used)X
+2415(the)X
+2546(fast)X
+2696(message)X
+3017(passing)X
+3304(primitives)X
+3686(in)X
+3 f
+9 s
+3775(PVM)X
+1 f
+11 s
+3963(to)X
+576 5208(achieve)N
+868(better)X
+1092(response)X
+1422(and)X
+1571(lowered)X
+1876(latency.)X
+2175(An)X
+2304(additional)X
+2680(bene\256t)X
+2942(was)X
+3100(the)X
+3230(mobility)X
+3553(of)X
+3648(the)X
+3778(graphi-)X
+576 5320(cal)N
+705(interface)X
+1039(component;)X
+1482(due)X
+1635(to)X
+1731(the)X
+1866(connectionless)X
+2412(nature)X
+2659(of)X
+3 f
+9 s
+2755(PVM)X
+1 f
+11 s
+2946(interactions,)X
+3407(it)X
+3484(was)X
+3647(possible)X
+3963(to)X
+576 5432(execute)N
+877(the)X
+1017(graphical)X
+1377(interface)X
+1717(program)X
+2047(from)X
+2250(different)X
+2585(locations)X
+2936(in)X
+3037(a)X
+3107(manner)X
+3402(transparent)X
+3824(to)X
+3924(the)X
+576 5544(computational)N
+1108(components.)X
+1582(Further,)X
+1889(multiple)X
+2211(displays)X
+2527(were)X
+2724(possible)X
+3040(by)X
+3155(using)X
+3373(the)X
+3 f
+9 s
+3504(PVM)X
+1 f
+11 s
+3695(broadcast)X
+576 5656(facilities,)N
+930(a)X
+996(useful)X
+1238(feature)X
+1509(when)X
+1725(several)X
+2000(simultaneous)X
+2492(users)X
+2698(wish)X
+2890(to)X
+2985(interact)X
+3276(with)X
+3459(the)X
+3593(system.)X
+3886(Due)X
+576 5768(to)N
+668(the)X
+799(interactive)X
+1195(nature)X
+1438(of)X
+1534(the)X
+1665(application,)X
+2103(performance)X
+2570(timings)X
+2859(are)X
+2989(not)X
+3125(meaningful;)X
+3576(however,)X
+3924(the)X
+
+23 p
+%%Page: 23 23
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(23)X
+2370(-)X
+576 688(system)N
+843(performed)X
+1231(without)X
+1523(any)X
+1672(noticeable)X
+2057(degradation)X
+2495(when)X
+2707(executed)X
+3042(under)X
+3 f
+9 s
+3260(PVM)X
+1 f
+11 s
+3424(.)X
+3 f
+576 1024(6.)N
+686(Conclusions)X
+1163(and)X
+1327(Future)X
+1608(Work)X
+1 f
+776 1276(The)N
+947(primary)X
+1260(motivation)X
+1678(for)X
+1814(the)X
+3 f
+9 s
+1952(PVM)X
+1 f
+11 s
+2150(project)X
+2429(is)X
+2522(derived)X
+2820(from)X
+3025(the)X
+3167(existing)X
+3482(and)X
+3644(anticipated)X
+576 1388(need)N
+770(for)X
+900(a)X
+967(general,)X
+1276(\257exible,)X
+1591(and)X
+1746(inexpensive)X
+2195(concurrent)X
+2599(programming)X
+3107(environment.)X
+3602(Experiences)X
+576 1500(with)N
+763(the)X
+901(system)X
+1177(have)X
+1374(demonstrated)X
+1880(that)X
+2044(such)X
+2236(a)X
+2306(framework)X
+2722(can)X
+2875(be)X
+2989(provided)X
+3333(and)X
+3491(can)X
+3644(execute)X
+3944(on)X
+576 1612(existing)N
+881(hardware)X
+1232(bases,)X
+1469(with)X
+1651(the)X
+1784(bene\256ts)X
+2083(of)X
+2181(a)X
+2245(procedural)X
+2646(programming)X
+3151(interface)X
+3484(and)X
+3636(straightfor-)X
+576 1724(ward)N
+777(constructs)X
+1160(for)X
+1288(access)X
+1538(to)X
+1633(various)X
+1918(resources.)X
+2297(A)X
+2386(noteworthy)X
+2813(feature)X
+3083(of)X
+3 f
+9 s
+3178(PVM)X
+1 f
+11 s
+3368(is)X
+3453(its)X
+3564(generality)X
+3944(\320)X
+576 1836(supporting)N
+984(both)X
+1172(the)X
+1310(shared-memory)X
+1892(and)X
+2049(message-passing)X
+2670(paradigms)X
+3067(on)X
+3185(a)X
+3254(heterogeneous)X
+3792(collec-)X
+576 1948(tion)N
+736(of)X
+831(machines)X
+1186(is)X
+1267(useful.)X
+1548(The)X
+1707(framework)X
+2114(provided)X
+2450(by)X
+3 f
+9 s
+2557(PVM)X
+1 f
+11 s
+2744(enables)X
+3031(interaction)X
+3432(between)X
+3748(applica-)X
+576 2060(tion)N
+754(components)X
+1220(and)X
+1387(machine)X
+1726(architectures)X
+2216(that)X
+2389(are)X
+2536(normally)X
+2895(incompatible.)X
+3418(Anticipating)X
+3899(that)X
+576 2172(large)N
+776(and)X
+927(complex)X
+1255(parallel)X
+1544(systems)X
+1847(will)X
+2009(require)X
+2282(error)X
+2476(indication)X
+2854(and)X
+3005(failure)X
+3259(detection)X
+3607(capabilities,)X
+576 2284(such)N
+762(features)X
+1065(have)X
+1256(been)X
+1447(built)X
+1635(into)X
+1798(the)X
+3 f
+9 s
+1927(PVM)X
+1 f
+11 s
+2116(system)X
+2386(and)X
+2538(are)X
+2670(likely)X
+2897(to)X
+2990(be)X
+3097(valuable.)X
+3442(From)X
+3657(the)X
+3789(perfor-)X
+576 2396(mance)N
+837(point)X
+1050(of)X
+1154(view,)X
+3 f
+9 s
+1374(PVM)X
+1 f
+11 s
+1569(has)X
+1717(proven)X
+1992(to)X
+2092(be)X
+2207(acceptable)X
+2611(even)X
+2809(for)X
+2943(applications)X
+3402(with)X
+3591(a)X
+3662(high)X
+3851(com-)X
+576 2508(munication)N
+1009(to)X
+1113(computation)X
+1590(ratio)X
+1787(\320)X
+1910(although)X
+2253(its)X
+2371(primary)X
+2684(intent)X
+2920(is)X
+3013(to)X
+3116(support)X
+3414(applications)X
+3875(with)X
+576 2620(much)N
+795(larger)X
+1023(grainsize)X
+1365(and)X
+1516(less)X
+1672(interaction.)X
+2096(Perhaps)X
+2398(of)X
+2495(more)X
+2700(importance)X
+3121(in)X
+3214(certain)X
+3478(situations)X
+3841(is)X
+3924(the)X
+576 2732(ability)N
+829(of)X
+3 f
+9 s
+924(PVM)X
+1 f
+11 s
+1114(to)X
+1209(utilize)X
+1457(resources)X
+1814(that)X
+1973(already)X
+2258(exist)X
+2451(and)X
+2604(would)X
+2850(be)X
+2959(wasted)X
+3229(otherwise,)X
+3619(not)X
+3757(to)X
+3851(men-)X
+576 2844(tion)N
+740(its)X
+850(value)X
+1067(as)X
+1166(a)X
+1231(prototyping)X
+1669(tool)X
+1833(for)X
+1961(new)X
+2133(algorithms)X
+2537(or)X
+2636(applications.)X
+3133(The)X
+3296 0.3403(simplicity)AX
+3677(of)X
+3777(porting)X
+576 2956(the)N
+3 f
+9 s
+705(PVM)X
+1 f
+11 s
+894(system)X
+1164(as)X
+1262(well)X
+1439(as)X
+1537(application)X
+1955(software)X
+2282(also)X
+2449(enhances)X
+2796(its)X
+2905(appeal)X
+3160(and)X
+3311(will)X
+3473(contribute)X
+3855(to)X
+3948(its)X
+576 3068(increased)N
+930(use.)X
+776 3320(There)N
+1003(are,)X
+1154(however,)X
+1500(several)X
+1771(aspects)X
+2047(to)X
+3 f
+9 s
+2134(PVM)X
+1 f
+11 s
+2320(that)X
+2475(require)X
+2746(further)X
+3008(work;)X
+3236(some)X
+3445(efforts)X
+3697(are)X
+3827(ongo-)X
+576 3432(ing)N
+720(while)X
+947(others)X
+1193(are)X
+1331(planned)X
+1641(for)X
+1774(the)X
+1913(future.)X
+2198(A)X
+2292(very)X
+2479(valuable)X
+2809(addition)X
+3129(would)X
+3379(be)X
+3492(a)X
+3561(supplemental)X
+576 3544(toolkit)N
+832(that)X
+989(assisted)X
+1287(in)X
+1380(algorithm)X
+1748(partitioning)X
+2185(and)X
+2336(scheduling,)X
+2764(as)X
+2861(well)X
+3037(as)X
+3134(support)X
+3423(for)X
+3550(the)X
+3683(automatic)X
+576 3656(compilation)N
+1024(of)X
+1122(different)X
+1450(object)X
+1691(modules)X
+2015(for)X
+2142(different)X
+2470(architectures.)X
+2967(From)X
+3183(the)X
+3316(system)X
+3585(implementa-)X
+576 3768(tion)N
+742(point)X
+952(of)X
+1053(view,)X
+1274(it)X
+1352(is)X
+1439(evident)X
+1727(that)X
+1888(the)X
+2024(data)X
+2199(transfer,)X
+2518(broadcast,)X
+2906(and)X
+3062(mutual)X
+3337(exclusion)X
+3704(protocols)X
+576 3880(are)N
+712(the)X
+849(most)X
+1050(crucial)X
+1319(primitives,)X
+1729(and)X
+1885(work)X
+2094(is)X
+2181(in)X
+2278(progress)X
+2603(to)X
+2700(optimize)X
+3038(these.)X
+3269(Con\257ict)X
+3582(resolution)X
+3963(in)X
+576 3992(the)N
+716(locking)X
+1013(algorithm)X
+1389(presently)X
+1744(uses)X
+1927(a)X
+1999(heuristic)X
+2336(method)X
+2634(\320)X
+2755(a)X
+2827(provably)X
+3173(correct)X
+3450(formalization)X
+3959(of)X
+576 4104(this)N
+727(will)X
+887(be)X
+992(undertaken)X
+1405(soon.)X
+1615(From)X
+1828(the)X
+1958(application)X
+2373(point)X
+2577(of)X
+2672(view,)X
+2887(certain)X
+3149(additional)X
+3525(features)X
+3825(might)X
+576 4216(be)N
+695(desirable)X
+1050(such)X
+1248(as)X
+1358(\(1\))X
+1497(the)X
+1642(ability)X
+1906(to)X
+2012(coalesce)X
+2347(emulated)X
+2708(and)X
+2872(real)X
+3041(shared)X
+3307(memory,)X
+3660(and)X
+3824(\(2\))X
+3963(to)X
+576 4328(dynamically)N
+1046(optimize)X
+1389(message)X
+1720(passing,)X
+2039(locking)X
+2337(etc.,)X
+2517(depending)X
+2917(on)X
+3038(the)X
+3178(architecture)X
+3626(on)X
+3746(which)X
+3993(a)X
+576 4440(component)N
+1003(instance)X
+1327(is)X
+1421(executing.)X
+1821(Also)X
+2022(planned)X
+2336(for)X
+2473(the)X
+2616(future)X
+2861(are)X
+3003(a)X
+3078(graphical)X
+3442(interface)X
+3786(for)X
+3924(the)X
+576 4552(speci\256cation)N
+1049(of)X
+1149(component)X
+1568(execution)X
+1938(order)X
+2149(and)X
+2302(interactions,)X
+2762(as)X
+2861(well)X
+3039(as)X
+3138(debugging)X
+3536(and)X
+3689(execution)X
+576 4664(history)N
+843(trace)X
+1036(facilities.)X
+3 f
+576 5000(Acknowledgments)N
+1 f
+776 5252(The)N
+935(author)X
+1182(is)X
+1263(indebted)X
+1589(to)X
+1680(the)X
+1810(referees,)X
+2131(particularly)X
+2560(the)X
+2690(second)X
+2956(referee,)X
+3243(for)X
+3367(detailed)X
+3669(comments)X
+576 5364(that)N
+739(resulted)X
+1048(in)X
+1147(many)X
+1373(improvements)X
+1908(in)X
+2007(the)X
+2145(system)X
+2419(and)X
+2575(this)X
+2732(paper.)X
+2978(Thanks)X
+3266(are)X
+3402(also)X
+3573(due)X
+3729(to)X
+3827(M.)X
+3956(T.)X
+576 5476(Heath,)N
+831(G.)X
+939(A.)X
+1047(Geist,)X
+1278(T.)X
+1377(H.)X
+1485(Dunigan,)X
+1833(and)X
+1983(D.)X
+2092(A.)X
+2201(Poplawski)X
+2592(for)X
+2718(helpful)X
+2992(discussions)X
+3417(during)X
+3671(the)X
+3803(course)X
+576 5588(of)N
+671(this)X
+821(work)X
+1023(and)X
+1172(for)X
+1296(their)X
+1480(comments)X
+1865(on)X
+1975(earlier)X
+2222(versions)X
+2537(of)X
+2632(this)X
+2782(paper.)X
+
+24 p
+%%Page: 24 24
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(24)X
+2370(-)X
+3 f
+576 688(References)N
+1 f
+576 940([1])N
+776(K.)X
+896(Hwang,)X
+1206(F.)X
+1312(A.)X
+1432(Briggs,)X
+2 f
+1724(Computer)X
+2112(Architecture)X
+2589(and)X
+2757(Parallel)X
+3083(Processing)X
+1 f
+3474(,)X
+3532(McGraw-Hill,)X
+776 1052(New)N
+963(York,)X
+1187(1984.)X
+576 1192([2])N
+776(H.)X
+884(Narang,)X
+1188(R.)X
+1293(Flanery,)X
+1608(J.)X
+1688(Drake,)X
+2 f
+1948(Design)X
+2221(of)X
+2314(a)X
+2382(Simulation)X
+2789(Interface)X
+3131(for)X
+3258(a)X
+3326(Parallel)X
+3640(Computing)X
+776 1304(Environment)N
+1 f
+1231(,)X
+1275(Proc.)X
+1502(ACM)X
+1724(Southeastern)X
+2201(Regional)X
+2542(Conference,)X
+2991(April)X
+3199(1990,)X
+3419(to)X
+3510(appear.)X
+576 1444([3])N
+776(G.)X
+888(A.)X
+1000(Geist,)X
+1235(M.)X
+1362(T.)X
+1465(Heath,)X
+1724(B.)X
+1832(W.)X
+1964(Peyton,)X
+2258(P.)X
+2356(H.)X
+2468(Worley,)X
+2 f
+2781(A)X
+2862(Machine)X
+3198(Independent)X
+3661(Communi-)X
+776 1556(cation)N
+1023(Library)X
+1 f
+1292(,)X
+1339(Proc.)X
+1547(Hypercube)X
+1957(Concurrent)X
+2378(Computers)X
+2790(Conference)X
+3220(1989,)X
+3443(J.)X
+3524(Gustafson)X
+3905(ed.,)X
+776 1668(to)N
+867(appear.)X
+576 1808([4])N
+776(T.)X
+881(J.)X
+966(Gardner,)X
+2 f
+1304(et.)X
+1419(al.)X
+1 f
+1510(,)X
+2 f
+1561(DPUP)X
+1824(:)X
+1882(A)X
+1965(Distributed)X
+2418(Processing)X
+2838(Utilities)X
+3153(Package)X
+1 f
+3456(,)X
+3507(Computer)X
+3890(Sci-)X
+776 1920(ence)N
+959(Technical)X
+1329(Report,)X
+1613(University)X
+2007(of)X
+2102(Colorado,)X
+2474(Boulder,)X
+2802(1986.)X
+576 2060([5])N
+776(T.)X
+895(H.)X
+1023(Dunigan,)X
+2 f
+1391(Hypercube)X
+1819(Simulation)X
+2245(on)X
+2376(a)X
+2463(Local)X
+2707(Area)X
+2921(Network)X
+1 f
+3220(,)X
+3285(Oak)X
+3474(Ridge)X
+3728(National)X
+776 2172(Laboratory)N
+1189(Report)X
+1451(ORNL/TM-10685,)X
+2140(November)X
+2533(1988.)X
+576 2312([6])N
+776(C.)X
+884(Seitz,)X
+1110(J.)X
+1193(Seizovic,)X
+1546(W.)X
+1678(K.)X
+1790(Su,)X
+2 f
+1932(The)X
+2091(C)X
+2177(programmer's)X
+2710(Abbreviated)X
+3168(Guide)X
+3411(to)X
+3508(Multicomputer)X
+776 2424(Programming)N
+1 f
+1269(,)X
+1313(Caltech)X
+1605(Computer)X
+1980(Science)X
+2276(Report,)X
+2560(CS-TR-88-1,)X
+3044(January)X
+3339(1988.)X
+576 2564([7])N
+776(M.)X
+914(Sullivan,)X
+1269(D.)X
+1392(Anderson,)X
+2 f
+1793(Marionette:)X
+2252(A)X
+2344(System)X
+2627(for)X
+2769(Parallel)X
+3098(Distributed)X
+3539(Programming)X
+776 2676(Using)N
+1008(a)X
+1074(Master/Slave)X
+1561(Model)X
+1 f
+1786(,)X
+1830(Proc.)X
+2057(9th)X
+2192(ICDCS,)X
+2495(June)X
+2678(1989,)X
+2898(pp.)X
+3030(181-188.)X
+576 2816([8])N
+776(G.)X
+906(Riccardi,)X
+1272(B.)X
+1398(Traversat,)X
+1797(U.)X
+1927(Chandra,)X
+2 f
+2293(A)X
+2393(Master-Slaves)X
+2942(Parallel)X
+3278(Computation)X
+3785(Model)X
+1 f
+4010(,)X
+776 2928(Supercomputer)N
+1336(Research)X
+1680(Institute)X
+1992(Report,)X
+2276(Florida)X
+2553(State)X
+2752(University,)X
+3168(June)X
+3351(1989.)X
+576 3068([9])N
+776(Intel)X
+960(iPSC/2)X
+1233(Programmer's)X
+1758(Reference)X
+2136(Manual,)X
+2449(Intel)X
+2633(Corporation,)X
+3103(Beaverton,)X
+3509(March)X
+3760(1988.)X
+576 3208([10])N
+776(A.)X
+883(Karp,)X
+2 f
+1102(Programming)X
+1617(for)X
+1742(Parallelism)X
+1 f
+2154(,)X
+2198(IEEE)X
+2411(Computer,)X
+2808(May)X
+2991(1987,)X
+3211(pp.)X
+3343(43-57.)X
+576 3348([11])N
+776(J.)X
+865(B.)X
+979(Postel,)X
+2 f
+1251(User)X
+1455(Datagram)X
+1850(Protocol)X
+1 f
+2159(,)X
+2215(Internet)X
+2523(Request)X
+2841(for)X
+2977(Comments)X
+3394(RFC-768,)X
+3778(August)X
+776 3460(1980.)N
+576 3600([12])N
+776(N.)X
+888(Maekawa,)X
+2 f
+1279(A)X
+9 f
+1361 3583 MXY
+(sr)214 549 oc
+10 f
+1409(d)X
+1423(d)X
+2 f
+1409 3600(n)N
+1495(Algorithm)X
+1881(for)X
+2012(Mutual)X
+2295(Exclusion)X
+2671(in)X
+2768(Decentralized)X
+3290(Systems,)X
+3618(ACM)X
+3832(Tran-)X
+776 3712(sactions)N
+1087(on)X
+1197(Computer)X
+1571(Systems,)X
+1893(May)X
+2071(1985,)X
+2291(pp.)X
+2423(145-159.)X
+1 f
+576 3852([13])N
+776(K.)X
+895(Raymond,)X
+2 f
+1294(A)X
+1382(Tree)X
+1577(Based)X
+1827(Algorithm)X
+2220(for)X
+2358(Distributed)X
+2795(Mutual)X
+3085(Exclusion)X
+1 f
+3433(,)X
+3490(ACM)X
+3725(Transac-)X
+776 3964(tions)N
+970(on)X
+1080(Computer)X
+1455(Systems,)X
+1793(February)X
+2132(1989,)X
+2352(pp.)X
+2484(61-77.)X
+576 4104([14])N
+776(D.)X
+886(Agarwal,)X
+1235(A.)X
+1345(E.)X
+1446(Abbadi,)X
+2 f
+1752(An)X
+1875(Ef\256cient)X
+2195(Solution)X
+2515(to)X
+2610(the)X
+2744(Distributed)X
+3172(Mutual)X
+3453(Exclusion)X
+3827(Prob-)X
+776 4216(lem)N
+1 f
+903(,)X
+947(Proc.)X
+1152(Principles)X
+1527(of)X
+1622(Distributed)X
+2041(Computing)X
+2461(Conference,)X
+2910(Edmonton,)X
+3322(August)X
+3598(1989.)X
+576 4356([15])N
+776(J.)X
+856(S.)X
+951(Chase)X
+2 f
+1190(et.)X
+1300(al.)X
+1 f
+1391(,)X
+2 f
+1437(The)X
+1593(Amber)X
+1851(System:)X
+2148(Parallel)X
+2462(Programming)X
+2979(on)X
+3091(a)X
+3159(Network)X
+3483(of)X
+3577(Multiproces-)X
+776 4468(sors)N
+1 f
+922(,)X
+966(to)X
+1057(appear)X
+1313(in)X
+1404(12th)X
+1583(SOSP,)X
+1837(Litch\256eld)X
+2203(Park,)X
+2408(November)X
+2801(1989.)X
+576 4608([16])N
+776(G.)X
+891(A.)X
+1006(Geist,)X
+1244(M.)X
+1374(T.)X
+1480(Heath,)X
+2 f
+1742(Matrix)X
+2012(Factorization)X
+2524(on)X
+2643(Hypercube)X
+3059(Multiprocessors)X
+1 f
+(,)S
+3684(in)X
+3784(Hyper-)X
+776 4720(cube)N
+964(Multiprocessors)X
+1553(1986,)X
+1773(SIAM,)X
+2036(Philadelphia,)X
+2522(1986,)X
+2742(pp.)X
+2874(161-180.)X
+576 4860([17])N
+776(D.)X
+891(W.)X
+1026(Lozier,)X
+1308(R.)X
+1419(G.)X
+1535(Rehm,)X
+2 f
+1799(Some)X
+2020(Performance)X
+2510(Comparisons)X
+3010(for)X
+3144(a)X
+3219(Fluid)X
+3442(Dynamics)X
+3824(Code)X
+1 f
+4010(,)X
+776 4972(Parallel)N
+1068(Computing,)X
+1510(Vol.)X
+1686(11,)X
+1818(pp.)X
+1950(305-320,)X
+2287(1989.)X
+576 5112([18])N
+776(G.)X
+884(C.)X
+988(Fox,)X
+1170(S.)X
+1264(W.)X
+1392(Otto,)X
+2 f
+1594(Matrix)X
+1858(Algorithms)X
+2274(on)X
+2386(a)X
+2454(Hypercube)X
+2863(I:)X
+2945(Matrix)X
+3209 0.2740(Multiplication)AX
+1 f
+3716(,)X
+3762(Parallel)X
+776 5224(Computing,)N
+1218(Vol.)X
+1394(4,)X
+1482(pp.)X
+1614(17-31,)X
+1863(1987.)X
+576 5364([19])N
+776(A.)X
+902(Osterhaug,)X
+2 f
+1326(Guide)X
+1583(to)X
+1694(Parallel)X
+2026(Programming)X
+2561(on)X
+2691(Sequent)X
+3012(Computer)X
+3406(Systems)X
+1 f
+3684(,)X
+3748(Sequent)X
+776 5476(Computer)N
+1151(Systems,)X
+1489(Inc.,)X
+1667(Beaverton,)X
+2073(1986.)X
+576 5616([20])N
+776(R.)X
+886(Finkel,)X
+1163(E.)X
+1268(Styer,)X
+1505(U.)X
+1619(Manber,)X
+2 f
+1943(Designing)X
+2334(Ef\256cient)X
+2658(Barriers)X
+2985(in)X
+3084(Communication)X
+3677(Networks)X
+1 f
+4010(,)X
+776 5728(University)N
+1170(of)X
+1265(Kentucky)X
+1629(Technical)X
+1999(Report,)X
+2283(No.)X
+2434(165-90,)X
+2727(March)X
+2978(1990.)X
+
+25 p
+%%Page: 25 25
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(25)X
+2370(-)X
+3 f
+1459 688(Appendix)N
+1848(\320)X
+1958(PVM)X
+2180(User)X
+2377(Interface)X
+2740(Constructs)X
+576 940(enroll)N
+1 f
+797(\()X
+2 f
+826(<name>)X
+1 f
+1134(\))X
+776 1080(Enroll)N
+1019(calling)X
+1282(process)X
+1567(as)X
+2 f
+1662(<name>)X
+1 f
+1970(.)X
+2014(Returns)X
+2310(instance)X
+2621(number.)X
+3 f
+576 1248(initiate)N
+1 f
+841(\()X
+2 f
+870(<component)X
+1337(name>)X
+1 f
+1586(\))X
+776 1388(Start)N
+965(new)X
+1133(process)X
+1418(speci\256ed)X
+1753(by)X
+2 f
+1863(<component)X
+2330(name>)X
+1 f
+2579(.)X
+2623(Returns)X
+2919(instance)X
+3230(number.)X
+3 f
+576 1556(initiateP)N
+1 f
+895(\()X
+2 f
+924(<name1>)X
+1 f
+1276(,)X
+2 f
+(<name2>)S
+1 f
+1650(,)X
+2 f
+(<inum>)S
+1 f
+1966(\))X
+776 1696(Start)N
+965(new)X
+1133(instance)X
+1444(of)X
+2 f
+1539(<name1>)X
+1 f
+1913(when)X
+2 f
+2125(<name2>)X
+1 f
+2477(/)X
+2 f
+2502(<inum>)X
+1 f
+2818(terminates.)X
+3 f
+576 1864(initiateD)N
+1 f
+904(\()X
+2 f
+933(<name>)X
+1 f
+1241(,)X
+2 f
+(<event>)S
+1 f
+1567(\))X
+776 2004(Start)N
+965(new)X
+1133(instance)X
+1444(of)X
+2 f
+1539(<name>)X
+1 f
+1869(when)X
+2 f
+2081(<event>)X
+1 f
+2407(occurs.)X
+3 f
+576 2172(ready)N
+1 f
+791(\()X
+2 f
+820(<event>)X
+1 f
+1124(\))X
+776 2312(Inform)N
+3 f
+9 s
+1038(PVM)X
+1 f
+11 s
+1224(system)X
+1491(of)X
+1586(occurrence)X
+1993(of)X
+2 f
+2088(<event>)X
+1 f
+2392(.)X
+3 f
+576 2480(terminate)N
+1 f
+942(\()X
+2 f
+971(<name>)X
+1 f
+1279(,)X
+2 f
+(<inum>)S
+1 f
+1595(\))X
+776 2620(Terminate)N
+1161(instance)X
+2 f
+1472(<inum>)X
+1 f
+1788(of)X
+1883(component)X
+2 f
+2297(<name>)X
+1 f
+2605(.)X
+3 f
+576 2788(waitprocess)N
+1 f
+1015(\()X
+2 f
+1044(<name>)X
+1 f
+1352(,)X
+2 f
+(<inum>)S
+1 f
+1668(\))X
+776 2928(Block)N
+1009(caller)X
+1227(until)X
+1412(instance)X
+2 f
+1723(<inum>)X
+1 f
+2039(of)X
+2 f
+2134(<name>)X
+1 f
+2464(terminates.)X
+3 f
+576 3096(send)N
+1 f
+747(\()X
+2 f
+776(<name>)X
+1 f
+1084(,)X
+2 f
+(<inum>)S
+1 f
+1400(,)X
+2 f
+(<type>)S
+1 f
+1687(\))X
+776 3236(Send)N
+983(message)X
+1312(of)X
+1417(speci\256ed)X
+1762(type)X
+1946(to)X
+2047(speci\256ed)X
+2392(destination)X
+2812(process.)X
+3129(Negative)X
+3479(return)X
+3721(value)X
+3944(on)X
+776 3348(failure.)N
+3 f
+576 3516(recv)N
+1 f
+737(\()X
+2 f
+766(<type>)X
+1 f
+1031(\))X
+776 3656(Receive)N
+1082(message)X
+1402(of)X
+1497(speci\256ed)X
+1832(type.)X
+3 f
+576 3824(recv1)N
+1 f
+781(\()X
+2 f
+810(<type>)X
+1 f
+1075(,)X
+2 f
+(<other_limit>)S
+1 f
+1608(\))X
+776 3964(Receive)N
+1092(message)X
+1422(of)X
+1527(speci\256ed)X
+1873(type;)X
+2 f
+2083(<other_limit>)X
+1 f
+2627(msgs)X
+2841(of)X
+2947(other)X
+3161(types)X
+3380(allowed.)X
+3714(Negative)X
+776 4076(return)N
+1008(value)X
+1221(on)X
+1331(failure.)X
+3 f
+576 4244(recv2)N
+1 f
+781(\()X
+2 f
+810(<type1>)X
+1 f
+1119(,)X
+2 f
+(<timeout>)S
+1 f
+1524(\))X
+776 4384(Receive)N
+1118(message)X
+1452(of)X
+1561(speci\256ed)X
+1910(type)X
+2098(within)X
+2 f
+2360(<timeout>)X
+1 f
+2779(seconds.)X
+3115(Negative)X
+3469(return)X
+3716(value)X
+3944(on)X
+776 4496(failure.)N
+3 f
+576 4664(putstring)N
+1 f
+923(\()X
+2 f
+952(<string>)X
+1 f
+1276(\))X
+776 4804(Store)N
+2 f
+984(<string>)X
+1 f
+1330(in)X
+1421(send)X
+1604(buffer)X
+1840(in)X
+1931(machine)X
+2252(independent)X
+2705(form.)X
+3 f
+576 4972(putint)N
+1 f
+806(\()X
+2 f
+835(<num>)X
+1 f
+1104(\))X
+776 5112(Store)N
+984(integer)X
+1251(in)X
+1342(send)X
+1525(buffer)X
+1761(in)X
+1852(machine)X
+2173(independent)X
+2626(form.)X
+3 f
+576 5280(put\257oat)N
+1 f
+869(\()X
+2 f
+898(<fnum>)X
+1 f
+1192(\))X
+776 5420(Store)N
+984(real)X
+1138(number)X
+1429(in)X
+1520(send)X
+1703(buffer)X
+1939(in)X
+2030(machine)X
+2351(independent)X
+2804(form.)X
+3 f
+576 5588(getstring)N
+1 f
+908(\()X
+2 f
+937(<string_ptr>)X
+1 f
+1408(\))X
+776 5728(Retrieve)N
+1097(string)X
+1320(from)X
+1513(receive)X
+1789(buffer)X
+2025(in)X
+2116(machine)X
+2437(dependent)X
+2821(form.)X
+
+26 p
+%%Page: 26 26
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(26)X
+2370(-)X
+3 f
+576 688(getint)N
+1 f
+791(\()X
+2 f
+820(<integer_ptr>)X
+1 f
+1335(\))X
+776 828(Retrieve)N
+1097(integer)X
+1364(from)X
+1557(receive)X
+1833(buffer)X
+2069(in)X
+2160(machine)X
+2481(dependent)X
+2865(form.)X
+3 f
+576 996(get\257oat)N
+1 f
+854(\()X
+2 f
+883(<\257oat_ptr>)X
+1 f
+1305(\))X
+776 1136(Retrieve)N
+1097(real)X
+1251(number)X
+1542(from)X
+1735(receive)X
+2011(buffer)X
+2247(in)X
+2338(machine)X
+2659(dependent)X
+3043(form.)X
+3 f
+576 1304(recvinfo)N
+1 f
+884(\()X
+2 f
+913(<string_ptr>)X
+1 f
+1384(,)X
+2 f
+(<inum_ptr>)S
+1 f
+1847(,)X
+2 f
+(<len_ptr>)S
+1 f
+2242(\))X
+776 1444(Return)N
+1038(source)X
+1289(name,)X
+1524(instance)X
+1835(number,)X
+2148(and)X
+2297(length)X
+2540(of)X
+2635(last)X
+2780(received)X
+3100(message.)X
+3 f
+576 1612(broadcast)N
+1 f
+947(\()X
+2 f
+976(<name>)X
+1 f
+1284(\))X
+776 1752(Broadcast)N
+1150(send)X
+1333(buffer)X
+1569(to)X
+1660(all)X
+1771(instances)X
+2116(of)X
+2 f
+2211(<name>)X
+1 f
+2519(.)X
+2563(Returns)X
+2859(actual)X
+3092(number)X
+3383(of)X
+3478(recipients.)X
+3 f
+576 1920(barrier)N
+1 f
+850(\()X
+2 f
+879(<number>)X
+1 f
+1265(\))X
+776 2060(Blocks)N
+1049(caller)X
+1274(until)X
+1466(speci\256ed)X
+1808(number)X
+2106(of)X
+2208(instances)X
+2560(arrive)X
+2794(at)X
+2887(barrier.)X
+3172(Negative)X
+3519(return)X
+3758(value)X
+3978(if)X
+776 2172(some)N
+984(instances)X
+1329(have)X
+1517(terminated.)X
+3 f
+576 2340(waituntil)N
+1 f
+914(\()X
+2 f
+943(<event>)X
+1 f
+1247(\))X
+776 2480(Blocks)N
+1043(caller)X
+1261(until)X
+1446(speci\256ed)X
+1781(event)X
+1994(occurs.)X
+3 f
+576 2648(shmget)N
+1 f
+844(\()X
+2 f
+873(<key>)X
+1 f
+1108(,)X
+2 f
+(<size>)S
+1 f
+1380(\))X
+776 2788(Allocates)N
+1134(shared)X
+1388(memory)X
+1708(segment)X
+2028(of)X
+2127(speci\256ed)X
+2466(size)X
+2629(identi\256ed)X
+2989(by)X
+2 f
+3103(<key>)X
+1 f
+3338(.)X
+3408(A)X
+3497(negative)X
+3822(return)X
+776 2900(value)N
+989(indicates)X
+1325(that)X
+1480(the)X
+1610(key)X
+1759(value)X
+1972(is)X
+2053(already)X
+2334(in)X
+2425(use.)X
+3 f
+576 3068(shmat)N
+1 f
+805(\()X
+2 f
+834(<key>)X
+1 f
+1069(,)X
+2 f
+(<ptr>)S
+1 f
+1312(,)X
+2 f
+(<\257ag>)S
+1 f
+1584(,)X
+2 f
+(<timeout>)S
+1 f
+1989(\))X
+776 3208(Locks)N
+1022(shared)X
+1282(memory)X
+1607(segment)X
+1932(identi\256ed)X
+2297(by)X
+2 f
+2416(<key>)X
+1 f
+2682(and)X
+2840(maps)X
+3057(segment)X
+3382(at)X
+3478(caller's)X
+3769(address)X
+776 3320(space)N
+998(starting)X
+1289(at)X
+2 f
+1379(ptr>)X
+1 f
+1541(.)X
+1589("R")X
+1746(or)X
+1845("RW")X
+2085(are)X
+2218(possible)X
+2533(\257ag)X
+2691(values;)X
+2967(a)X
+3032(negative)X
+3357(value)X
+3574(is)X
+3659(returned)X
+3978(if)X
+776 3432(the)N
+910(attach)X
+1147(does)X
+1334(not)X
+1473(succeed)X
+1778(within)X
+2 f
+2031(<timeout>)X
+1 f
+2441(seconds.)X
+2768(A)X
+2858(0)X
+2929(timeout)X
+3227(value)X
+3445(causes)X
+3701(the)X
+3836(caller)X
+776 3544(to)N
+867(block)X
+1085(until)X
+1270(successful.)X
+3 f
+576 3712(shmatint)N
+1 f
+908(\()X
+2 f
+937(<key>)X
+1 f
+1172(,)X
+2 f
+(<integer_ptr>)S
+1 f
+1709(,)X
+2 f
+(<\257ag>)S
+1 f
+1981(,)X
+2 f
+(<timeout>)S
+1 f
+2386(\))X
+776 3852(Variant)N
+1062(of)X
+3 f
+1157(shmat)X
+1 f
+1408(that)X
+1563(maps)X
+1771(segment)X
+2087(in)X
+2178(typed)X
+2396(form)X
+2589(as)X
+2684(integer)X
+2951(array.)X
+3 f
+576 4020(shmat\257oat)N
+1 f
+971(\()X
+2 f
+1000(<key>)X
+1 f
+1235(,)X
+2 f
+(<\257oat_ptr>)S
+1 f
+1679(,)X
+2 f
+(<\257ag>)S
+1 f
+1951(,)X
+2 f
+(<timeout>)S
+1 f
+2356(\))X
+776 4160(Variant)N
+1062(of)X
+3 f
+1157(shmat)X
+1 f
+1408(that)X
+1563(maps)X
+1771(segment)X
+2087(in)X
+2178(typed)X
+2396(form)X
+2589(as)X
+2684(\257oat)X
+2863(array.)X
+3 f
+576 4328(shmdt)N
+1 f
+810(\()X
+2 f
+839(<key>)X
+1 f
+1074(,)X
+2 f
+(<ptr>)S
+1 f
+1317(\))X
+776 4468(Unlocks)N
+1100(and)X
+1258(unmaps)X
+1563(speci\256ed)X
+1907(shared)X
+2167(memory)X
+2492(segment)X
+2817(from)X
+3019(process')X
+3343(address)X
+3638(space)X
+3865(indi-)X
+776 4580(cated)N
+984(by)X
+2 f
+1094(<ptr>)X
+1 f
+1315(.)X
+3 f
+576 4748(shmdtint)N
+1 f
+913(\()X
+2 f
+942(<key>)X
+1 f
+1177(,)X
+2 f
+(<integer_ptr>)S
+1 f
+1714(\))X
+776 4888(Unlocks)N
+1110(and)X
+1278(unmaps)X
+1593(speci\256ed)X
+1947(shared)X
+2217(memory)X
+2552(segment)X
+2887(in)X
+2997(a)X
+3077(typed)X
+3314(form)X
+3527(from)X
+3740(process')X
+776 5000(address)N
+1061(space)X
+1278(indicated)X
+1624(by)X
+2 f
+1734(<integer_ptr>)X
+1 f
+2249(.)X
+3 f
+576 5168(shmdt\257oat)N
+1 f
+976(\()X
+2 f
+1005(<key>)X
+1 f
+1240(,)X
+2 f
+(<\257oat_ptr>)S
+1 f
+1684(\))X
+776 5308(Unlocks)N
+1110(and)X
+1278(unmaps)X
+1593(speci\256ed)X
+1947(shared)X
+2217(memory)X
+2552(segment)X
+2887(in)X
+2997(a)X
+3077(typed)X
+3314(form)X
+3527(from)X
+3740(process')X
+776 5420(address)N
+1061(space)X
+1278(indicated)X
+1624(by)X
+2 f
+1734(<\257oat_ptr>)X
+1 f
+2156(.)X
+3 f
+576 5588(shmfree)N
+1 f
+878(\()X
+2 f
+907(<key>)X
+1 f
+1142(\))X
+776 5728(Deallocates)N
+1209(speci\256ed)X
+1544(shared)X
+1795(memory)X
+2111(segment.)X
+
+27 p
+%%Page: 27 27
+11 s 11 xH 0 xS 1 f
+2209 400(-)N
+2260(27)X
+2370(-)X
+3 f
+576 688(lock)N
+1 f
+733(\()X
+2 f
+762(<resource_name>)X
+1 f
+1421(,)X
+2 f
+(<timeout>)S
+1 f
+1826(\))X
+776 828(Permits)N
+1070(exclusive)X
+1427(access)X
+1675(to)X
+1768(abstract)X
+2067(resource)X
+2389(identi\256ed)X
+2748(by)X
+2861(string-valued)X
+2 f
+3351(<resource_name>)X
+1 f
+4010(.)X
+776 940(Negative)N
+1133(return)X
+1382(value)X
+1612(indicates)X
+1964(resource)X
+2299(could)X
+2533(not)X
+2684(be)X
+2805(acquired)X
+3146(within)X
+3410(speci\256ed)X
+3761(timeout)X
+776 1052(period.)N
+3 f
+576 1220(unlock)N
+1 f
+831(\()X
+2 f
+860(<resource_name>)X
+1 f
+1519(\))X
+776 1360(Releases)N
+1106(lock)X
+1280(on)X
+1390(previously)X
+1784(acquired)X
+2109(resource.)X
+3 f
+576 1528(status)N
+1 f
+795(\()X
+2 f
+824(<component_name>)X
+1 f
+1562(,)X
+2 f
+(<inum>)S
+1 f
+1878(,)X
+2 f
+1922(<stat_ptr>)X
+1 f
+2315(,)X
+2 f
+(<loc_ptr>)S
+1 f
+2710(\))X
+776 1668(Takes)N
+1034(string)X
+1283(valued)X
+1566(component)X
+2006(name)X
+2245(and)X
+2420(an)X
+2551(instance)X
+2888(number)X
+3205(and)X
+3381(returns)X
+3674(the)X
+3831(status)X
+776 1780(\(0=nonexistent,)N
+1354(1=active\))X
+1714(and)X
+1867(location)X
+2178(\(processor)X
+2569(number)X
+2864(in)X
+2959(the)X
+3093(range)X
+3314(0)X
+3384(\320)X
+3497(p\))X
+3595(of)X
+3693(that)X
+3851(com-)X
+776 1892(ponent)N
+1038(instance.)X
+3 f
+576 2060(entercomp)N
+1 f
+976(\()X
+2 f
+1005(<name>)X
+1 f
+1313(,)X
+2 f
+(<loc_machine>)S
+1 f
+1903(,)X
+2 f
+(<obj_\256le>)S
+1 f
+2308(,)X
+2 f
+(<arch>)S
+1 f
+2609(\))X
+776 2200(Permits)N
+1077(a)X
+1147(component)X
+1570(description)X
+1993(to)X
+2093(be)X
+2207(added;)X
+2473(specifying)X
+2871(the)X
+3010(component)X
+3433(name,)X
+3677(the)X
+3816(object)X
+776 2312(\256le)N
+913(name)X
+1128(and)X
+1279(the)X
+1411(machine)X
+1734(on)X
+1845(which)X
+2083(it)X
+2156(is)X
+2238(located,)X
+2538(and)X
+2688(the)X
+2819(type)X
+2994(of)X
+3090(architecture)X
+3529(that)X
+3685(the)X
+3816(object)X
+776 2424(will)N
+936(execute)X
+1227(on.)X
+3 f
+576 2592(shmstat)N
+1 f
+868(\()X
+2 f
+897(<key_ptr_ptr>)X
+1 f
+1426(,)X
+2 f
+(<stat_ptr>)S
+1 f
+1841(\))X
+776 2732(Obtains)N
+1081(information)X
+1529(about)X
+1756(shared)X
+2016(memory)X
+2341(regions.)X
+2653(Array)X
+2888(of)X
+2993(strings)X
+3260(holds)X
+3483(the)X
+3623(key)X
+3782(values;)X
+776 2844(array)N
+987(of)X
+1091(integers)X
+1401(holds)X
+1623(status)X
+1855(\(0=free,)X
+2167(1=locked\))X
+2556(information.)X
+3048(Return)X
+3319(value)X
+3541(speci\256es)X
+3874(total)X
+776 2956(number)N
+1067(of)X
+1162(active)X
+1395(regions.)X
+3 f
+576 3124(lockstat)N
+1 f
+869(\()X
+2 f
+898(<key_ptr_ptr>)X
+1 f
+1427(\))X
+776 3264(Returns)N
+1072(total)X
+1252(number)X
+1543(of)X
+1638(active)X
+1871(locks)X
+2079(with)X
+2258(array)X
+2460(of)X
+2555(strings)X
+2812(holding)X
+3104(the)X
+3234(key)X
+3383(values.)X
+3 f
+576 3432(Notes:)N
+1 f
+776 3572(Among)N
+1066(the)X
+3 f
+9 s
+1196(PVM)X
+1 f
+11 s
+1386(constructs)X
+1769(described)X
+2132(above,)X
+2390(those)X
+2602(concerned)X
+2989(with)X
+3172(machine)X
+3497(dependent)X
+3885(data)X
+776 3684(representation)N
+1304(are)X
+1440(to)X
+1538(be)X
+1650(implemented)X
+2141(as)X
+2243(part)X
+2409(of)X
+2511(the)X
+2648(installation)X
+3071(procedure)X
+3451(for)X
+3582(architectures)X
+776 3796(not)N
+922(represented)X
+1360(in)X
+1462(the)X
+1603(generic)X
+1895(distribution)X
+2336(of)X
+2442(the)X
+2583(software.)X
+2940(Also)X
+3139(deemed)X
+3446(part)X
+3617(of)X
+3724(this)X
+3886(pro-)X
+776 3908(cedure)N
+1062(are)X
+1221(constructs)X
+1630(to)X
+1751(handle)X
+2038(other)X
+2271(data)X
+2470(types)X
+2708(such)X
+2920(as)X
+3044(double)X
+3335(precision,)X
+3731(boolean,)X
+776 4020(enumerated)N
+1209(types,)X
+1439(etc.)X
+
+27 p
+%%Trailer
+xt
+
+xs