(original) (raw)

%!PS-Adobe-2.0 %%Creator: dvips, version 5.4 (C) 1986-90 Radical Eye Software %%Title: jer20.dvi %%Pages: 26 1 %%BoundingBox: 0 0 612 792 %%EndComments %%BeginProcSet: tex.pro /TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch load def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{ isls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale Resolution VResolution vsize neg mul TR}B /@letter{/vsize 10 N}B /@landscape{ /isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{/vsize 15.5531 N }B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0 ]N /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0 ]N df-tail}B /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[ }B /E{pop nn dup definefont setfont}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ctr 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}imagemask restore}B /D{ /cc X dup type /stringtype ne{]}if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto}B /eop{clear SI restore showpage userdict /eop-hook known{eop-hook}if}B /@start{userdict /start-hook known{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}B /p /show load N /RMat[1 0 0 -1 0 0]N /BDot 8 string N /v{/ruley X /rulex X V}B /V{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}B /a{moveto}B /delta 0 N /tail{ dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}B /d{ -3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{4 M}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t {p 4 w}B /w{0 rmoveto}B /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save N}B /eos{clear SS restore}B end %%EndProcSet %%BeginProcSet: special.pro TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP false N /BBcalc false N /p 3 def}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{ @scaleunit div /vsc X}B /@hsize{/hs X /CLIP true N}B /@vsize{/vs X /CLIP true N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{10 div /rwi X} B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X /BBcalc true N}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{md begin /letter{}N /note{}N /legal{}N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{ itransform moveto}}{transform{itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{ PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if} ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp{pop pop showpage pm restore}N end}if} if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{ DVImag dup scale}if}N /psfts{S 65536 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N @MacSetUp}N /doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults}B /@setspecial{CLIP{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}{initclip}ifelse ho vo TR hsc vsc scale ang rotate BBcalc{rwi urx llx sub div dup scale llx neg lly neg TR}if /showpage{}N /erasepage{}N /copypage{}N newpath}B /@endspecial{grestore clear SpecialSave restore end}B /@defspecial{SDict begin}B /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{/SaveX currentpoint /SaveY X N 1 setlinecap newpath}B /st{stroke SaveX SaveY moveto}B /fil{fill SaveX SaveY moveto}B /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}B end %%EndProcSet TeXDict begin 1000 300 300 @start /Fa 2 36 df<00000004000000000200000000020000 0000010000000000800000000040FFFFFFFFF8FFFFFFFFF8000000004000000000800000000100 000000020000000002000000000400250E7E902A>33 D<03000300030003000300030003000300 030003000300030003000300030003000300030003000300030003000300030003000300030003 0003008304631813200B4007800300030001000E257D9C15>35 D E /Fb 1 51 df<3E00418080C0C0C000C000C0018003000400084030407F80FF800A0D7E8C0E>50 D E /Fc 3 113 df0 D<00000600001E0000780001E0000780001E 0000780001E0000780001E0000780000E000007800001E000007800001E000007800001E000007 800001E000007800001E0000060000000000000000000000000000000000007FFFFCFFFFFE171F 7D971E>20 D<00000002000000060000000C0000000C0000001800000018000000300000003000 00006000000060000000C0000000C0000001800000018000000300000003000000060000000600 00000C000C000C003C0018004E0018008E0030000700300007006000070060000380C0000380C0 0001C1800001C1800000E3000000E300000076000000760000003C0000003C0000001800000018 00001F267E8120>112 D E /Fd 38 122 df<387CFEFFFF7F3B03030706060C1C18702008117C A210>39 D45 D<387CFEFEFE7C3807077C8610>I<00180000 780001F800FFF800FFF80001F80001F80001F80001F80001F80001F80001F80001F80001F80001 F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001 F80001F80001F8007FFFE07FFFE013207C9F1C>49 D<03FC000FFF003C1FC07007E07C07F0FE03 F0FE03F8FE03F8FE01F87C01F83803F80003F80003F00003F00007E00007C0000F80001F00003E 0000380000700000E01801C0180380180700180E00380FFFF01FFFF03FFFF07FFFF0FFFFF0FFFF F015207D9F1C>I<00FE0007FFC00F07E01E03F03F03F03F81F83F81F83F81F81F03F81F03F000 03F00003E00007C0001F8001FE0001FF000007C00001F00001F80000FC0000FC3C00FE7E00FEFF 00FEFF00FEFF00FEFF00FC7E01FC7801F81E07F00FFFC001FE0017207E9F1C>I<0000E00001E0 0003E00003E00007E0000FE0001FE0001FE00037E00077E000E7E001C7E00187E00307E00707E0 0E07E00C07E01807E03807E07007E0E007E0FFFFFEFFFFFE0007E00007E00007E00007E00007E0 0007E00007E000FFFE00FFFE17207E9F1C>I<00FE0003FFC00703E00E00F01C00F01C00783C00 783E00783F00783F80783FE0F01FF9E01FFFC00FFF8007FFC003FFE007FFF01E7FF83C1FFC7807 FC7801FEF000FEF0003EF0001EF0001EF0001CF8001C7800383C00381F01F00FFFC001FF001720 7E9F1C>56 D<000070000000007000000000F800000000F800000000F800000001FC00000001FC 00000003FE00000003FE00000003FE00000006FF000000067F0000000E7F8000000C3F8000000C 3F800000183FC00000181FC00000381FE00000300FE00000300FE00000600FF000006007F00000 E007F80000FFFFF80000FFFFF800018001FC00018001FC00038001FE00030000FE00030000FE00 0600007F000600007F00FFE00FFFF8FFE00FFFF825227EA12A>65 D<0003FE0080001FFF818000 FF01E38001F8003F8003E0001F8007C0000F800F800007801F800007803F000003803F00000380 7F000001807E000001807E00000180FE00000000FE00000000FE00000000FE00000000FE000000 00FE00000000FE00000000FE000000007E000000007E000001807F000001803F000001803F0000 03801F800003000F8000030007C000060003F0000C0001F800380000FF00F000001FFFC0000003 FE000021227DA128>67 D70 D72 DI77 D80 D<01FC0407FF8C1F03FC3C00 7C7C003C78001C78001CF8000CF8000CFC000CFC0000FF0000FFE0007FFF007FFFC03FFFF01FFF F80FFFFC03FFFE003FFE0003FF00007F00003F00003FC0001FC0001FC0001FE0001EE0001EF000 3CFC003CFF00F8C7FFE080FF8018227DA11F>83 D86 D<07FC001FFF803F07C03F03E03F01E03F01F01E01F00001F00001F0003FF003FDF01FC1 F03F01F07E01F0FC01F0FC01F0FC01F0FC01F07E02F07E0CF81FF87F07E03F18167E951B>97 DI<00FF8007FFE00F83 F01F03F03E03F07E03F07C01E07C0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E00 007E00003E00301F00600FC0E007FF8000FE0014167E9519>I<0001FE000001FE0000003E0000 003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E0000003E00 01FC3E0007FFBE000F81FE001F007E003E003E007E003E007C003E00FC003E00FC003E00FC003E 00FC003E00FC003E00FC003E00FC003E00FC003E007C003E007C003E003E007E001E00FE000F83 BE0007FF3FC001FC3FC01A237EA21F>I<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC 00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00007E00003E00181F00300FC07003 FFC000FF0015167E951A>I<003F8000FFC001E3E003C7E007C7E00F87E00F83C00F80000F8000 0F80000F80000F80000F8000FFFC00FFFC000F80000F80000F80000F80000F80000F80000F8000 0F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80007FF8007FF800 13237FA211>I<03FC1E0FFF7F1F0F8F3E07CF3C03C07C03E07C03E07C03E07C03E07C03E03C03 C03E07C01F0F801FFF0013FC003000003000003800003FFF801FFFF00FFFF81FFFFC3800FC7000 3EF0001EF0001EF0001EF0001E78003C7C007C3F01F80FFFE001FF0018217E951C>II<1C003F007F007F007F003F001C 000000000000000000000000000000FF00FF001F001F001F001F001F001F001F001F001F001F00 1F001F001F001F001F001F001F001F00FFE0FFE00B247EA310>I107 DIII<00FE0007FFC00F83E01E00F03E00F87C007C7C00 7C7C007CFC007EFC007EFC007EFC007EFC007EFC007EFC007E7C007C7C007C3E00F81F01F00F83 E007FFC000FE0017167E951C>II114 D<0FF3003FFF00781F0060 0700E00300E00300F00300FC00007FE0007FF8003FFE000FFF0001FF00000F80C00780C00380E0 0380E00380F00700FC0E00EFFC00C7F00011167E9516>I<018000018000018000018000038000 0380000780000780000F80003F8000FFFF00FFFF000F80000F80000F80000F80000F80000F8000 0F80000F80000F80000F80000F80000F81800F81800F81800F81800F81800F830007C30003FE00 00F80011207F9F16>III121 D E /Fe 42 122 df<000FF01FC000007FF8FFF00000F81FE0780001E03F80F80003E07F80F80007C07F00F80007 C07F00F80007C03F00700007C01F00000007C01F00000007C01F00000007C01F03FC00FFFFFFFF FC00FFFFFFFFFC0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007 C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F007C0007C01F00 7C0007C01F007C0007C01F007C0007C01F007C0007C01F007C003FF8FFE3FF803FF8FFE3FF8029 20809F2C>14 D45 D<387CFEFEFE7C3807077C860F>I<00E0 0001E0000FE000FFE000F3E00003E00003E00003E00003E00003E00003E00003E00003E00003E0 0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0 00FFFF80FFFF80111D7C9C1A>49 D<07F0001FFE00383F007C1F80FE0FC0FE0FC0FE0FE0FE07E0 7C07E03807E0000FE0000FC0000FC0001F80001F00003E0000780000F00000E00001C000038060 0700600E00601C00E01FFFC03FFFC07FFFC0FFFFC0FFFFC0131D7D9C1A>I<01FC0007FF000E0F 801E0FC03F07E03F07E03F07E03F07E01E0FC0000FC0000F80001F0001FC0001FC00000F800007 C00003E00003F00003F83803F87C03F8FE03F8FE03F8FE03F0FC03F07807E03C0FC01FFF8003FC 00151D7E9C1A>I<0001C00003C00007C00007C0000FC0001FC0003BC00073C00063C000C3C001 83C00383C00703C00E03C00C03C01803C03803C07003C0E003C0FFFFFEFFFFFE0007C00007C000 07C00007C00007C00007C000FFFE00FFFE171D7F9C1A>I<0000E000000000E000000001F00000 0001F000000001F000000003F800000003F800000006FC00000006FC0000000EFE0000000C7E00 00000C7E000000183F000000183F000000303F800000301F800000701FC00000600FC00000600F C00000C007E00000FFFFE00001FFFFF000018003F000018003F000030001F800030001F8000600 01FC00060000FC000E0000FE00FFE00FFFE0FFE00FFFE0231F7E9E28>65 DI<0007FC02003FFF0E00FE03DE03F000FE07E0003E0FC0001E 1F80001E3F00000E3F00000E7F0000067E0000067E000006FE000000FE000000FE000000FE0000 00FE000000FE000000FE0000007E0000007E0000067F0000063F0000063F00000C1F80000C0FC0 001807E0003803F0007000FE01C0003FFF800007FC001F1F7D9E26>IIII<0007FC0200003FFF0E0000FE03DE00 03F000FE0007E0003E000FC0001E001F80001E003F00000E003F00000E007F000006007E000006 007E00000600FE00000000FE00000000FE00000000FE00000000FE00000000FE003FFFE0FE003F FFE07E00007E007E00007E007F00007E003F00007E003F00007E001F80007E000FC0007E0007E0 007E0003F000FE0000FE01FE00003FFF8E000007FC0600231F7D9E29>III77 D<001FF80000FFFF0001F81F8007 E007E00FC003F01F8001F81F0000F83F0000FC7F0000FE7E00007E7E00007EFE00007FFE00007F FE00007FFE00007FFE00007FFE00007FFE00007FFE00007FFE00007F7E00007E7F0000FE7F0000 FE3F0000FC3F8001FC1F8001F80FC003F007E007E001F81F8000FFFF00001FF800201F7D9E27> 79 DI82 D<03FC080FFF381E03F83800F8700078 700038F00038F00018F00018F80000FC00007FC0007FFE003FFF801FFFE00FFFF007FFF000FFF8 0007F80000FC00007C00003CC0003CC0003CC0003CE00038E00078F80070FE01E0E7FFC081FF00 161F7D9E1D>I<7FFFFFFC7FFFFFFC7C07E07C7007E01C6007E00C6007E00CE007E00EC007E006 C007E006C007E006C007E0060007E0000007E0000007E0000007E0000007E0000007E0000007E0 000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007 E00003FFFFC003FFFFC01F1E7E9D24>I86 D<07FC001FFF003F0F803F07C03F03E0 3F03E00C03E00003E0007FE007FBE01F03E03C03E07C03E0F803E0F803E0F803E0FC05E07E0DE0 3FF8FE0FE07E17147F9319>97 D<01FE0007FF801F0FC03E0FC03E0FC07C0FC07C0300FC0000FC 0000FC0000FC0000FC0000FC00007C00007E00003E00603F00C01F81C007FF0001FC0013147E93 17>99 D<0007F80007F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000 F801F8F80FFEF81F83F83E01F87E00F87C00F87C00F8FC00F8FC00F8FC00F8FC00F8FC00F8FC00 F87C00F87C00F87E00F83E01F81F07F80FFEFF03F8FF18207E9F1D>I<01FE0007FF800F83C01E 01E03E00F07C00F07C00F8FC00F8FFFFF8FFFFF8FC0000FC0000FC00007C00007C00003E00181E 00180F807007FFE000FF8015147F9318>I<001F8000FFC001F3E003E7E003C7E007C7E007C3C0 07C00007C00007C00007C00007C000FFFC00FFFC0007C00007C00007C00007C00007C00007C000 07C00007C00007C00007C00007C00007C00007C00007C00007C00007C0003FFC003FFC0013207F 9F10>I<01FC3C07FFFE0F079E1E03DE3E03E03E03E03E03E03E03E03E03E01E03C00F07800FFF 0009FC001800001800001C00001FFF800FFFF007FFF81FFFFC3C007C70003EF0001EF0001EF000 1E78003C78003C3F01F80FFFE001FF00171E7F931A>II<1C003E003F007F003F003E001C00000000000000000000000000FF00FF00 1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B217E A00E>I108 DII<01FF0007FFC01F83F03E00F83E00F87C007C7C00 7CFC007EFC007EFC007EFC007EFC007EFC007E7C007C7C007C3E00F83E00F81F83F007FFC001FF 0017147F931A>II114 D<0FE63FFE701E600EE006E006F800FFC07FF83FFC1FFE03FE 001FC007C007E007F006F81EFFFCC7F010147E9315>I<01800180018003800380038007800F80 3F80FFFCFFFC0F800F800F800F800F800F800F800F800F800F800F860F860F860F860F8607CC03 F801F00F1D7F9C14>II119 D121 D E /Ff 6 121 df<01FFFE000038070000380380003803C0007003C0007003C0007003C00070 03C000E0078000E0070000E01E0000E03C0001FFF80001C01C0001C00E0001C00F0003800F0003 800F0003800F0003800F0007001E0007001E0007003C00070078000E01E000FFFF80001A1A7E99 1D>66 D<3FFFFF80380E0180200E0080400E0080401C0080801C0080801C0080801C0080003800 000038000000380000003800000070000000700000007000000070000000E0000000E0000000E0 000000E0000001C0000001C0000001C0000001C0000003C000007FFE0000191A7F9916>84 D<383C004CC6008F07008E07008E07008E07001C0E001C0E001C0E001C1C00381C40381C403838 40383880701900300E0012107E8F17>110 D<070F0009918011E1C011C0C011C0C011C0C00381 C00381C00381C00381C00703800703000707000706000E8C000E70000E00000E00001C00001C00 001C00001C0000FF00001217818F13>112 D<0180038003800380038007000700FFE007000E00 0E000E000E001C001C001C001C00384038403840388019000E000B177F960E>116 D<0F1E11A321E741C341C041C0038003800380038007020702C702EB04CB0870F010107E8F16> 120 D E /Fg 13 58 df<020408103020604040C0C0C0C0C0C0C0C0404060203010080402071A 7F920C>40 D<8040201018080C0404060606060606060604040C081810204080071A7E920C>I< 00C00000C00000C00000C00000C00000C00000C00000C00000C000FFFF80FFFF8000C00000C000 00C00000C00000C00000C00000C00000C00000C00011147E8F17>43 D<1F00318060C04040C060 C060C060C060C060C060C060C060404060C031801F000B107F8F0F>48 D<0C003C00CC000C000C 000C000C000C000C000C000C000C000C000C000C00FF8009107E8F0F>I<1F00618040C08060C0 600060006000C00180030006000C00102020207FC0FFC00B107F8F0F>I<1F00218060C060C000 C0008001800F00008000400060C060C060804060801F000B107F8F0F>I<0300030007000F000B 001300330023004300C300FFE003000300030003001FE00B107F8F0F>I<20803F002C00200020 0020002F0030802040006000600060C06080C061801F000B107F8F0F>I<0780184030C060C060 00C000CF00F080E040C060C060C060406060C030801F000B107F8F0F>I<40007FE07FC0808080 8001000200040004000C0008000800180018001800180018000B117E900F>I<1F00318060C060 C060C071803F000F00338061C0C060C060C060404060801F000B107F8F0F>I<1F00318060C0C0 40C060C060C06040E021E01E600060004060C0608043003E000B107F8F0F>I E /Fh 11 121 df<40E04003037D8209>58 D<0FFFC00180600180300300300300300300300300 E006038007FF800601C00600C00C00C00C00C00C00C00C0180180700FFFC0014117E9017>66 D<0780184030C060006000C000C000C000402060C01F000B0B7E8A0E>99 D<07801840304060407F80C000C000C000402020C01F000B0B7E8A0F>101 D<71F09A189C18981818183030303030323062606460380F0B7E8A13>110 D<07C01820303060106018C030C030C020406021801F000D0B7E8A0F>I<1C70278C2604260606 060C0C0C0C0C0C0C181E3019C01800180030003000FC000F10808A10>I<0F001080218020003E 001F0001808080C00083007C00090B7D8A0F>115 D<08181818FF30303030606062646438080F 7E8E0C>I<3810C04830C08C304098304018304030608030608030608030610010E2000F1C0012 0B7E8A16>119 D<0F381144218C218001800300030003084310C73079C00E0B7F8A11>I E /Fi 2 113 df0 D<000000080000001800000030000000300000 006000000060000000C0000000C0000001800000030000000300000006000000060000000C0000 000C00000018000000180030003000D8003000180060000C0060000C00C0000600C00006018000 0301800003030000018600000186000000CC000000CC0000007800000078000000300000003000 001D227F811D>112 D E /Fj 3 115 df80 D<000000000200000000060000000006000000000C000000000C000000000C0000000018000000 001800000000180000000030000000003000000000300000000060000000006000000000600000 0000C000000000C000000000C00000000180000000018000000001800000000300000000030000 000003000000000600000000060000000006000000000C000000000C000000000C000000001800 000000180000000018000000003000000000300000000030000000006000000000600008000060 001C0000C0003C0000C0007C0000C000DC000180008E000180000E000180000E00030000070003 0000070003000007000600000380060000038006000003800C000003800C000001C00C000001C0 18000001C018000000E018000000E030000000E030000000E03000000070600000007060000000 706000000038C000000038C000000038C00000001D800000001D800000001D800000001F000000 000F000000000F000000000E00000000060000000006000000274B7C812A>113 D<000000000200000000060000000006000000000C000000000C000000000C000000000C000000 001800000000180000000018000000001800000000300000000030000000003000000000300000 00006000000000600000000060000000006000000000C000000000C000000000C000000000C000 000001800000000180000000018000000001800000000180000000030000000003000000000300 000000030000000006000000000600000000060000000006000000000C000000000C000000000C 000000000C00000000180000000018000000001800000000180000000030000000003000000000 3000000000300000000060000000006000000000600008000060001C0000C0001C0000C0003C00 00C0005C0000C0005C000180008E000180000E000180000E000180000E00030000070003000007 000300000700030000070006000007000600000380060000038006000003800C000003800C0000 01C00C000001C00C000001C018000001C018000001C018000000E018000000E018000000E03000 0000E030000000E0300000007030000000706000000070600000007060000000386000000038C0 00000038C000000038C000000038C00000001D800000001D800000001D800000001D800000000F 000000000F000000000F000000000F000000000E0000000006000000000600000027647C812A> I E /Fk 17 112 df<0102040C1818303070606060E0E0E0E0E0E0E0E0E0E06060607030301818 0C04020108227D980E>40 D<8040203018180C0C0E060606070707070707070707070606060E0C 0C18183020408008227E980E>I<00300000300000300000300000300000300000300000300000 3000003000003000FFFFFCFFFFFC00300000300000300000300000300000300000300000300000 300000300000300016187E931B>43 D<07C018303018701C600C600CE00EE00EE00EE00EE00EE0 0EE00EE00EE00E600C600C701C30181C7007C00F157F9412>48 D<03000700FF00070007000700 070007000700070007000700070007000700070007000700070007007FF00C157E9412>I<0F80 30E040708030C038E0384038003800700070006000C00180030006000C08080810183FF07FF0FF F00D157E9412>I<0FE030306018701C701C001C00180038006007E000300018000C000E000EE0 0EE00EC00C401830300FE00F157F9412>I<00300030007000F001F00170027004700870187010 7020704070C070FFFE0070007000700070007003FE0F157F9412>I<20303FE03FC02400200020 00200020002F8030E020700030003800384038E038E0388030406020C01F000D157E9412>I<01 F00608080C181C301C70006000E000E3E0EC30F018F00CE00EE00EE00E600E600E300C30181830 07C00F157F9412>I<40007FFE7FFC7FF8C0088010802000400080008001000100030002000600 06000E000E000E000E000E0004000F167E9512>I<07E018302018600C600C700C78183E101F60 0FC00FF018F8607C601EC00EC006C006C004600C38300FE00F157F9412>I<07C0183030186018 E00CE00CE00EE00EE00E601E301E186E0F8E000E000C001C70187018603020C01F800F157F9412 >I61 D<0F9E18E33060707070707070306018C02F80200060003FE03FF83FFC600EC006C006C006600C 38380FE010157F8D12>103 D108 D<07C018303018600C600C E00EE00EE00EE00EE00E701C3018183007C00F0E7F8D12>111 D E /Fl 20 120 df<60F0F06004047D830A>58 D<60F0F070101020204040040A7D830A>I<07FFFF8000 E0038000E0010000E0010000E0010001C0010001C0010001C0400001C040000380800003818000 03FF800003818000070100000701020007010200070004000E0004000E000C000E0008000E0018 001C007000FFFFF00019177F961A>69 D<1FFFFE381C0E201C04601C04401C0440380480380400 380000380000700000700000700000700000E00000E00000E00000E00001C00001C00001C00001 C00003C0007FFC0017177F9615>84 D<071018F0307060706060C060C060C06080C080C480C4C1 C446C838700E0E7E8D13>97 D<7C0018001800180018003000300030003000678068C070406060 C060C060C060C06080C080C08180C10046003C000B177E960F>I<07C00C20107020706000C000 C000C00080008000C010C02060C03F000C0E7E8D0F>I<07C01C20301060106020FFC0C000C000 C000C000C010402060C01F000C0E7E8D10>101 D<000E00130037003600600060006000600060 07FC00C000C000C000C000C001800180018001800180018003000300030003006600E600CC0078 00101D7E9611>I<1F0006000600060006000C000C000C000C0018F01B181C0818083818301830 1830306030603160616062C022C03C10177E9614>104 D<030003800300000000000000000000 0000001C002400460046008C000C0018001800180031003100320032001C0009177F960C>I<00 180038001000000000000000000000000001C0022004300430086000600060006000C000C000C0 00C001800180018001806300E300C60078000D1D80960E>I<1F0006000600060006000C000C00 0C000C00181C1866188E190C32003C003F00318060C060C460C460C8C0C8C0700F177E9612>I< 383C1E0044C6630047028100460301008E0703000C0603000C0603000C060600180C0600180C06 20180C0C20180C0C4030180440301807801B0E7F8D1F>109 D<383C0044C6004702004602008E 06000C06000C06000C0C00180C00180C40181840181880300880300F00120E7F8D15>I<07C00C 20101020186018C018C018C01880308030C060C0C061803E000D0E7E8D11>I<1C3C2246238223 0346030603060306030C060C060C0C0C081A3019E018001800300030003000FC001014808D12> I<07C00C201870187038001E000FC003E000606060E060C0C0C1803F000C0E7E8D10>115 D<030003000600060006000600FFC00C000C000C00180018001800180030003080308031003100 1E000A147F930D>I<1C020426060E460606460606860C040C0C040C0C040C0C04181808181808 1818100818100C2C2003C7C0170E7F8D19>119 D E /Fm 18 123 df0 D<400004C0000C6000183000301800600C00C006018003030001860000CC00007800 00300000300000780000CC000186000303000601800C00C0180060300030600018C0000C400004 16187A9623>2 D<01800180018001800180C183F18F399C0FF003C003C00FF0399CF18FC18301 80018001800180018010147D9417>I<03C00FF01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFFFFFFFF FF7FFE7FFE3FFC1FF80FF003C010127D9317>15 D<003FFFC000FFFFC003C00000070000000C00 00001800000030000000300000006000000060000000C0000000C0000000C0000000C0000000C0 000000C0000000C000000060000000600000003000000030000000180000000C00000007000000 03C0000000FFFFC0003FFFC0000000000000000000000000000000000000000000000000000000 007FFFFFC07FFFFFC01A247C9C23>18 D<000000C0000003C000000F0000003C000000F0000003 C00000070000001C00000078000001E00000078000001E00000078000000E0000000780000001E 0000000780000001E0000000780000001C0000000700000003C0000000F00000003C0000000F00 000003C0000000C0000000000000000000000000000000000000000000000000000000007FFFFF 80FFFFFFC01A247C9C23>20 D<07C000101FE000103FF0001078380010601E0030C00F0030C007 80608001C1E08000FFC080007F8080003E001C0B7D9023>24 D<0FC000101FF000103FF8001070 3E0030E00F0070C007C0E08001FFC08000FF8080003F0000000000000000000FC000101FF00010 3FF80010703E0030E00F0070C007C0E08001FFC08000FF8080003F001C147D9523>I<01000000 00020000000002000000000400000000080000000010000000002000000000FFFFFFFFF8FFFFFF FFF820000000001000000000080000000004000000000200000000020000000001000000002510 7C922D>32 D<07C000F00FF0038010780600201C0C00400E1800400F3000C00720008003E00080 03C0008001C0008000E0008000F0008001F0008001380040033C0040061C00200C0E0030180780 1C7003F007C000F01C147D9323>47 D<03E0001F000FFC007FC01C7E00C020301F018010600F83 00084007C600084003EC00088001F800048001F800048000F8000480007C000480007E00048000 7E00044000DF000840018F8008400307C018200603E030100C01F8E00FF800FFC003E0001F0026 147D932D>49 D<003FF800FFF803C0000700000C0000180000300000300000600000600000C000 00C00000C00000FFFFF8FFFFF8C00000C00000C000006000006000003000003000001800000C00 0007000003C00000FFF8003FF8151C7C981E>I<00000C00000C00001800001800003000003000 00600000600000C00000C0000180000180000180000300000300000600000600000C00000C0000 180000180000300000300000600000600000C00000C00001800001800003000003000006000006 00000600000C00000C0000180000180000300000300000600000600000C00000400000162C7AA0 00>54 D<000F0038006000E001C001C001C001C001C001C001C001C001C001C001C001C001C001 C001C0038007001E00F8001E000700038001C001C001C001C001C001C001C001C001C001C001C0 01C001C001C001C000E000600038000F102D7DA117>102 DI106 D<00000000080000000018000000003000000000 300000000060000000006000000000C000000000C0000000018000000001800000000300000000 0300000000060000000006000000000C000000000C000000001800000000180000000030000000 00300000000060000000006000000000C000060000C0001E000180002F000180004F0003000087 80030000078006000003C006000003C00C000003C00C000001E018000001E018000000F0300000 00F030000000786000000078600000003CC00000003CC00000001F800000001F800000000F0000 00000F00000000060000000006000000252E7E8126>112 D<0200070007000700070007000200 02004210FFF8FFF802000200020007000700070007000700020000000200070007000700070007 00020002000200FFF8FFF84210020002000700070007000700070002000D297D9F14>122 D E /Fn 31 120 df<70F8F8F87005057C840D>58 D<70F8FCFC74040404080810102040060E7C 840D>I<000001C00000078000001E00000078000001E00000078000000E00000038000000F000 0003C000000F0000003C000000F0000000F00000003C0000000F00000003C0000000F000000038 0000000E0000000780000001E0000000780000001E0000000780000001C01A1A7C9723>I<0001 00030003000600060006000C000C000C00180018001800300030003000600060006000C000C000 C00180018001800300030003000600060006000C000C000C001800180018003000300030006000 60006000C000C000C000102D7DA117>II<00FFFFFF000F000E000F0006000F0002000F0002001E0002001E0002 001E0002001E0002003C0404003C0400003C0400003C0C0000781800007FF80000781800007818 0000F0100000F0100000F0100000F0000401E0000801E0000801E0001001E0001003C0002003C0 006003C0004003C001C0078007C0FFFFFF80201F7E9E22>69 D<00007E0100038183000E004600 38002E0070001E00E0000E01C0000C0380000C0700000C0F00000C1E0000081E0000083C000000 3C00000078000000780000007800000078000000F0000000F0007FFCF00001E0F00001E0F00003 C0700003C0700003C0700003C038000780380007801C000F800C000B80060033000380C100007F 000020217E9F24>71 D<00FFF80FF8000F8003E0000F000380000F000200000F000400001E0008 00001E002000001E004000001E008000003C010000003C040000003C080000003C180000007838 000000787C000000793C0000007A3C000000F41E000000F81E000000F01E000000F00F000001E0 0F000001E00F000001E007800001E007800003C007800003C003C00003C003C00003C003C00007 C003E000FFFC3FFC00251F7E9E27>75 D<0001FC0000070700001C01C0003000E000E0006001C0 00700380007007800038070000380E0000381E0000381C0000383C0000383C0000387800007878 0000787800007878000078F00000F0F00000F0F00000E0F00001E0F00001C0F00003C070000380 7000070078000F0038001E0038003C001C0070000E00E0000783800001FC00001D217E9F23>79 D<00FFFFC0000F0070000F0038000F001C000F001E001E001E001E001E001E001E001E001E003C 003C003C003C003C0078003C0070007800E000780380007FFE000078000000F0000000F0000000 F0000000F0000001E0000001E0000001E0000001E0000003C0000003C0000003C0000003C00000 07C00000FFFC00001F1F7E9E1D>I<0007E0800018118000300B000060070000C0070001C00300 01800200038002000380020003800200038000000380000003C0000003F8000003FF800001FFC0 0000FFE000003FF0000003F0000000F00000007000000070000000700020007000200070002000 60006000E0006000C0006001C00070018000E8030000C60E000081F8000019217D9F1C>83 D<0FFFFFFC1E03C0381803C0181003C0082003C00820078008600780084007800840078008800F 0010000F0000000F0000000F0000001E0000001E0000001E0000001E0000003C0000003C000000 3C0000003C00000078000000780000007800000078000000F0000000F0000000F0000000F00000 01F000007FFFC0001E1F7F9E1B>I86 D<00F1800389C00707800E03801C03803C0380380700780700780700780700F00E00F00E00F00E 00F00E10F01C20F01C20703C20705C40308C400F078014147E9318>97 D<07803F800700070007 0007000E000E000E000E001C001C001CF01D0C3A0E3C0E380F380F700F700F700F700FE01EE01E E01EE01CE03CE038607060E031C01F0010207E9F14>I<0000780003F800007000007000007000 00700000E00000E00000E00000E00001C00001C000F1C00389C00707800E03801C03803C038038 0700780700780700780700F00E00F00E00F00E00F00E10F01C20F01C20703C20705C40308C400F 078015207E9F18>100 D<007C01C207010E011C013C013802780C7BF07C00F000F000F000F000 7000700170023004183807C010147E9315>I<00007C0000CE00019E00039E00030C0007000007 00000700000700000E00000E00000E0000FFF0000E00000E00001C00001C00001C00001C00001C 0000380000380000380000380000380000700000700000700000700000700000E00000E00000E0 0000E00000C00001C000318000798000F300006200003C000017297E9F16>I<01E0000FE00001 C00001C00001C00001C000038000038000038000038000070000070000071F000761800E80C00F 00C00E00E00E00E01C01C01C01C01C01C01C01C0380380380380380380380704700708700E0870 0E10700610E006206003C016207E9F1A>104 D<00E001E001E000C00000000000000000000000 0000000E00130023804380438043808700070007000E000E001C001C001C203840384038403880 19000E000B1F7E9E10>I<0000C00001E00001E00001C000000000000000000000000000000000 0000000000001E00006300004380008380010380010380020700000700000700000700000E0000 0E00000E00000E00001C00001C00001C00001C0000380000380000380000380000700000700030 700078E000F1C0006380003E00001328819E13>I<01E0000FE00001C00001C00001C00001C000 0380000380000380000380000700000700000701E00706100E08700E10F00E20F00E40601C8000 1D00001E00001FC000387000383800383800381C20703840703840703840701880E01880600F00 14207E9F18>I<03C01FC0038003800380038007000700070007000E000E000E000E001C001C00 1C001C0038003800380038007000700070007100E200E200E200E200640038000A207E9F0E>I< 1E07C07C00231861860023A032030043C034030043803803804380380380870070070007007007 00070070070007007007000E00E00E000E00E00E000E00E00E000E00E01C101C01C01C201C01C0 38201C01C038401C01C0184038038018801801800F0024147E9328>I<1E07802318C023A06043 C0704380704380708700E00700E00700E00700E00E01C00E01C00E01C00E03821C03841C07041C 07081C03083803101801E017147E931B>I<007C0001C3000301800E01C01E01C01C01E03C01E0 7801E07801E07801E0F003C0F003C0F003C0F00780F00700700F00700E0030180018700007C000 13147E9316>I<03C1E004621804741C08781C08701E08701E10E01E00E01E00E01E00E01E01C0 3C01C03C01C03C01C0380380780380700380E003C1C0072380071E000700000700000E00000E00 000E00000E00001C00001C0000FFC000171D819317>I<007C018203010603060706060E000780 07F803FC01FE001F00077007F006F006E004400820301FC010147E9315>115 D<00C000E001C001C001C001C003800380FFF8038007000700070007000E000E000E000E001C00 1C001C001C10382038203820384018800F000D1C7F9B10>I<0F01801183C02183E021C1E041C0 E04380608380400700400700400700400E00800E00800E00800E01000E01000C02000E04000E04 0006180001E00013147E9316>118 D<0F006060118070F02180E0F821C0E07841C0E0384380E0 188381C0100701C0100701C0100701C0100E0380200E0380200E0380200E0380400E0380400E03 80800E078080060781000709860001F078001D147E9321>I E /Fo 48 123 df<00003FC0FF800000E0E38040000181E600E0000381EC01E0000300DC01E00007001C00C000 0700180000000700380000000E00380000000E00380000000E00380000000E0070000000FFFFFF FF80001C00700380001C00700700001C00700700001C00700700001C00E00700001C00E00E0000 3800E00E00003800E00E00003800E00E00003801C01C00003801C01C00007001C01C00007001C0 1C40007001C0388000700380388000700380388000E00380388000E00380190000E003000E0000 E00700000000C00700000001C00600000001C00600000031860E000000798F0C000000F31E1800 0000620C300000003C07C00000002B29829F28>14 D<1C3C3C3C3C040408081020204080060E7D 840E>44 D<7FF0FFE07FE00C037D8A10>I<70F8F8F0E005057B840E>I<000F800030E000E07001 C0700380300380380700380F00780F00780E00781E00781E00703C00F03C00F03C00F03C00F078 01E07801E07801E07801C07003C0F003C0F00380F00780F00700700700700E00701C0030380018 70000FC000151F7C9D17>48 D<000200020006000E003C00DC031C001C00380038003800380070 00700070007000E000E000E000E001C001C001C001C003800380038003800780FFF80F1E7B9D17 >I<001F000061800080C00100600300600600600600600600600E00C00F00800F818007C30007 E40003F80001F80003FC00047E00183F00300F00200700600700C00300C00300C0030080060080 0600C00C00C008004030003060001F8000131F7B9D17>56 D<001F0000718000C0C00180C00380 E00700E00F00E00F01E01E01E01E01E01E01E01E01C01C03C01C03C01C03C01C07C01C0F800C0F 8006378003C700000F00000E00000E00001C00601C00F03800F07000E0600080C0004380003E00 00131F7B9D17>I<070F1F1F0E0000000000000000000070F8F8F0E008147B930E>I<0000020000 0006000000060000000E0000001E0000001E0000003F0000002F0000004F0000004F0000008F00 00010F0000010F0000020F0000020F0000040F00000C0F0000080F0000100F0000100F0000200F 80003FFF800040078000C007800080078001000780010007800200078002000780060007801E00 0F80FF807FF81D207E9F22>65 D<0000FE0200078186001C004C0038003C0060003C00C0001C01 C0001803800018070000180F0000181E0000101E0000103C0000003C0000007800000078000000 7800000078000000F0000000F0000000F0000000F0000000F00000807000008070000080700001 003800010038000200180004000C001800060020000381C00000FE00001F217A9F21>67 D<01FFFF80001E00E0001E0070001E0038001E001C003C001C003C000E003C000E003C000E0078 000E0078000E0078000E0078000E00F0001E00F0001E00F0001E00F0001E01E0003C01E0003C01 E0003C01E0007803C0007003C0007003C000E003C001C0078001C00780038007800E0007801C00 0F007000FFFFC0001F1F7D9E22>I<01FFFFFE001E001C001E000C001E0004001E0004003C0004 003C0004003C0004003C00040078080800780800007808000078180000F0300000FFF00000F030 0000F0300001E0200001E0200001E0200001E0001003C0002003C0002003C0004003C000400780 00800780018007800100078007000F001F00FFFFFE001F1F7D9E1F>I<01FFFFFC001E0038001E 0018001E0008001E0008003C0008003C0008003C0008003C000800780010007808000078080000 78080000F0100000F0300000FFF00000F0300001E0200001E0200001E0200001E0200003C00000 03C0000003C0000003C00000078000000780000007800000078000000F800000FFF800001E1F7D 9E1E>I<01FFF3FFE0001F003E00001E003C00001E003C00001E003C00003C007800003C007800 003C007800003C007800007800F000007800F000007800F000007800F00000F001E00000FFFFE0 0000F001E00000F001E00001E003C00001E003C00001E003C00001E003C00003C007800003C007 800003C007800003C007800007800F000007800F000007800F000007800F00000F801F0000FFF1 FFE000231F7D9E22>72 D<01FFF0001F00001E00001E00001E00003C00003C00003C00003C0000 780000780000780000780000F00000F00000F00000F00001E00001E00001E00001E00003C00003 C00003C00003C0000780000780000780000780000F8000FFF800141F7D9E12>I<001FFF0000F8 0000F00000F00000F00001E00001E00001E00001E00003C00003C00003C00003C0000780000780 000780000780000F00000F00000F00000F00001E00001E00301E00781E00F83C00F83C00F07800 80700040E00021C0001F000018207D9E18>I<01FFF800001F0000001E0000001E0000001E0000 003C0000003C0000003C0000003C00000078000000780000007800000078000000F0000000F000 0000F0000000F0000001E0000001E0000001E0000001E0008003C0010003C0010003C0030003C0 0200078006000780060007800C0007801C000F007800FFFFF800191F7D9E1D>76 D<01FE00007FC0001E0000FC00001E0000F80000170001780000170001780000270002F0000027 0004F00000270004F00000270008F00000470009E00000470011E00000470021E00000470021E0 0000870043C00000838043C00000838083C00000838083C0000103810780000103820780000103 820780000103840780000203840F00000203880F00000203900F00000203900F00000401E01E00 000401E01E00000401C01E00000C01801E00001C01803E0000FF8103FFC0002A1F7D9E29>I<01 FF007FE0001F000F00001F0004000017800400001780040000278008000023C008000023C00800 0023C008000041E010000041E010000041F010000040F010000080F02000008078200000807820 00008078200001003C400001003C400001003C400001001E400002001E800002001E800002000F 800002000F800004000F0000040007000004000700000C000700001C00020000FF80020000231F 7D9E22>I<01FFFF80001E00E0001E0070001E0038001E003C003C003C003C003C003C003C003C 003C0078007800780078007800F0007800E000F003C000F00F0000FFFC0000F0000001E0000001 E0000001E0000001E0000003C0000003C0000003C0000003C00000078000000780000007800000 078000000F800000FFF000001E1F7D9E1F>80 D<01FFFF00001E03C0001E00E0001E0070001E00 78003C0078003C0078003C0078003C0078007800F0007800F0007801E0007801C000F0070000F0 1E0000FFF00000F0380001E01C0001E01E0001E00E0001E00F0003C01E0003C01E0003C01E0003 C01E0007803C0007803C0807803C0807803C100F801C10FFF00C20000007C01D207D9E21>82 D<0007E040001C18C0003005800060038000C0038001C001800180010003800100038001000380 01000380000003C0000003C0000003F8000001FF800001FFE000007FF000001FF0000001F80000 00780000007800000038000000380020003800200038002000300060007000600060006000E000 7000C000E8038000C606000081F800001A217D9F1A>I<0FFFFFF01E0780E01807802010078020 20078020200F0020600F0020400F0020400F0020801E0040001E0000001E0000001E0000003C00 00003C0000003C0000003C00000078000000780000007800000078000000F0000000F0000000F0 000000F0000001E0000001E0000001E0000001E0000003E00000FFFF00001C1F789E21>I86 D<00F1800389C00707800E03801C03803C038038070078 0700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C40308C800F070013 147C9317>97 D<07803F8007000700070007000E000E000E000E001C001C001CF01D0C3A0E3C0E 380F380F700F700F700F700FE01EE01EE01EE01CE03CE038607060E031C01F0010207B9F15>I< 007E0001C1000300800E07801E07801C07003C0200780000780000780000F00000F00000F00000 F00000F0000070010070020030040018380007C00011147C9315>I<0000780003F80000700000 700000700000700000E00000E00000E00000E00001C00001C000F1C00389C00707800E03801C03 803C0380380700780700780700780700F00E00F00E00F00E00F00E20F01C40F01C40703C40705C 40308C800F070015207C9F17>I<007C01C207010E011C013C013802780C7BF07C00F000F000F0 00F0007000700170023804183807C010147C9315>I<00007800019C00033C00033C0007180007 00000700000E00000E00000E00000E00000E0001FFE0001C00001C00001C00001C000038000038 0000380000380000380000700000700000700000700000700000700000E00000E00000E00000E0 0000C00001C00001C0000180003180007B0000F300006600003C00001629829F0E>I<003C6000 E27001C1E00380E00700E00F00E00E01C01E01C01E01C01E01C03C03803C03803C03803C03803C 07003C07001C0F001C17000C2E0003CE00000E00000E00001C00001C00301C00783800F0700060 E0003F8000141D7E9315>I<01E0000FE00001C00001C00001C00001C000038000038000038000 038000070000070000071E000763000E81800F01C00E01C00E01C01C03801C03801C03801C0380 380700380700380700380E10700E20700C20701C20700C40E00CC060070014207D9F17>I<00C0 01E001E001C000000000000000000000000000000E003300230043804300470087000E000E000E 001C001C001C003840388030807080310033001C000B1F7C9E0E>I<01E0000FE00001C00001C0 0001C00001C0000380000380000380000380000700000700000703C00704200E08E00E11E00E21 E00E40C01C80001D00001E00001FC00038E0003870003870003838407070807070807070807031 00E03100601E0013207D9F15>107 D<03C01FC0038003800380038007000700070007000E000E 000E000E001C001C001C001C0038003800380038007000700070007100E200E200E200E2006400 38000A207C9F0C>I<1C0F80F0002630C318004740640C004780680E004700700E004700700E00 8E00E01C000E00E01C000E00E01C000E00E01C001C01C038001C01C038001C01C038001C01C070 8038038071003803806100380380E10038038062007007006600300300380021147C9325>I<1C 0F802630C04740604780604700704700708E00E00E00E00E00E00E00E01C01C01C01C01C01C01C 03843803883803083807083803107003303001C016147C931A>I<007C0001C3000301800E01C0 1E01C01C01E03C01E07801E07801E07801E0F003C0F003C0F003C0F00780F00700700F00700E00 30180018700007C00013147C9317>I<01C1E002621804741C04781C04701E04701E08E01E00E0 1E00E01E00E01E01C03C01C03C01C03C01C0380380780380700380E003C1C0072380071E000700 000700000E00000E00000E00000E00001C00001C0000FFC000171D809317>I<1C1E0026610047 83804787804707804703008E00000E00000E00000E00001C00001C00001C00001C000038000038 000038000038000070000030000011147C9313>114 D<00FC030206010C030C070C060C000F80 0FF007F803FC003E000E700EF00CF00CE008401020601F8010147D9313>I<018001C003800380 0380038007000700FFF007000E000E000E000E001C001C001C001C003800380038003820704070 407080708031001E000C1C7C9B0F>I<0E00C03300E02301C04381C04301C04701C08703800E03 800E03800E03801C07001C07001C07001C07101C0E20180E20180E201C1E200C264007C3801414 7C9318>I<0E03803307802307C04383C04301C04700C08700800E00800E00800E00801C01001C 01001C01001C02001C02001C04001C04001C08000E300003C00012147C9315>I<0E00C1C03300 E3C02301C3E04381C1E04301C0E04701C060870380400E0380400E0380400E0380401C0700801C 0700801C0700801C0701001C0701001C0602001C0F02000C0F04000E13080003E1F0001B147C93 1E>I<0E00C03300E02301C04381C04301C04701C08703800E03800E03800E03801C07001C0700 1C07001C07001C0E00180E00180E001C1E000C3C0007DC00001C00001C00003800F03800F07000 E06000C0C0004380003E0000131D7C9316>121 D<01C04003E08007F1800C1F00080200000400 0008000010000020000040000080000100000200000401000802001002003E0C0063FC0041F800 80E00012147D9313>I E /Fp 84 124 df<001F800000F0F00001C0380007801E000F000F000E 0007001E0007803C0003C03C0003C07C0003E07C0003E0780001E0F80001F0F84021F0F84021F0 F87FE1F0F87FE1F0F87FE1F0F84021F0F84021F0F80001F0780001E0780001E07C0003E03C0003 C03C0003C01E0007800E0007000F000F0007801E0001C0380000F0F000001F80001C217D9F23> 2 D<003FC00000E0700003801C0007000E000F000F001E0007803E0007C03C0003C07C0003E07C 0003E07C0003E07C0003E07C0003E07C0003E07C0003E03C0003C03E0007C01E0007801E000780 0E0007000F000F0007000E0003000C0003801C0001801800818018108080101040C03020404020 207FC03FE03FC03FC03FC03FC01C207E9F21>10 D<001F83E000F06E3001C078780380F8780300 F03007007000070070000700700007007000070070000700700007007000FFFFFF800700700007 007000070070000700700007007000070070000700700007007000070070000700700007007000 070070000700700007007000070070000700700007007000070070007FE3FF001D20809F1B>I< 003F0000E0C001C0C00381E00701E00701E0070000070000070000070000070000070000FFFFE0 0700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0 0700E00700E00700E00700E00700E07FC3FE1720809F19>I<003FE000E0E001C1E00381E00700 E00700E00700E00700E00700E00700E00700E00700E0FFFFE00700E00700E00700E00700E00700 E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700 E07FE7FE1720809F19>I<001F81F80000F04F040001C07C06000380F80F000300F00F000700F0 0F00070070000007007000000700700000070070000007007000000700700000FFFFFFFF000700 700700070070070007007007000700700700070070070007007007000700700700070070070007 007007000700700700070070070007007007000700700700070070070007007007000700700700 070070070007007007007FE3FE3FF02420809F26>I<7038F87CFC7EFC7E743A04020402040208 04080410081008201040200F0E7E9F17>34 D<70F8FCFC74040404080810102040060E7C9F0D> 39 D<0020004000800100020006000C000C00180018003000300030007000600060006000E000 E000E000E000E000E000E000E000E000E000E000E0006000600060007000300030003000180018 000C000C000600020001000080004000200B2E7DA112>I<800040002000100008000C00060006 000300030001800180018001C000C000C000C000E000E000E000E000E000E000E000E000E000E0 00E000E000C000C000C001C001800180018003000300060006000C00080010002000400080000B 2E7DA112>I<000600000006000000060000000600000006000000060000000600000006000000 060000000600000006000000060000000600000006000000060000FFFFFFF0FFFFFFF000060000 000600000006000000060000000600000006000000060000000600000006000000060000000600 00000600000006000000060000000600001C207D9A23>43 D<70F8FCFC74040404080810102040 060E7C840D>II<70F8F8F87005057C840D>I<00010003000300060006 0006000C000C000C00180018001800300030003000600060006000C000C000C001800180018003 00030003000600060006000C000C000C00180018001800300030003000600060006000C000C000 C000102D7DA117>I<03F0000E1C001C0E00180600380700700380700380700380700380F003C0 F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0700380 7003807003807807803807001806001C0E000E1C0003F000121F7E9D17>I<018003800F80F380 038003800380038003800380038003800380038003800380038003800380038003800380038003 80038003800380038007C0FFFE0F1E7C9D17>I<03F0000C1C00100E00200700400780800780F0 07C0F803C0F803C0F803C02007C00007C0000780000780000F00000E00001C0000380000700000 600000C0000180000300000600400C00401800401000803FFF807FFF80FFFF80121E7E9D17>I< 03F0000C1C00100E00200F00780F80780780780780380F80000F80000F00000F00000E00001C00 00380003F000003C00000E00000F000007800007800007C02007C0F807C0F807C0F807C0F00780 400780400F00200E001C3C0003F000121F7E9D17>I<000600000600000E00000E00001E00002E 00002E00004E00008E00008E00010E00020E00020E00040E00080E00080E00100E00200E00200E 00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E00000E0000FFE0141E7F9D17 >I<1803001FFE001FFC001FF8001FE00010000010000010000010000010000010000011F00016 1C00180E001007001007800003800003800003C00003C00003C07003C0F003C0F003C0E0038040 0380400700200600100E000C380003E000121F7E9D17>I<007C000182000701000E03800C0780 1C0780380300380000780000700000700000F1F000F21C00F40600F80700F80380F80380F003C0 F003C0F003C0F003C0F003C07003C07003C07003803803803807001807000C0E00061C0001F000 121F7E9D17>I<4000007FFFC07FFF807FFF804001008002008002008004000008000008000010 0000200000200000400000400000C00000C00001C0000180000380000380000380000380000780 00078000078000078000078000078000078000030000121F7D9D17>I<03F0000C0C0010060030 03002001806001806001806001807001807803003E03003F06001FC8000FF00003F80007FC000C 7E00103F00300F806003804001C0C001C0C000C0C000C0C000C0C000806001802001001002000C 0C0003F000121F7E9D17>I<03F0000E18001C0C00380600380700700700700380F00380F00380 F003C0F003C0F003C0F003C0F003C07007C07007C03807C0180BC00E13C003E3C0000380000380 000380000700300700780600780E00700C002018001070000FC000121F7E9D17>I<70F8F8F870 0000000000000000000070F8F8F87005147C930D>I<70F8F8F8700000000000000000000070F0 F8F878080808101010202040051D7C930D>I<7FFFFFE0FFFFFFF0000000000000000000000000 0000000000000000000000000000000000000000FFFFFFF07FFFFFE01C0C7D9023>61 D<07000F800F800F80070000000000000000000000020002000200020002000200060006000400 0C001C00380078007000F018F03CF03CF01CF008701838200FC00E207D9615>I<0FC030704038 4038E03CF03CF03C603C0038007000E000C0018001800100030002000200020002000200020000 00000000000000000007000F800F800F8007000E207D9F15>I<00010000000380000003800000 0380000007C0000007C0000007C0000009E0000009E0000009E0000010F0000010F0000010F000 00207800002078000020780000403C0000403C0000403C0000801E0000801E0000FFFE0001000F 0001000F0001000F00020007800200078002000780040003C00E0003C01F0007E0FFC03FFE1F20 7F9F22>65 DI<000FC040007030C001C009C0038005C0070003 C00E0001C01E0000C01C0000C03C0000C07C0000407C00004078000040F8000000F8000000F800 0000F8000000F8000000F8000000F8000000F8000000F8000000780000007C0000407C0000403C 0000401C0000401E0000800E000080070001000380020001C0040000703800000FC0001A217D9F 21>IIII<000FE0200078186000E004E0038002E0070001E00F0000E01E0000601E0000603C 0000603C0000207C00002078000020F8000000F8000000F8000000F8000000F8000000F8000000 F8000000F8007FFCF80003E0780001E07C0001E03C0001E03C0001E01E0001E01E0001E00F0001 E0070001E0038002E000E0046000781820000FE0001E217D9F24>III<0FFFC0007C00 003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00 003C00003C00003C00003C00003C00003C00003C00003C00203C00F83C00F83C00F83C00F03800 40780040700030E0000F800012207E9E17>IIIII<001F80 0000F0F00001C0380007801E000F000F000E0007001E0007803C0003C03C0003C07C0003E07800 01E0780001E0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F8 0001F0780001E07C0003E07C0003E03C0003C03C0003C01E0007800E0007000F000F0007801E00 01C0380000F0F000001F80001C217D9F23>II<001F800000F0 F00001C0380007801E000F000F000E0007001E0007803C0003C03C0003C07C0003E07C0003E078 0001E0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0 780001E0780001E07C0003E03C0003C03C0F03C01E1087800E2047000F204F0007A03E0001E038 0000F0F010001FB01000003010000038300000387000003FF000001FE000001FE000000FC00000 07801C297D9F23>II<07E0800C1980100780300380 600180600180E00180E00080E00080E00080F00000F000007800007F00003FF0001FFC000FFE00 03FF00001F800007800003C00003C00001C08001C08001C08001C08001C0C00180C00380E00300 F00600CE0C0081F80012217D9F19>I<7FFFFFE0780F01E0600F0060400F0020400F0020C00F00 30800F0010800F0010800F0010800F0010000F0000000F0000000F0000000F0000000F0000000F 0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000 0F0000000F0000000F0000000F0000001F800007FFFE001C1F7E9E21>IIII89 D91 D<080410082010201040204020804080408040 B85CFC7EFC7E7C3E381C0F0E7B9F17>II<1FE000303000781800 781C00300E00000E00000E00000E0000FE00078E001E0E00380E00780E00F00E10F00E10F00E10 F01E10781E103867200F83C014147E9317>97 D<0E0000FE00000E00000E00000E00000E00000E 00000E00000E00000E00000E00000E00000E3E000EC3800F01C00F00E00E00E00E00700E00700E 00780E00780E00780E00780E00780E00780E00700E00700E00E00F00E00D01C00CC300083E0015 207F9F19>I<03F80E0C1C1E381E380C70007000F000F000F000F000F000F00070007000380138 011C020E0C03F010147E9314>I<000380003F8000038000038000038000038000038000038000 038000038000038000038003E380061B801C0780380380380380700380700380F00380F00380F0 0380F00380F00380F003807003807003803803803807801C07800E1B8003E3F815207E9F19>I< 03F0000E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F00000F00000 7000007000003800801800800C010007060001F80011147F9314>I<007C00C6018F038F070607 00070007000700070007000700FFF0070007000700070007000700070007000700070007000700 0700070007000700070007007FF01020809F0E>I<0000E003E3300E3C301C1C30380E00780F00 780F00780F00780F00780F00380E001C1C001E380033E0002000002000003000003000003FFE00 1FFF800FFFC03001E0600070C00030C00030C00030C000306000603000C01C038003FC00141F7F 9417>I<0E0000FE00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00 000E3E000E43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01 C00E01C00E01C00E01C00E01C00E01C00E01C0FFE7FC16207F9F19>I<1C001E003E001E001C00 0000000000000000000000000E007E000E000E000E000E000E000E000E000E000E000E000E000E 000E000E000E000E000E00FFC00A1F809E0C>I<00E001F001F001F000E0000000000000000000 000000007007F000F0007000700070007000700070007000700070007000700070007000700070 0070007000700070007000706070F060F0C061803F000C28829E0E>I<0E0000FE00000E00000E 00000E00000E00000E00000E00000E00000E00000E00000E00000E0FF00E03C00E03000E02000E 04000E08000E10000E30000E70000EF8000F38000E1C000E1E000E0E000E07000E07800E03800E 03C00E03E0FFCFF815207F9F18>I<0E00FE000E000E000E000E000E000E000E000E000E000E00 0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00FF E00B20809F0C>I<0E1F01F000FE618618000E81C81C000F00F00E000F00F00E000E00E00E000E 00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00 0E00E00E000E00E00E000E00E00E000E00E00E000E00E00E00FFE7FE7FE023147F9326>I<0E3E 00FE43000E81800F01C00F01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01 C00E01C00E01C00E01C00E01C00E01C0FFE7FC16147F9319>I<01F800070E001C03803801C038 01C07000E07000E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C03801C01C 0380070E0001F80014147F9317>I<0E3E00FEC3800F01C00F00E00E00E00E00F00E00700E0078 0E00780E00780E00780E00780E00780E00700E00F00E00E00F01E00F01C00EC3000E3E000E0000 0E00000E00000E00000E00000E00000E00000E0000FFE000151D7F9319>I<03E0800619801C05 803C0780380380780380700380F00380F00380F00380F00380F00380F003807003807803803803 803807801C0B800E138003E380000380000380000380000380000380000380000380000380003F F8151D7E9318>I<0E78FE8C0F1E0F1E0F0C0E000E000E000E000E000E000E000E000E000E000E 000E000E000E00FFE00F147F9312>I<1F9030704030C010C010C010E00078007F803FE00FF000 70803880188018C018C018E030D0608F800D147E9312>I<020002000200060006000E000E003E 00FFF80E000E000E000E000E000E000E000E000E000E000E000E080E080E080E080E0806100310 01E00D1C7F9B12>I<0E01C0FE1FC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0 0E01C00E01C00E01C00E01C00E01C00E01C00E03C00603C0030DC001F1FC16147F9319>III<7FC3FC0F 01E00701C007018003810001C20000E40000EC00007800003800003C00007C00004E0000870001 07000303800201C00601E01E01E0FF07FE1714809318>II<3FFF380E200E201C40384078407000E001E001C00380078007010E011E011C0338027006700E FFFE10147F9314>II E /Fq 48 122 df<0001FF0000001FFFC000007F80 F00000FC00F80001F801F80003F803FC0007F003FC0007F003FC0007F003FC0007F001F80007F0 00F00007F000000007F000000007F000000007F0000000FFFFFFFC00FFFFFFFC00FFFFFFFC0007 F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC00 07F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC 0007F001FC0007F001FC0007F001FC0007F001FC0007F001FC007FFF1FFFC07FFF1FFFC07FFF1F FFC0222A7FA926>12 D<1C007F007F00FF80FFC0FFC07FC07FC01CC000C000C001800180018003 00030006000C001800300020000A157BA913>39 D45 D<003F800001FFF00007E0FC000FC07E001F803F001F803F003F001F803F001F 807F001FC07F001FC07F001FC07F001FC0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF00 1FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE0FF001FE07F 001FC07F001FC07F001FC07F001FC03F001F803F001F801F803F001F803F000FC07E0007E0FC00 01FFF000003F80001B277DA622>48 D<000E00001E00007E0007FE00FFFE00FFFE00F8FE0000FE 0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE 0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE 0000FE0000FE007FFFFE7FFFFE7FFFFE17277BA622>I<00FF800003FFF0000FFFFC001F03FE00 3800FF007C007F80FE003FC0FF003FC0FF003FE0FF001FE0FF001FE07E001FE03C003FE000003F E000003FC000003FC000007F8000007F000000FE000000FC000001F8000003F0000003E0000007 8000000F0000001E0000003C00E0007000E000E000E001C001C0038001C0070001C00FFFFFC01F FFFFC03FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007 FFFC000F81FE001F00FF003F80FF003F807F803F807F803F807F801F807F800F007F800000FF00 0000FF000000FE000001FC000001F8000007F00000FFC00000FFF0000001FC0000007E0000007F 0000007F8000003FC000003FC000003FE000003FE03C003FE07E003FE0FF003FE0FF003FE0FF00 3FC0FF007FC07E007F807C007F003F01FE001FFFFC0007FFF00000FF80001B277DA622>I<0000 0E0000001E0000003E0000007E000000FE000000FE000001FE000003FE0000077E00000E7E0000 0E7E00001C7E0000387E0000707E0000E07E0000E07E0001C07E0003807E0007007E000E007E00 0E007E001C007E0038007E0070007E00E0007E00FFFFFFF8FFFFFFF8FFFFFFF80000FE000000FE 000000FE000000FE000000FE000000FE000000FE000000FE00007FFFF8007FFFF8007FFFF81D27 7EA622>I<0C0003000F803F000FFFFE000FFFFC000FFFF8000FFFF0000FFFE0000FFFC0000FFE 00000E0000000E0000000E0000000E0000000E0000000E0000000E7FC0000FFFF8000F80FC000E 003E000C003F0000001F8000001FC000001FC000001FE000001FE018001FE07C001FE0FE001FE0 FE001FE0FE001FE0FE001FC0FC001FC078003F8078003F803C007F001F01FE000FFFF80003FFF0 0000FF80001B277DA622>I<0007F000003FFC0000FFFE0001FC0F0003F01F8007E03F800FC03F 801FC03F801F803F803F801F003F8000007F0000007F0000007F000000FF000000FF0FC000FF3F F800FF707C00FFC03E00FFC03F00FF801F80FF801FC0FF001FC0FF001FE0FF001FE0FF001FE07F 001FE07F001FE07F001FE07F001FE03F001FE03F001FC01F801FC01F803F800FC03F0007E07E00 03FFFC0000FFF000003FC0001B277DA622>I<380000003E0000003FFFFFF03FFFFFF03FFFFFF0 7FFFFFE07FFFFFC07FFFFF807FFFFF0070000E0070000E0070001C00E0003800E0007000E000E0 000000E0000001C000000380000007800000078000000F0000000F0000001F0000001F0000003F 0000003E0000003E0000007E0000007E0000007E0000007E000000FE000000FE000000FE000000 FE000000FE000000FE000000FE000000FE0000007C0000003800001C297CA822>I<003FC00001 FFF00003FFFC0007C07E000F003F001E001F001E000F803E000F803E000F803F000F803F000F80 3FC00F003FF01F001FFC1E001FFE3C000FFFF80007FFE00003FFF80001FFFC0001FFFE0007FFFF 000F0FFF801E03FFC03C01FFC07C007FE078001FE0F80007E0F80007E0F80003E0F80003E0F800 03E0F80003C07C0003C07C0007803F000F001FC03E000FFFFC0003FFF800007FC0001B277DA622 >I<007F800001FFF00007FFF8000FE0FC001F807E003F803F007F003F007F001F80FF001F80FF 001FC0FF001FC0FF001FC0FF001FE0FF001FE0FF001FE0FF001FE07F001FE07F003FE03F003FE0 1F807FE00F807FE007C1DFE003FF9FE0007E1FE000001FE000001FC000001FC000001FC000003F 801F003F803F803F003F803F003F807E003F807C001F01F8001E03F0000FFFE00007FF800001FE 00001B277DA622>I<000003800000000007C00000000007C0000000000FE0000000000FE00000 00000FE0000000001FF0000000001FF0000000003FF8000000003FF8000000003FF80000000073 FC0000000073FC00000000F3FE00000000E1FE00000000E1FE00000001C0FF00000001C0FF0000 0003C0FF80000003807F80000007807FC0000007003FC0000007003FC000000E003FE000000E00 1FE000001E001FF000001C000FF000001FFFFFF000003FFFFFF800003FFFFFF80000780007FC00 00700003FC0000700003FC0000E00001FE0000E00001FE0001E00001FF0001C00000FF0001C000 00FF00FFFE001FFFFEFFFE001FFFFEFFFE001FFFFE2F297EA834>65 D<00003FF001800003FFFE 0380000FFFFF8780003FF007DF8000FF8001FF8001FE00007F8003FC00003F8007F000001F800F F000000F801FE0000007801FE0000007803FC0000007803FC0000003807FC0000003807F800000 03807F8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF 8000000000FF8000000000FF8000000000FF80000000007F80000000007F80000000007FC00000 03803FC0000003803FC0000003801FE0000003801FE0000007000FF00000070007F000000E0003 FC00001E0001FE00003C0000FF8000F800003FF007E000000FFFFFC0000003FFFF000000003FF8 000029297CA832>67 DI70 D<00007FE003000003FFFC0700001FFFFF0F00003FF00FFF0000FF8001FF0001 FE0000FF0003F800003F0007F000003F000FF000001F001FE000000F001FE000000F003FC00000 0F003FC0000007007FC0000007007F80000007007F8000000000FF8000000000FF8000000000FF 8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF8001FF FFF87F8001FFFFF87F8001FFFFF87FC00000FF003FC00000FF003FC00000FF001FE00000FF001F E00000FF000FF00000FF0007F00000FF0003F80000FF0001FE0000FF0000FF8001FF00003FF007 BF00001FFFFF1F000003FFFE0F0000007FF003002D297CA836>I73 D77 D<0000FFE000000007FFFC0000 003FC07F8000007F001FC00001FC0007F00003F80003F80007F00001FC000FF00001FE001FE000 00FF001FE00000FF003FC000007F803FC000007F807FC000007FC07F8000003FC07F8000003FC0 7F8000003FC0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000 003FE0FF8000003FE0FF8000003FE0FF8000003FE0FF8000003FE07F8000003FC07FC000007FC0 7FC000007FC03FC000007F803FC000007F801FE00000FF001FE00000FF000FF00001FE0007F000 01FC0003F80003F80001FC0007F00000FF001FE000003FC07F8000000FFFFE00000000FFE00000 2B297CA834>79 DI82 D<007F806003FFF0E007FFF9E00F807FE01F001FE03E0007E07C0003E07C0001E0FC 0001E0FC0001E0FC0000E0FE0000E0FE0000E0FF000000FFC000007FFE00007FFFE0003FFFFC00 1FFFFE000FFFFF8007FFFFC003FFFFE000FFFFE00007FFF000007FF000000FF8000007F8000003 F8600001F8E00001F8E00001F8E00001F8F00001F0F00001F0F80003F0FC0003E0FF0007C0FFE0 1F80F3FFFF00E0FFFE00C01FF0001D297CA826>I86 D<01FF800007FFF0000F81F8001FC07E001FC07E001FC03F000F803F8007003F8000003F 8000003F8000003F80000FFF8000FFFF8007FC3F800FE03F803F803F803F003F807F003F80FE00 3F80FE003F80FE003F80FE003F807E007F807F00DF803F839FFC0FFF0FFC01FC03FC1E1B7E9A21 >97 DI<001FF80000FFFE0003F01F0007E0 3F800FC03F801F803F803F801F007F800E007F0000007F000000FF000000FF000000FF000000FF 000000FF000000FF000000FF0000007F0000007F0000007F8000003F8001C01F8001C00FC00380 07E0070003F01E0000FFFC00001FE0001A1B7E9A1F>I<00003FF80000003FF80000003FF80000 0003F800000003F800000003F800000003F800000003F800000003F800000003F800000003F800 000003F800000003F800000003F800000003F800001FE3F80000FFFBF80003F03FF80007E00FF8 000FC007F8001F8003F8003F8003F8007F0003F8007F0003F8007F0003F800FF0003F800FF0003 F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F8007F0003F8007F0003F8007F00 03F8003F8003F8001F8003F8000F8007F80007C00FF80003F03BFF8000FFF3FF80003FC3FF8021 2A7EA926>I<003FE00001FFF80003F07E0007C01F000F801F801F800F803F800FC07F000FC07F 0007C07F0007E0FF0007E0FF0007E0FFFFFFE0FFFFFFE0FF000000FF000000FF0000007F000000 7F0000007F0000003F8000E01F8000E00FC001C007E0038003F81F0000FFFE00001FF0001B1B7E 9A20>I<0007F0003FFC00FE3E01F87F03F87F03F07F07F07F07F03E07F00007F00007F00007F0 0007F00007F00007F000FFFFC0FFFFC0FFFFC007F00007F00007F00007F00007F00007F00007F0 0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0 0007F0007FFF807FFF807FFF80182A7EA915>I<00FF81F003FFE7F80FC1FE7C1F80FC7C1F007C 383F007E107F007F007F007F007F007F007F007F007F007F007F007F003F007E001F007C001F80 FC000FC1F8001FFFE00018FF800038000000380000003C0000003E0000003FFFF8001FFFFF001F FFFF800FFFFFC007FFFFE01FFFFFF03E0007F07C0001F8F80000F8F80000F8F80000F8F80000F8 7C0001F03C0001E01F0007C00FC01F8003FFFE00007FF0001E287E9A22>II<07000FC01FE03FE03FE03FE01FE00FC0070000000000000000 00000000000000FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0 0FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B7DAA14>I<000700000F80001FC000 3FE0003FE0003FE0001FC0000F8000070000000000000000000000000000000000000000000001 FFE001FFE001FFE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE000 0FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE000 0FE0000FE0000FE0000FE0000FE07C0FE0FE0FE0FE0FC0FE1F80FE1F007C3E003FFC000FF00013 3784AA15>IIII< FFC07F0000FFC1FFC000FFC787E0000FCE03F0000FD803F0000FD803F8000FF003F8000FF003F8 000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003 F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE003F8000FE0 03F800FFFE3FFF80FFFE3FFF80FFFE3FFF80211B7D9A26>I<003FE00001FFFC0003F07E000FC0 1F801F800FC03F800FE03F0007E07F0007F07F0007F07F0007F0FF0007F8FF0007F8FF0007F8FF 0007F8FF0007F8FF0007F8FF0007F8FF0007F87F0007F07F0007F03F800FE03F800FE01F800FC0 0FC01F8007F07F0001FFFC00003FE0001D1B7E9A22>II<001FC0380000FFF078 0003F838F80007E00DF8000FC007F8001FC007F8003F8003F8007F8003F8007F8003F8007F0003 F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F800FF0003F8007F00 03F8007F0003F8007F8003F8003F8003F8001F8007F8000FC007F80007E01FF80003F07BF80000 FFF3F800003FC3F800000003F800000003F800000003F800000003F800000003F800000003F800 000003F800000003F800000003F80000003FFF8000003FFF8000003FFF8021277E9A24>II<03FE300FFFF01E03F03800F0700070F00070F00070F80070FC0000FFE0007F FE007FFF803FFFE01FFFF007FFF800FFF80003FC0000FC60007CE0003CF0003CF00038F80038FC 0070FF01E0F7FFC0C1FF00161B7E9A1B>I<00700000700000700000700000F00000F00000F000 01F00003F00003F00007F0001FFFF0FFFFF0FFFFF007F00007F00007F00007F00007F00007F000 07F00007F00007F00007F00007F00007F00007F00007F03807F03807F03807F03807F03807F038 03F03803F87001F86000FFC0001F8015267FA51B>II119 D121 D E /Fr 67 123 df<007F000001C1C000070070000E0038001C001C003C001E0038000E007800 0F0070000700F0000780F1004780F1FFC780F1FFC780F1FFC780F1004780F0000780F000078070 00070078000F0038000E003C001E001C001C000E0038000700700001C1C000007F0000191A7E99 1E>2 D<00FC7C0183C607078E0607040E07000E07000E07000E07000E07000E0700FFFFF00E07 000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07 007F0FF0171A809916>11 D<00FC000182000703000607000E02000E00000E00000E00000E0000 0E0000FFFF000E07000E07000E07000E07000E07000E07000E07000E07000E07000E07000E0700 0E07000E07000E07007F0FE0131A809915>I<00FF000387000707000607000E07000E07000E07 000E07000E07000E0700FFFF000E07000E07000E07000E07000E07000E07000E07000E07000E07 000E07000E07000E07000E07000E07007F9FE0131A809915>I<007E1F8001C170400703C06006 0380E00E0380400E0380000E0380000E0380000E0380000E038000FFFFFFE00E0380E00E0380E0 0E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380E00E0380 E00E0380E00E0380E07F8FE3FC1E1A809920>I<000C0600000C0600000C060000180C0000180C 0000180C0000180C000030180000301800003018000030180000603000FFFFFFE0FFFFFFE000C0 600000C0600000C060000180C0000180C0000180C000FFFFFFE0FFFFFFE0030180000301800006 030000060300000603000006030000060300000C0600000C0600000C0600000C0600001B217E99 20>35 D<00800100020004000C00080018003000300030006000600060006000E000E000E000E0 00E000E000E000E000E000E0006000600060006000300030003000180008000C00040002000100 008009267D9B0F>40 D<8000400020001000180008000C00060006000600030003000300030003 8003800380038003800380038003800380038003000300030003000600060006000C0008001800 100020004000800009267E9B0F>I<000C0000000C0000000C0000000C0000000C0000000C0000 000C0000000C0000000C0000000C0000000C0000000C0000FFFFFF80FFFFFF80000C0000000C00 00000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C0000000C 0000191A7E951E>43 D<60F0F07010101020204080040B7D830B>II<60 F0F06004047D830B>I<0004000C00180018001800300030003000600060006000C000C000C001 80018001800300030003000600060006000C000C000C0018001800180030003000300060006000 6000C000C0000E257E9B13>I<078018603030303060186018E01CE01CE01CE01CE01CE01CE01C E01CE01CE01CE01CE01C6018601870383030186007800E187E9713>I<03000700FF0007000700 070007000700070007000700070007000700070007000700070007000700070007000700FFF00C 187D9713>I<0F80106020304038803CC01CE01C401C003C003800380070006000C00180010002 0004040804100430083FF87FF8FFF80E187E9713>I<00300030007000F000F001700370027004 700C7008701070307020704070C070FFFF00700070007000700070007007FF10187F9713>52 D<30183FF03FE03FC02000200020002000200027C03860203000380018001C001C401CE01CE01C 80184038403030E00F800E187E9713>I<01E006100C1818383038300070006000E000E7C0E860 F030F018E018E01CE01CE01C601C601C701830183030186007C00E187E9713>I<078018603030 201860186018601870103C303E600F8007C019F030F86038401CC00CC00CC00CC00C6008201018 600FC00E187E9713>56 D<07801860303070306018E018E018E01CE01CE01C601C603C303C185C 0F9C001C00180018003870307060604021801F000E187E9713>I<60F0F0600000000000000000 60F0F06004107D8F0B>I<60F0F060000000000000000060F0F0701010102020408004177D8F0B> I<000C0000000C0000000C0000001E0000001E0000003F00000027000000270000004380000043 8000004380000081C0000081C0000081C0000100E0000100E00001FFE000020070000200700006 007800040038000400380008001C0008001C001C001E00FF00FFC01A1A7F991D>65 DI<003F0201C0C603002E0E001E1C000E1C0006380006780002700002700002F0 0000F00000F00000F00000F00000F000007000027000027800023800041C00041C00080E000803 003001C0C0003F00171A7E991C>III72 DI77 DI<007F000001C1C000070070000E003800 1C001C003C001E0038000E0078000F0070000700F0000780F0000780F0000780F0000780F00007 80F0000780F0000780F000078078000F0078000F0038000E003C001E001C001C000E0038000700 700001C1C000007F0000191A7E991E>II82 D<0FC21836200E6006C006C002C002C002E0007000 7E003FE01FF807FC003E000E00070003800380038003C002C006E004D81887E0101A7E9915>I< 7FFFFF00701C0700401C0100401C0100C01C0180801C0080801C0080801C0080001C0000001C00 00001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C0000001C 0000001C0000001C0000001C0000001C0000001C000003FFE000191A7F991C>II87 D91 D93 D<3F8070C070E020700070007007F01C7030707070E070E071E071E0F171FB1E3C10107E8F13> 97 DI<07F80C1C381C30087000E000E000E000E000E000E0007000300438080C 1807E00E107F8F11>I<007E00000E00000E00000E00000E00000E00000E00000E00000E00000E 0003CE000C3E00380E00300E00700E00E00E00E00E00E00E00E00E00E00E00E00E00600E00700E 00381E001C2E0007CFC0121A7F9915>I<07C01C3030187018600CE00CFFFCE000E000E000E000 6000300438080C1807E00E107F8F11>I<01F0031807380E100E000E000E000E000E000E00FFC0 0E000E000E000E000E000E000E000E000E000E000E000E000E000E007FE00D1A80990C>I<0FCE 187330307038703870387038303018602FC02000600070003FF03FFC1FFE600FC003C003C003C0 036006381C07E010187F8F13>II<18003C003C00180000000000000000000000 0000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF80091A80990A >I<018003C003C001800000000000000000000000000FC001C001C001C001C001C001C001C001 C001C001C001C001C001C001C001C001C001C001C041C0E180E3007E000A2182990C>IIIII<07E01C38300C 700E6006E007E007E007E007E007E0076006700E381C1C3807E010107F8F13>II<03C2000C2600381E 00300E00700E00E00E00E00E00E00E00E00E00E00E00E00E00700E00700E00381E001C2E0007CE 00000E00000E00000E00000E00000E00000E00007FC012177F8F14>II<1F2060E04020C020C020 F0007F003FC01FE000F080708030C030C020F0408F800C107F8F0F>I<0400040004000C000C00 1C003C00FFC01C001C001C001C001C001C001C001C001C201C201C201C201C200E4003800B177F 960F>IIIIII<7FF86070407040E041C041C00380070007000E081C081C08381070107030FFF00D107F 8F11>I E /Fs 3 113 df0 D<0C000C008C40EDC07F800C007F80 EDC08C400C000C000A0B7D8B10>3 D<00000100000300000600000600000C0000180000180000 300000300000600000C00000C0000180700180B003001803001806000C0C000C0C000618000618 0003300003600001E00001C00000C000181A7D8119>112 D E /Ft 8 122 df<0001FE0FF0000307380C000607700C000C06601C001C00E00C001C00C000001C01C0000038 01C000003801C000003801C000003803800003FFFFFFF000700380700070038070007003807000 700780E000700700E000700700E000E00700E000E00701C000E00701C000E00E01C000E00E01C0 01C00E038801C00E038801C00E038801C01C039001C01C019003801C00E003801C000003803800 0003003800000300300000C630300000E638600000CC30C00000781F0000002625819C25>14 D<01F007080C08181C3838300070007000E000E000E000E000E000E008E010602030C01F000E12 7B9113>99 D<01E007100C1018083810701070607F80E000E000E000E000E000E0086010602030 C01F000D127B9113>101 D<01800380010000000000000000000000000000001C002600470047 008E008E000E001C001C001C0038003800710071007100720072003C00091C7C9B0D>105 D<3C3C002646004687004707008E07008E07000E07000E07001C0E001C0E001C0E001C1C00381C 40381C40383840383880701900300E0012127C9117>110 D<01E007180C0C180C380C300E700E 700EE01CE01CE01CE018E038E030E06060C031801E000F127B9115>I<01F006080C080C1C1818 1C001F001FC00FF007F0007800386030E030C030806060C01F000E127D9111>115 D<1E03270747074707870E870E0E0E0E0E1C1C1C1C1C1C1C1C38383838183818381C7007F00070 007000E0E0C0E1C0818047003C00101A7C9114>121 D E /Fu 50 123 df<007E1F0001C1B180 0303E3C00703C3C00E03C1800E01C0000E01C0000E01C0000E01C0000E01C0000E01C000FFFFFC 000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01 C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0007F87FC001A1D809C18>11 D<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E00000E0000FFFFC00E01 C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01 C00E01C00E01C07F87F8151D809C17>I<003F07E00001C09C18000380F018000701F03C000E01 E03C000E00E018000E00E000000E00E000000E00E000000E00E000000E00E00000FFFFFFFC000E 00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C00 0E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C 007FC7FCFF80211D809C23>14 D<60F0F0701010101020204080040C7C830C>44 DI<60F0F06004047C830C>I<03C00C301818300C300C700E60066006E0 07E007E007E007E007E007E007E007E007E007E007E007E00760066006700E300C300C18180C30 07E0101D7E9B15>48 D<030007003F00C700070007000700070007000700070007000700070007 00070007000700070007000700070007000700070007000F80FFF80D1C7C9B15>I<07C0183020 1C400C400EF00FF80FF807F8077007000F000E000E001C001C00380070006000C0018003000601 0C01180110023FFE7FFEFFFE101C7E9B15>I<07E01830201C201C781E780E781E381E001C001C 00180030006007E00030001C001C000E000F000F700FF80FF80FF80FF00E401C201C183007E010 1D7E9B15>I<000C00000C00001C00003C00003C00005C0000DC00009C00011C00031C00021C00 041C000C1C00081C00101C00301C00201C00401C00C01C00FFFFC0001C00001C00001C00001C00 001C00001C00001C0001FFC0121C7F9B15>I<300C3FF83FF03FC0200020002000200020002000 23E024302818301C200E000E000F000F000F600FF00FF00FF00F800E401E401C2038187007C010 1D7E9B15>I<00F0030C06040C0E181E301E300C700070006000E3E0E430E818F00CF00EE006E0 07E007E007E007E007600760077006300E300C18180C3003E0101D7E9B15>I<4000007FFF807F FF007FFF0040020080040080040080080000100000100000200000600000400000C00000C00001 C00001800001800003800003800003800003800007800007800007800007800007800007800003 0000111D7E9B15>I<03E00C301008200C20066006600660067006780C3E083FB01FE007F007F8 18FC307E601E600FC007C003C003C003C00360026004300C1C1007E0101D7E9B15>I<03C00C30 1818300C700C600EE006E006E007E007E007E007E0076007700F300F18170C2707C70006000600 0E300C780C78187010203030C00F80101D7E9B15>I<001F808000E0618001801980070007800E 0003801C0003801C00018038000180780000807800008070000080F0000000F0000000F0000000 F0000000F0000000F0000000F0000000F0000000700000807800008078000080380000801C0001 001C0001000E000200070004000180080000E03000001FC000191E7E9C1E>67 DI70 D73 D78 D80 D<07E0801C1980300580700380600180E00180E0 0080E00080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F800007C000 03C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E9C17>83 D<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F0020000F 0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F000000 0F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B1C7F9B 1E>I87 D<1FC000307000783800781C00301C00001C00001C0001FC000F1C00381C00701C00601C00E01C 40E01C40E01C40603C40304E801F870012127E9115>97 DI<07E00C301878307870306000E000E000E000E000E000E00060007004300418080C3007C00E12 7E9112>I<003F0000070000070000070000070000070000070000070000070000070000070003 E7000C1700180F00300700700700600700E00700E00700E00700E00700E00700E0070060070070 0700300700180F000C370007C7E0131D7E9C17>I<03E00C301818300C700E6006E006FFFEE000 E000E000E00060007002300218040C1803E00F127F9112>I<00F8018C071E061E0E0C0E000E00 0E000E000E000E00FFE00E000E000E000E000E000E000E000E000E000E000E000E000E000E000E 000E007FE00F1D809C0D>I<00038003C4C00C38C01C3880181800381C00381C00381C00381C00 1818001C38000C300013C0001000003000001800001FF8001FFF001FFF803003806001C0C000C0 C000C0C000C06001803003001C0E0007F800121C7F9215>II<18003C003C0018000000000000000000000000000000FC001C001C001C001C001C001C001C 001C001C001C001C001C001C001C001C001C00FF80091D7F9C0C>I<00C001E001E000C0000000 00000000000000000000000FE000E000E000E000E000E000E000E000E000E000E000E000E000E0 00E000E000E000E000E000E000E060E0F0C0F1C061803E000B25839C0D>IIIII<03F000 0E1C00180600300300700380600180E001C0E001C0E001C0E001C0E001C0E001C0600180700380 3003001806000E1C0003F00012127F9115>II114 D<1F9030704030C010C010E010F8007F803FE00FF000F880388018C018C018E010D0608FC00D12 7F9110>I<04000400040004000C000C001C003C00FFE01C001C001C001C001C001C001C001C00 1C001C101C101C101C101C100C100E2003C00C1A7F9910>IIII<7F8FF00F03800F03 0007020003840001C80001D80000F00000700000780000F800009C00010E00020E000607000403 801E07C0FF0FF81512809116>II<7FFC70386038407040F040E041C003C00380 07000F040E041C043C0C380870087038FFF80E127F9112>I E /Fv 7 117 df<00038000000380000007C0000007C0000007C000000FE000000FE000001FF000001BF00000 1BF0000031F8000031F8000061FC000060FC0000E0FE0000C07E0000C07E0001803F0001FFFF00 03FFFF8003001F8003001F8006000FC006000FC00E000FE00C0007E0FFC07FFEFFC07FFE1F1C7E 9B24>65 D<0FF8001C1E003E0F803E07803E07C01C07C00007C0007FC007E7C01F07C03C07C07C 07C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>97 DI<03FC000E0E001C1F003C1F00781F00780E00F80000F80000F80000F80000F80000F8 00007800007801803C01801C03000E0E0003F80011127E9115>I114 D<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01CC0 1CE01CE018F830CFC00E127E9113>I<0300030003000300070007000F000F003FFCFFFC1F001F 001F001F001F001F001F001F001F001F0C1F0C1F0C1F0C0F08079803F00E1A7F9913>I E /Fw 47 122 df<70F8FCFC7404040404080810102040060F7C840E>44 D<70F8F8F87005057C840E>46 D<01F000071C000C06001803003803803803807001C07001C070 01C07001C0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F001E0F0 01E0F001E0F001E07001C07001C07001C07803C03803803803801C07000C0600071C0001F00013 227EA018>48 D<008003800F80F380038003800380038003800380038003800380038003800380 03800380038003800380038003800380038003800380038003800380038007C0FFFE0F217CA018 >I<03F0000C1C001007002007804003C04003C08003E0F003E0F801E0F801E0F801E02003E000 03E00003C00003C0000780000700000E00001C0000180000300000600000C00001800001000002 00200400200800201800603000403FFFC07FFFC0FFFFC013217EA018>I<03F8000C1E00100700 2007804007C07807C07803C07807C03807C0000780000780000700000F00000E0000380003F000 001C00000F000007800007800003C00003C00003E02003E07003E0F803E0F803E0F003C04003C0 400780200780100F000C1C0003F00013227EA018>I<000200000600000E00000E00001E00001E 00002E00004E00004E00008E00008E00010E00020E00020E00040E00040E00080E00100E00100E 00200E00200E00400E00800E00FFFFF8000E00000E00000E00000E00000E00000E00000E00001F 0001FFF015217FA018>I<1000801E07001FFF001FFE001FF80013E00010000010000010000010 000010000010000010F800130E001407001803801003800001C00001C00001E00001E00001E000 01E07001E0F001E0F001E0E001C08001C04003C04003802007001006000C1C0003F00013227EA0 18>I<4000006000007FFFE07FFFC07FFFC0400080C00100800100800200800200000400000800 00080000100000300000200000600000600000600000E00000C00000C00001C00001C00001C000 01C00003C00003C00003C00003C00003C00003C00003C00003C00001800013237DA118>55 D<01F800060E000803001001802001802000C06000C06000C06000C07000C07801803E01003F02 001FC4000FF80003F80003FC00067F00083F80100F803007C06001C06000E0C000E0C00060C000 60C00060C000606000406000C03000801803000E0E0003F00013227EA018>I<01F000060C000C 0600180700380380700380700380F001C0F001C0F001C0F001E0F001E0F001E0F001E0F001E070 01E07003E03803E01805E00C05E00619E003E1E00001C00001C00001C000038000038030030078 0700780600700C002018001030000FC00013227EA018>I<70F8F8F87000000000000000000000 0070F8F8F87005157C940E>I<000FE00000701C00008002000300018004000040080000200800 00201007C01020183008203008084060040440C0078441C0038481C00382838003828380038283 8003828380038283800382838003828380038281C0038241C0038240C007824060078420300B84 201831881007C0F00800000008000000040000000300000E00800078007007C0000FFC001F237D A226>64 D<0001800000018000000180000003C0000003C0000003C0000005E0000005E000000D F0000008F0000008F0000010F800001078000010780000203C0000203C0000203C0000401E0000 401E0000401E0000800F0000800F0000FFFF000100078001000780030007C0020003C0020003C0 040003E0040001E0040001E00C0000F00C0000F03E0001F8FF800FFF20237EA225>II<0007E0100038183000E0063001C0017003 8000F0070000F00E0000701E0000701C0000303C0000303C0000307C0000107800001078000010 F8000000F8000000F8000000F8000000F8000000F8000000F8000000F800000078000000780000 107C0000103C0000103C0000101C0000201E0000200E000040070000400380008001C0010000E0 020000381C000007E0001C247DA223>II73 D75 D77 DI<03F0200C0C 601802603001E07000E0600060E00060E00060E00020E00020E00020F00000F000007800007F00 003FF0001FFE000FFF0003FF80003FC00007E00001E00000F00000F00000708000708000708000 70800070C00060C00060E000C0F000C0C80180C6070081FC0014247DA21B>83 D<7FFFFFF87807807860078018400780084007800840078008C007800C80078004800780048007 800480078004000780000007800000078000000780000007800000078000000780000007800000 078000000780000007800000078000000780000007800000078000000780000007800000078000 000780000007800000078000000FC00003FFFF001E227EA123>IIII<0FE0001838003C0C003C0E00 18070000070000070000070000FF0007C7001E07003C0700780700700700F00708F00708F00708 F00F087817083C23900FC1E015157E9418>97 D<01FE000703000C07801C078038030078000070 0000F00000F00000F00000F00000F00000F00000F000007000007800403800401C00800C010007 060001F80012157E9416>99 D<0000E0000FE00001E00000E00000E00000E00000E00000E00000 E00000E00000E00000E00000E00000E001F8E00704E00C02E01C01E03800E07800E07000E0F000 E0F000E0F000E0F000E0F000E0F000E0F000E07000E07800E03800E01801E00C02E0070CF001F0 FE17237EA21B>I<01FC000707000C03801C01C03801C07801E07000E0F000E0FFFFE0F00000F0 0000F00000F00000F000007000007800203800201C00400E008007030000FC0013157F9416>I< 003C00C6018F038F030F070007000700070007000700070007000700FFF8070007000700070007 00070007000700070007000700070007000700070007000700070007807FF8102380A20F>I<00 007001F198071E180E0E181C07001C07003C07803C07803C07803C07801C07001C07000E0E000F 1C0019F0001000001000001800001800001FFE000FFFC00FFFE03800F0600030400018C00018C0 0018C000186000306000303800E00E038003FE0015217F9518>I<0E0000FE00001E00000E0000 0E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F800E60C00E80E0 0F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0070 0E00700E00700E00700E0070FFE7FF18237FA21B>I<1C001E003E001E001C0000000000000000 0000000000000000000E00FE001E000E000E000E000E000E000E000E000E000E000E000E000E00 0E000E000E000E000E00FFC00A227FA10E>I<0E0000FE00001E00000E00000E00000E00000E00 000E00000E00000E00000E00000E00000E00000E00000E03FC0E01F00E01C00E01800E02000E04 000E08000E10000E38000EF8000F1C000E1E000E0E000E07000E07800E03C00E01C00E01E00E00 F00E00F8FFE3FE17237FA21A>107 D<0E00FE001E000E000E000E000E000E000E000E000E000E 000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E00 0E000E000E00FFE00B237FA20E>I<0E1FC07F00FE60E183801E807201C00F003C00E00F003C00 E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E0038 00E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E00E003800E0FFE3 FF8FFE27157F942A>I<0E1F80FE60C01E80E00F00700F00700E00700E00700E00700E00700E00 700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0070FFE7FF18157F941B >I<01FC000707000C01801800C03800E0700070700070F00078F00078F00078F00078F00078F0 0078F000787000707800F03800E01C01C00E038007070001FC0015157F9418>I<0E1F00FE61C0 0E80600F00700E00380E003C0E001C0E001E0E001E0E001E0E001E0E001E0E001E0E001E0E003C 0E003C0E00380F00700E80E00E41C00E3F000E00000E00000E00000E00000E00000E00000E0000 0E00000E0000FFE000171F7F941B>I<0E3CFE461E8F0F0F0F060F000E000E000E000E000E000E 000E000E000E000E000E000E000E000F00FFF010157F9413>114 D<0F8830786018C018C008C0 08E008F0007F803FE00FF001F8003C801C800C800CC00CC008E018D0308FC00E157E9413>I<02 000200020002000600060006000E001E003E00FFF80E000E000E000E000E000E000E000E000E00 0E000E000E040E040E040E040E040E040708030801F00E1F7F9E13>I<0E0070FE07F01E00F00E 00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E 00F00E00F006017003827800FC7F18157F941B>II120 DI E /Fx 1 4 df<00C00000C00000C00000C00000C000C0C0C0F0C3C038C7000EDC0003F00000C000 03F0000EDC0038C700F0C3C0C0C0C000C00000C00000C00000C00000C00012157D9619>3 D E /Fy 19 122 df45 D<00000300000000000300000000 000300000000000780000000000780000000000FC0000000000FC0000000000FC00000000017E0 0000000013E00000000013E00000000023F00000000021F00000000021F00000000040F8000000 0040F80000000040F800000000807C00000000807C00000001807E00000001003E00000001003E 00000002003F00000002001F00000002001F00000004000F80000004000F80000004000F800000 080007C00000080007C00000180007E000001FFFFFE000001FFFFFE00000200003F00000200001 F00000200001F00000400001F80000400000F80000400000F800008000007C00008000007C0000 8000007C00010000003E00010000003E00030000003F00030000001F00070000001F001F800000 3F80FFE00003FFFCFFE00003FFFC2E327EB132>65 D80 D<007F802001FFE02007C078600F001C601E0006E03C0003E0380001E0780000E0700000E0 70000060F0000060F0000060F0000020F0000020F0000020F8000020F80000007C0000007E0000 003F0000003FC000001FF800000FFF800007FFF80003FFFC0000FFFF00000FFF800000FFC00000 1FE0000007E0000003F0000001F0000000F0000000F8000000F880000078800000788000007880 00007880000078C0000078C0000070E00000F0E00000E0F00000E0F80001C0EC000380C7000700 C1F01E00807FFC00800FF0001D337CB125>83 D<00FE00000303C0000C00E00010007000100038 003C003C003E001C003E001E003E001E0008001E0000001E0000001E0000001E00000FFE0000FC 1E0003E01E000F801E001F001E003E001E003C001E007C001E00F8001E04F8001E04F8001E04F8 003E04F8003E0478003E047C005E043E008F080F0307F003FC03E01E1F7D9E21>97 D<07800000FF800000FF8000000F80000007800000078000000780000007800000078000000780 000007800000078000000780000007800000078000000780000007800000078000000780000007 81FC0007860700078801C0079000E007A0007007C00078078000380780003C0780003C0780001E 0780001E0780001F0780001F0780001F0780001F0780001F0780001F0780001F0780001F078000 1F0780001E0780003E0780003C0780003C0780007807C00070072000F0072001E0061803800606 0F000401F80020327EB125>I<003F8000E0600380180700040F00041E001E1C003E3C003E7C00 3E7C0008780000F80000F80000F80000F80000F80000F80000F80000F80000F800007800007C00 007C00003C00011E00011E00020F000207000403801800E060003F80181F7D9E1D>I<003F8000 00E0E0000380380007003C000E001E001E001E001C000F003C000F007C000F0078000F80780007 80F8000780F8000780FFFFFF80F8000000F8000000F8000000F8000000F8000000F80000007800 00007C0000003C0000003C0000801E0000800E0001000F0002000780020001C00C0000F0300000 1FC000191F7E9E1D>101 D<0007E0001C1000383800707C00E07C01E07C01C03803C00003C000 03C00003C00003C00003C00003C00003C00003C00003C00003C00003C000FFFFC0FFFFC003C000 03C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C000 03C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00007E000 7FFF007FFF0016327FB114>I<000000F0007F030801C1C41C0380E81C070070080F0078001E00 3C001E003C003E003E003E003E003E003E003E003E003E003E003E003E001E003C001E003C000F 007800070070000780E00009C1C000087F00001800000018000000180000001800000018000000 1C0000000E0000000FFFF80007FFFF0003FFFF800E000FC0180001E0300000F070000070E00000 38E0000038E0000038E0000038E00000387000007070000070380000E01C0001C00700070001C0 1C00003FE0001E2F7E9F21>I<0780000000FF80000000FF800000000F80000000078000000007 800000000780000000078000000007800000000780000000078000000007800000000780000000 0780000000078000000007800000000780000000078000000007800000000780FE000007830780 00078C03C000079001E00007A001E00007A000F00007C000F00007C000F000078000F000078000 F000078000F000078000F000078000F000078000F000078000F000078000F000078000F0000780 00F000078000F000078000F000078000F000078000F000078000F000078000F000078000F00007 8000F000078000F000078000F0000FC001F800FFFC1FFF80FFFC1FFF8021327EB125>I<07000F 801F801F800F800700000000000000000000000000000000000000000000000780FF80FF800F80 078007800780078007800780078007800780078007800780078007800780078007800780078007 8007800780078007800FC0FFF8FFF80D307EAF12>I<0780FF80FF800F80078007800780078007 800780078007800780078007800780078007800780078007800780078007800780078007800780 07800780078007800780078007800780078007800780078007800780078007800780078007800F C0FFFCFFFC0E327EB112>108 D<0780FE001FC000FF83078060F000FF8C03C18078000F9001E2 003C0007A001E4003C0007A000F4001E0007C000F8001E0007C000F8001E00078000F0001E0007 8000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F000 1E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E000780 00F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E 00078000F0001E00078000F0001E000FC001F8003F00FFFC1FFF83FFF0FFFC1FFF83FFF0341F7E 9E38>I<001FC00000F0780001C01C00070007000F0007801E0003C01C0001C03C0001E03C0001 E0780000F0780000F0780000F0F80000F8F80000F8F80000F8F80000F8F80000F8F80000F8F800 00F8F80000F8780000F07C0001F03C0001E03C0001E01E0003C01E0003C00F00078007800F0001 C01C0000F07800001FC0001D1F7E9E21>111 D<0783E0FF8C18FF907C0F907C07A07C07C03807 C00007C00007C00007800007800007800007800007800007800007800007800007800007800007 80000780000780000780000780000780000780000780000780000FC000FFFE00FFFE00161F7E9E 19>114 D<01FC100E03301800F0300070600030E00030E00010E00010E00010F00010F800007E 00003FF0001FFF000FFFC003FFE0003FF00001F80000F880003C80003C80001CC0001CC0001CE0 001CE00018F00038F00030CC0060C301C080FE00161F7E9E1A>I<004000004000004000004000 00400000C00000C00000C00001C00001C00003C00007C0000FC0001FFFE0FFFFE003C00003C000 03C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C000 03C00003C01003C01003C01003C01003C01003C01003C01003C01001C02001E02000E0400078C0 001F00142C7FAB19>I121 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300 TeXDict begin @letter /letter where {pop letter} if %%EndSetup %%Page: 0 1 bop 527 337 a Fy(Scalabilit)n(y)21 b(of)h(P)n(arallel)f(Algorithms)430 446 y(for)h(the)g(All-P)n(airs)f(Shortest)h(P)n(ath)f(Problem)1578 420 y Fx(\003)862 584 y Fw(Vipin)15 b(Kumar)676 654 y(Computer)g(Science)g (Departmen)o(t)748 724 y(Univ)o(ersit)o(y)f(of)i(Minnesota)750 793 y(Minneap)q(olis,)g(MN)f(55455)694 863 y(In)o(ternet:)20 b(kumar@cs.umn.e)o(du)866 1002 y(Vineet)15 b(Singh)946 1072 y(MCC)647 1142 y(3500)j(W)l(est)e(Balcones)g(Cen)o(ter)g(Driv)o(e)788 1212 y(Austin,)f(T)l(exas)h(78759)721 1281 y(In)o(ternet:)k(vsingh@mcc.com) 840 1387 y(Marc)o(h)c(21,)g(1991)913 1614 y Fv(Abstract)176 1700 y Fu(This)d(pap)q(er)i(uses)f(the)h Ft(iso)n(e\016ciency)e Fu(metric)g(to)g(analyze)h(the)g(scalabilit)o(y)e(of)h(sev)o(eral)h(parallel) e(algorithms)114 1760 y(for)j(\014nding)g(shortest)i(paths)f(b)q(et)o(w)o (een)h(all)d(pairs)h(of)g(no)q(des)i(in)e(a)g(densely)h(connected)h(graph.)23 b(P)o(arallel)15 b(algo-)114 1819 y(rithms)8 b(analyzed)i(in)g(this)g(pap)q (er)g(ha)o(v)o(e)g(either)h(b)q(een)g(previously)f(presen)o(ted)i(elsewhere)g (or)d(are)i(small)c(v)n(ariations)114 1879 y(of)j(them.)17 b(Scalabilit)o(y)9 b(is)i(analyzed)h(with)f(resp)q(ect)i(to)f(mesh,)e(h)o(yp) q(ercub)q(e)k(and)d(shared-memory)e(arc)o(hitectures.)114 1939 y(W)m(e)j(demonstrate)h(that)g(iso)q(e\016ciency)g(functions)g(are)g(a)g (compact)f(and)h(useful)g(predictor)g(of)g(p)q(erformance.)k(In)114 1999 y(fact,)12 b(previous)i(comparativ)o(e)d(predictions)j(of)f(some)f(of)g (the)i(algorithms)d(based)i(on)g(exp)q(erimen)o(tal)g(results)h(are)114 2059 y(sho)o(wn)e(to)f(b)q(e)i(incorrect)g(whereas)g(iso)q(e\016ciency)f (functions)g(predict)h(correctly)m(.)18 b(W)m(e)12 b(\014nd)g(the)g(classic)g (tradeo\013s)114 2118 y(of)j(hardw)o(are)i(cost)g(vs.)25 b(time)15 b(and)h(memory)d(vs.)26 b(time)15 b(to)h(b)q(e)g(represen)o(ted)j(here)f(as)e (tradeo\013s)h(of)f(hardw)o(are)114 2178 y(cost)e(vs.)k(scalabilit)o(y)13 b(and)g(memory)f(vs.)18 b(scalabilit)o(y)m(.)p 0 2659 804 2 v 51 2686 a Fs(\003)69 2701 y Fr(This)13 b(w)o(ork)g(w)o(as)f(partially)j (supp)q(orted)f(b)o(y)f(Arm)o(y)f(Researc)o(h)i(O\016ce)e(gran)o(t)h(#)f (28408-MA-SDI)h(to)g(the)f(Univ)o(ersit)o(y)j(of)d(Minnesota)0 2756 y(and)h(b)o(y)f(the)g(Arm)o(y)g(High)h(P)o(erformance)g(Computing)g (Researc)o(h)g(Cen)o(ter)f(at)g(the)g(Univ)o(ersit)o(y)i(of)e(Minnesota.)18 b(A)12 b(short)h(v)o(ersion)g(of)f(this)0 2811 y(pap)q(er)i(app)q(eared)g(in) g(the)f(pro)q(ceedings)j(of)c(the)h(1990)h(In)o(ternational)h(Conference)f (on)f(P)o(arallel)j(Pro)q(cessing.)p eop %%Page: 1 2 bop 0 136 a Fq(1)69 b(In)n(tro)r(duction)0 249 y Fp(The)17 b(problem)g(of)f(\014nding)i(a)e(shortest)f(path)i(in)g(an)f(explicit)j (graph)d(is)h(an)g(imp)q(ortan)o(t)f(problem)h(encoun)o(tered)g(in)0 317 y(the)c(study)g(of)f(comm)o(unication)h(and)g(transp)q(ortation)f(net)o (w)o(orks.)18 b(Considerable)c(atten)o(tion)e(has)h(b)q(een)h(dev)o(oted)e (to)0 384 y(solving)k(this)g(problem)g(on)g(sequen)o(tial)g(computers)g([7)o (])f(as)g(w)o(ell)i(as)e(parallel)i(computers)e([8,)g(11)o(,)g(19,)g(3)o(,)g (20].)20 b(This)0 452 y(pap)q(er)e(analyzes)g(the)g(scalabilit)o(y)i(of)d(a)g (n)o(um)o(b)q(er)h(of)f(parallel)j(algorithms)d(for)g(\014nding)i(shortest)e (paths)h(b)q(et)o(w)o(een)0 520 y(all)e(pairs)g(of)e(no)q(des)i(in)g(a)f (densely)i(connected)f(graph.)71 588 y(The)11 b(scalabilit)o(y)j(of)d(a)g (parallel)i(algorithm)f(is)g(determined)h(b)o(y)e(its)h(capabilit)o(y)h(to)e (e\013ectiv)o(ely)i(utilize)h(increasing)0 655 y(n)o(um)o(b)q(er)23 b(of)f(pro)q(cessors.)41 b(The)23 b(sp)q(eedup)h(obtained)f(b)o(y)g(a)f (parallel)i(algorithm)e(is)h(usually)h(dep)q(enden)o(t)g(up)q(on)0 723 y(c)o(haracteristics)16 b(of)g(the)g(hardw)o(are)f(arc)o(hitecture)h (\(suc)o(h)g(as)g(in)o(terconnection)h(net)o(w)o(ork,)e(the)h(CPU)g(sp)q (eed,)h(sp)q(eed)0 791 y(of)f(the)g(comm)o(unication)h(c)o(hannel,)h(etc.\))k (as)16 b(w)o(ell)h(as)f(certain)h(c)o(haracteristics)g(of)e(the)i(parallel)h (algorithm)e(\(suc)o(h)0 859 y(as)g(the)h(degree)g(of)f(concurrency)l(,)i (and)f(o)o(v)o(erheads)f(due)i(to)e(comm)o(unication,)h(sync)o(hronization,)h (and)e(redundan)o(t)0 926 y(w)o(ork\).)39 b(Giv)o(en)22 b(a)g(parallel)h(arc) o(hitecture)g(and)f(a)g(problem)g(instance)h(of)f(a)f(\014xed)i(size,)h(the)e (sp)q(eedup)i(of)d(an)o(y)0 994 y(parallel)f(algorithm)f(do)q(es)g(not)g(con) o(tin)o(ue)g(to)f(increase)i(with)f(increasing)h(n)o(um)o(b)q(er)g(of)e(pro)q (cessors)g(but)h(tends)g(to)0 1062 y(saturate)e(or)h(p)q(eak)h(at)f(a)g (certain)h(limit.)31 b(This)19 b(happ)q(ens)h(b)q(ecause)f(either)g(the)g(n)o (um)o(b)q(er)g(of)f(pro)q(cessors)g(exceeds)0 1130 y(the)g(degree)h(of)f (concurrency)h(inheren)o(t)g(in)h(the)e(algorithm)g(or)g(b)q(ecause)h(the)g (o)o(v)o(erheads)f(gro)o(w)f(with)i(increasing)0 1197 y(n)o(um)o(b)q(er)j(of) g(pro)q(cessors.)40 b(F)l(or)22 b(man)o(y)f(parallel)j(algorithms,)f(a)f (larger)g(problem)h(size)g(\(e.g.,)f(a)g(shortest-path)0 1265 y(problem)d(with)g(a)g(bigger)g(graph\))f(will)i(ha)o(v)o(e)e(a)g(higher)i (sp)q(eedup)g(limit.)32 b(Kumar)18 b(and)h(Rao)g(ha)o(v)o(e)f(dev)o(elop)q (ed)i(a)0 1333 y(scalabilit)o(y)i(metric,)h(called)f Fo(iso)n(e\016ciency)p Fp(,)e(whic)o(h)i(relates)f(the)g(problem)g(size)h(to)e(the)h(n)o(um)o(b)q (er)g(of)f(pro)q(cessors)0 1400 y(necessary)f(for)f(an)h(increase)h(in)g(sp)q (eedup)g(in)g(prop)q(ortion)f(to)f(the)h(n)o(um)o(b)q(er)g(of)g(pro)q (cessors)g(used)g([14)o(,)g(15)o(].)31 b(The)0 1468 y(iso)q(e\016ciency)18 b(analysis)e(has)g(b)q(een)h(found)f(to)f(b)q(e)h(v)o(ery)g(useful)g(in)h(c)o (haracterizing)f(the)g(scalabilit)o(y)i(of)d(a)g(v)m(ariet)o(y)h(of)0 1536 y(parallel)f(algorithms)d([15,)g(21,)g(22,)g(16,)g(9,)g(13].)19 b(By)13 b(doing)g(iso)q(e\016ciency)i(analysis,)f(one)f(can)g(test)g(the)g(p) q(erformance)0 1604 y(of)j(a)g(parallel)i(program)e(on)g(a)g(small)i(n)o(um)o (b)q(er)f(of)f(pro)q(cessors,)g(and)h(then)f(predict)i(its)f(p)q(erformance)f (on)h(a)f(larger)0 1671 y(n)o(um)o(b)q(er)e(of)f(pro)q(cessors.)19 b(As)14 b(stated)f(in)h([21)o(],)f(\\)p Fn(:)8 b(:)g(:)k Fp(with)h(this)i (tec)o(hnique)f(w)o(e)g(can)f(eliminate)j(\(or)d(at)f(least)i(predict\))0 1739 y(the)20 b(often)g(rep)q(orted)g(observ)m(ation)g(that)f(while)j(a)d (particular)i(parallel)h(program)c(p)q(erformed)j(w)o(ell)g(on)e(a)h(small)0 1807 y(m)o(ulticomputer,)c(it)f(w)o(as)f(found)i(to)e(p)q(erform)h(p)q(o)q (orly)h(when)g(p)q(orted)f(to)g(a)g(larger)g(m)o(ulticomputer.")71 1875 y(The)j(parallel)i(algorithms)e(analyzed)h(in)g(this)f(pap)q(er)h(are)e (all)i(based)g(on)f(t)o(w)o(o)f(w)o(ell-kno)o(wn)i(sequen)o(tial)g(algo-)0 1942 y(rithms)i(b)o(y)g(Dijkstra)g(and)g(Flo)o(yd.)38 b(These)21 b(algorithms)h(ha)o(v)o(e)e(either)i(b)q(een)g(previously)h(presen)o(ted)f (elsewhere)0 2010 y([11)o(,)d(19)o(,)g(3])f(or)h(are)g(small)h(v)m(ariations) g(of)e(them.)32 b(The)19 b(scalabilit)o(y)i(of)e(these)g(parallel)i (algorithms)e(is)h(analyzed)0 2078 y(for)d(mesh,)h(h)o(yp)q(ercub)q(e)i(and)e (shared-memory)f(arc)o(hitectures.)28 b(It)18 b(is)h(notew)o(orth)o(y)d(that) h(one)h(of)f(these)h(mo)q(di\014ed)0 2146 y(algorithms)d(has)g(m)o(uc)o(h)g (b)q(etter)h(scalabilit)o(y)h(than)e(other)f(algorithms)i(o)o(v)o(er)e(a)h(v) m(ariet)o(y)g(of)g(parallel)i(arc)o(hitectures.)71 2213 y(Some)e(parallel)h (algorithms)f(require)h(more)f(aggregate)f(memory)g(\(i.e.,)h(the)g(sum)g(of) g(the)g(memory)f(needed)j(on)0 2281 y(all)h(the)g(pro)q(cessors\))f(than)g (the)h(corresp)q(onding)h(sequen)o(tial)f(algorithm.)27 b(Since)19 b(memory)e(is)h(a)f(costly)h(resource,)0 2349 y(algorithms)d(requiring)h (less)f(memory)g(are)f(b)q(etter)h(\(pro)o(vided)h(they)f(ha)o(v)o(e)f (similar)i(p)q(erformance)f(otherwise\).)20 b(W)l(e)0 2417 y(ha)o(v)o(e)c(also)g(analyzed)g(the)g(memory)g(requiremen)o(ts)g(for)g(eac)o (h)g(algorithm-arc)o(hitecture)g(pair.)23 b(In)16 b(some)g(cases,)g(an)0 2484 y(algorithm)h(is)h(b)q(etter)g(than)f(others)g(on)g(the)h(basis)f(of)g (b)q(oth)h(scalabilit)o(y)h(and)e(memory)g(requiremen)o(ts.)27 b(In)18 b(other)0 2552 y(cases,)12 b(only)h(one)f(of)g(scalabilit)o(y)h(or)f (memory)f(requiremen)o(ts)i(is)f(b)q(etter.)19 b(Another)12 b(in)o(teresting)h(observ)m(ation)f(is)h(that)0 2620 y(for)i(some)h(parallel) i(algorithms,)d(addition)i(of)f(some)g(sp)q(ecial)h(comm)o(unication)g(hardw) o(are)e(leads)i(to)e(signi\014can)o(tly)0 2688 y(b)q(etter)g(scalabilit)o(y)i (as)e(w)o(ell)h(as)f(memory)g(requiremen)o(ts.)71 2755 y(The)22 b(organization)f(of)h(this)g(pap)q(er)g(is)h(as)e(follo)o(ws.)40 b(Section)22 b(2)g(presen)o(ts)f(some)h(preliminary)h(de\014nitions.)993 2936 y(1)p eop %%Page: 2 3 bop 0 136 a Fp(Section)19 b(3)e(de\014nes)i(the)e Fo(iso)n(e\016ciency)g Fp(metric.)28 b(Section)18 b(4)g(describ)q(es)h(the)f(parallel)h(arc)o (hitectures)f(studied)h(and)0 204 y(presen)o(ts)14 b(the)g(comm)o(unication)h (mo)q(dels)g(used)g(for)e(them)i(in)g(our)e(analysis.)21 b(Sections)15 b(5)f(through)f(11)h(describ)q(e)i(the)0 272 y(sequen)o(tial)k(algorithms)f (b)o(y)h(Flo)o(yd)f(and)g(Dijkstra)f(and)i(the)f(parallel)i(v)m(arian)o(ts)e (studied.)33 b(These)19 b(sections)h(also)0 339 y(con)o(tain)13 b(the)g(scalabilit)o(y)h(analysis)g(for)e(eac)o(h)h(parallel)h(algorithm.)20 b(Section)13 b(12)g(presen)o(ts)f(theoretically)i(computed)0 407 y(sp)q(eedup)j(and)f(e\016ciency)i(for)d(di\013eren)o(t)h(v)m(alues)h(of) e(the)h(n)o(um)o(b)q(er)g(of)g(pro)q(cessors)f(and)h(problem)h(sizes)g(for)e (some)g(of)0 475 y(the)f(algorithm-arc)o(hitecture)h(pairs)g(studied)g(in)h (this)e(pap)q(er.)20 b(In)15 b(Section)h(13,)d(w)o(e)h(sho)o(w)g(that)g(a)g (n)o(um)o(b)q(er)g(of)g(other)0 543 y(commonly)f(used)g(metrics)f(for)g(ev)m (aluating)i(parallel)g(algorithms)e(are)g(not)g(as)g(useful)i(as)e(the)h(iso) q(e\016ciency)h(function)0 610 y(in)j(capturing)f(the)g(utilit)o(y)h(of)f (parallel)h(algorithms)f(on)g(practically)i(realizable)g(parallel)f(arc)o (hitectures.)23 b(Finally)l(,)0 678 y(Section)16 b(14)f(summarizes)g(the)h (results.)71 746 y(A)f(short)f(v)o(ersion)i(of)f(this)g(pap)q(er)h(app)q (eared)g(in)g([17)o(].)0 903 y Fq(2)69 b(De\014nitions)21 b(and)j (Assumptions)0 1016 y Fp(In)15 b(this)g(section,)g(w)o(e)f(in)o(tro)q(duce)h (some)f(terminology)h(used)g(in)g(the)g(rest)f(of)g(the)g(pap)q(er.)21 b(All)15 b(our)f(algorithms)h(w)o(ork)0 1084 y(on)i(directed)i(graphs)e(suc)o (h)h(as)f Fn(G)g Fp(=)f(\()p Fn(V)s(;)8 b(E)s Fp(\))15 b(consisting)j(of)f(a) g(set)h Fn(V)26 b Fp(=)17 b Fm(f)p Fn(v)1327 1091 y Fl(i)1357 1084 y Fp(:)f(1)g Fm(\024)h Fn(i)f Fm(\024)h Fn(n)p Fm(g)h Fp(of)f Fn(n)h Fp(v)o(ertices)f(and)h(a)0 1152 y(set)e Fn(E)i Fm(\022)d Fn(V)21 b Fm(\002)11 b Fn(V)26 b Fp(of)16 b Fn(e)h Fp(edges.)25 b(Since)18 b(w)o(e)e(are)g(assuming)h(that)f(the)h(graphs)f(are) g(dense,)i Fn(e)d Fp(=)g(\002\()p Fn(n)1730 1135 y Fk(2)1750 1152 y Fp(\).)24 b(Eac)o(h)16 b(edge)0 1219 y(\()p Fn(v)40 1226 y Fl(i)54 1219 y Fn(;)8 b(v)97 1226 y Fl(j)114 1219 y Fp(\))15 b(has)g(a)g(length)h Fn(l)419 1226 y Fl(i;j)459 1219 y Fp(.)71 1287 y(W)l(e)h(consider)h(a)f(parallel)i(pro)q(cessor)f(consisting) g(of)f(an)g(ensem)o(ble)i(of)e Fn(p)g Fp(pro)q(cessing)h(units)g(eac)o(h)g (of)f(whic)o(h)h({)0 1355 y(for)f(purp)q(oses)g(of)g(determining)i(the)e (complexit)o(y)h({)f(runs)g(at)g(the)g(same)g(sp)q(eed.)27 b(When)18 b(a)e(parallel)j(algorithm)e(is)0 1423 y(run)e(on)h(m)o(ultiple)h (pro)q(cessors,)d(the)h(time)h(sp)q(en)o(t)f(b)o(y)h(an)f(individual)j(pro)q (cessor)d Fn(P)1425 1430 y Fl(i)1455 1423 y Fp(can)g(b)q(e)h(split)g(in)o(to) f(t)o(w)o(o)f(parts:)56 1537 y(1.)22 b Fn(t)130 1520 y Fl(i)130 1548 y(e)166 1537 y Fp(\(where)c Fn(e)g Fp(stands)f(for)g(essen)o(tial\),)i (whic)o(h)g(is)f(the)g(time)g(sp)q(en)o(t)g(on)g(computations)f(that)g(w)o (ould)h(also)g(b)q(e)114 1604 y(p)q(erformed)d(b)o(y)g(an)g(optimal)h(sequen) o(tial)g(algorithm;)f(and,)56 1709 y(2.)22 b Fn(t)130 1692 y Fl(i)130 1720 y(o)167 1709 y Fp(\(where)17 b Fn(o)h Fp(stands)f(for)g(o)o (v)o(erhead\),)g(whic)o(h)i(is)f(the)g(sum)g(of)f(time)h(sp)q(en)o(t)g(on)f (comm)o(unication,)i(sync)o(hro-)114 1776 y(nization,)c(idle)h(time,)e(and)h (other)f(\\non-essen)o(tial")h(computation)f(\(i.e.,)g(computation)h(that)e (w)o(ould)i(not)f(b)q(e)114 1844 y(p)q(erformed)h(b)o(y)g(an)g(optimal)h (sequen)o(tial)g(algorithm\).)0 1958 y(The)11 b(sup)q(erscript)i Fn(i)d Fp(will)j(b)q(e)f(dropp)q(ed)g(whenev)o(er)g(the)f(time)g(sp)q(en)o(t) h(is)f(the)h(same)f(for)f(all)i(pro)q(cessors.)18 b(The)12 b(execution)0 2026 y(time)k(on)f Fn(p)g Fp(pro)q(cessors,)f Fn(T)461 2033 y Fl(p)481 2026 y Fp(,)g(satis\014es)660 2009 y Fk(1)887 2149 y Fn(T)914 2156 y Fl(p)946 2149 y Fp(=)f Fn(t)1010 2131 y Fl(i)1010 2161 y(e)1039 2149 y Fp(+)e Fn(t)1101 2131 y Fl(i)1101 2161 y(o)71 2260 y Fp(The)17 b Fo(pr)n(oblem)h(size)h Fn(T)457 2267 y Fl(e)492 2260 y Fp(of)e(a)g(problem)g(is)h(de\014ned)h(to)d (b)q(e)i(the)f(amoun)o(t)f(of)h(computation)g(\(in)g(units)h(of)f(time\))0 2328 y(tak)o(en)i(b)o(y)h(an)g(optimal)g(sequen)o(tial)h(algorithm.)33 b(Note)20 b(that)f(w)o(e)g(do)h(not)f(use)i(the)e(input)i(size)g(to)e(refer)h (to)f(the)0 2395 y(problem)d(size.)21 b(Clearly)l(,)15 b Fn(T)474 2402 y Fl(e)505 2395 y Fp(=)553 2363 y Fj(P)597 2373 y Fl(p)p Fi(\000)p Fk(1)597 2408 y Fl(i)p Fk(=0)669 2395 y Fn(t)685 2379 y Fl(i)685 2407 y(e)704 2395 y Fp(.)20 b(W)l(e)15 b(de\014ne)i Fn(T)974 2402 y Fl(o)1005 2395 y Fp(=)1053 2363 y Fj(P)1097 2373 y Fl(p)p Fi(\000)p Fk(1)1097 2408 y Fl(i)p Fk(=0)1169 2395 y Fn(t)1185 2379 y Fl(i)1185 2407 y(o)1205 2395 y Fp(.)j(It)15 b(follo)o(ws)g(that)838 2506 y Fn(T)865 2513 y Fl(o)894 2506 y Fp(+)10 b Fn(T)966 2513 y Fl(e)997 2506 y Fp(=)j Fn(p)d Fm(\002)g Fn(T)1150 2513 y Fl(p)71 2616 y Fp(The)19 b Fo(sp)n(e)n(e)n(dup)j Fn(S)f Fp(of)e(an)g(algorithm)g(on)g Fn(p)g Fp(pro)q(cessors)g(is)h (de\014ned)h(to)d(b)q(e)i(the)f(ratio)1588 2598 y Fl(T)1609 2602 y Fh(e)p 1587 2605 39 2 v 1587 2632 a Fl(T)1608 2636 y Fh(p)1631 2616 y Fp(.)31 b(The)20 b Fo(e\016ciency)e Fp(is)0 2684 y(de\014ned)f(as)d(follo)o(ws:)p 0 2714 804 2 v 52 2740 a Fg(1)69 2756 y Fr(The)f(reader)g(should)i(note)e(that)g(the)g(sum)g(of)g Ff(t)760 2760 y Fh(e)789 2756 y Fr(and)h Ff(t)878 2760 y Fh(o)908 2756 y Fr(is)f(indeed)i(exactly)f(the)f(same)g(for)f(all)j(the)e(pro)q (cessors.)18 b(In)13 b(this)g(measure,)0 2811 y(the)g(idle)i(time)e(of)g(a)g (pro)q(cessor)h(is)g(included)h(in)f(its)g Ff(t)775 2815 y Fh(o)792 2811 y Fr(.)993 2936 y Fp(2)p eop %%Page: 3 4 bop 729 249 a Fn(E)15 b Fp(=)831 219 y Fn(S)p 831 239 31 2 v 835 281 a(p)879 249 y Fp(=)972 219 y Fn(T)999 226 y Fl(e)p 932 239 125 2 v 932 281 a Fn(T)959 288 y Fl(p)989 281 y Fm(\002)10 b Fn(p)1074 249 y Fp(=)1178 219 y Fn(T)1205 226 y Fl(e)p 1127 239 147 2 v 1127 281 a Fn(T)1154 288 y Fl(e)1183 281 y Fp(+)g Fn(T)1255 288 y Fl(o)71 378 y Fp(Although)20 b(iso)q(e\016ciency)j(analysis)e (can)f(b)q(e)h(p)q(erformed)g(when)g(I/O)f(is)h(considered,)i(w)o(e)d(will)i (not)e(consider)0 446 y(the)i(time)g(sp)q(en)o(t)g(in)g(I/O.)g(W)l(e)f (assume)h(that)f(the)h(input)g(data)f(is)h(presen)o(t)g(in)g(the)g(desired)h (lo)q(cations)f(in)h(the)0 513 y(parallel)h(pro)q(cessor)e(when)h(the)g (computation)f(starts)f(and)i(the)g(output)f(data)g(is)h(similarly)h(a)o(v)m (ailable)g(at)e(the)0 581 y(desired)16 b(lo)q(cations)g(when)g(the)f (computation)g(terminates.)0 739 y Fq(3)69 b(Scalabilit)n(y)20 b(of)k(P)n(arallel)c(Algorithms)0 852 y Fp(If)g(a)f(parallel)i(algorithm)e (is)h(used)g(to)f(solv)o(e)h(a)f(giv)o(en)h(problem)g(instance)g(of)f(a)g (\014xed)h(size)g(\(i.e.,)g Fn(T)1768 859 y Fl(e)1786 852 y Fp(\),)g(then)g(the)0 920 y(e\016ciency)f(decreases)e(as)g Fn(p)g Fp(increases.)27 b(This)18 b(prop)q(ert)o(y)f(is)g(true)g(of)g(all)h (parallel)h(algorithms.)26 b(F)l(or)16 b(a)h(large)g(class)0 987 y(of)j(parallel)h(algorithms)f(\(e.g.,)g(parallel)i(DFS)e([15)o(],)g (parallel)i(shortest)d(path)h(algorithms)g([11)o(]\))g(the)g(follo)o(wing)0 1055 y(additional)d(prop)q(ert)o(y)e(is)g(also)g(true:)68 1173 y Fm(\017)23 b Fp(F)l(or)14 b(an)o(y)g(giv)o(en)i(n)o(um)o(b)q(er)f Fn(p)g Fp(of)f(pro)q(cessors,)g(the)h(e\016ciency)i(of)d(the)h(parallel)i (algorithm)d(go)q(es)h(up)g(monoton-)114 1241 y(ically)h(\(i.e.,)e(it)h(nev)o (er)f(go)q(es)h(do)o(wn,)f(and)g(approac)o(hes)h(a)f(constan)o(t)g Fn(e)p Fp(,)g(s.t.)19 b(0)12 b Fn(<)h(e)g Fm(\024)g Fp(1\))h(if)h(it)g(is)g (used)g(to)f(solv)o(e)114 1308 y(problem)i(instances)f(of)g(increasing)i (size.)71 1426 y(W)l(e)f(call)h(suc)o(h)f(algorithms)g Fo(sc)n(alable)i Fp(parallel)f(algorithms.)22 b(In)16 b(these)h(algorithms,)e(e\016ciency)j (can)e(b)q(e)g(main-)0 1494 y(tained)k(at)f(a)g(desired)h(v)m(alue)h(\(b)q (et)o(w)o(een)e(0)g(and)g Fn(e)p Fp(\))g(for)g(increasing)i(n)o(um)o(b)q(er)e (of)g(pro)q(cessors)g(pro)o(vided)h(that)f(the)0 1561 y(problem)h(size)g(is)g (also)f(increased.)34 b(Note)19 b(that)f(for)h(di\013eren)o(t)h(parallel)h (arc)o(hitectures,)f(the)f(problem)h(size)h(ma)o(y)0 1629 y(ha)o(v)o(e)e(to)f (increase)j(at)d(di\013eren)o(t)i(rates)e(\(w.r.t.)30 b(the)19 b(n)o(um)o(b)q(er)h(of)f(pro)q(cessors\))f(in)i(order)f(to)g(main)o(tain)h (constan)o(t)0 1697 y(e\016ciency)l(.)h(The)15 b(rate)f(of)f(gro)o(wth)g(of)h (the)h(problem)g(size,)g(w.r.t.)j(the)c(n)o(um)o(b)q(er)h(of)f(pro)q (cessors,)g(that)f(is)i(required)g(to)0 1765 y(k)o(eep)e(the)f(e\016ciency)i (\014xed)f(essen)o(tially)g(determines)h(the)e(degree)h(of)e(scalabilit)o(y)j (of)e(these)h(parallel)h(algorithms)e(\(for)0 1832 y(a)j(sp)q(eci\014c)j(arc) o(hitecture\).)k(F)l(or)15 b(example,)h(if)g(the)g(problem)g(size)h(is)f (required)h(to)e(gro)o(w)g(exp)q(onen)o(tially)j(w.r.t.)i(the)0 1900 y(n)o(um)o(b)q(er)15 b(of)f(pro)q(cessors,)h(then)g(the)f(algorithm-arc) o(hitecture)i(com)o(bination)f(has)g(a)f(p)q(o)q(or)h(scalabilit)o(y)l(,)h (as)e(it)h(w)o(ould)0 1968 y(b)q(e)i(di\016cult)i(to)d(obtain)h(go)q(o)q(d)f (sp)q(eedups)i(for)e(a)h(large)g(n)o(um)o(b)q(er)g(of)f(pro)q(cessors)g (\(unless)i(the)f(problem)g(size)h(b)q(eing)0 2036 y(solv)o(ed)d(is)h (enormously)f(large\).)20 b(On)15 b(the)g(other)g(hand,)g(if)h(the)f(problem) g(size)h(needs)g(to)f(gro)o(w)e(only)j(linearly)h(w.r.t.)0 2103 y(the)j(n)o(um)o(b)q(er)g(of)f(pro)q(cessors)g(then)h(the)g(parallel)h (algorithm)f(is)g(highly)h(scalable;)i(i.e.,)d(it)g(can)g(deliv)o(er)h (linearly)0 2171 y(increasing)d(p)q(erformance)g(with)f(increasing)i(n)o(um)o (b)q(er)e(of)g(pro)q(cessors)g(for)f(reasonable)i(problem)g(sizes.)26 b(Since)19 b(all)0 2239 y(problems)e(ha)o(v)o(e)e(a)h(sequen)o(tial)i(comp)q (onen)o(t)e(\(tak)o(en)f(to)h(b)q(e)g(at)g(least)g(one)g(arithmetic)h(op)q (eration)g(in)g(this)f(pap)q(er\),)0 2307 y(the)g(problem)g(size)g(m)o(ust)f (asymptotically)h(gro)o(w)f(at)f(least)i(linearly)h(w.r.t.)j(the)15 b(n)o(um)o(b)q(er)h(of)f(pro)q(cessors)g(to)g(main-)0 2374 y(tain)f(a)g(giv)o(en)g(e\016ciency)l(.)22 b(If)14 b(the)g(problem)h(size)f (needs)h(to)f(gro)o(w)e(as)i Fn(f)5 b Fp(\()p Fn(p)p Fp(\),)13 b(where)h Fn(p)g Fp(is)h(the)f(n)o(um)o(b)q(er)g(of)f(pro)q(cessors,)0 2442 y(to)f(main)o(tain)h(an)f(e\016ciency)j Fn(E)s Fp(,)c(then)i Fn(f)5 b Fp(\()p Fn(p)p Fp(\))12 b(is)h(de\014ned)h(to)e(b)q(e)h(the)g Fe(iso)q(e\016ciency)i(function)f Fp(for)e(e\016ciency)i Fn(E)h Fp(and)0 2510 y(the)g(plot)g(of)g Fn(f)5 b Fp(\()p Fn(p)p Fp(\))14 b(w.r.t.)19 b Fn(p)14 b Fp(is)i(de\014ned)g(to)f(b)q(e)g(the)g Fo(iso)n(e\016ciency)g(curve)k Fp(for)14 b(e\016ciency)j Fn(E)s Fp(.)i(It)c(is)g(p)q(ossible)i(to)d(ha)o(v)o(e)0 2577 y(di\013eren)o(t)j(iso) q(e\016ciency)i(functions)e(for)f(di\013eren)o(t)h(e\016ciencies.)27 b(In)18 b(this)f(pap)q(er,)g(iso)q(e\016ciency)i(functions)e(are)g(the)0 2645 y(same)f(for)f(all)i(v)m(alues)g(of)f Fn(E)i Fp(within)f(some)f(range)f (0)f Fn(<)g(E)j Fm(\024)d Fn(e)g Fm(\024)g Fp(1.)22 b(Therefore,)16 b(for)f(the)h(sak)o(e)g(of)f(con)o(v)o(enience)j(in)0 2713 y(the)c(rest)g(of)g(the)h(pap)q(er,)f(w)o(e)h(will)h(refer)e(to)g(iso)q (e\016ciency)i(functions)f(and)g(iso)q(e\016ciency)h(curv)o(es)f(without)f (reference)0 2781 y(to)h(a)f(sp)q(eci\014c)k(e\016ciency)l(.)993 2936 y(3)p eop %%Page: 4 5 bop 71 136 a Fp(Since)18 b Fn(E)h Fp(=)d(1)p Fn(=)p Fp(\(1)11 b(+)445 118 y Fl(T)466 122 y Fh(o)p 445 125 38 2 v 445 152 a Fl(T)466 156 y Fh(e)487 136 y Fp(\),)18 b(in)g(order)f(to)g(main)o(tain)g (a)g(constan)o(t)g(e\016ciency)l(,)i Fn(T)1422 143 y Fl(e)1456 136 y Fm(/)e Fn(T)1535 143 y Fl(o)1571 136 y Fp(or)g Fn(T)1656 143 y Fl(e)1690 136 y Fp(=)g Fn(K)s(T)1811 143 y Fl(o)1846 136 y Fp(m)o(ust)g(b)q(e)0 204 y(satis\014ed,)f(where)g Fn(K)g Fp(=)d Fn(E)s(=)p Fp(\(1)c Fm(\000)i Fn(E)s Fp(\))j(is)i(a)f(constan)o(t)g (dep)q(ending)j(on)d(the)h(e\016ciency)h(to)e(b)q(e)h(main)o(tained.)22 b(Once)17 b Fn(T)1990 211 y Fl(e)0 272 y Fp(and)c Fn(T)113 279 y Fl(o)145 272 y Fp(are)f(kno)o(wn)h(as)g(functions)g(of)g Fn(n)g Fp(and)g Fn(p)p Fp(,)g(the)g(iso)q(e\016ciency)i(function)f(can)f (often)g(b)q(e)g(determined)h(b)o(y)f(simple)0 339 y(algebraic)j (manipulations.)71 407 y(Let's)h(go)h(through)g(an)g(example)h(to)e (understand)i(the)f(concept)h(of)f(iso)q(e\016ciency)i(in)f(more)e(concrete)i (terms.)0 475 y(Assume)12 b(that)e(the)i(actual)f(iso)q(e\016ciency)j (function)e(of)f(an)g(algorithm)g(on)h(an)f(arc)o(hitecture)h(is)g Fn(k)q(p)1654 458 y Fk(3)1673 475 y Fp(.)19 b(F)l(urther)11 b(assume)0 543 y(that)k(on)h Fn(p)186 550 y Fk(0)222 543 y Fp(pro)q(cessors)f(and)i(on)e(a)h(problem)h(of)e(size)i Fn(w)981 550 y Fk(0)1001 543 y Fp(,)e(w)o(e)h(get)g(a)f(sp)q(eedup)j(of)d Fn(:)p Fp(8)p Fn(p)1500 550 y Fk(0)1535 543 y Fp(\(i.e.,)h(e\016ciency)h (obtained)0 610 y(is)f(.8\).)k(If)c(the)f(n)o(um)o(b)q(er)h(of)f(pro)q (cessors)g(is)h(doubled)h(to)e(2)p Fn(p)1012 617 y Fk(0)1032 610 y Fp(,)g(then)h(the)f(problem)h(size)h(m)o(ust)e(increase)h(b)o(y)g(a)f (factor)0 678 y(of)g(2)75 662 y Fk(3)107 678 y Fp(=)e(8)h(in)i(order)f(to)f (obtain)i(a)e(sp)q(eedup)j(of)e(2)9 b Fm(\002)h Fn(:)p Fp(8)p Fn(p)962 685 y Fk(0)996 678 y Fp(\(i.e.,)k(to)h(k)o(eep)g(the)g(e\016ciency)i (constan)o(t)d(at)g(.8\).)19 b(Clearly)l(,)0 746 y(if)d(the)f(problem)h(size) g(is)g(increased)g(less)g(than)f(eigh)o(t-fold,)h(then)f(the)g(e\016ciency)i (obtained)f(will)h(b)q(e)f(less)g(than)f(.8.)71 814 y(Some)i(of)g(the)g (parallel)i(algorithms)e(analyzed)h(in)g(this)g(pap)q(er)f(are)g(based)h(on)f (the)g(sequen)o(tial)i(algorithm)e(b)o(y)0 881 y(Dijkstra)h(and)i(the)f (others)g(are)g(based)g(up)q(on)h(the)f(one)g(b)o(y)g(Flo)o(yd.)32 b(Both)19 b(sequen)o(tial)h(algorithms)f(ha)o(v)o(e)g(\002\()p Fn(n)1970 865 y Fk(3)1990 881 y Fp(\))0 949 y(w)o(orst-case)f(time)i (complexit)o(y)l(,)i(but)d(Flo)o(yd's)g(algorithm)h(has)f(a)h(lo)o(w)o(er)f (constan)o(t)g(of)g(prop)q(ortionalit)o(y)l(.)33 b(Hence,)0 1017 y(the)21 b(iso)q(e\016ciency)i(function)f(of)e(eac)o(h)h(parallel)h (algorithm)f(is)h(analyzed)f(with)h(resp)q(ect)f(to)f(sequen)o(tial)i(Flo)o (yd's)0 1084 y(algorithm.)71 1152 y(W)l(e)c(also)h(deriv)o(e)g Fo(memory)h(overhe)n(ad)g(factor)f Fp(\(MOF\))f(for)g(these)g(algorithm-arc)o (hitecture)h(pairs.)31 b(Memory)0 1220 y(o)o(v)o(erhead)12 b(factor)g(is)h(the)g(ratio)g(of)f(the)h(total)f(memory)g(required)i(for)e (all)i(pro)q(cessors)e(o)o(v)o(er)g(the)h(amoun)o(t)f(of)g(memory)0 1288 y(required)k(for)f(the)g(same)g(problem)h(size)g(on)f(a)g(single)i(pro)q (cessor.)0 1446 y Fq(4)69 b(P)n(arallel)21 b(Arc)n(hitectures)0 1559 y Fp(In)c(this)f(section,)h(w)o(e)f(presen)o(t)g(mo)q(dels)h(of)f(the)g (parallel)i(pro)q(cessor)e(arc)o(hitectures)h(for)e(whic)o(h)i(w)o(e)f(ha)o (v)o(e)g(analyzed)0 1626 y(the)f(scalabilit)o(y)i(of)e(v)m(arious)h(parallel) g(shortest)f(path)g(algorithms.)0 1760 y Fd(4.1)56 b(Mesh)18 b(Multicomputer)0 1857 y Fp(In)f(this)f(pap)q(er,)h(w)o(e)f(consider)h(only)f (t)o(w)o(o-dimensional,)h(square)f(meshes.)23 b(All)18 b(pro)q(cessors)d(in)i (the)g(in)o(terior)f(of)g(the)0 1925 y(mesh)h(\(except)g(the)g(b)q(oundary\)) f(are)h(connected)g(to)g(four)f(neigh)o(b)q(ors)h(\(up,)g(do)o(wn,)g(righ)o (t,)f(and)h(left\).)24 b(Pro)q(cessors)0 1992 y(co)q(op)q(erate)d(with)g(eac) o(h)g(other)g(b)o(y)g(sending)h(and)f(receiving)i(messages.)37 b(W)l(e)21 b(will)h(consider)g(three)f(v)m(arian)o(ts)g(of)0 2060 y(this)d(t)o(yp)q(e)g(of)f(m)o(ulticomputer:)26 b(simple)19 b(mesh,)f(mesh)g(with)g(cut-through)g(routing)f(hardw)o(are,)h(and)g(mesh)f (with)0 2128 y(cut-through)e(and)h(m)o(ulticast)f(routing)g(hardw)o(are.)0 2259 y Fe(4.1.1)52 b(Simple)18 b(Mesh)e(Multicomputer)0 2356 y Fp(In)i(the)g(simple)h(mesh,)f(the)f(time)h(to)f(deliv)o(er)i(a)e(message)g (con)o(taining)h Fn(m)g Fp(w)o(ords)e(b)q(et)o(w)o(een)i(t)o(w)o(o)e(pro)q (cessors)i(that)0 2424 y(are)c Fn(d)g Fp(hops)h(a)o(w)o(a)o(y)d(\()p Fo(i.e.)p Fp(,)i(there)g(are)h Fn(d)8 b Fm(\000)h Fp(1)14 b(pro)q(cessors)g (in)h(b)q(et)o(w)o(een\))f(is)h(giv)o(en)g(b)o(y)f(\()p Fn(t)1462 2431 y Fl(s)1489 2424 y Fp(+)9 b Fn(t)1549 2431 y Fl(w)1578 2424 y Fn(m)p Fp(\))f Fm(\002)h Fn(d)p Fp(.)19 b(Here)c Fn(t)1867 2431 y Fl(s)1900 2424 y Fp(is)g(the)0 2492 y(message)g(startup)g(time,)g(and) h Fn(t)556 2499 y Fl(w)600 2492 y Fp(is)f(p)q(er-w)o(ord)h(comm)o(unication)g (time.)1256 2475 y Fk(2)1296 2492 y Fp(In)g(some)g(algorithms)f(analyzed)h (in)g(this)0 2560 y(pap)q(er,)g(w)o(e)g(will)i(also)e(need)h(to)e Fo(multic)n(ast)h Fp(messages)f(\(i.e.,)h(send)h(the)f(same)f(message)h(to)f (m)o(ultiple)j(destinations\))0 2627 y(along)e(the)g(ro)o(w)f(or)g(the)h (column)h(of)f(the)g(mesh)g(separately)l(.)22 b(F)l(or)15 b(the)h(mesh)h(m)o (ulticomputer,)f(a)g(m)o(ulticast)g(along)p 0 2667 804 2 v 52 2694 a Fg(2)69 2710 y Ff(t)83 2714 y Fh(w)122 2710 y Fr(is)f(equal)h(to) 321 2694 y Fh(x)p 318 2701 25 2 v 318 2722 a(B)361 2710 y Fr(where)f Ff(B)h Fr(is)f(the)f(bandwidth)i(of)e(the)h(comm)o(unication)i(c)o(hannel)f (b)q(et)o(w)o(een)f(the)f(pro)q(cessors)i(in)f(b)o(ytes/second)0 2764 y(and)f Ff(x)e Fr(is)i(the)f(n)o(um)o(b)q(er)h(of)f(b)o(ytes)g(p)q(er)g (w)o(ord.)993 2936 y Fp(4)p eop %%Page: 5 6 bop 0 136 a Fp(a)16 b(ro)o(w)f(or)h(column)h(will)h(tak)o(e)e(time)g(equal)h (to)f(the)g(time)h(required)g(to)f(send)g(a)g(message)g(directly)i(to)d(the)i (farthest)0 204 y(destination.)29 b(In)19 b(particular,)g(if)f(the)h(mesh)f (is)840 176 y Fm(p)p 878 176 23 2 v 28 x Fn(p)12 b Fm(\002)960 176 y(p)p 998 176 V 28 x Fn(p)p Fp(,)19 b(then)f(the)g(time)g(to)g(m)o (ulticast)g(a)g(message)f(of)h(size)h Fn(m)0 272 y Fp(from)d(an)g(edge)h(pro) q(cessor)g(to)e(all)j(the)f(pro)q(cessors)f(along)g(the)h(ro)o(w)f(or)g (column)h(p)q(erp)q(endicul)q(ar)i(to)d(the)g(edge)h(will)0 339 y(b)q(e)f(\()p Fn(t)96 346 y Fl(s)124 339 y Fp(+)11 b Fn(t)186 346 y Fl(w)215 339 y Fn(m)p Fp(\))e Fm(\002)i Fp(\()346 311 y Fm(p)p 383 311 V 383 339 a Fn(p)f Fm(\000)h Fp(1\).)71 407 y(The)16 b(equiv)m(alen)o(t)i(of)e(barrier)g(sync)o(hronization)h([4)o(])f (can)g(b)q(e)h(implemen)o(ted)h(in)f(a)f(mesh)g(at)g(the)g(cost)g(of)g(4\()p Fn(t)1944 414 y Fl(s)1973 407 y Fp(+)0 475 y Fn(t)16 482 y Fl(w)45 475 y Fp(\)\()81 447 y Fm(p)p 118 447 V 118 475 a Fn(p)11 b Fm(\000)h Fp(1\))17 b(as)f(follo)o(ws.)26 b(First)17 b(a)g(sync)o (hronizing)i(message)d(of)h(one)g(unit)h(is)g(passed)g(along)f(all)h(ro)o(ws) e(left-w)o(ard)0 543 y(starting)e(at)g(the)h(pro)q(cessors)g(in)g(the)g(righ) o(t-most)f(column.)21 b(Then)15 b(pro)q(cessors)g(in)g(the)g(left-most)g(v)o (ertical)g(column)0 610 y(pass)21 b(a)f(sync)o(hronizing)i(message)f(of)f (length)i(one)f(w)o(ord)f(up)o(w)o(ards)g(starting)g(at)g(the)h(b)q (ottom-most)e(pro)q(cessor.)0 678 y(This)g(second)f(message)g(is)g(sen)o(t)g (up)h(b)o(y)e(these)i(pro)q(cessors)e(only)i(after)e(they)h(ha)o(v)o(e)g (receiv)o(ed)h(the)f(sync)o(hronizing)0 746 y(message)13 b(along)h(the)g(ro)o (w.)k(These)c(steps)g(tak)o(e)f(2\()p Fn(t)871 753 y Fl(s)897 746 y Fp(+)7 b Fn(t)955 753 y Fl(w)984 746 y Fp(\)\()1020 718 y Fm(p)p 1057 718 V 1057 746 a Fn(p)g Fm(\000)g Fp(1\))14 b(time.)20 b(Once)14 b(the)g(top-left)g(pro)q(cessor)g(gets)f(the)0 814 y(sync)o(hronizing)19 b(message)e(from)g(the)h(ro)o(w)e(and)i(column,)h(it)f (broadcasts)e(a)i(unit)g(message)f(to)g(all)h(the)g(pro)q(cessors)0 881 y(informing)11 b(them)f(that)f(the)i(barrier)f(has)g(b)q(een)h(reac)o (hed)g(b)o(y)f(all)h(the)f(pro)q(cessors.)18 b(This)11 b(also)f(tak)o(es)g (2\()p Fn(t)1738 888 y Fl(s)1756 881 y Fp(+)p Fn(t)1807 888 y Fl(w)1836 881 y Fp(\)\()1872 853 y Fm(p)p 1909 853 V 1909 881 a Fn(p)p Fm(\000)p Fp(1\))0 949 y(time.)71 1017 y(\\Simple)16 b(Mesh)f(Multicomputer")h(is)g(abbreviated)g(as)f(\\Mesh")f(in)i(the)g(rest)e (of)h(the)g(pap)q(er.)0 1148 y Fe(4.1.2)52 b(Mesh)16 b(Multicomputer)j(with)f (Cut-Through)g(Routing)h(Hardw)o(are)0 1245 y Fp(A)d(simple)h(mesh)f(ma)o(y)g (b)q(e)g(augmen)o(ted)g(with)g(hardw)o(are)f(for)h(cut-through)g(routing)g ([6)o(].)21 b(This)c(can)f(dramatically)0 1313 y(cut)j(do)o(wn)g(the)h(time)f (to)g(deliv)o(er)i(a)e(message.)31 b(With)20 b(cut-through)f(routing,)h(the)f (time)h(to)f(deliv)o(er)h(a)f(message)0 1381 y(con)o(taining)e Fn(m)f Fp(w)o(ords)g(to)g(a)g(pro)q(cessor)g(that)g(is)h Fn(d)f Fp(steps)g(a)o(w)o(a)o(y)f(is)i(reduced)g(from)f(\002\()p Fn(m)11 b Fm(\002)g Fn(d)p Fp(\))16 b(to)g(\002\()p Fn(m)10 b Fp(+)i Fn(d)p Fp(\).)22 b(F)l(or)0 1448 y(m)o(ulticast)14 b(of)g(a)g(message,)f (time)h(tak)o(en)g(will)h(b)q(e)g(\002\()p Fn(m)8 b Fp(log)g Fn(p)f Fp(+)1082 1420 y Fm(p)p 1119 1420 V 1119 1448 a Fn(p)p Fp(\).)19 b(The)c(m)o(ulticast)f(tak)o(es)f(place)i(b)o(y)f(sending)h(t)o(w)o (o)0 1516 y(recursiv)o(e)f(m)o(ulticast)f(messages,)g(one)g(to)g(the)g (originator)g(and)g(one)h(to)e(the)i(pro)q(cessor)f(half-w)o(a)o(y)f(to)h (the)g(end)h(of)f(the)0 1584 y(ro)o(w/column.)20 b(Both)14 b(recursiv)o(e)i(m)o(ulticasts)f(no)o(w)g(pro)q(ceed)h(with)f(half)h(the)f (length)h(of)e(the)h(original)h(ro)o(w/column.)71 1652 y(The)h(time)g(for)f (barrier)i(sync)o(hronization)g(remains)f(the)g(same)g(as)f(for)h(Mesh.)25 b(\\Mesh)17 b(Multicomputer)g(with)0 1719 y(Cut-Through)e(Routing)h(Hardw)o (are")e(is)i(abbreviated)f(as)g(\\Mesh-CT")g(in)h(the)f(rest)g(of)g(the)g (pap)q(er.)0 1851 y Fe(4.1.3)52 b(Mesh)16 b(Multicomputer)j(with)f (Cut-Through)g(and)g(Multicast)h(Routing)g(Hardw)o(are)0 1948 y Fp(The)f(hardw)o(are)e(for)h(cut-through)h(routing)f(can)h(b)q(e)g (enhanced)g(to)f(e\016cien)o(tly)i(supp)q(ort)f(m)o(ulticast)f(in)i(hardw)o (are)0 2016 y([5)o(].)61 1999 y Fk(3)105 2016 y Fp(In)e(particular,)g(to)f(m) o(ulticast)h(a)f(message)g(along)h(a)f(ro)o(w/column,)g(one)h(need)h(only)f (tak)o(e)f(as)g(m)o(uc)o(h)g(time)h(as)0 2083 y(sending)e(a)f Fo(unic)n(ast)g Fp(message)f(to)h(the)g(end)h(of)e(the)i(ro)o(w/column)e (\(i.e.,)h(\002\()p Fn(m)8 b Fp(+)1371 2055 y Fm(p)p 1409 2055 V 28 x Fn(p)p Fp(\)\).)19 b(Copies)c(of)e(the)h(message)g(are)0 2151 y(dep)q(osited)j(at)d(the)h(in)o(termediate)h(pro)q(cessors)f(without)h (an)o(y)e(extra)h(dela)o(y)l(.)71 2219 y(The)d(time)h(to)e(send)i(a)f (message)g(to)f(a)h(single)i(destination)f(as)f(w)o(ell)h(as)f(for)f(barrier) i(sync)o(hronization)g(remain)g(the)0 2287 y(same)h(as)g(for)g(Mesh-CT.)g (\\Mesh)g(Multicomputer)h(with)g(Cut-Through)f(and)h(Multicast)g(Routing)g (Hardw)o(are")e(is)0 2354 y(abbreviated)j(as)f(\\Mesh-CT-MC")f(in)i(the)f (rest)g(of)g(the)g(pap)q(er.)p 0 2394 804 2 v 52 2421 a Fg(3)69 2437 y Fr(Strictly)h(sp)q(eaking,)f(the)f(sc)o(heme)h(in)f([5])f(is)i(a)f (general)h(sc)o(heme)f(in)h(whic)o(h)g(all)g(destination)h(addresses)f(m)o (ust)f(b)q(e)g(listed)i(explicitly)m(.)0 2491 y(Therefore,)f(the)h(message)f (size)h(of)f(a)g(m)o(ulticast)i(message)e(along)i(a)e(ro)o(w)g(w)o(ould)h(b)q (e)f(larger)h(than)g(that)f(of)g(a)g(message)g(sen)o(t)h(to)f(just)g(a)0 2546 y(single)g(destination.)k(Ho)o(w)o(ev)o(er,)12 b(one)h(can)g(implemen)o (t)i(a)d(trivial)j(v)n(arian)o(t)f(of)e(the)h(sc)o(heme)g(that)g(w)o(ould)h (require)g(just)e(t)o(w)o(o)g(extra)h(bits)h(to)0 2601 y(enco)q(de)h(the)e (four)h(cases:)19 b(unicast,)c(m)o(ulticast)g(along)g(ro)o(w,)e(m)o(ulticast) j(along)f(column,)g(and)f(general)h(m)o(ulticast.)21 b(W)m(e)13 b(will)j(ignore)f(the)0 2656 y(e\013ect)e(of)g(these)g(t)o(w)o(o)g(extra)g (bits)h(on)f(our)h(mo)q(dels)g(of)f(the)g(mesh)g(parallel)j(pro)q(cessors.) 993 2936 y Fp(5)p eop %%Page: 6 7 bop 0 136 a Fd(4.2)56 b(Hyp)r(ercub)r(e)16 b(Multicomputer)0 233 y Fp(An)k Fn(h)p Fp(-dimensional)h(h)o(yp)q(ercub)q(e)g(m)o(ulticomputer) f(is)g(a)f(set)g(of)g Fn(m)h Fp(=)f(2)1269 217 y Fl(h)1311 233 y Fp(pro)q(cessors,)h(where)f(t)o(w)o(o)f(pro)q(cessors)h Fn(i)0 301 y Fp(and)f Fn(j)i Fp(\(0)c Fm(\024)i Fn(i;)8 b(j)18 b Fm(\024)f Fn(m)p Fp(\))g(are)h(connected)g(b)o(y)g(a)g(bidirectional)i (comm)o(unication)e(link)i(if)e(and)g(only)g(if)g(the)g(binary)0 369 y(represen)o(tations)c(of)g Fn(i)g Fp(and)g Fn(j)j Fp(di\013er)d(in)h (exactly)g(one)f(bit.)21 b(The)14 b(time)h(to)e(deliv)o(er)j(a)e(message)f (con)o(taining)i Fn(m)g Fp(w)o(ords)0 436 y(b)q(et)o(w)o(een)k(t)o(w)o(o)f (pro)q(cessors)h(that)f(are)h Fn(d)f Fp(hops)h(a)o(w)o(a)o(y)f(\()p Fo(i.e.)p Fp(,)h(there)g(are)f Fn(d)13 b Fm(\000)g Fp(1)18 b(pro)q(cessors)h(in)h(b)q(et)o(w)o(een\))f(is)g(giv)o(en)0 504 y(b)o(y)h(\()p Fn(t)102 511 y Fl(s)133 504 y Fp(+)14 b Fn(t)198 511 y Fl(w)227 504 y Fn(m)p Fp(\))e Fm(\002)i Fn(d)p Fp(.)33 b(Here)20 b Fn(t)544 511 y Fl(s)583 504 y Fp(is)g(the)g(message)f (startup)g(time,)i(and)f Fn(t)1290 511 y Fl(w)1338 504 y Fp(is)h(p)q(er-w)o (ord)e(comm)o(unication)i(time.)0 572 y(A)g(message)f(con)o(taining)h Fn(m)f Fp(w)o(ords)g(can)h(b)q(e)g(broadcast)e(from)h(a)g(pro)q(cessor)h(to)e (all)j(other)e(pro)q(cessors)g(in)h(time)0 640 y(\()p Fn(t)34 647 y Fl(s)63 640 y Fp(+)10 b Fn(t)124 647 y Fl(w)153 640 y Fn(m)p Fp(\))f Fm(\002)i Fp(log)d Fn(p)p Fp(,)15 b(as)g(a)g(binary)g(tree)g (of)g(depth)h(log)8 b Fn(p)15 b Fp(can)h(b)q(e)f(naturally)h(mapp)q(ed)g(on)f (to)g(a)g(h)o(yp)q(ercub)q(e.)71 707 y(The)f(equiv)m(alen)o(t)h(of)e(barrier) h(sync)o(hronization)h(can)f(b)q(e)g(implemen)o(ted)i(in)f(a)e(h)o(yp)q (ercub)q(e)i(at)f(the)f(cost)h(of)f(2\()p Fn(t)1947 714 y Fl(s)1973 707 y Fp(+)0 775 y Fn(t)16 782 y Fl(w)45 775 y Fp(\))8 b(log)f Fn(p)k Fp(as)g(follo)o(ws.)18 b(A)11 b(virtual)h(binary)g(tree)e(of)h(depth)h (log)c Fn(p)j Fp(is)g(mapp)q(ed)h(on)o(to)e(the)h(h)o(yp)q(ercub)q(e.)20 b(A)11 b(sync)o(hronizing)0 843 y(message)17 b(of)h(1)f(unit)i(is)f(passed)g (up)o(w)o(ards)f(in)i(this)f(tree)g(starting)f(at)g(all)i(the)e(lea)o(v)o (es.)28 b(A)18 b(non-leaf)g(no)q(de)h(sends)f(a)0 911 y(message)d(of)g(1)g (unit)h(up)g(after)f(receiving)i(messages)e(from)g(its)g(successors.)21 b(It)16 b(tak)o(es)e(\()p Fn(t)1522 918 y Fl(s)1551 911 y Fp(+)d Fn(t)1613 918 y Fl(w)1641 911 y Fp(\))d(log)g Fn(p)15 b Fp(time)h(for)f(the)0 978 y(ro)q(ot)h(pro)q(cessor)h(to)f(get)g(the)h(sync)o(hronizing)i(message.) 24 b(No)o(w)16 b(the)h(ro)q(ot)f(pro)q(cessor)h(broadcasts)f(a)h(unit)g (message)0 1046 y(to)c(all)h(the)g(pro)q(cessors)f(informing)i(them)e(that)g (the)g(barrier)h(has)g(b)q(een)g(reac)o(hed)g(b)o(y)g(all)g(the)g(pro)q (cessors.)19 b(This)14 b(also)0 1114 y(tak)o(es)g(\()p Fn(t)150 1121 y Fl(s)179 1114 y Fp(+)c Fn(t)240 1121 y Fl(w)269 1114 y Fp(\))e(log)g Fn(p)15 b Fp(time.)71 1182 y(\\Hyp)q(ercub)q(e)20 b(Multicomputer")g(is)f(abbreviated)h(as)f(\\Cub)q(e")g(in)h(the)g(rest)e(of) h(the)g(pap)q(er.)32 b(As)19 b(with)h(Mesh)0 1249 y(Multicomputer,)e(Cub)q(e) f(can)g(also)g(b)q(e)g(augmen)o(ted)g(with)g(hardw)o(are)f(for)g(cut-through) h(routing)g(as)f(w)o(ell)i(as)e(with)0 1317 y(hardw)o(are)d(for)f(m)o (ulticast)i(routing)g(to)e(deriv)o(e)i(Cub)q(e-CT)g(and)g(Cub)q(e-CT-MC.)f (It)h(turns)f(out)g(that)g(the)g(scalabilit)o(y)0 1385 y(of)19 b(the)g(parallel)h(shortest)f(path)g(algorithms)g(discussed)h(in)g(this)g (pap)q(er)f(do)q(es)h(not)e(c)o(hange)h(on)g(the)h(Cub)q(e)f(with)0 1453 y(these)c(augmen)o(tations.)20 b(Hence,)15 b(w)o(e)g(only)h(discuss)g (scalabilit)o(y)h(on)e(Cub)q(e)h(in)g(this)g(pap)q(er.)71 1520 y(Scalabilit)o(y)f(analysis)f(of)e(parallel)j(shortest)d(path)h(algorithms)g (for)g(pseudo-shared)h(memory)e(m)o(ultipro)q(cessors)0 1588 y(lik)o(e)20 b(BBN)g(Butter\015y)385 1572 y Fk(4)424 1588 y Fp(can)g(b)q(e)g(done)f(using)h(the)g(same)f(mo)q(del)h(as)f(the)g(Cub)q(e;)j (ho)o(w)o(ev)o(er,)d(the)g(prop)q(ortionalit)o(y)0 1656 y(constan)o(ts)14 b(are)h(m)o(uc)o(h)g(smaller)h(for)f(BBN)h(Butter\015y)f(compared)g(to)f(a)h (Cub)q(e)h(suc)o(h)g(as)f(In)o(tel)h(iPSC/2.)1779 1639 y Fk(5)0 1789 y Fd(4.3)56 b(Shared-Memory)16 b(P)n(arallel)i(Arc)n(hitectures)0 1886 y Fp(There)e(are)f(man)o(y)h(di\013eren)o(t)g(mo)q(dels)g(of)g (shared-memory)f(parallel)i(pro)q(cessors)f([2)o(].)21 b(The)16 b(one)g(w)o(e)g(consider)g(here)0 1954 y(is)d(the)g(CREW)g(\(concurren)o(t)f (read,)h(exclusiv)o(e)h(write\))f(PRAM)f(mo)q(del)i([2)o(].)19 b(Memory)12 b(latency)h(for)f(b)q(oth)h(reads)g(and)0 2022 y(writes,)j(when)h(they)g(are)f(allo)o(w)o(ed,)h(is)g(uniform)g(for)f(an)o(y) g(lo)q(cation)h(in)g(memory)l(.)24 b(Concurren)o(t)16 b(reads)g(are)g(allo)o (w)o(ed)0 2089 y(but)d(only)g(one)g(write)f(to)g(a)g(giv)o(en)i(lo)q(cation)f (can)g(tak)o(e)e(place)j(at)e(one)h(time.)19 b(\\Shared-Memory)12 b(parallel)i(pro)q(cessor")0 2157 y(is)i(abbreviated)g(as)e(\\SM")h(in)h(the) f(rest)g(of)g(the)g(pap)q(er.)0 2315 y Fq(5)69 b(Sequen)n(tial)21 b(Algorithm)h(b)n(y)h(Flo)n(yd)0 2428 y Fp(Figure)17 b(1)g(sho)o(ws)g(a)g (sligh)o(tly)h(mo)q(di\014ed)h(v)o(ersion)e(of)g(Flo)o(yd's)f(sequen)o(tial)j (all-pairs)f(shortest)f(path)g(algorithm)g([1)o(])0 2496 y(as)g(giv)o(en)h (in)g([11)o(].)27 b(A)17 b(matrix)h Fn(P)23 b Fp(of)18 b(dimension)h Fn(n)12 b Fm(\002)g Fn(n)17 b Fp(is)h(used)g(to)f(store)g(the)h(curren)o(tly) g(b)q(est)f(kno)o(wn)h(shortest)0 2564 y(distances)f(b)q(et)o(w)o(een)g(ev)o (ery)f(pair)h(of)e(no)q(des.)24 b(Initially)l(,)19 b Fn(P)6 b Fp([)p Fn(i;)i(j)s Fp(])14 b(is)j(the)g(length)g(of)e(the)i(edge)f(\()p Fn(v)1649 2571 y Fl(i)1663 2564 y Fn(;)8 b(v)1706 2571 y Fl(j)1724 2564 y Fp(\))16 b(if)g(one)h(exists,)0 2631 y(0)f(if)h Fn(i)d Fp(=)g Fn(j)s Fp(,)i(and)g Fm(1)h Fp(otherwise.)23 b(On)17 b(termination,)g Fn(P)6 b Fp([)p Fn(i;)i(j)s Fp(])14 b(is)j(the)f(length)h (of)f(the)g(shortest)f(path)i(from)e Fn(v)1868 2638 y Fl(i)1898 2631 y Fp(to)h Fn(v)1977 2638 y Fl(j)1995 2631 y Fp(.)p 0 2675 804 2 v 52 2709 a Fg(4)69 2725 y Fr(Butter\015y)e(is)g(a)f(trade)g(mark)g(of) g(the)g(BBN)g(Adv)n(anced)h(Computers,)f(Inc.)52 2763 y Fg(5)69 2779 y Fr(iPSC/2)h(is)g(a)f(trade)g(mark)g(of)g(In)o(tel.)993 2936 y Fp(6)p eop %%Page: 7 8 bop 0 136 a Fp(This)19 b(algorithm)f(w)o(orks)f(correctly)i(for)e(all)i (graphs)f(that)g(con)o(tain)g(no)g(negativ)o(e)h(cycles.)30 b(On)18 b(eac)o(h)h(iteration)f(of)0 204 y(the)f(outermost)f Fe(for)g Fp(lo)q(op,)h(a)g(new)g(v)o(ersion)g(of)g(the)g Fn(P)23 b Fp(matrix)16 b(is)i(computed.)25 b Fn(P)1432 187 y Fl(i)1463 204 y Fp(is)18 b(the)f(v)o(ersion)g(at)f(the)h(end)g(of)0 272 y(iteration)e Fn(i)p Fp(,)g(where)g(1)e Fm(\024)g Fn(i)f Fm(\024)h Fn(n)p Fp(.)20 b Fn(P)614 255 y Fk(0)649 272 y Fp(is)c(the)f(initial)j(v)o (ersion)d(of)g(the)g(matrix.)71 339 y(Let)k(us)g(assume)g(that)f(it)h(tak)o (es)g(time)g Fn(t)774 346 y Fl(c)811 339 y Fp(to)f(compute)h(the)g(next)g (iteration)g(v)m(alue)i(for)d(one)h(elemen)o(t)h(in)g(the)0 407 y(matrix.)30 b(Hence)19 b(the)g(sequen)o(tial)h(execution)g(time)e(of)h (sequen)o(tial)g(Flo)o(yd's)g(algorithm)f(is)h Fn(n)1645 391 y Fk(3)1665 407 y Fn(t)1681 414 y Fl(c)1699 407 y Fp(.)30 b(Since)20 b(Flo)o(yd's)0 475 y(algorithm)15 b(is)h(the)f(b)q(est)h(kno)o(wn)f(sequen)o (tial)h(algorithm)f(for)g(solving)h(this)f(problem,)h Fn(T)1520 482 y Fl(e)1551 475 y Fp(=)d Fn(n)1626 458 y Fk(3)1646 475 y Fn(t)1662 482 y Fl(c)1679 475 y Fp(.)0 565 y Fe(Algorithm)18 b(SF)0 738 y(for)d Fn(k)f Fm( )f Fp(1)h Fe(to)i Fn(n)g Fe(do)68 806 y(for)f Fn(i)d Fm( )h Fp(1)i Fe(to)h Fn(n)f Fe(do)136 873 y(for)g Fn(j)g Fm( )e Fp(1)i Fe(to)h Fn(n)f Fe(do)205 941 y Fn(P)240 925 y Fl(k)261 941 y Fp([)p Fn(i;)8 b(j)s Fp(])i Fm( )p Fp(min\()p Fn(P)529 925 y Fl(k)q Fi(\000)p Fk(1)597 941 y Fp([)p Fn(i;)e(j)s Fp(])p Fn(;)g(P)738 925 y Fl(k)q Fi(\000)p Fk(1)802 941 y Fp([)p Fn(i;)g(k)q Fp(])g(+)j Fn(P)979 925 y Fl(k)q Fi(\000)p Fk(1)1045 941 y Fp([)p Fn(k)q(;)d(j)s Fp(]\))136 1009 y Fe(end)18 b(for)68 1077 y(end)g(for)0 1144 y(end)f(for)502 1291 y Fp(Figure)e(1:)20 b(Sequen)o(tial)d(All-P)o(airs)f(Algorithm)g(b)o(y)f(Flo)o(yd)0 1499 y Fq(6)69 b(A)23 b(Generic)e(P)n(arallel)g(V)-6 b(ersion)23 b(of)g(Flo)n(yd's)g(Algorithm)0 1612 y Fp(Figure)16 b(2)g(con)o(tains)h (algorithm)f(GPF,)f(a)h(generic)h(parallel)h(v)o(ersion)f(of)e(Flo)o(yd's)h (Algorithm)h(adapted)f(from)g([11)o(].)0 1679 y(In)g(this)g(algorithm,)f(the) h Fn(P)22 b Fp(matrix)15 b(is)h(partitioned)g(and)g(eac)o(h)f(partition)h(is) g(mapp)q(ed)g(to)f(the)h(memory)f(of)g(one)g(of)0 1747 y(the)h(pro)q (cessors.)23 b(\(F)l(or)15 b(SM,)h(no)g(suc)o(h)h(ph)o(ysical)g(mapping)g(is) g(done)g(but)f(the)g(logical)i(mapping)f(is)f(utilized.\))25 b(F)l(or)0 1815 y(eac)o(h)14 b(v)m(alue)i(of)d Fn(k)q Fp(,)h(eac)o(h)g(pro)q (cessor)g(computes)g(the)h Fn(P)933 1798 y Fl(k)968 1815 y Fp(v)m(alues)h(for)d(its)i(partition)f(of)g Fn(P)6 b Fp(.)20 b(F)l(or)13 b(this,)h(it)h(needs)g(access)0 1883 y(to)e(the)g(corresp)q (onding)i(segmen)o(ts)e(of)g(the)g(ro)o(w)g Fn(P)6 b Fp([)p Fn(k)q(;)i(j)s Fp(])j(and)j(the)f(column)i Fn(P)6 b Fp([)p Fn(i;)i(k)q Fp(].)18 b(W)l(e)13 b(assume)h(that)e(the)i(required)0 1950 y(initial)j Fn(P)22 b Fp(v)m(alues)16 b(are)f(a)o(v)m(ailable)i(on)e (eac)o(h)g(pro)q(cessor)g(and)h(that)e(the)i(\014nal)g Fn(P)21 b Fp(v)m(alues)c(sta)o(y)d(on)h(the)g(pro)q(cessors.)71 2086 y(Jenq)g(and)h(Sahni)g([11)o(])e(describ)q(e)j(t)o(w)o(o)d(parallel)i (algorithms)f(based)h(on)f(this)g(generic)h(parallel)h(algorithm.)j(W)l(e)0 2154 y(brie\015y)14 b(describ)q(e)h(and)f(analyze)g(these)g(in)g(sections)g (7)f(and)g(9.)19 b(In)14 b(Section)g(8,)f(w)o(e)g(discuss)i(a)e(small)h(v)m (ariation)g(of)f(one)0 2221 y(of)j(these)i(algorithms)e(that)h(has)f(b)q (etter)h(scalabilit)o(y)i(on)e(a)f(v)m(ariet)o(y)h(of)g(arc)o(hitectures.)25 b(Although)17 b(w)o(e)g(ha)o(v)o(e)f(tried)0 2289 y(to)d(mak)o(e)h(the)g (discussion)i(in)f(Section)g(7)e(self-con)o(tained,)j(the)e(reader)g(ma)o(y)f (\014nd)i(it)f(useful)h(to)f(read)g(reference)h([11)o(].)0 2447 y Fq(7)69 b(Chec)n(k)n(erb)r(oard)24 b(V)-6 b(ersion)22 b(of)i(P)n(arallel)d(Flo)n(yd)i(Algorithm)0 2560 y Fp(In)13 b(this)g(v)o(ersion)g(\(giv)o(en)g(in)h([11)o(]\),)e(the)h(cost)f(matrix)g Fn(P)19 b Fp(is)13 b(divided)i(in)o(to)e(equal)g(parts)f(of)h(size)1624 2542 y Fl(n)p 1611 2549 48 2 v 1611 2555 a Fi(p)p 1641 2555 18 2 v 1641 2576 a Fl(p)1668 2560 y Fm(\002)1727 2542 y Fl(n)p 1714 2549 48 2 v 1714 2555 a Fi(p)p 1743 2555 18 2 v 21 x Fl(p)1766 2560 y Fp(,)g(and)g(eac)o(h)f(is)0 2628 y(allo)q(cated)i(to)f(a)g(di\013eren) o(t)h(pro)q(cessor.)19 b(Eac)o(h)13 b(pro)q(cessor)g(has)g(the)h(resp)q (onsibilit)o(y)i(to)d(up)q(date)h(its)f(allo)q(cated)h(part)f(of)0 2696 y(the)g(matrix)g(in)i(eac)o(h)e(iteration.)19 b(In)14 b(Step)g(1)f(\(Step)g(2\))g(of)g(the)g Fn(k)1092 2679 y Fp(th)1151 2696 y(iteration)g(of)g(GPF,)f(eac)o(h)i(of)f(the)1732 2667 y Fm(p)p 1770 2667 23 2 v 29 x Fn(p)g Fp(pro)q(cessors)0 2763 y(that)i(con)o(tain)h(parts)f(of)g(the)g Fn(k)532 2747 y Fp(th)593 2763 y(column)h(\(the)g Fn(k)874 2747 y Fp(th)934 2763 y(ro)o(w\))f(send)h (them)f(to)1316 2735 y Fm(p)p 1354 2735 V 28 x Fn(p)h Fp(other)f(pro)q (cessors)g(that)g(need)h(this)993 2936 y(7)p eop %%Page: 8 9 bop 0 126 a Fe(Algorithm)18 b(GPF)0 231 y Fp(Rep)q(eat)e(steps)f(1)g(through) g(4)g(for)f Fn(k)g Fp(:=)f(1)h(to)h Fn(n)0 367 y Fp(Step)h(1:)j(If)d(this)f (pro)q(cessor)g(has)g(a)g(segmen)o(t)g(of)g Fn(P)874 350 y Fl(k)q Fi(\000)p Fk(1)941 367 y Fp([)p Fm(\003)p Fn(;)8 b(k)q Fp(],)13 b(then)i(transmit)g(it)g(to)g(all)h(pro)q(cessors)f(that)f(need)i (it.)0 434 y(Step)g(2:)j(If)d(this)f(pro)q(cessor)g(has)g(a)g(segmen)o(t)g (of)g Fn(P)874 418 y Fl(k)q Fi(\000)p Fk(1)941 434 y Fp([)p Fn(k)q(;)8 b Fm(\003)p Fp(],)13 b(then)i(transmit)g(it)g(to)g(all)h(pro)q (cessors)f(that)f(need)i(it.)0 502 y(Step)g(3:)j(W)l(ait)c(un)o(til)i(the)e (needed)h(segmen)o(ts)f(of)g Fn(P)888 486 y Fl(k)q Fi(\000)p Fk(1)955 502 y Fp([)p Fm(\003)p Fn(;)8 b(k)q Fp(])13 b(and)j Fn(P)1187 486 y Fl(k)q Fi(\000)p Fk(1)1253 502 y Fp([)p Fn(k)q(;)8 b Fm(\003)p Fp(])14 b(ha)o(v)o(e)h(b)q(een)h(receiv)o(ed.)0 570 y(Step)g(4:)j(F)l(or)c(all)h Fn(i)p Fp(,)e Fn(j)k Fp(in)e(this)f(pro)q (cessor's)g(partition,)g(compute)159 638 y Fn(P)6 b Fp([)p Fn(i;)i(j)s Fp(])j(:=)h(min)q Fm(f)p Fn(P)484 621 y Fl(k)q Fi(\000)p Fk(1)551 638 y Fp([)p Fn(i;)c(j)s Fp(])p Fn(;)f(P)691 621 y Fl(k)q Fi(\000)p Fk(1)755 638 y Fp([)p Fn(i;)h(k)q Fp(])h(+)h Fn(P)932 621 y Fl(k)q Fi(\000)p Fk(1)999 638 y Fp([)p Fn(k)q(;)e(j)s Fp(])p Fm(g)p Fp(;)0 773 y(End)16 b(of)e(rep)q(eat)349 920 y(Figure)i(2:)j(Generic)d(P)o(arallel)g(Algorithm)g(Based)f(on)h(Flo)o(yd's)e (Algorithm)0 1048 y(information.)20 b(In)15 b(Step)g(3,)f(all)i(of)e(the)h (pro)q(cessors)f(are)h(sync)o(hronized.)21 b(In)15 b(Step)g(4,)f(the)h(essen) o(tial)h(computation)e(is)0 1116 y(done.)71 1184 y(Since)g(at)f(most)f Fn(n)377 1167 y Fk(2)410 1184 y Fp(pro)q(cessors)h(can)g(b)q(e)h(k)o(ept)f (busy)g(using)h(this)g(parallel)g(algorithm,)f Fn(n)h Fp(m)o(ust)e(gro)o(w)g (as)h(\002\()1917 1156 y Fm(p)p 1955 1156 23 2 v 28 x Fn(p)p Fp(\).)0 1252 y(Or)i Fn(T)95 1259 y Fl(e)126 1252 y Fp(=)e(\002\()p Fn(n)254 1235 y Fk(3)274 1252 y Fp(\))i(m)o(ust)g(gro)o(w)e(as)i(\002\()p Fn(p)661 1235 y Fk(1)p Fl(:)p Fk(5)708 1252 y Fp(\).)20 b(Hence,)c(the)f(iso) q(e\016ciency)i(function)f(due)g(to)f(concurrency)h(is)g(\002\()p Fn(p)1931 1235 y Fk(1)p Fl(:)p Fk(5)1978 1252 y Fp(\).)0 1319 y(Note)e(that)g(the)h(iso)q(e\016ciency)h(function)g(can)e(b)q(e)i(w)o(orse)d (due)i(to)f(comm)o(unication)i(\(or)d(other)h(factors\))g(in)o(v)o(olv)o(ed)h (in)0 1387 y(eac)o(h)e(iteration)g(\(i.e.,)g Fn(T)411 1394 y Fl(e)441 1387 y Fp(ma)o(y)g(ha)o(v)o(e)f(to)g(increase)i(faster)e(than)h (\002\()p Fn(p)1166 1371 y Fk(1)p Fl(:)p Fk(5)1213 1387 y Fp(\))f(to)g(mask)g (the)h(comm)o(unication)h(o)o(v)o(erhead\).)0 1455 y(Of)h(course,)g(this)h (will)h(b)q(e)f(di\013eren)o(t)f(for)g(di\013eren)o(t)g(arc)o(hitectures.)71 1523 y(Consider)g(the)h(case)f(for)f(Cub)q(e.)21 b(As)15 b(discussed)i(in)f ([11)o(],)e(it)i(is)g(p)q(ossible)g(to)f(map)g(a)g(virtual)h(mesh)f(of)1831 1494 y Fm(p)p 1869 1494 V 29 x Fn(p)10 b Fm(\002)1947 1494 y(p)p 1985 1494 V 29 x Fn(p)0 1590 y Fp(on)19 b(a)g Fn(p)p Fp(-pro)q(cessor)g(h)o(yp)q(ercub)q(e)i(suc)o(h)e(that)g(eac)o(h)g(ro)o(w)f (and)h(column)h(of)f(this)h(virtual)g(mesh)f(is)h(a)e(h)o(yp)q(ercub)q(e)j (of)0 1630 y Fm(p)p 38 1630 V 28 x Fn(p)14 b Fp(pro)q(cessors.)20 b(Hence,)15 b(the)g(time)g(sp)q(en)o(t)g(in)h(comm)o(unication)f(b)o(y)g(eac) o(h)g(pro)q(cessor)f(in)i(eac)o(h)f(iteration)g(in)g(Step)g(1)0 1726 y(\(and)e(Step)g(2\))g(is)h(\()p Fn(t)337 1733 y Fl(s)361 1726 y Fp(+)6 b Fn(t)418 1733 y Fl(w)465 1708 y(n)p 452 1715 48 2 v 452 1721 a Fi(p)p 481 1721 18 2 v 21 x Fl(p)504 1726 y Fp(\))i(log)596 1698 y Fm(p)p 633 1698 23 2 v 633 1726 a Fn(p)p Fp(,)13 b(as)g(pro)q(cessors)g(con)o(taining)h(relev)m(an)o(t)g (information)f(broadcast)1807 1708 y Fl(n)p 1794 1715 48 2 v 1794 1721 a Fi(p)p 1824 1721 18 2 v 1824 1742 a Fl(p)1859 1726 y Fp(units)h(of)0 1794 y(information)f(to)297 1765 y Fm(p)p 335 1765 23 2 v 29 x Fn(p)g Fp(pro)q(cessors.)19 b(Step)13 b(3)f(is)i(essen)o(tially)g(a)f(barrier)g(sync)o(hronization)g(step)g(to)f (mak)o(e)h(sure)g(that)f(all)0 1861 y(the)i(pro)q(cessors)g(ha)o(v)o(e)g (receiv)o(ed)i(relev)m(an)o(t)e(data)g(b)q(efore)g(they)h(start)e(executing)i (Step)g(4.)k(As)14 b(discussed)i(in)f(Section)0 1929 y(4.2,)h(this)i(can)f(b) q(e)g(p)q(erformed)h(at)e(the)h(cost)g(of)f(2\()p Fn(t)890 1936 y Fl(s)920 1929 y Fp(+)11 b Fn(t)982 1936 y Fl(w)1011 1929 y Fp(\))d(log)g Fn(p)p Fp(.)25 b(The)17 b(time)g(sp)q(en)o(t)h(in)g (Step)f(4)g(p)q(er)g(pro)q(cessor)g(in)0 1997 y(eac)o(h)e(iteration)h(is)f Fn(t)348 2004 y Fl(c)371 1979 y(n)392 1967 y Fg(2)p 371 1986 39 2 v 382 2013 a Fl(p)415 1997 y Fp(.)20 b(Hence,)446 2130 y Fn(T)473 2137 y Fl(p)505 2130 y Fp(=)13 b Fn(n)e Fm(\002)f Fp(\(2\()p Fn(t)711 2137 y Fl(s)739 2130 y Fp(+)h Fn(t)801 2137 y Fl(w)851 2100 y Fn(n)p 834 2120 61 2 v 834 2133 a Fm(p)p 872 2133 23 2 v 29 x Fn(p)900 2130 y Fp(\))d(log)991 2100 y Fm(p)p 1029 2100 V 30 x Fn(p)i Fp(+)h(2\()p Fn(t)1165 2137 y Fl(s)1193 2130 y Fp(+)g Fn(t)1255 2137 y Fl(w)1283 2130 y Fp(\))d(log)g Fn(p)i Fp(+)g Fn(t)1469 2137 y Fl(c)1492 2100 y Fn(n)1519 2083 y Fk(2)p 1492 2120 48 2 v 1504 2162 a Fn(p)1544 2130 y Fp(\))506 2288 y(=)j Fn(n)d Fm(\002)h Fp(\(\()p Fn(t)689 2295 y Fl(s)717 2288 y Fp(+)g Fn(t)779 2295 y Fl(w)829 2258 y Fn(n)p 812 2278 61 2 v 812 2291 a Fm(p)p 850 2291 23 2 v 29 x Fn(p)878 2288 y Fp(\))d(log)g Fn(p)i Fp(+)g(2\()p Fn(t)1105 2295 y Fl(s)1133 2288 y Fp(+)h Fn(t)1195 2295 y Fl(w)1223 2288 y Fp(\))d(log)g Fn(p)i Fp(+)g Fn(t)1409 2295 y Fl(c)1432 2258 y Fn(n)1459 2241 y Fk(2)p 1432 2278 48 2 v 1444 2320 a Fn(p)1484 2288 y Fp(\))481 2403 y Fn(pT)531 2410 y Fl(p)563 2403 y Fp(=)j(3)p Fn(npt)700 2410 y Fl(s)726 2403 y Fp(log)c Fn(p)h Fp(+)g(2)p Fn(npt)960 2410 y Fl(w)996 2403 y Fp(log)f Fn(p)h Fp(+)g Fn(n)1168 2384 y Fk(2)1188 2372 y Fm(p)p 1226 2372 23 2 v 31 x Fn(pt)1265 2410 y Fl(w)1301 2403 y Fp(log)e Fn(p)i Fp(+)h Fn(t)1462 2410 y Fl(c)1480 2403 y Fn(n)1507 2384 y Fk(3)866 2546 y Fn(T)893 2553 y Fl(o)924 2546 y Fp(=)i Fn(pT)1022 2553 y Fl(p)1052 2546 y Fm(\000)d Fn(T)1124 2553 y Fl(e)646 2652 y Fp(=)j(\(3)p Fn(t)751 2659 y Fl(s)779 2652 y Fp(+)e(2)p Fn(t)864 2659 y Fl(w)892 2652 y Fp(\))p Fn(np)d Fp(log)g Fn(p)i Fp(+)g Fn(t)1128 2659 y Fl(w)1157 2652 y Fn(n)1184 2633 y Fk(2)1204 2622 y Fm(p)p 1242 2622 V 30 x Fn(p)e Fp(log)g Fn(p)71 2743 y Fp(Clearly)l(,)17 b(if)h Fn(T)310 2750 y Fl(e)345 2743 y Fp(is)f(increased)h(\(b)o(y)f (increasing)h Fn(n)p Fp(\))f(while)h(k)o(eeping)g Fn(p)f Fp(\014xed,)g Fn(T)1427 2750 y Fl(o)1463 2743 y Fp(b)q(ecomes)g(smaller)h(relativ)o(e)f(to) 0 2811 y Fn(T)27 2818 y Fl(e)45 2811 y Fp(,)c(th)o(us)g(increasing)i(the)e (e\016ciency)l(.)21 b(On)14 b(the)f(other)g(hand,)h(if)g Fn(T)1124 2818 y Fl(e)1155 2811 y Fp(is)g(\014xed)g(and)f Fn(p)g Fp(is)h(increased,)h (then)e Fn(T)1810 2818 y Fl(o)1842 2811 y Fp(b)q(ecomes)993 2936 y(8)p eop %%Page: 9 10 bop 0 136 a Fp(more)17 b(prominen)o(t,)h(and)g(e\016ciency)h(decreases.)27 b(If)18 b Fn(p)g Fp(increases,)g(then)g(in)h(order)e(to)g(main)o(tain)h(the)f (e\016ciency)i(at)0 204 y(some)c(v)m(alue)h Fn(E)s Fp(,)e Fn(n)i Fp(m)o(ust)e(gro)o(w)g(suc)o(h)i(that)279 305 y Fn(t)295 312 y Fl(c)313 305 y Fn(n)340 289 y Fk(3)372 305 y Fp(=)d Fn(K)s Fp(\(\(3)p Fn(t)537 312 y Fl(s)565 305 y Fp(+)e(2)p Fn(t)650 312 y Fl(w)678 305 y Fp(\))p Fn(np)d Fp(log)g Fn(p)i Fp(+)g Fn(t)914 312 y Fl(w)943 305 y Fn(n)970 289 y Fk(2)990 277 y Fm(p)p 1028 277 23 2 v 28 x Fn(p)d Fp(log)i Fn(p)p Fp(\))0 475 y(where)15 b Fn(K)h Fp(=)261 457 y Fl(E)p 239 464 73 2 v 239 491 a Fk(1)p Fi(\000)p Fl(E)317 475 y Fp(.)71 549 y(Due)g(to)f(the)h (\014rst)f(term)g(in)i Fn(T)586 556 y Fl(o)605 549 y Fp(,)e Fn(n)h Fp(m)o(ust)g(asymptotically)g(gro)o(w)f(as)1263 501 y Fj(q)p 1305 501 302 2 v 48 x Fn(K)1352 531 y Fk(3)p Fl(t)1383 535 y Fh(s)1399 531 y Fk(+2)p Fl(t)1457 535 y Fh(w)p 1352 538 130 2 v 1402 564 a Fl(t)1415 568 y Fh(c)1486 549 y Fn(p)8 b Fp(log)g Fn(p)p Fp(,)16 b(or)f Fn(T)1718 556 y Fl(e)1752 549 y Fp(m)o(ust)g(asymp-)0 617 y(totically)24 b(gro)o(w)e(as)g(\002\(\()p Fn(p)8 b Fp(log)g Fn(p)p Fp(\))576 600 y Fk(1)p Fl(:)p Fk(5)623 617 y Fp(\).)43 b(Due)23 b(to)f(the)h(second)h(term)f(in)h Fn(T)1309 624 y Fl(o)1327 617 y Fp(,)h Fn(n)e Fp(m)o(ust)g(asymptotically)g (gro)o(w)f(as)0 684 y Fn(K)47 666 y Fl(t)60 670 y Fh(w)p 47 673 38 2 v 51 700 a Fl(t)64 704 y Fh(c)90 656 y Fm(p)p 127 656 23 2 v 127 684 a Fn(p)8 b Fp(log)g Fn(p)p Fp(,)15 b(or)h Fn(T)359 691 y Fl(e)392 684 y Fp(m)o(ust)f(asymptotically)h(gro)o(w)f(as)g (\002\()p Fn(p)1054 668 y Fk(1)p Fl(:)p Fk(5)1101 684 y Fp(\(log)8 b Fn(p)p Fp(\))1226 668 y Fk(3)1245 684 y Fp(\).)21 b(Hence)c(the)f(o)o(v)o (erall)f(iso)q(e\016ciency)j(func-)0 752 y(tion)d(is)h(\002\()p Fn(p)215 736 y Fk(1)p Fl(:)p Fk(5)262 752 y Fp(\(log)8 b Fn(p)p Fp(\))387 736 y Fk(3)406 752 y Fp(\).)71 820 y(In)17 b(the)g(scalabilit)o(y)h (analysis)g(for)e(Cub)q(e,)h(w)o(e)g(to)q(ok)f(all)h(the)g(constan)o(ts)f(in) o(to)h(accoun)o(t.)24 b(T)l(o)16 b(simplify)j(the)d(pre-)0 888 y(sen)o(tation,)e(w)o(e)g(p)q(erform)h(analysis)g(for)f(the)g(remaining)i (arc)o(hitectures)f(without)f(taking)g(constan)o(ts)g(in)o(to)g(accoun)o(t.)0 955 y(The)h(reader)h(can)f(p)q(erform)g(a)g(more)g(detailed)h(analysis)g (along)f(the)h(ab)q(o)o(v)o(e)e(lines.)71 1023 y(In)e(Mesh,)h(\002\()p Fn(n=)358 995 y Fm(p)p 395 995 V 395 1023 a Fn(p)p Fp(\))f(information)g(can) g(b)q(e)h(broadcast)e(to)h Fn(p)g Fp(pro)q(cessors)f(in)i(\002\(\()p Fn(n=)1506 995 y Fm(p)p 1544 995 V 28 x Fn(p)p Fp(\))1585 995 y Fm(p)p 1622 995 V 1622 1023 a Fn(p)p Fp(\))f(time,)g(and)h(barrier)0 1091 y(sync)o(hronization)18 b(tak)o(es)e(\002\()499 1063 y Fm(p)p 537 1063 V 28 x Fn(p)p Fp(\))g(time.)26 b(Hence,)18 b(the)f(o)o(v)o(erhead)f(due)i(to)e(comm)o(unication)i(and)f(sync)o (hronization)0 1159 y(at)e(eac)o(h)g(pro)q(cessor)g(in)h(eac)o(h)f(iteration) h(is)f(equal)h(to)f(\002\()p Fn(n)p Fp(\))10 b(+)g(\002\()1124 1130 y Fm(p)p 1162 1130 V 29 x Fn(p)p Fp(\).)20 b(Hence,)769 1268 y Fn(T)796 1275 y Fl(o)827 1268 y Fp(=)13 b(\002\()p Fn(n)955 1249 y Fk(2)975 1268 y Fn(p)p Fp(\))d(+)g(\002\()p Fn(np)1174 1249 y Fk(1)p Fl(:)p Fk(5)1221 1268 y Fp(\))71 1377 y(F)l(or)k(constan)o(t)g (e\016ciency)l(,)733 1445 y(\002\()p Fn(n)813 1426 y Fk(3)833 1445 y Fp(\))e Fm(\030)h Fp(\002\()p Fn(n)991 1426 y Fk(2)1011 1445 y Fn(p)p Fp(\))d(+)g(\002\()p Fn(np)1210 1426 y Fk(1)p Fl(:)p Fk(5)1257 1445 y Fp(\))71 1537 y(The)17 b(iso)q(e\016ciency)h (function)g(due)f(to)f(the)h(\014rst)f(term)h(is)g(\002\()p Fn(p)1150 1521 y Fk(3)1170 1537 y Fp(\),)f(and)h(due)g(to)f(the)h(second)g (term)g(is)g(\002\()p Fn(p)1913 1521 y Fk(2)p Fl(:)p Fk(25)1978 1537 y Fp(\).)0 1605 y(Since)f(\002\()p Fn(p)194 1589 y Fk(3)214 1605 y Fp(\))f(is)g(w)o(orst)f(of)g(all)i(the)f(terms)g(including)i(that)e (due)g(to)f(concurrency)l(,)i(this)g(is)f(also)g(the)g(o)o(v)o(erall)g(iso)q (e\016-)0 1673 y(ciency)i(function)f(of)e(the)i(parallel)g(algorithm.)71 1741 y(In)23 b(Mesh-CT,)f(\002\()p Fn(n=)459 1713 y Fm(p)p 497 1713 V 28 x Fn(p)p Fp(\))g(information)g(can)h(b)q(e)g(broadcast)f(to)g Fn(p)g Fp(pro)q(cessors)h(in)g(\002\()1639 1720 y Fl(n)6 b Fk(log)g Fl(p)p 1639 1730 97 2 v 1664 1736 a Fi(p)p 1693 1736 18 2 v 20 x Fl(p)1756 1741 y Fp(+)1806 1713 y Fm(p)p 1844 1713 23 2 v 28 x Fn(p)p Fp(\))22 b(time.)0 1808 y(Hence,)15 b(the)g(o)o(v)o (erhead)f(due)h(to)f(comm)o(unication)h(and)g(sync)o(hronization)h(at)e(eac)o (h)g(pro)q(cessor)g(in)i(eac)o(h)e(iteration)h(is)0 1876 y(\002\()58 1856 y Fl(n)6 b Fk(log)g Fl(p)p 58 1866 97 2 v 83 1871 a Fi(p)p 112 1871 18 2 v 21 x Fl(p)170 1876 y Fp(+)215 1848 y Fm(p)p 253 1848 23 2 v 28 x Fn(p)p Fp(\).)19 b(Therefore,)748 1969 y Fn(T)775 1976 y Fl(o)806 1969 y Fp(=)13 b(\002\()p Fn(np)p Fp(\()980 1939 y Fn(n)8 b Fp(log)g Fn(p)p 980 1959 125 2 v 1011 1972 a Fm(p)p 1049 1972 23 2 v 28 x Fn(p)1119 1969 y Fp(+)1164 1939 y Fm(p)p 1202 1939 V 30 x Fn(p)p Fp(\)\))766 2085 y(=)13 b(\002\()p Fn(n)894 2066 y Fk(2)914 2055 y Fm(p)p 952 2055 V 30 x Fn(p)7 b Fp(log)i Fn(p)h Fp(+)g Fn(np)1177 2066 y Fk(1)p Fl(:)p Fk(5)1224 2085 y Fp(\))71 2178 y(F)l(or)k(constan)o(t)g(e\016ciency)l (,)701 2245 y(\002\()p Fn(n)781 2227 y Fk(3)801 2245 y Fp(\))e Fm(\030)h Fp(\002\()p Fn(n)959 2227 y Fk(2)979 2215 y Fm(p)p 1017 2215 V 30 x Fn(p)7 b Fp(log)i Fn(p)h Fp(+)g Fn(np)1242 2227 y Fk(1)p Fl(:)p Fk(5)1289 2245 y Fp(\))71 2338 y(The)18 b(iso)q(e\016ciency)h(function)g(due)f(to)f(the)h(\014rst)f(term)h(is)g (\002\()p Fn(p)1159 2322 y Fk(1)p Fl(:)p Fk(5)1206 2338 y Fp(\(log)8 b Fn(p)p Fp(\))1331 2322 y Fk(3)1350 2338 y Fp(\),)18 b(and)g(due)g(to)f(the) h(second)g(term)f(is)0 2406 y(\002\()p Fn(p)76 2389 y Fk(2)p Fl(:)p Fk(25)141 2406 y Fp(\).)i(Hence)d(the)g(o)o(v)o(erall)f(iso)q (e\016ciency)i(function)f(is)g(\002\()p Fn(p)1100 2389 y Fk(2)p Fl(:)p Fk(25)1165 2406 y Fp(\).)71 2474 y(In)g(Mesh-CT-MC,)e(\002\()p Fn(n=)534 2445 y Fm(p)p 572 2445 V 29 x Fn(p)p Fp(\))h(information)h(can)g(b) q(e)g(broadcast)e(to)h Fn(p)h Fp(pro)q(cessors)f(in)h(\002\()p Fn(n=)1696 2445 y Fm(p)p 1734 2445 V 29 x Fn(p)10 b Fp(+)1813 2445 y Fm(p)p 1851 2445 V 29 x Fn(p)p Fp(\))15 b(time.)0 2541 y(Therefore,)785 2609 y Fn(T)812 2616 y Fl(o)843 2609 y Fp(=)e(\002\()p Fn(n)971 2590 y Fk(2)991 2579 y Fm(p)p 1029 2579 V 30 x Fn(p)d Fp(+)h Fn(np)1158 2590 y Fk(1)p Fl(:)p Fk(5)1205 2609 y Fp(\))71 2702 y(Hence,)k(for)g(constan)o(t)f(e\016ciency)l(,)749 2811 y(\002\()p Fn(n)829 2792 y Fk(3)849 2811 y Fp(\))e Fm(\030)h Fp(\002\()p Fn(n)1007 2792 y Fk(2)1027 2781 y Fm(p)p 1065 2781 V 30 x Fn(p)d Fp(+)h Fn(np)1194 2792 y Fk(1)p Fl(:)p Fk(5)1241 2811 y Fp(\))993 2936 y(9)p eop %%Page: 10 11 bop 71 136 a Fp(The)15 b(iso)q(e\016ciency)i(function)f(due)g(to)e(the)i (\014rst)e(term)h(is)h(\002\()p Fn(p)1136 120 y Fk(1)p Fl(:)p Fk(5)1183 136 y Fp(\),)e(and)h(due)h(to)f(the)g(second)h(term)e(is)i(\002\()p Fn(p)1913 120 y Fk(2)p Fl(:)p Fk(25)1978 136 y Fp(\).)0 204 y(Hence)g(the)f(o)o(v)o(erall)h(iso)q(e\016ciency)h(function)f(is)g(\002\()p Fn(p)909 187 y Fk(2)p Fl(:)p Fk(25)973 204 y Fp(\).)71 272 y(F)l(or)e(SM,)g(the)h(broadcasting)f(of)h(the)g(information)g(is)g(not)f(ev) o(en)h(necessary)l(,)g(as)g(eac)o(h)g(pro)q(cessor)f(can)h(read)g(the)0 339 y(required)i(v)m(alue)g(as)e(needed.)23 b(Hence,)17 b(there)f(is)g(no)g (o)o(v)o(erhead)f(due)i(to)e(comm)o(unication)h(in)h(steps)f(1)f(and)h(2.)21 b(Since)0 407 y(SM)c(is)g(a)f(SIMD)h(mo)q(del)g(of)f(computation,)h(step)g(4) f(w)o(ould)h(\014nish)h(at)e(the)h(same)f(time)h(in)h(eac)o(h)e(pro)q (cessor,)h(hence)0 475 y(the)c(sync)o(hronization)i(of)e(Step)g(3)g(is)h (attained)f(at)g(zero)g(cost.)19 b(Th)o(us)13 b(the)h(iso)q(e\016ciency)h (function)f(is)g(\002\()p Fn(p)1802 458 y Fk(1)p Fl(:)p Fk(5)1849 475 y Fp(\),)f(whic)o(h)0 543 y(is)j(the)f(iso)q(e\016ciency)i(due)f(to)f (concurrency)l(.)71 610 y(It)j(is)h(easy)g(to)f(see)g(that)g(the)h(memory)f (o)o(v)o(erhead)g(factor)g(of)g(this)h(algorithm)f(on)h(all)h(arc)o (hitectures)e(is)h(\002\(1\))0 678 y(b)q(ecause)d(the)e(total)g(memory)g (requiremen)o(t)h(of)f(all)i(the)f(pro)q(cessors)f(is)h(\002\()p Fn(n)1313 662 y Fk(2)1333 678 y Fp(\).)k(All)d(results)f(from)f(this)h (section)g(are)0 746 y(summarized)j(in)g(T)l(able)g(3.)25 b(W)l(e)17 b(ma)o(y)f(refer)h(to)g(this)g(algorithm)g(as)g(\\Flo)o(yd)g(Chec)o(k)o(erb)q (oard")f(in)i(the)f(rest)g(of)g(the)0 814 y(pap)q(er.)0 970 y Fq(8)69 b(Pip)r(elined)20 b(Chec)n(k)n(erb)r(oard)j(V)-6 b(ersion)23 b(of)g(P)n(arallel)e(Flo)n(yd)i(Algorithm)0 1082 y Fp(W)l(e)13 b(will)i(discuss)f(this)f(v)o(ersion)g(only)h(for)e(m)o (ulticomputers)i(\(i.e.,)f(for)f(Mesh,)h(Mesh-CT,)f(and)i(Mesh-CT-MC,)e(and)0 1150 y(Cub)q(e\).)20 b(In)14 b(this)g(v)o(ersion,)f(as)g(in)i(the)e(v)o (ersion)h(of)f(the)h(preceding)h(section,)f(eac)o(h)f(pro)q(cessor)g(has)h (the)f(resp)q(onsibilit)o(y)0 1218 y(to)20 b(compute)g(the)h(successiv)o(e)h (iteration)e(v)m(alues)i(for)e(the)g(elemen)o(ts)i(con)o(tained)f(in)g(a)1560 1200 y Fl(n)p 1547 1207 48 2 v 1547 1213 a Fi(p)p 1576 1213 18 2 v 20 x Fl(p)1613 1218 y Fm(\002)1680 1200 y Fl(n)p 1667 1207 48 2 v 1667 1213 a Fi(p)p 1696 1213 18 2 v 20 x Fl(p)1739 1218 y Fp(square)g(of)f(the)0 1286 y(matrix.)25 b(In)17 b(the)g(previous)h(v) o(ersion,)f(all)h(the)f(iterations)g(are)f(sync)o(hronized;)j(i.e.,)e (iteration)g Fn(i)11 b Fp(+)h(1)k(starts)g(for)g(all)0 1353 y(the)g(pro)q(cessors)g(only)h(after)f(iteration)g Fn(i)g Fp(has)g (\014nished)i(at)e(all)h(the)f(pro)q(cessors)g(and)g(the)h(relev)m(an)o(t)g (subsets)f(of)g(the)0 1421 y(iteration-)p Fn(i)11 b Fp(v)m(alues)i(of)e(ro)o (w)f Fn(i)h Fp(and)h(column)g Fn(i)f Fp(ha)o(v)o(e)g(b)q(een)i(comm)o (unicated)f(to)e(all)j(the)e(pro)q(cessors.)18 b(The)12 b(new)g(v)o(ersion)0 1489 y(di\013ers)17 b(from)e(the)i(previous)g(v)o(ersion)g(in)g(that)f(the)g (pro)q(cessors)h(are)f(not)g(sync)o(hronized.)25 b(A)16 b(pro)q(cessor)h (starts)e(the)0 1556 y(w)o(ork)c(for)g(iteration)h Fn(i)s Fp(+)s(1)g(as)f(so) q(on)h(as)f(it)h(has)g(the)g(relev)m(an)o(t)g(subset)g(of)g(the)g(iteration-) p Fn(i)f Fp(v)m(alues)i(of)f(ro)o(w)f Fn(i)g Fp(and)h(column)0 1624 y Fn(i)p Fp(.)25 b(Whenev)o(er)18 b(a)f(pro)q(cessor)g(has)g(elemen)o (ts)g(of)g(ro)o(w)f Fn(i)h Fp(\(and/or)f(column)j Fn(i)p Fp(\))d(and)h(has)g (computed)h(iteration)f Fn(i)11 b Fm(\000)h Fp(1)0 1692 y(v)m(alues,)j(then)g (it)f(immediately)i(sends)f(out)f(these)h(v)m(alues)g(to)f(other)g(relev)m (an)o(t)h(pro)q(cessors)f(so)g(that)f(they)h(ma)o(y)g(start)0 1760 y(w)o(orking)h(on)g(the)h(next)f(iteration.)21 b(All)c(the)e(comm)o (unications)h(are)f(done)h(within)h(the)e(mesh)h(structure.)k(Th)o(us,)15 b(in)0 1827 y(a)g(setup)h(con)o(taining)h Fn(p)e Fp(pro)q(cessors,)g(the)h (old)g(algorithm)f(tak)o(es)g(\002\()1182 1799 y Fm(p)p 1220 1799 23 2 v 28 x Fn(p)p Fp(\))g(steps)h(for)f(the)g(iteration)h Fn(i)g Fp(v)m(alues)g(to)f(get)0 1895 y(through)h(to)g(all)i(the)f(pro)q (cessors.)24 b(In)17 b(the)g(new)g(v)o(ersion,)g(b)o(y)f(the)h(time)g(the)g (last)f(pro)q(cessor)h(gets)f(the)h(iteration-)p Fn(i)0 1963 y Fp(v)m(alues,)c(the)f(other)f(pro)q(cessors)h(that)f(got)g(the)h(v)m(alues) g(earlier)h(w)o(ould)f(already)g(ha)o(v)o(e)g(started)f(on)g(the)h Fn(i)s Fp(+)s(1)g(iteration.)71 2031 y(Recall)j(that)f(it)g(tak)o(es)f(time)i Fn(t)582 2038 y Fl(c)613 2031 y Fp(to)f(compute)g(the)g(next)g(iteration)h(v) m(alue)g(for)e(one)h(elemen)o(t)h(in)g(the)f(matrix,)g(and)0 2098 y(time)g Fn(t)118 2105 y Fl(s)144 2098 y Fp(+)7 b Fn(t)202 2105 y Fl(w)245 2098 y Fp(to)13 b(comm)o(unicate)h(one)g(v)m(alue)h(from)e (one)h(pro)q(cessor)g(to)f(its)h(immediate)h(neigh)o(b)q(or)f(in)h(Mesh.)k (In)c([18)o(],)0 2166 y(w)o(e)g(pro)o(v)o(e)175 2150 y Fk(6)209 2166 y Fp(that)g(for)f(this)i(algorithm,)658 2280 y Fn(T)685 2287 y Fl(p)717 2280 y Fp(=)770 2249 y Fn(n)797 2233 y Fk(3)p 770 2269 48 2 v 782 2311 a Fn(p)822 2280 y(t)838 2287 y Fl(c)866 2280 y Fp(+)10 b(4\()952 2249 y Fm(p)p 990 2249 23 2 v 31 x Fn(p)g Fm(\000)g Fp(1\)\()p Fn(t)1143 2287 y Fl(s)1171 2280 y Fp(+)1238 2249 y Fn(n)p 1222 2269 61 2 v 1222 2283 a Fm(p)p 1259 2283 23 2 v 1259 2311 a Fn(p)1287 2280 y(t)1303 2287 y Fl(w)1332 2280 y Fp(\))71 2394 y(Hence,)15 b(the)h(total)e(w)o(ork)g(done)i (b)o(y)f(all)h(the)g(pro)q(cessors)e(in)i(all)h(the)e(iterations)g(is)590 2508 y Fn(pT)640 2515 y Fl(p)672 2508 y Fp(=)e Fn(p)d Fm(\002)g Fp(\()821 2477 y Fn(n)848 2460 y Fk(3)p 821 2497 48 2 v 833 2539 a Fn(p)873 2508 y(t)889 2515 y Fl(c)917 2508 y Fp(+)g(4\()1003 2477 y Fm(p)p 1040 2477 23 2 v 1040 2508 a Fn(p)g Fm(\000)h Fp(1\)\()p Fn(t)1194 2515 y Fl(s)1222 2508 y Fp(+)1289 2477 y Fn(n)p 1272 2497 61 2 v 1272 2511 a Fm(p)p 1310 2511 23 2 v 28 x Fn(p)1338 2508 y(t)1354 2515 y Fl(w)1383 2508 y Fp(\)\))681 2641 y(=)i Fn(n)756 2622 y Fk(3)776 2641 y Fn(t)792 2648 y Fl(c)820 2641 y Fp(+)e(4)p Fn(p)p Fp(\()930 2610 y Fm(p)p 967 2610 V 967 2641 a Fn(p)f Fm(\000)g Fp(1\)\()p Fn(t)1120 2648 y Fl(s)1148 2641 y Fp(+)1215 2610 y Fn(n)p 1199 2630 61 2 v 1199 2644 a Fm(p)p 1236 2644 23 2 v 1236 2672 a Fn(p)1264 2641 y(t)1280 2648 y Fl(w)1309 2641 y Fp(\))p 0 2714 804 2 v 52 2740 a Fg(6)69 2756 y Fr(As)h(stated)h(in)h([18],)e(the)h(giv)o(en)g (expression)i(for)d Ff(T)790 2760 y Fh(p)820 2756 y Fr(is)h(correct)g(only)h (when)f(the)f(n)o(um)o(b)q(er)i(of)e(elemen)o(ts)i(p)q(er)f(pro)q(cessor)g (is)g(more)g(than)0 2811 y(1.)17 b(The)c(time)g(tak)o(en)h(for)f(the)g (1-elemen)o(t-p)q(er-pro)q(cessor-case)i(is)f Ff(nt)1009 2815 y Fh(c)1034 2811 y Fr(+)8 b(\(4)p Ff(n)h Fc(\000)f Fr(6\)\()p Ff(t)1239 2815 y Fh(s)1264 2811 y Fr(+)h Ff(t)1317 2815 y Fh(w)1341 2811 y Fr(\).)981 2936 y Fp(10)p eop %%Page: 11 12 bop 71 136 a Fp(The)12 b(total)g(w)o(ork)g(done)h(b)o(y)f(the)h(b)q(est)g (sequen)o(tial)h(algorithm)e(is)h Fn(T)1197 143 y Fl(e)1228 136 y Fp(=)g Fn(n)1303 120 y Fk(3)1323 136 y Fn(t)1339 143 y Fl(c)1357 136 y Fp(.)19 b(Hence,)13 b Fn(T)1561 143 y Fl(o)1593 136 y Fp(=)g(4)p Fn(n)1691 108 y Fm(p)p 1728 108 23 2 v 1728 136 a Fn(p)p Fp(\()1769 108 y Fm(p)p 1807 108 V 28 x Fn(p)5 b Fm(\000)g Fp(1\)\()p Fn(t)1950 143 y Fl(s)1973 136 y Fp(+)0 204 y Fn(t)16 211 y Fl(w)45 204 y Fp(\).)19 b(T)l(o)c(main)o(tain)h(constan)o (t)e(e\016ciency)l(,)703 329 y Fn(n)730 310 y Fk(3)750 329 y Fn(t)766 336 y Fl(c)796 329 y Fm(\030)f Fp(4)p Fn(p)p Fp(\()908 298 y Fm(p)p 945 298 V 945 329 a Fn(p)d Fm(\000)h Fp(1\)\()p Fn(t)1099 336 y Fl(s)1127 329 y Fp(+)1194 298 y Fn(n)p 1177 318 61 2 v 1177 332 a Fm(p)p 1215 332 23 2 v 28 x Fn(p)1243 329 y(t)1259 336 y Fl(w)1288 329 y Fp(\))0 463 y(or,)j(the)i(iso)q (e\016ciency)h(due)f(to)e(comm)o(unication)i(is)g(\002\()p Fn(p)977 446 y Fk(1)p Fl(:)p Fk(5)1024 463 y Fp(\).)71 531 y(Note)g(that)g(in)h(this)g(algorithm,)f Fn(p)h Fp(can)f(b)q(e)i(only)f(as)f (high)h(as)f Fn(n)1179 514 y Fk(2)1199 531 y Fp(;)h(hence,)h(the)e(iso)q (e\016ciency)j(function)e(due)g(to)0 598 y(concurrency)f(is)g(also)f(\002\()p Fn(p)467 582 y Fk(1)p Fl(:)p Fk(5)514 598 y Fp(\).)k(Therefore,)c(the)g(o)o (v)o(erall)h(iso)q(e\016ciency)h(function)f(of)f(the)g(algorithm)g(is)h (\002\()p Fn(p)1894 582 y Fk(1)p Fl(:)p Fk(5)1941 598 y Fp(\).)1972 582 y Fk(7)71 666 y Fp(When)j(there)g(is)g(exactly)g(one)g(elemen)o(t)h(p)q (er)f(pro)q(cessor,)h(the)f(pip)q(elined-c)o(he)q(c)o(k)o(erb)q(oard)i (algorithm)e(reduces)0 734 y(to)d(the)g(one)h(describ)q(ed)h(b)o(y)f(Bertsek) m(as)f(and)h(Tsitsiklis)h([3)o(].)23 b(Our)17 b(dev)o(elopmen)o(t)g(of)f (this)h(parallel)h(algorithm)f(w)o(as)0 802 y(motiv)m(ated)h(b)o(y)g(the)g (algorithm)g(in)h([3)o(].)28 b(The)18 b(algorithm)g(in)h([3)o(])f(can)g(b)q (e)g(easily)h(adapted)f(to)f(w)o(ork)g(for)h(the)g(case)0 869 y(when)d Fn(p)d(<)h(n)228 853 y Fk(2)262 869 y Fp(b)o(y)i(using)g (time-slicing)h(to)e(em)o(ulate)h Fn(n)936 853 y Fk(2)970 869 y Fp(virtual)g(pro)q(cessors)f(on)g(the)g Fn(p)g Fp(pro)q(cessors)g(a)o(v)m (ailable.)22 b(The)0 937 y(run)c(time)h(of)e(this)h(em)o(ulated)h(algorithm)f (=)805 919 y Fl(n)826 907 y Fg(2)p 805 926 39 2 v 816 953 a Fl(p)849 937 y Fp(\()p Fn(nt)910 944 y Fl(c)939 937 y Fp(+)13 b(\(4)p Fn(n)e Fm(\000)i Fp(6\)\()p Fn(t)1189 944 y Fl(s)1219 937 y Fp(+)f Fn(t)1282 944 y Fl(w)1311 937 y Fp(\)\),)17 b(and)h(e\016ciency) i(=)1849 919 y Fk(1)p 1725 926 266 2 v 1725 964 a(1+)1775 947 y Fg(\(4)p Fh(n)p Fs(\000)p Fg(6\)\()p Fh(t)1896 951 y(s)1913 947 y Fg(+)p Fh(t)1948 951 y(w)1973 947 y Fg(\))p 1775 956 211 2 v 1857 977 a Fh(nt)1888 981 y(c)1995 937 y Fp(.)0 1017 y(Ev)o(en)15 b(for)f(the)h(rather)f(optimistic)i(case)f(of)f Fn(t)772 1024 y Fl(s)800 1017 y Fp(+)c Fn(t)861 1024 y Fl(w)902 1017 y Fp(=)j Fn(t)966 1024 y Fl(c)984 1017 y Fp(,)h(the)h(e\016ciency)h(of)f (this)g(parallel)h(algorithm)f(is)g(b)q(ounded)0 1085 y(from)d(ab)q(o)o(v)o (e)g(b)o(y)h(.2.)18 b(On)c(the)e(other)h(hand,)g(our)g(relaxed)g(v)o(ersion)g (of)f(Jenq)i(and)f(Sahni's)g(Chec)o(k)o(erb)q(oard)g(algorithm)0 1152 y(can)i(ac)o(hiev)o(e)h(e\016ciency)h(close)f(to)e(1)h(\(w.r.t.)j(to)d (Flo)o(yd's)f(sequen)o(tial)j(algorithm\))e(as)g(long)g(as)g Fn(n)e Fm(\031)g Fp(\012\()1784 1124 y Fm(p)p 1821 1124 23 2 v 1821 1152 a Fn(p)p Fp(\).)0 1286 y Fd(8.1)56 b(Impro)n(v)n(ed)17 b(Pip)r(elined)g(Chec)n(k)n(erb)r(oard)i(V)-5 b(ersion)18 b(of)h(Flo)n(yd's)f (Algorithm)0 1383 y Fp(In)e(this)h(section,)f(w)o(e)f(presen)o(t)h(a)f(new)h (v)m(arian)o(t)g(of)f(Flo)o(yd's)h(algorithm)f(that)g(has)h(\002\()p Fn(p)1501 1366 y Fk(1)p Fl(:)p Fk(5)1548 1383 y Fp(\))g(iso)q(e\016ciency)h (function.)0 1450 y(The)f(total)e(memory)h(required)i(is)e(no)h(more)f(than)g (that)g(for)f(the)i(sequen)o(tial)g(algorithm.)21 b(F)l(urther,)15 b(the)g(nature)g(of)0 1518 y(the)g(algorithm)g(mak)o(es)g(it)h(v)o(ery)e (easy)h(to)g(pro)o(v)o(e)g(these)g(results.)71 1586 y(The)e(new)g(t)o(wist)f (compared)h(to)f(the)h(previous)h(Pip)q(elined)i(Chec)o(k)o(erb)q(oard)d(v)o (ersion)g(of)f(Flo)o(yd's)h(algorithm)g(is)g(as)0 1654 y(follo)o(ws.)19 b(When)14 b(a)g(pro)q(cessor)f(with)h(a)g(segmen)o(t)f(of)g(the)h(kth)f(ro)o (w)g(or)g(column)i(receiv)o(es)f(relev)m(an)o(t)h(\(k-1\)th)e(iteration)0 1721 y(v)m(alues)h(from)e(the)h(pro)q(cessor)f(resp)q(onsible)j(for)d(the)h (matrix)f(elemen)o(t)i(in)g(the)e(kth)h(ro)o(w)f(and)h(kth)f(column,)i(only)f (then)0 1789 y(do)q(es)j(it)g(send)h(its)e(relev)m(an)o(t)i(\(k-1\)th)e (iteration)h(v)m(alues)h(to)e(other)g(pro)q(cessors.)22 b(This)16 b(ensures)g(that)f(all)i(pro)q(cessors)0 1857 y(that)c(need)j(to)d(receiv)o (e)i(v)m(alues)h(from)d(b)q(oth)h(columns)h(as)f(w)o(ell)h(as)f(ro)o(ws)f(in) j(other)d(pro)q(cessors)h(will)i(receiv)o(e)f(them)f(at)0 1925 y(the)h(same)f(time)h(as)g(illustrated)h(in)f(Figure)g(3.)20 b(The)15 b(time)g(is)g(sho)o(wn)f(with)h(the)g(sym)o(b)q(ol)g(\\t")f(and)h (is)g(giv)o(en)g(relativ)o(e)0 1992 y(to)f(the)h(time)g(that)g Fn(P)370 1976 y Fk(\()p Fl(k)q Fi(\000)p Fk(1\))464 1992 y Fp([)p Fn(k)q(;)8 b(k)q Fp(])13 b(is)j(a)o(v)m(ailable.)21 b(It)15 b(is)h(assumed)f(that)f(the)h(v)m(alue)h Fn(P)1429 1976 y Fk(\()p Fl(k)q Fi(\000)p Fk(1\))1523 1992 y Fp([)p Fn(k)q(;)8 b(k)q Fp(])14 b(tak)o(es)g(time)h Fn(a)g Fp(to)f(get)0 2060 y(to)f(the)g(pro)q(cessor)g(with)h(elemen)o(t)g Fn(P)630 2044 y Fk(\()p Fl(k)q Fi(\000)p Fk(1\))724 2060 y Fp([)p Fn(i;)8 b(k)q Fp(])k(and)h(that)g(it)g(tak)o(es)g(time)g Fn(b)g Fp(to)g(get)f(to)h (the)g(pro)q(cessor)g(with)h(elemen)o(t)0 2128 y Fn(P)35 2111 y Fk(\()p Fl(k)q Fi(\000)p Fk(1\))129 2128 y Fp([)p Fn(k)q(;)8 b(j)s Fp(].)71 2196 y(As)14 b(sho)o(wn)g(in)h(App)q(endix)i(A)d(and)h(B)f(of) g([18)o(],)g(the)g(time)h(tak)o(en)f(for)f(this)i(algorithm)g(remains)f(the)h (same)f(as)g(the)0 2263 y(previous)i(Pip)q(elined)j(Chec)o(k)o(erb)q(oard)d (v)o(ersion)g(when)g(there)g(is)g(more)g(than)f(one)h(matrix)g(elemen)o(t)g (p)q(er)g(pro)q(cessor.)0 2331 y(As)h(opp)q(osed)g(to)f(the)h(previous)h (case,)f(this)g(expression)h(is)f(also)g(v)m(alid)h(for)e(the)h(one)g(elemen) o(t)h(p)q(er)f(pro)q(cessor)g(case)0 2399 y(for)e(the)g(curren)o(t)g (algorithm.)20 b(Clearly)l(,)c(the)f(iso)q(e\016ciency)i(function)f(remains)g (\002\()p Fn(p)1450 2382 y Fk(1)p Fl(:)p Fk(5)1497 2399 y Fp(\).)p 0 2441 804 2 v 52 2468 a Fg(7)69 2484 y Fr(Another)e(assumption)h(made)e(in)h (deriving)i Ff(T)741 2488 y Fh(p)772 2484 y Fr(is)e(that)f(the)h (message-startup)g(o)o(v)o(erhead)g Ff(t)1418 2488 y Fh(s)1448 2484 y Fr(is)g(incurred)g(only)h(b)o(y)e(the)h(comm)o(uni-)0 2539 y(cation)f(subsystem)h(attac)o(hed)f(to)f(the)g(no)q(de)h(CPU;)e(i.e.,)h (the)h(no)q(de)g(CPU)e(is)i(able)g(to)f(pro)q(ceed)i(with)e(other)h (computation)h(immediately)0 2593 y(after)e(issuing)j(the)d(send)h(message)g (command.)18 b(If)11 b(w)o(e)h(assume)h(that)g(the)f(no)q(de)h(CPU)f(b)q (ecomes)h(una)o(v)n(ailabl)q(e)i(for)d(time)h Ff(t)1776 2597 y Fh(s)1804 2593 y Fr(after)f(issuing)0 2648 y(the)g(send)g(message)g (command,)g(then)g(it)g(can)g(b)q(e)g(sho)o(wn)g(that)g Ff(T)943 2652 y Fh(p)972 2648 y Fc(\024)1020 2633 y Fh(n)1039 2622 y Fb(2)p 1018 2640 41 2 v 1018 2645 a Fs(p)p 1042 2645 17 2 v 1042 2661 a Fh(p)1063 2648 y Fr(\()1094 2633 y Fh(n)p 1083 2640 41 2 v 1083 2645 a Fs(p)p 1108 2645 17 2 v 16 x Fh(p)1129 2648 y Ff(t)1143 2652 y Fh(c)1165 2648 y Fr(+)6 b Ff(t)1215 2652 y Fh(s)1231 2648 y Fr(\))g(+)g(4\()1322 2625 y Fc(p)p 1353 2625 20 2 v 1353 2648 a Ff(p)g Fc(\000)g Fr(1\)\()p Ff(t)1477 2652 y Fh(s)1498 2648 y Fr(+)1549 2633 y Fh(n)p 1539 2640 41 2 v 1539 2645 a Fs(p)p 1564 2645 17 2 v 16 x Fh(p)1585 2648 y Ff(t)1599 2652 y Fh(w)1623 2648 y Fr(\).)17 b(Ev)o(en)12 b(for)f(this)h(revised)0 2711 y(expression)j(for)e Ff(T)266 2715 y Fh(p)284 2711 y Fr(,)g(iso)q(e\016ciency)i(function)g(remains)f (\002\()p Ff(p)877 2695 y Fg(1)p Fh(:)p Fg(5)919 2711 y Fr(\).)981 2936 y Fp(11)p eop %%Page: 12 13 bop 0 1295 a @beginspecial @setspecial @endspecial 271 1368 a Fp(Figure)15 b(3:)20 b(Impro)o(v)o(ed)15 b(Pip)q(elined)j(Chec)o(k)o(erb)q (oard)d(V)l(ersion)h(of)f(Flo)o(yd's)g(Algorithm)71 1501 y(The)e(total)f (memory)g(requiremen)o(t)h(\(o)o(v)o(er)f(all)h(the)g(pro)q(cessors\))f(of)g (this)h(algorithm)g(is)g(\002\()p Fn(n)1635 1484 y Fk(2)1655 1501 y Fp(\))g(and)g(the)f(memory)0 1569 y(o)o(v)o(erhead)17 b(factor)f(is)i(\002\(1\).)26 b(The)17 b(results)h(from)e(this)i(section)g (are)f(summarized)h(in)g(T)l(able)g(3.)26 b(W)l(e)18 b(ma)o(y)e(refer)h(to)0 1636 y(this)f(impro)o(v)o(ed)f(algorithm)g(as)g(\\Flo)o(yd)g(Pip)q(elined")j (in)e(the)f(rest)g(of)g(the)g(pap)q(er.)0 1795 y Fq(9)69 b(Strip)r(ed)22 b(V)-6 b(ersion)23 b(of)g(P)n(arallel)e(Flo)n(yd)i(Algorithm)0 1907 y Fp(In)14 b(this)f(v)o(ersion)g(\(giv)o(en)h(in)f([11]\),)f(the)h(cost) g(matrix)f Fn(P)20 b Fp(is)13 b(divided)i(in)o(to)e(equal)h(parts)f(eac)o(h)g (con)o(taining)h Fn(p)e Fp(columns,)0 1975 y(and)i(eac)o(h)g(part)g(is)g (allo)q(cated)h(to)f(a)g(di\013eren)o(t)g(pro)q(cessor.)19 b(Eac)o(h)14 b(pro)q(cessor)g(has)g(the)g(resp)q(onsibilit)o(y)j(to)c(up)q (date)i(its)0 2043 y(allo)q(cated)e(part)f(of)g(the)h(matrix)f(in)h(eac)o(h)g (iteration.)19 b(A)o(t)12 b(the)g(b)q(eginning)j(of)d(the)g Fn(k)1400 2026 y Fp(th)1458 2043 y(iteration,)h(the)f(pro)q(cessor)h(that)0 2111 y(con)o(tains)i(the)h Fn(k)282 2094 y Fp(th)342 2111 y(column)g (broadcasts)f(it)g(to)g(all)h(the)f(other)g(pro)q(cessors.)20 b(Since)d Fn(p)e Fp(can)g(at)g(most)f(b)q(e)i(equal)g(to)f Fn(n)p Fp(,)0 2178 y(the)f(iso)q(e\016ciency)i(function)f(due)f(to)g (concurrency)g(is)h(\002\()p Fn(p)1015 2162 y Fk(3)1034 2178 y Fp(\).)k(Note)14 b(that)f(the)h(iso)q(e\016ciency)i(can)e(b)q(e)h(w)o(orse) e(due)h(to)0 2246 y(comm)o(unication)i(in)o(v)o(olv)o(ed)h(in)f(eac)o(h)g (iteration.)22 b(Of)16 b(course,)f(this)h(will)i(b)q(e)e(di\013eren)o(t)g (for)f(di\013eren)o(t)h(arc)o(hitectures,)0 2314 y(and)i(can)f(b)q(e)h(deriv) o(ed)h(b)o(y)e(doing)h(analysis)g(as)f(in)i(Section)f(7.)26 b(Results)19 b(are)e(summarized)h(in)g(T)l(able)h(3.)26 b(W)l(e)18 b(ma)o(y)0 2382 y(refer)d(to)g(this)g(algorithm)g(as)g(\\Flo)o(yd)g(Strip)q (ed")h(in)g(the)g(rest)e(of)h(this)h(pap)q(er.)0 2540 y Fq(10)69 b(Sequen)n(tial)22 b(Algorithm)f(b)n(y)i(Dijkstra)0 2653 y Fp(W)l(e)14 b(will)h(no)o(w)e(brie\015y)h(presen)o(t)g(the)f(sequen)o(tial)i (single-source)g(algorithm)e(b)o(y)h(Dijkstra)e([1].)19 b(This)14 b(can)f(b)q(e)h(used)g(to)0 2720 y(solv)o(e)j(the)g(all-pairs)h(shortest)e (path)g(problem)i(b)o(y)e(rep)q(eating)i(the)e(algorithm)h(with)g(ev)o(ery)g (p)q(ossible)h(source.)25 b(W)l(e)0 2788 y(will)20 b(refer)f(to)f(this)h(as)f (Dijkstra's)g(all-pairs)i(shortest)d(path)i(algorithm.)30 b(Although)19 b(b)q(oth)g(this)g(algorithm)g(and)981 2936 y(12)p eop %%Page: 13 14 bop 0 136 a Fp(Flo)o(yd's)18 b(all)h(pairs)g(shortest)e(path)h(algorithm)h (ha)o(v)o(e)e(\002\()p Fn(n)1025 120 y Fk(3)1045 136 y Fp(\))h(w)o(orst-case) g(time)g(complexit)o(y)l(,)i(Flo)o(yd's)e(algorithm)0 204 y(is)f(preferred)g (b)q(ecause)g(of)f(its)g(lo)o(w)o(er)g(constan)o(t)g(of)g(prop)q(ortionalit)o (y)l(.)24 b(Ho)o(w)o(ev)o(er,)15 b(as)h(w)o(e)g(will)i(see)f(later,)f(a)g (parallel)0 272 y(v)o(ersion)f(of)g(Dijkstra's)f(algorithm)h(has)g(b)q(etter) h(scalabilit)o(y)g(than)f(some)g(parallel)i(v)o(ersions)e(of)g(Flo)o(yd's)g (algorithm)0 339 y(on)g(some)g(arc)o(hitectures.)71 407 y(Using)h(our)f (standard)h(notation,)f(the)h(graph)f Fn(G)h Fp(is)g(represen)o(ted)g(as)g (\()p Fn(V)s(;)8 b(E)s Fp(\))o(.)19 b(Eac)o(h)d(edge)g(\()p Fn(v)1684 414 y Fl(a)1704 407 y Fn(;)8 b(v)1747 414 y Fl(b)1764 407 y Fp(\))15 b(is)h(assigned)0 475 y(a)d(non-negativ)o(e)h Fo(length)f Fn(l)447 482 y Fl(a;b)492 475 y Fp(.)20 b(Dijkstra's)12 b(single-source)j(algorithm)f(\(sho)o(wn)f(in)h(Figure)g(4\))f(will)i(\014nd) f(the)g(shortest)0 543 y(distance)k(from)e(a)g(sp)q(eci\014ed)j(source)e(v)o (ertex)g Fn(v)815 550 y Fl(s)850 543 y Fp(to)f(all)i(other)e(v)o(ertices)i (in)f Fn(G)p Fp(,)g(if)g(a)g(path)f(exists.)26 b(Eac)o(h)16 b(v)o(ertex)h Fn(v)1994 550 y Fl(i)0 610 y Fp(in)g Fn(V)26 b Fp(is)16 b(assigned)h(a)f(n)o(um)o(b)q(er)g Fn(d)563 617 y Fl(i)593 610 y Fp(represen)o(ting)h(the)f(length)h(of)f(the)g(shortest)f (path)h(kno)o(wn)g(from)f(the)i(source)f Fn(v)1977 617 y Fl(s)1995 610 y Fp(.)0 678 y Fn(T)25 b Fp(represen)o(ts)20 b(the)f(set)g(of)g(v)o (ertices)h(to)f(whic)o(h)h(a)f(shortest)f(path)i(has)f(not)g(b)q(een)h (found.)33 b(In)20 b(eac)o(h)g(iteration)f(of)0 746 y(the)e(algorithm,)f(a)g (v)o(ertex)g Fn(v)501 753 y Fl(m)549 746 y Fm(2)f Fn(T)23 b Fp(with)16 b(the)h(minim)o(um)h Fn(d)e Fp(v)m(alue)h(is)g(remo)o(v)o(ed)f (from)g Fn(T)6 b Fp(.)24 b(The)16 b(neigh)o(b)q(ors)i(of)e Fn(v)1975 753 y Fl(m)0 814 y Fp(are)11 b(then)g(examined)i(to)d(see)i(if)f(a) g(path)g(through)g Fn(v)855 821 y Fl(m)899 814 y Fp(will)i(lead)f(to)f(a)f (shorter)h(path.)18 b(If)12 b(so,)f(their)h Fn(d)e Fp(v)m(alue)j(is)e(up)q (dated.)0 963 y Fe(Algorithm)18 b(SD)0 1068 y Fn(d)24 1075 y Fl(s)55 1068 y Fm( )13 b Fp(0)0 1135 y Fn(d)24 1142 y Fl(i)50 1135 y Fm( )g(1)p Fp(,)j(for)e Fn(i)f Fm(6)p Fp(=)g Fn(s)0 1203 y(T)19 b Fm( )13 b Fn(V)0 1271 y Fe(for)i Fn(i)d Fm( )h Fp(1)i Fe(to)h Fn(n)f Fe(do)68 1339 y Fp(Find)h(a)f(v)o(ertex)g Fn(v)374 1346 y Fl(m)420 1339 y Fm(2)e Fn(T)21 b Fp(suc)o(h)15 b(that)g Fn(d)736 1346 y Fl(m)784 1339 y Fp(is)g(minim)o(um)68 1406 y Fe(for)g Fp(eac)o(h)g(edge)h(\()p Fn(v)393 1413 y Fl(m)426 1406 y Fn(;)8 b(v)469 1413 y Fl(t)483 1406 y Fp(\))15 b(suc)o(h)g(that)g Fn(v)739 1413 y Fl(t)766 1406 y Fm(2)e Fn(T)21 b Fe(do)136 1474 y(if)16 b Fn(d)206 1481 y Fl(t)233 1474 y Fn(>)d(d)305 1481 y Fl(m)348 1474 y Fp(+)e Fn(l)408 1481 y Fl(m;t)478 1474 y Fe(then)205 1542 y Fn(d)229 1549 y Fl(t)256 1542 y Fm( )i Fn(d)338 1549 y Fl(m)381 1542 y Fp(+)d Fn(l)440 1549 y Fl(m;t)136 1610 y Fe(end)18 b(if)68 1677 y(end)g(for)68 1745 y Fn(T)h Fm( )13 b Fn(T)j Fm(\000)10 b Fn(v)282 1752 y Fl(m)0 1813 y Fe(end)17 b(for)433 1960 y Fp(Figure)e(4:)20 b(Sequen)o(tial)d(Single-Source) g(Algorithm)f(b)o(y)f(Dijkstra)71 2086 y(Let)g(us)h(assume)f(that)g(it)g(tak) o(es)g(time)h Fn(f)5 b(nt)803 2093 y Fl(c)836 2086 y Fp(to)15 b(execute)h(the)g(b)q(o)q(dy)g(of)f(the)g(outer)g(for)g(lo)q(op)h(once.)1769 2069 y Fk(8)1809 2086 y Fp(Hence)h(the)0 2154 y(sequen)o(tial)d(execution)g (time)f(of)f(sequen)o(tial)i(Dijkstra's)e(algorithm)h(is)g Fn(n)1251 2137 y Fk(2)1271 2154 y Fn(t)1287 2161 y Fl(c)1305 2154 y Fn(f)18 b Fp(for)12 b(\014nding)i(shortest)e(path)h(from)f(one)0 2221 y(no)q(de)17 b(to)g(all)g(other)g(no)q(des,)g(and)g(is)h Fn(n)661 2205 y Fk(3)681 2221 y Fn(t)697 2228 y Fl(c)714 2221 y Fn(f)k Fp(for)17 b(\014nding)h(shortest)e(path)g(among)h(all)g(pairs.)25 b(Clearly)l(,)18 b(the)f(p)q(enalt)o(y)0 2289 y(factor)d(w.r.t.)19 b(the)c(b)q(est)g(sequen)o(tial)i(algorithm)e(\(i.e.,)f(Flo)o(yd's)h (algorithm\))g(is)h(f.)p 0 2331 804 2 v 52 2358 a Fg(8)69 2374 y Fr(T)m(o)11 b(simplify)j(the)e(analysis,)i(w)o(e)d(assume)h(that)g(the)g (amoun)o(t)g(of)f(w)o(ork)h(done)g(in)g(eac)o(h)g(iteration)i(of)d(the)h (outer)g(for)f(lo)q(op)i(is)f(the)g(same.)0 2429 y(In)i(realit)o(y)m(,)i(the) e(amoun)o(t)h(of)f(w)o(ork)h(done)g(in)g(eac)o(h)f(iteration)j(ma)o(y)d (di\013er)i(sligh)o(tly)m(,)g(as)f(the)f(distance)i(of)e(a)g(no)q(de)h(in)g (the)g(inner)g(lo)q(op)h(of)0 2484 y(the)d(algorithm)i(is)f(revised)g(only)g (if)g(an)f(impro)o(v)o(ed)h(path)g(to)f(it)g(is)h(found.)981 2936 y Fp(13)p eop %%Page: 14 15 bop 0 136 a Fq(11)69 b(P)n(arallel)29 b(V)-6 b(arian)n(ts)31 b(of)g(Dijkstra's)f(All)f(P)n(airs)i(Shortest)f(P)n(ath)h(Algo-)137 226 y(rithm)0 340 y Fd(11.1)56 b(Source-P)n(artitioned)17 b(V)-5 b(arian)n(t)0 438 y Fp(In)18 b(this)h(v)m(arian)o(t)f(of)f(Dijkstra's)g (algorithm,)h Fn(n)g Fp(copies)h(of)e(Dijkstra's)g(sequen)o(tial,)i (single-source)g(algorithm)f(are)0 505 y(equally)g(distributed)f(o)o(v)o(er)f Fn(p)g Fp(pro)q(cessors)g(and)g(executed)i(in)f(parallel.)24 b(Pro)q(cessor)16 b Fn(p)g Fp(\014nds)h(shortest)f(paths)g(from)0 573 y(eac)o(h)f(v)o(ertex)g(in)h(the)f(set)g Fm(f)p Fn(k)c Fm(\002)g Fn(p)h Fm(j)g Fn(k)17 b Fp(is)e(an)h(in)o(teger,)f(and)g Fn(k)c Fm(\002)g Fn(p)h Fm(\024)h Fn(n)p Fm(g)i Fp(to)g(all)h(other)f(v)o (ertices)g(in)h(the)g(graph.)71 641 y(Since)i(at)d(most)h Fn(n)h Fp(pro)q(cessors)f(can)h(b)q(e)g(k)o(ept)f(busy)h(using)g(this)g(parallel)h (algorithm,)f Fn(n)f Fp(m)o(ust)g(gro)o(w)g(as)g(\002\()p Fn(p)p Fp(\).)0 709 y(Or)f Fn(T)95 716 y Fl(e)126 709 y Fp(=)e Fn(n)201 692 y Fk(3)236 709 y Fp(m)o(ust)i(gro)o(w)f(as)g(\002\()p Fn(p)590 692 y Fk(3)610 709 y Fp(\).)20 b(Hence,)15 b(the)h(iso)q(e\016ciency)h (function)f(due)g(to)e(concurrency)i(is)g(\002\()p Fn(p)1832 692 y Fk(3)1852 709 y Fp(\).)71 776 y(Note)11 b(that)g(this)h(parallel)h (algorithm)e(in)o(v)o(olv)o(es)h(no)g(in)o(ter-pro)q(cessor)f(comm)o (unication,)1561 760 y Fk(9)1594 776 y Fp(as)g(eac)o(h)g(pro)q(cessor)h(can)0 844 y(\014gure)j(out)g(b)o(y)f(itself)i(whic)o(h)g(no)q(des)f(to)g(w)o(ork)f (on.)19 b(F)l(urthermore,)14 b(if)i Fn(n)d Fp(=)g Fn(k)d Fm(\002)g Fn(p)p Fp(,)k(then)i(eac)o(h)f(pro)q(cessor)f(has)h(equal)0 912 y(amoun)o(t)g(of)h(w)o(ork;)g(hence,)h(in)g(this)f(case,)h(the)f (e\016ciency)i(should)f(b)q(e)g(1.)22 b(The)17 b(total)e(absence)i(of)f(comm) o(unication)0 980 y(migh)o(t)j(mak)o(e)g(one)h(b)q(eliev)o(e)h(that)e(this)h (is)g(an)f(excellen)o(t)i(parallel)g(algorithm.)33 b(On)20 b(the)f(con)o(trary)l(,)g(as)g(discussed)0 1047 y(ab)q(o)o(v)o(e,)14 b(the)h(iso)q(e\016ciency)h(function)g(of)e(this)h(algorithm)g(due)g(to)f (concurrency)i(is)f(\002\()p Fn(p)1507 1031 y Fk(3)1527 1047 y Fp(\).)k(Since)d(the)f(iso)q(e\016ciency)0 1115 y(function)h(of)e(most)g (other)h(parallel)h(algorithms)f(analyzed)h(in)f(this)g(pap)q(er)h(is)f(b)q (etter)g(than)g(\002\()p Fn(p)1663 1099 y Fk(3)1682 1115 y Fp(\),)g(this)g(algorithm)0 1183 y(is)h(less)g(scalable)g(than)f(them.)71 1251 y(The)d(memory-o)o(v)o(erhead)f(factor)g(is)i(\002\()p Fn(p)p Fp(\))f(b)q(ecause)h(eac)o(h)f(pro)q(cessor)g(has)g(to)g(store)f(the)h (length)h(information)f(for)0 1318 y(all)17 b(\002\()p Fn(n)144 1302 y Fk(2)164 1318 y Fp(\))f(edges.)22 b(All)c(results)e(are)g(summarized)h (in)g(T)l(able)g(3.)22 b(W)l(e)16 b(ma)o(y)f(refer)h(to)g(this)g(algorithm)g (as)g(\\Dijkstra)0 1386 y(Source-P)o(artitioned")g(in)g(the)f(rest)g(of)g (this)g(pap)q(er.)0 1519 y Fd(11.2)56 b(Source-P)n(arallel)17 b(V)-5 b(arian)n(t)0 1616 y Fp(The)18 b(ma)s(jor)f(problem)i(with)f(the)h (previous)g(parallel)g(form)o(ulation)f(is)h(that)f(it)g(can)g(k)o(eep)h(at)e (most)h Fn(n)g Fp(pro)q(cessors)0 1684 y(busy)e(doing)g(useful)g(w)o(ork.)k (Here)c(w)o(e)f(discuss)h(another)f(v)m(arian)o(t)h(that)e(can)i(k)o(eep)g (more)f(than)g Fn(n)g Fp(pro)q(cessors)h(busy)l(.)0 1752 y(This)i(parallel)h (v)m(arian)o(t)f(of)f(Dijkstra's)g(algorithm)h(for)f(all)h(pair)g(shortest)f (path)h(is)g(similar)h(to)e(the)g(previous)i(one)0 1820 y(except)h(that)e (the)h(single-source)i(algorithm)e(is)g(also)g(run)g(on)g(man)o(y)g(pro)q (cessors)g(as)f(describ)q(ed)j(in)f([19)o(].)31 b(Th)o(us,)0 1887 y(eac)o(h)20 b(of)f(the)g Fn(n)h Fp(copies)h(of)e(single-source)i (Dijkstra's)d(algorithm)i(is)g(run)g(on)f(a)g(disjoin)o(t)i(subset)e(of)g (pro)q(cessors.)0 1955 y(The)g Fn(p)f Fp(pro)q(cessors)g(are)h(divided)h(in)o (to)f Fn(n)f Fp(partitions,)i(eac)o(h)e(with)1186 1935 y Fl(p)p 1184 1945 22 2 v 1184 1971 a(n)1229 1955 y Fp(pro)q(cessors.)29 b(\(This)19 b(v)m(arian)o(t)g(is)g(of)f(in)o(terest)0 2023 y(only)g(if)g Fn(p)d(>)i(n)p Fp(.\))26 b(Eac)o(h)17 b(partition)h(runs)f(one) g(cop)o(y)h(of)e(the)i(parallel)h(algorithm)e(for)f(the)i(single-source)h (shortest)0 2091 y(path)e(problem.)27 b(Th)o(us,)18 b(w)o(e)f(parallelize)j (at)c(the)i(source)f(lev)o(el)i(\014rst)e(and)g(then)h(all)g(a)o(v)m(ailable) h(parallelism)h(in)e(the)0 2158 y(single-source)d(algorithm)f(is)g(extracted) f(using)h(whatev)o(er)f(pro)q(cessors)g(are)g(a)o(v)m(ailable)j(in)e(eac)o(h) g(partition.)19 b(Clearly)l(,)0 2226 y(this)c(v)o(ersion)f(has)h(m)o(uc)o(h)f (more)g(concurrency)h(than)f(the)h(previous)g(one,)f(as)g(it)g(allo)o(ws)h (up)g(to)e(\002\()p Fn(n)1699 2210 y Fk(2)1719 2226 y Fp(\))h(pro)q(cessors)g (to)0 2294 y(b)q(e)j(utilized.)26 b(Hence,)18 b(iso)q(e\016ciency)g(due)f(to) f(concurrency)i(is)f(\002\()p Fn(p)1170 2277 y Fk(1)p Fl(:)p Fk(5)1217 2294 y Fp(\).)23 b(Next,)16 b(w)o(e)h(analyze)g(iso)q(e\016ciency)h (due)f(to)0 2362 y(comm)o(unication)f(and)f(sync)o(hronization.)71 2429 y(First,)g(w)o(e)h(consider)i(the)e(case)g(of)g(Cub)q(e.)24 b(Referring)17 b(again)f(to)g(the)g(co)q(de)h(for)f(Dijkstra's)f(sequen)o (tial,)i(single-)0 2497 y(source)g(algorithm)f(in)i(Figure)f(4,)f(w)o(e)h (can)g(see)g(that)f(the)g(minim)o(um)i Fn(d)1238 2504 y Fl(m)1288 2497 y Fp(can)e(b)q(e)i(computed)f(in)g(parallel)i(using)e(a)p 0 2537 804 2 v 52 2564 a Fg(9)69 2579 y Fr(It)12 b(is)i(not)e(completely)j (correct)e(to)g(sa)o(y)g(that)f(the)h(algorithm)i(has)e(no)g(comm)o (unication)i(cost.)i(In)c(realit)o(y)m(,)h(some)e(cen)o(tral)i(authorit)o(y)0 2634 y(\(p)q(erhaps)e(one)f(of)f(the)h(pro)q(cessors\))h(needs)f(to)g(direct) g(all)h(the)f(pro)q(cessors)h(to)f(start)f(executing,)j(and)e(it)g(also)h (needs)f(to)g(receiv)o(e)g(a)g(message)0 2689 y(from)k(them)g(after)g(they)h (all)h(ha)o(v)o(e)e(\014nished)j(executing.)25 b(W)m(e)15 b(ha)o(v)o(e)h (ignored)h(this)f(startup)g(and)g(\014nishing)i(sync)o(hronization)h(cost)c (for)0 2744 y(all)g(algorithm-arc)o(hitecture)h(pairs)f(considered)g(in)f (this)h(pap)q(er.)j(But)c(the)f(reader)h(can)g(v)o(erify)g(that)g(ev)o(en)f (after)g(taking)i(this)f(cost)g(in)o(to)0 2799 y(accoun)o(t,)g(all)g(the)f (iso)q(e\016ciency)i(expressions)h(remain)e(unc)o(hanged.)981 2936 y Fp(14)p eop %%Page: 15 16 bop 0 136 a Fp(virtual)17 b(tree)f(structure.)24 b(Since)18 b(there)f(are)f Fn(n)g Fp(p)q(ossible)j(v)o(ertices)e(to)e(minimize)k(o)o(v)o (er)d(and)g(these)h(are)f(distributed)0 204 y(ev)o(enly)g(o)o(v)o(er)e(the)h Fn(p=n)g Fp(pro)q(cessors,)f(this)i(computation)f(will)h(tak)o(e)f(time)g (\002\()1331 186 y Fl(n)1352 174 y Fg(2)p 1331 193 39 2 v 1341 219 a Fl(p)1384 204 y Fp(+)10 b(log)1502 183 y Fl(p)p 1500 193 22 2 v 1500 219 a(n)1527 204 y Fp(\))k(for)h(SM.)f(Of)h(this,)g(\002\() 1946 186 y Fl(n)1967 174 y Fg(2)p 1947 193 39 2 v 1957 219 a Fl(p)1990 204 y Fp(\))0 272 y(is)21 b(the)g(useful)g(w)o(ork)f(that)g(is)h (to)e(b)q(e)j(done)e(ev)o(en)h(b)o(y)g(the)f(sequen)o(tial)i(algorithm,)f (and)g(\002\(log)1708 251 y Fl(p)p 1706 261 22 2 v 1706 287 a(n)1733 272 y Fp(\))f(is)h(the)f(extra)0 339 y(time)g(sp)q(en)o(t)g(b)o(y)f (all)i(the)e(pro)q(cessors)h(in)g(the)g(parallel)h(algorithm.)33 b(T)l(o)19 b(b)q(e)h(precise,)h(this)f(extra)f(time)h(sp)q(en)o(t)g(in)0 407 y(comm)o(unication)15 b(for)f(determining)i Fn(m)f Fp(and)g Fn(d)804 414 y Fl(m)851 407 y Fp(is)g(\()p Fn(t)930 414 y Fl(s)958 407 y Fp(+)9 b(2)p Fn(t)1041 414 y Fl(w)1069 407 y Fp(\))f(log)1168 387 y Fl(p)p 1166 396 V 1166 423 a(n)1192 407 y Fp(.)20 b(No)o(w,)13 b Fn(m)i Fp(and)g Fn(d)1507 414 y Fl(m)1554 407 y Fp(can)g(b)q(e)g(broadcast) f(to)g(all)0 475 y(pro)q(cessors)h(using)h(a)f(virtual)h(tree)f(structure)g (in)h(\()p Fn(t)895 482 y Fl(s)923 475 y Fp(+)11 b(2)p Fn(t)1008 482 y Fl(w)1036 475 y Fp(\))d(log)1134 454 y Fl(p)p 1133 464 V 1133 490 a(n)1174 475 y Fp(time)16 b(for)e(Cub)q(e.)71 543 y(W)l(e)h(kno)o(w)f(that)g(the)h(total)f(amoun)o(t)g(of)h(computation)g (\(other)f(than)h(comm)o(unication)g(and)g(sync)o(hronization\))0 610 y(p)q(erformed)g(b)o(y)h(the)f(algorithm)g(is)h Fn(f)5 b(n)666 594 y Fk(3)686 610 y Fn(t)702 617 y Fl(c)720 610 y Fp(.)19 b(Hence,)669 724 y Fn(pT)719 731 y Fl(p)751 724 y Fp(=)13 b Fn(f)5 b(n)853 705 y Fk(3)873 724 y Fn(t)889 731 y Fl(c)917 724 y Fp(+)10 b(2)p Fn(np)p Fp(\()p Fn(t)1069 731 y Fl(s)1098 724 y Fp(+)g(2)p Fn(t)1182 731 y Fl(w)1210 724 y Fp(\))e(log)1309 693 y Fn(p)p 1307 713 28 2 v 1307 755 a(n)916 914 y(E)15 b Fp(=)1030 883 y Fn(T)1057 890 y Fl(e)p 1018 903 70 2 v 1018 945 a Fn(pT)1068 952 y Fl(p)708 1077 y Fp(=)988 1046 y Fn(n)1015 1030 y Fk(3)1035 1046 y Fn(t)1051 1053 y Fl(c)p 761 1066 535 2 v 761 1108 a Fn(f)5 b(n)815 1095 y Fk(3)835 1108 y Fn(t)851 1115 y Fl(c)879 1108 y Fp(+)10 b(2)p Fn(np)p Fp(\()p Fn(t)1031 1115 y Fl(s)1059 1108 y Fp(+)h(2)p Fn(t)1144 1115 y Fl(w)1172 1108 y Fp(\))d(log)1271 1088 y Fl(p)p 1269 1097 22 2 v 1269 1124 a(n)787 1215 y Fp(=)1017 1184 y(1)p 840 1204 376 2 v 840 1263 a Fn(f)15 b Fp(+)928 1236 y Fk(2)p Fl(np)p Fk(\()p Fl(t)1012 1240 y Fh(s)1028 1236 y Fk(+2)p Fl(t)1086 1240 y Fh(w)1111 1236 y Fk(\))5 b(log)1188 1220 y Fh(p)p 1187 1228 20 2 v 1187 1249 a(n)p 928 1252 283 2 v 1036 1279 a Fl(n)1057 1270 y Fg(3)1074 1279 y Fl(t)1087 1283 y Fh(c)71 1354 y Fp(T)l(o)19 b(main)o(tain)h(constan)o (t)e Fn(E)k Fp(b)q(et)o(w)o(een)d(0)h(and)901 1336 y Fk(1)p 899 1343 21 2 v 899 1369 a Fl(f)925 1354 y Fp(,)g Fn(n)985 1337 y Fk(3)1005 1354 y Fn(t)1021 1361 y Fl(c)1058 1354 y Fp(m)o(ust)f(gro)o (w)f(as)h(2)p Fn(np)p Fp(\()p Fn(t)1456 1361 y Fl(s)1487 1354 y Fp(+)14 b(2)p Fn(t)1575 1361 y Fl(w)1603 1354 y Fp(\))8 b(log)1701 1333 y Fl(p)p 1700 1343 22 2 v 1700 1369 a(n)1726 1354 y Fp(.)32 b(Or)20 b Fn(n)1871 1337 y Fk(2)1910 1354 y Fp(m)o(ust)0 1422 y(gro)o(w)c(as)g(\002\()p Fn(p)8 b Fp(log)325 1401 y Fl(p)p 324 1411 V 324 1437 a(n)350 1422 y Fp(\).)24 b(Therefore,)17 b Fn(T)653 1429 y Fl(e)686 1422 y Fp(=)f Fn(n)764 1405 y Fk(3)800 1422 y Fp(m)o(ust)h(gro)o(w)e(as)h(\()p Fn(p)8 b Fp(log)1205 1401 y Fl(p)p 1203 1411 V 1203 1437 a(n)1229 1422 y Fp(\))1247 1405 y Fk(1)p Fl(:)p Fk(5)1294 1422 y Fp(,)17 b(or)f Fn(T)1408 1429 y Fl(e)1441 1422 y Fm(\030)g Fp(\()p Fn(p)8 b Fp(log)f Fn(p)p Fp(\))1647 1405 y Fk(1)p Fl(:)p Fk(5)1711 1422 y Fp(\(correct)16 b(within)0 1489 y(a)f(double)i(log)f(factor\).)j(In)e(other)e(w)o(ords,)f (the)i(iso)q(e\016ciency)h(function)g(due)f(to)f(comm)o(unication)h(is)g (\002\()p Fn(p)8 b Fp(log)g Fn(p)p Fp(\))1949 1473 y Fk(1)p Fl(:)p Fk(5)1995 1489 y Fp(.)0 1557 y(Note)16 b(that)h(the)f(iso)q (e\016ciency)j(function)f(due)f(to)g(pure)g(concurrency)g(is)h(\002\()p Fn(p)1352 1541 y Fk(1)p Fl(:)p Fk(5)1399 1557 y Fp(\).)24 b(But)17 b(the)g(o)o(v)o(erall)g(iso)q(e\016ciency)0 1625 y(function)j(of)f(the)g (parallel)i(algorithm)e(is)h(the)f(higher)h(of)f(the)h(t)o(w)o(o)d(functions) j(\(i.e.,)g(higher)g(of)f(the)g(one)h(due)f(to)0 1692 y(comm)o(unication)d (and)f(the)h(one)f(due)h(to)e(concurrency\).)71 1760 y(No)o(w,)h(consider)j (the)e(iso)q(e\016ciency)j(function)e(for)f(Mesh.)24 b(Broadcasting)16 b(a)g(unit)h(of)f(information)h(on)f(a)h(mesh)0 1828 y(of)59 1808 y Fl(p)p 57 1817 V 57 1844 a(n)98 1828 y Fp(pro)q(cessors)e(tak)o(es)g Fn(O)q Fp(\()486 1781 y Fj(q)p 527 1781 32 2 v 534 1808 a Fl(p)p 532 1817 22 2 v 532 1844 a(n)558 1828 y Fp(\))g(time)g(\(as)g(opp)q(osed)h (to)e Fn(O)q Fp(\(log)1126 1808 y Fl(p)p 1124 1817 V 1124 1844 a(n)1151 1828 y Fp(\))g(time\).)20 b(Hence)c(for)f(Mesh,)753 1967 y Fn(pT)803 1974 y Fl(p)834 1967 y Fp(=)e(\002\()p Fn(n)962 1949 y Fk(3)982 1967 y Fp(\))d(+)h(\002\()p Fn(np)1159 1906 y Fj(r)p 1200 1906 38 2 v 1208 1937 a Fn(p)p 1205 1957 28 2 v 1205 1999 a(n)1238 1967 y Fp(\))71 2104 y(F)l(or)g(constan)o(t)h Fn(E)s Fp(,)g Fn(n)419 2087 y Fk(3)451 2104 y Fp(m)o(ust)g(gro)o(w)f(as)h (\002\()p Fn(np)824 2057 y Fj(q)p 866 2057 32 2 v 873 2083 a Fl(p)p 871 2093 22 2 v 871 2119 a(n)897 2104 y Fp(\),)h(or)f Fn(n)g Fp(m)o(ust)g(gro)o(w)f(as)h(\002\()p Fn(p)1384 2072 y Fg(1)p Fh(:)p Fg(5)p 1384 2078 40 2 v 1384 2099 a(2)p Fh(:)p Fg(5)1431 2104 y Fp(\).)19 b(Therefore,)12 b(the)h(iso)q(e\016ciency)0 2181 y(function)j(of)f(this)g(algorithm)h(on)f(Mesh)g(is)h(\002\()p Fn(p)831 2164 y Fk(3)854 2150 y Fg(1)p Fh(:)p Fg(5)p 853 2156 V 853 2177 a(2)p Fh(:)p Fg(5)900 2181 y Fp(\))f(=)g(\002\()p Fn(p)1059 2165 y Fk(1)p Fl(:)p Fk(8)1107 2181 y Fp(\).)71 2249 y(The)i(reader)h(can)g(v)o(erify)g(that)e(the)i(iso)q(e\016ciency)i (functions)e(for)f(this)h(algorithm)g(on)f(Mesh-CT)h(and)g(Mesh-)0 2317 y(CT-MC)g(are)h(also)g(the)g(same.)31 b(The)19 b(reason)g(is)g(that)f (the)i(size)f(of)g(all)h(the)f(messages)f(that)h(need)h(to)e(b)q(e)i(passed)0 2385 y(in)e(this)f(parallel)i(algorithm)e(is)g(a)g(small)h(constan)o(t;)f (for)f(this)h(case,)h(Mesh,)f(Mesh-CT)g(and)g(Mesh-CT-MC)f(ha)o(v)o(e)0 2452 y(iden)o(tical)h(p)q(erformance.)71 2520 y(The)d(memory)f(o)o(v)o (erhead)h(factor)f(is)i Fn(n)f Fp(for)f(all)i(arc)o(hitectures)g(b)q(ecause)g (eac)o(h)f(group)g(of)f Fn(p=n)h Fp(pro)q(cessor)g(uses)g(as)0 2588 y(m)o(uc)o(h)h(memory)f(as)h(the)f(sequen)o(tial)i(algorithm)f (\(assuming)g Fn(n)e(>)g(p)p Fp(\).)19 b(Results)d(are)f(summarized)g(in)h(T) l(able)f(3.)20 b(W)l(e)0 2656 y(ma)o(y)14 b(refer)i(to)e(this)i(algorithm)f (as)g(\\Dijkstra)f(Source-P)o(arallel")i(in)g(the)g(rest)f(of)f(this)i(pap)q (er.)981 2936 y(15)p eop %%Page: 16 17 bop 0 136 a Fq(12)69 b(P)n(erformance)23 b(Predictions)0 249 y Fp(T)l(o)f(illustrate)h(the)g(predictiv)o(e)g(p)q(o)o(w)o(er)f(of)g(iso)q (e\016ciency)i(analysis,)h(w)o(e)d(computed)g(e\016ciency)i(of)e(the)g (parallel)0 317 y(algorithms)e(on)h(Cub)q(e)g(for)f(a)g(wide)h(range)f(of)g (problem)h(sizes)h(and)e(n)o(um)o(b)q(er)h(of)f(pro)q(cessors.)35 b(The)21 b(v)m(alue)h(of)e Fn(f)0 384 y Fp(w)o(as)f(assumed)g(to)g(b)q(e)i (1.6.)477 368 y Fk(10)546 384 y Fp(As)f(a)f(result,)i(the)e(e\016ciencies)j (of)d(parallel)i(algorithms)f(based)g(up)q(on)g(Dijkstra's)0 452 y(algorithms)15 b(ha)o(v)o(e)h(an)f(upp)q(er)i(b)q(ound)f(of)f(.625.)20 b(Tw)o(o)15 b(sets)g(of)g(v)m(alues)i(w)o(ere)e(c)o(hosen)h(for)f(parameters) f Fn(t)1784 459 y Fl(c)1802 452 y Fp(,)h Fn(t)1846 459 y Fl(s)1865 452 y Fp(,)g Fn(t)1909 459 y Fl(w)1953 452 y Fp(for)0 520 y(t)o(w)o(o)d (di\013eren)o(t)j(kinds)f(of)g(CPU)f(and)h(comm)o(unication)h(tec)o(hnology)l (.)20 b(In)14 b(the)g(\014rst)g(set,)f(c)o(hosen)h(for)f(a)h(mac)o(hine)g (with)0 588 y(relativ)o(ely)j(fast)e(comm)o(unication)h(tec)o(hnology)l(,)g Fn(t)857 595 y Fl(c)888 588 y Fp(=)e(1,)h Fn(t)1004 595 y Fl(s)1036 588 y Fp(=)f(5,)h(and)h Fn(t)1241 595 y Fl(w)1283 588 y Fp(=)e Fn(:)p Fp(5.)21 b(In)16 b(the)g(second)g(set,)f(c)o(hosen)h(for)f(a)0 655 y(mac)o(hine)h(with)g(relativ)o(ely)g(slo)o(w)f(comm)o(unication)h(tec)o (hnology)l(,)f Fn(t)1149 662 y Fl(c)1179 655 y Fp(=)e(1,)i Fn(t)1294 662 y Fl(s)1325 655 y Fp(=)e(50,)h(and)i Fn(t)1551 662 y Fl(w)1592 655 y Fp(=)d(1)p Fn(:)p Fp(0.)71 723 y(These)18 b(results)h(are)g(giv)o(en)g(in)g(T)l(ables)g(1)g(and)f(2.)30 b(F)l(or)18 b(eac)o(h)h(com)o(bination)g(of)f Fn(n)h Fp(and)f Fn(p)p Fp(,)h(e\016ciency)h(is)f(giv)o(en)0 791 y(for)d(eac)o(h)h(algorithm)g (pro)o(vided)g(it)g(is)h(applicable.)27 b(F)l(or)16 b(example,)h(Flo)o(yd)g (Strip)q(ed)h(is)f(applicable)j(only)d(if)g Fn(p)e(<)h(n)p Fp(.)0 859 y(Ev)o(en)f(though)g(the)g(e\016ciency)h(\014gures)f(are)g (di\013eren)o(t)g(in)h(the)f(t)o(w)o(o)e(tables,)i(the)g(o)o(v)o(erall)g (patterns)g(in)g(absolute)h(and)0 926 y(relativ)o(e)g(p)q(erformance)f (remain)h(the)f(same.)71 994 y(Flo)o(yd)e(Chec)o(k)o(erb)q(oard)g(algorithm)g (p)q(erforms)g(substan)o(tially)h(b)q(etter)g(than)f(Flo)o(yd)g(Strip)q(ed)h (for)f(b)q(oth)g(arc)o(hitec-)0 1062 y(tures)g(for)g(most)f(cases.)19 b(The)14 b(p)q(erformance)f(of)g(Flo)o(yd)h(Strip)q(ed)g(is)g(almost)f(as)g (go)q(o)q(d)g(as)g(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)g(only)0 1130 y(when)19 b(the)f(problem)h(size)g(is)f(v)o(ery)g(large)g(compared)h (with)f(the)g(n)o(um)o(b)q(er)h(of)e(pro)q(cessors.)29 b(This)19 b(is)f(predicted)i(b)o(y)0 1197 y(our)c(scalabilit)o(y)h(analysis.)23 b(On)16 b(Cub)q(e,)h(the)f(iso)q(e\016ciency)i(function)e(of)g(Flo)o(yd)g (Chec)o(k)o(erb)q(oard)g(is)g(\002\()p Fn(p)1799 1181 y Fk(1)p Fl(:)p Fk(5)1846 1197 y Fp(\(log)8 b Fn(p)p Fp(\))1971 1181 y Fk(3)1990 1197 y Fp(\))0 1265 y(whic)o(h)19 b(is)f(substan)o(tially)h(b)q (etter)f(than)g(\002\(\()p Fn(p)8 b Fp(log)g Fn(p)p Fp(\))908 1248 y Fk(3)927 1265 y Fp(\))18 b(\(the)f(iso)q(e\016ciency)j(function)f(of)f (Flo)o(yd)g(Strip)q(ed\).)29 b(In)19 b(the)0 1333 y(exp)q(erimen)o(ts)13 b(rep)q(orted)e(b)o(y)h(Jenq)g(and)g(Sahni)h([11)o(],)e(the)h(di\013erence)h (in)g(the)e(p)q(erformance)h(of)f(these)h(algorithms)g(w)o(as)0 1400 y(v)o(ery)i(small.)20 b(The)15 b(reason)e(is)i(that)f(they)g(computed)h (sp)q(eedup)g(after)f(taking)g(the)g(input)i(time)e(in)o(to)g(consideration.) 0 1468 y(If)h(the)f(cost)g(matrix)g(has)g(to)g(b)q(e)h(loaded)g(serially)h (from)e(outside)h(the)f(m)o(ulticomputer)i(\(whic)o(h)e(is)h(the)g(case)f(in) h([11]\))0 1536 y(or)h(from)f(a)i(single)g(pro)q(cessor)f(in)i(the)e(m)o (ulticomputer,)h(then)g(the)f(reader)h(can)f(v)o(erify)h(that)e(no)i (parallel)h(shortest)0 1604 y(path)d(algorithm)h(has)f(iso)q(e\016ciency)j(b) q(etter)d(than)h(\002\()p Fn(p)964 1587 y Fk(3)983 1604 y Fp(\).)k(In)d (particular,)e(the)h(iso)q(e\016ciency)h(functions)g(on)e(Cub)q(e)0 1671 y(for)g(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)g(and)g(Flo)o(yd)g(Strip)q(ed)i (w)o(ould)e(b)q(e)h(\002\()p Fn(p)1133 1655 y Fk(3)1153 1671 y Fp(\))f(and)g(\()p Fn(p)8 b Fp(log)g Fn(p)p Fp(\))1430 1655 y Fk(3)1464 1671 y Fp(resp)q(ectiv)o(ely)l(.)71 1739 y(Source-P)o(arallel)17 b(v)o(ersion)f(of)f(Dijkstra's)g(algorithm)h(outp)q(erforms)f(Flo)o(yd)h (Chec)o(k)o(erb)q(oard)g(for)f(man)o(y)g(com)o(bi-)0 1807 y(nations)e(of)f Fn(n)h Fp(and)g Fn(p)f Fp(despite)i(the)e(fact)h(that)e(the)i(base)g(sequen)o (tial)h(algorithm)e(\(sequen)o(tial)i(Dijkstra's)d(algorithm\))0 1875 y(is)17 b(not)g(as)f(e\016cien)o(t)i(as)f(Flo)o(yd's)f(sequen)o(tial)i (algorithm.)25 b(This)18 b(is)f(again)g(explained)i(b)o(y)e(scalabilit)o(y)h (analysis,)g(as)0 1942 y(the)g(iso)q(e\016ciency)i(function)f(of)f(the)g (Source-P)o(arallel)i(v)o(ersion)e(of)g(Dijkstra's)f(algorithm)h(is)h(b)q (etter)f(than)g(Flo)o(yd)0 2010 y(Chec)o(k)o(erb)q(oard.)71 2078 y(In)i([11)o(],)g(it)g(is)h(men)o(tioned)f(that)f(Source-P)o(artitioned) i(v)o(ersion)f(of)f(Dijkstra's)g(algorithm)h(will)h(outp)q(erform)0 2146 y(Flo)o(yd)13 b(Chec)o(k)o(erb)q(oard)g(when)g Fn(p)g Fp(is)g(large.)20 b(>F)l(rom)12 b(T)l(able)i(3,)f(it)g(is)g(clear)h(that)e (Flo)o(yd)h(Chec)o(k)o(erb)q(oard)g(is)g(m)o(uc)o(h)g(more)0 2213 y(scalable)g(than)f(the)f(Source-P)o(artitioned)i(v)o(ersion)f(of)f (Dijkstra's)g(algorithm.)18 b(Indeed,)c(from)d(the)h(tables,)g(it)g(is)g (clear)0 2281 y(that)f(for)h(large)g(n)o(um)o(b)q(er)g(of)f(pro)q(cessors,)h (Source-P)o(artitioned)h(v)o(ersion)f(of)g(Dijkstra's)f(algorithm)g(is)i (outp)q(erformed)0 2349 y(b)o(y)18 b(Flo)o(yd)g(Chec)o(k)o(erb)q(oard.)27 b(Dijkstra)17 b(Source-P)o(artitioned)i(do)q(es)f(b)q(etter)g(than)g(Flo)o (yd)f(Chec)o(k)o(erb)q(oard)h(only)g(for)0 2417 y(mo)q(derate)d(v)m(alues)h (of)f Fn(p)g Fp(and)g(for)g(small)h(v)m(alues)g(of)f Fn(n)p Fp(.)71 2484 y(Flo)o(yd)h(Pip)q(elined)j(consisten)o(tly)e(outp)q(erforms)e (all)i(other)f(algorithms,)f(as)h(it)g(has)g(substan)o(tially)h(b)q(etter)f (scal-)0 2552 y(abilit)o(y)g(than)f(them.)71 2620 y(W)l(e)j(did)i(not)e (\014nd)i(it)f(necessary)f(to)g(v)m(alidate)i(the)f(theoretically)h(deriv)o (ed)g(e\016ciency)g(\014gures)f(giv)o(en)g(in)g(this)0 2688 y(section)13 b(b)o(y)f(actual)g(exp)q(erimen)o(tation)i(for)d(the)i(follo)o (wing)g(reasons.)18 b(The)13 b(time)f(complexit)o(y)i(of)d(the)i(t)o(w)o(o)e (sequen)o(tial)p 0 2727 804 2 v 37 2760 a Fg(10)69 2776 y Fr(This)j(v)n(alue) g(is)g(computed)g(from)e(the)i(exp)q(erimen)o(tal)h(results)f(giv)o(en)g(in)g ([11].)981 2936 y Fp(16)p eop %%Page: 17 18 bop 27 146 1953 2 v 27 156 V 26 216 2 60 v 298 198 a Fu(P)p Fa(!)p 638 216 V 343 w Fu(4)p 803 216 V 144 w(16)p 989 216 V 134 w(64)p 1154 216 V 112 w(256)p 1319 216 V 92 w(1024)p 1484 216 V 81 w(4096)p 1649 216 V 71 w(16384)p 1814 216 V 60 w(65536)p 1980 216 V 27 217 612 2 v 26 276 2 60 v 52 258 a(N)p Fa(#)p 638 276 V 803 276 V 989 276 V 1154 276 V 1319 276 V 1484 276 V 1649 276 V 1814 276 V 1980 276 V 27 277 1953 2 v 27 287 V 26 347 2 60 v 222 347 V 299 329 a Fu(Flo)o(yd)13 b(Pip)q(eline)p 638 347 V 101 w(0.9987)p 803 347 V 58 w(0.9905)p 989 347 V 59 w(0.9420)p 1154 347 V 48 w(0.7091)p 1319 347 V 48 w(0.2560)p 1484 347 V 48 w(0.0441)p 1649 347 V 1814 347 V 1980 347 V 223 349 1758 2 v 26 407 2 60 v 222 407 V 247 389 a(Flo)o(yd)g(Chec)o(k)o(erb)q (oard)p 638 407 V 52 w(0.9411)p 803 407 V 58 w(0.7272)p 989 407 V 59 w(0.3478)p 1154 407 V 48 w(0.1000)p 1319 407 V 48 w(0.0229)p 1484 407 V 48 w(0.0050)p 1649 407 V 1814 407 V 1980 407 V 223 408 1758 2 v 26 466 2 60 v 104 449 a(64)p 222 466 V 160 w(Flo)o(yd)g(Strip)q(ed)p 638 466 V 109 w(0.9142)p 803 466 V 58 w(0.5714)p 989 466 V 59 w(0.1818)p 1154 466 V 1319 466 V 1484 466 V 1649 466 V 1814 466 V 1980 466 V 223 468 1758 2 v 26 526 2 60 v 222 526 V 268 508 a(Dijkstra)h(P)o(artition)p 638 526 V 70 w(0.6250)p 803 526 V 58 w(0.6250)p 989 526 V 59 w(0.6250)p 1154 526 V 1319 526 V 1484 526 V 1649 526 V 1814 526 V 1980 526 V 223 528 1758 2 v 26 586 2 60 v 222 586 V 281 568 a(Dijkstra)f(P)o(arallel)p 638 586 V 803 586 V 989 586 V 1154 586 V 599 w(0.3225)p 1319 586 V 48 w(0.0735)p 1484 586 V 48 w(0.0135)p 1649 586 V 1814 586 V 1980 586 V 27 588 1953 2 v 27 598 V 26 657 2 60 v 222 657 V 299 639 a(Flo)o(yd)g(Pip)q(eline)p 638 657 V 101 w(0.9999)p 803 657 V 58 w(0.9995)p 989 657 V 59 w(0.9977)p 1154 657 V 48 w(0.9882)p 1319 657 V 48 w(0.9362)p 1484 657 V 48 w(0.6989)p 1649 657 V 48 w(0.2514)p 1814 657 V 48 w(0.0436)p 1980 657 V 223 659 1758 2 v 26 717 2 60 v 222 717 V 247 699 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 638 717 V 52 w(0.9903)p 803 717 V 58 w(0.9552)p 989 717 V 59 w(0.8421)p 1154 717 V 48 w(0.5714)p 1319 717 V 48 w(0.2424)p 1484 717 V 48 w(0.0689)p 1649 717 V 48 w(0.0165)p 1814 717 V 48 w(0.0037)p 1980 717 V 223 719 1758 2 v 26 777 2 60 v 94 759 a(256)p 222 777 V 149 w(Flo)o(yd)g(Strip)q(ed)p 638 777 V 109 w(0.9827)p 803 777 V 58 w(0.8767)p 989 777 V 59 w(0.5423)p 1154 777 V 48 w(0.1818)p 1319 777 V 1484 777 V 1649 777 V 1814 777 V 1980 777 V 223 779 1758 2 v 26 837 2 60 v 222 837 V 268 819 a(Dijkstra)h(P)o (artition)p 638 837 V 70 w(0.6250)p 803 837 V 58 w(0.6250)p 989 837 V 59 w(0.6250)p 1154 837 V 48 w(0.6250)p 1319 837 V 1484 837 V 1649 837 V 1814 837 V 1980 837 V 223 838 1758 2 v 26 897 2 60 v 222 897 V 281 879 a(Dijkstra)f(P)o(arallel)p 638 897 V 803 897 V 989 897 V 1154 897 V 1319 897 V 764 w(0.5063)p 1484 897 V 48 w(0.2173)p 1649 897 V 48 w(0.0510)p 1814 897 V 48 w(0.0102)p 1980 897 V 27 898 1953 2 v 27 908 V 26 968 2 60 v 222 968 V 299 950 a(Flo)o(yd)g(Pip)q(eline)p 638 968 V 101 w(0.9999)p 803 968 V 58 w(0.9999)p 989 968 V 59 w(0.9998)p 1154 968 V 48 w(0.9994)p 1319 968 V 48 w(0.9975)p 1484 968 V 48 w(0.9876)p 1649 968 V 48 w(0.9347)p 1814 968 V 48 w(0.6964)p 1980 968 V 223 970 1758 2 v 26 1028 2 60 v 222 1028 V 247 1010 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 638 1028 V 52 w(0.9979)p 803 1028 V 58 w(0.9912)p 989 1028 V 59 w(0.9715)p 1154 1028 V 48 w(0.9142)p 1319 1028 V 48 w(0.7619)p 1484 1028 V 48 w(0.4705)p 1649 1028 V 48 w(0.1860)p 1814 1028 V 48 w(0.0526)p 1980 1028 V 223 1029 1758 2 v 26 1087 2 60 v 83 1070 a(1024)p 222 1087 V 139 w(Flo)o(yd)g(Strip)q(ed)p 638 1087 V 109 w(0.9959)p 803 1087 V 58 w(0.9687)p 989 1087 V 59 w(0.8379)p 1154 1087 V 48 w(0.4923)p 1319 1087 V 48 w(0.1624)p 1484 1087 V 1649 1087 V 1814 1087 V 1980 1087 V 223 1089 1758 2 v 26 1147 2 60 v 222 1147 V 268 1129 a(Dijkstra)h(P)o(artition)p 638 1147 V 70 w(0.6250)p 803 1147 V 58 w(0.6250)p 989 1147 V 59 w(0.6250)p 1154 1147 V 48 w(0.6250)p 1319 1147 V 48 w(0.6250)p 1484 1147 V 1649 1147 V 1814 1147 V 1980 1147 V 223 1149 1758 2 v 26 1207 2 60 v 222 1207 V 281 1189 a(Dijkstra)f(P)o(arallel)p 638 1207 V 803 1207 V 989 1207 V 1154 1207 V 1319 1207 V 1484 1207 V 929 w(0.5904)p 1649 1207 V 48 w(0.4255)p 1814 1207 V 48 w(0.1639)p 1980 1207 V 27 1209 1953 2 v 27 1219 V 26 1278 2 60 v 222 1278 V 299 1260 a(Flo)o(yd)g(Pip)q(eline)p 638 1278 V 101 w(1.0000)p 803 1278 V 58 w(0.9999)p 989 1278 V 59 w(0.9999)p 1154 1278 V 48 w(0.9999)p 1319 1278 V 48 w(0.9998)p 1484 1278 V 48 w(0.9994)p 1649 1278 V 48 w(0.9974)p 1814 1278 V 48 w(0.9875)p 1980 1278 V 223 1280 1758 2 v 26 1338 2 60 v 222 1338 V 247 1320 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 638 1338 V 52 w(0.9995)p 803 1338 V 58 w(0.9979)p 989 1338 V 59 w(0.9938)p 1154 1338 V 48 w(0.9827)p 1319 1338 V 48 w(0.9534)p 1484 1338 V 48 w(0.8767)p 1649 1338 V 48 w(0.6956)p 1814 1338 V 48 w(0.4000)p 1980 1338 V 223 1340 1758 2 v 26 1398 2 60 v 83 1380 a(4096)p 222 1398 V 139 w(Flo)o(yd)g(Strip)q(ed)p 638 1398 V 109 w(0.9990)p 803 1398 V 58 w(0.9921)p 989 1398 V 59 w(0.9548)p 1154 1398 V 48 w(0.7987)p 1319 1398 V 48 w(0.4425)p 1484 1398 V 48 w(0.1419)p 1649 1398 V 1814 1398 V 1980 1398 V 223 1400 1758 2 v 26 1458 2 60 v 222 1458 V 268 1440 a(Dijkstra)h(P)o(artition)p 638 1458 V 70 w(0.6250)p 803 1458 V 58 w(0.6250)p 989 1458 V 59 w(0.6250)p 1154 1458 V 48 w(0.6250)p 1319 1458 V 48 w(0.6250)p 1484 1458 V 48 w(0.6250)p 1649 1458 V 1814 1458 V 1980 1458 V 223 1459 1758 2 v 26 1518 2 60 v 222 1518 V 281 1500 a(Dijkstra)f(P)o (arallel)p 638 1518 V 803 1518 V 989 1518 V 1154 1518 V 1319 1518 V 1484 1518 V 1649 1518 V 1094 w(0.6159)p 1814 1518 V 48 w(0.5594)p 1980 1518 V 27 1519 1953 2 v 27 1529 V 26 1589 2 60 v 222 1589 V 299 1571 a(Flo)o(yd)g(Pip)q(eline)p 638 1589 V 101 w(1.0000)p 803 1589 V 58 w(1.0000)p 989 1589 V 59 w(1.0000)p 1154 1589 V 48 w(0.9999)p 1319 1589 V 48 w(0.9999)p 1484 1589 V 48 w(0.9999)p 1649 1589 V 48 w(0.9998)p 1814 1589 V 48 w(0.9994)p 1980 1589 V 223 1591 1758 2 v 26 1649 2 60 v 222 1649 V 247 1631 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 638 1649 V 52 w(0.9998)p 803 1649 V 58 w(0.9995)p 989 1649 V 59 w(0.9985)p 1154 1649 V 48 w(0.9959)p 1319 1649 V 48 w(0.9897)p 1484 1649 V 48 w(0.9743)p 1649 1649 V 48 w(0.9360)p 1814 1649 V 48 w(0.8421)p 1980 1649 V 223 1650 1758 2 v 26 1708 2 60 v 73 1691 a(16384)p 222 1708 V 128 w(Flo)o(yd)g(Strip)q(ed)p 638 1708 V 109 w(0.9997)p 803 1708 V 58 w(0.9980)p 989 1708 V 59 w(0.9883)p 1154 1708 V 48 w(0.9410)p 1319 1708 V 48 w(0.7615)p 1484 1708 V 48 w(0.3995)p 1649 1708 V 48 w(0.1247)p 1814 1708 V 1980 1708 V 223 1710 1758 2 v 26 1768 2 60 v 222 1768 V 268 1750 a(Dijkstra)h(P)o(artition)p 638 1768 V 70 w(0.6250)p 803 1768 V 58 w(0.6250)p 989 1768 V 59 w(0.6250)p 1154 1768 V 48 w(0.6250)p 1319 1768 V 48 w(0.6250)p 1484 1768 V 48 w(0.6250)p 1649 1768 V 48 w(0.6250)p 1814 1768 V 1980 1768 V 223 1770 1758 2 v 26 1828 2 60 v 222 1828 V 281 1810 a(Dijkstra)f(P)o(arallel)p 638 1828 V 803 1828 V 989 1828 V 1154 1828 V 1319 1828 V 1484 1828 V 1649 1828 V 1814 1828 V 1259 w(0.6227)p 1980 1828 V 27 1830 1953 2 v 27 1840 V 26 1899 2 60 v 222 1899 V 299 1881 a(Flo)o(yd)g(Pip)q(eline)p 638 1899 V 101 w(1.0000)p 803 1899 V 58 w(1.0000)p 989 1899 V 59 w(1.0000)p 1154 1899 V 48 w(1.0000)p 1319 1899 V 48 w(1.0000)p 1484 1899 V 48 w(0.9999)p 1649 1899 V 48 w(0.9999)p 1814 1899 V 48 w(0.9999)p 1980 1899 V 223 1901 1758 2 v 26 1959 2 60 v 222 1959 V 247 1941 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 638 1959 V 52 w(0.9999)p 803 1959 V 58 w(0.9998)p 989 1959 V 59 w(0.9996)p 1154 1959 V 48 w(0.9990)p 1319 1959 V 48 w(0.9975)p 1484 1959 V 48 w(0.9939)p 1649 1959 V 48 w(0.9856)p 1814 1959 V 48 w(0.9660)p 1980 1959 V 223 1961 1758 2 v 26 2019 2 60 v 73 2001 a(65536)p 222 2019 V 128 w(Flo)o(yd)g(Strip)q(ed)p 638 2019 V 109 w(0.9999)p 803 2019 V 58 w(0.9995)p 989 2019 V 59 w(0.9970)p 1154 2019 V 48 w(0.9846)p 1319 2019 V 48 w(0.9275)p 1484 2019 V 48 w(0.7271)p 1649 2019 V 48 w(0.3635)p 1814 2019 V 48 w(0.1110)p 1980 2019 V 223 2021 1758 2 v 26 2079 2 60 v 222 2079 V 268 2061 a(Dijkstra)h(P)o(artition)p 638 2079 V 70 w(0.6250)p 803 2079 V 58 w(0.6250)p 989 2079 V 59 w(0.6250)p 1154 2079 V 48 w(0.6250)p 1319 2079 V 48 w(0.6250)p 1484 2079 V 48 w(0.6250)p 1649 2079 V 48 w(0.6250)p 1814 2079 V 48 w(0.6250)p 1980 2079 V 223 2080 1758 2 v 26 2139 2 60 v 222 2139 V 281 2121 a(Dijkstra)f(P)o(arallel)p 638 2139 V 803 2139 V 989 2139 V 1154 2139 V 1319 2139 V 1484 2139 V 1649 2139 V 1814 2139 V 1980 2139 V 27 2140 1953 2 v 27 2150 V 26 2210 2 60 v 222 2210 V 299 2192 a(Flo)o(yd)g(Pip)q(eline)p 638 2210 V 101 w(1.0000)p 803 2210 V 58 w(1.0000)p 989 2210 V 59 w(1.0000)p 1154 2210 V 48 w(1.0000)p 1319 2210 V 48 w(1.0000)p 1484 2210 V 48 w(1.0000)p 1649 2210 V 48 w(1.0000)p 1814 2210 V 48 w(0.9999)p 1980 2210 V 223 2212 1758 2 v 26 2270 2 60 v 222 2270 V 247 2252 a(Flo)o(yd)g(Chec)o(k) o(erb)q(oard)p 638 2270 V 52 w(0.9999)p 803 2270 V 58 w(0.9999)p 989 2270 V 59 w(0.9999)p 1154 2270 V 48 w(0.9997)p 1319 2270 V 48 w(0.9993)p 1484 2270 V 48 w(0.9985)p 1649 2270 V 48 w(0.9965)p 1814 2270 V 48 w(0.9920)p 1980 2270 V 223 2271 1758 2 v 26 2329 2 60 v 63 2312 a(262144)p 222 2329 V 117 w(Flo)o(yd)g(Strip)q(ed)p 638 2329 V 109 w(0.9999)p 803 2329 V 58 w(0.9998)p 989 2329 V 59 w(0.9992)p 1154 2329 V 48 w(0.9961)p 1319 2329 V 48 w(0.9808)p 1484 2329 V 48 w(0.9142)p 1649 2329 V 48 w(0.6956)p 1814 2329 V 48 w(0.3333)p 1980 2329 V 223 2331 1758 2 v 26 2389 2 60 v 222 2389 V 268 2371 a(Dijkstra)h(P)o(artition)p 638 2389 V 70 w(0.6250)p 803 2389 V 58 w(0.6250)p 989 2389 V 59 w(0.6250)p 1154 2389 V 48 w(0.6250)p 1319 2389 V 48 w(0.6250)p 1484 2389 V 48 w(0.6250)p 1649 2389 V 48 w(0.6250)p 1814 2389 V 48 w(0.6250)p 1980 2389 V 223 2391 1758 2 v 26 2449 2 60 v 222 2449 V 281 2431 a(Dijkstra)f(P)o(arallel)p 638 2449 V 803 2449 V 989 2449 V 1154 2449 V 1319 2449 V 1484 2449 V 1649 2449 V 1814 2449 V 1980 2449 V 27 2451 1953 2 v 27 2461 V 26 2520 2 60 v 222 2520 V 299 2502 a(Flo)o(yd)g(Pip)q(eline)p 638 2520 V 101 w(1.0000)p 803 2520 V 58 w(1.0000)p 989 2520 V 59 w(1.0000)p 1154 2520 V 48 w(1.0000)p 1319 2520 V 48 w(1.0000)p 1484 2520 V 48 w(1.0000)p 1649 2520 V 48 w(1.0000)p 1814 2520 V 48 w(1.0000)p 1980 2520 V 223 2522 1758 2 v 26 2580 2 60 v 222 2580 V 247 2562 a(Flo)o(yd)g(Chec)o(k) o(erb)q(oard)p 638 2580 V 52 w(0.9999)p 803 2580 V 58 w(0.9999)p 989 2580 V 59 w(0.9999)p 1154 2580 V 48 w(0.9999)p 1319 2580 V 48 w(0.9998)p 1484 2580 V 48 w(0.9996)p 1649 2580 V 48 w(0.9991)p 1814 2580 V 48 w(0.9980)p 1980 2580 V 223 2582 1758 2 v 26 2640 2 60 v 52 2622 a(1048576)p 222 2640 V 107 w(Flo)o(yd)g(Strip)q(ed)p 638 2640 V 109 w(0.9999)p 803 2640 V 58 w(0.9999)p 989 2640 V 59 w(0.9998)p 1154 2640 V 48 w(0.9990)p 1319 2640 V 48 w(0.9951)p 1484 2640 V 48 w(0.9770)p 1649 2640 V 48 w(0.9014)p 1814 2640 V 48 w(0.6666)p 1980 2640 V 223 2642 1758 2 v 26 2700 2 60 v 222 2700 V 268 2682 a(Dijkstra)h(P)o(artition)p 638 2700 V 70 w(0.6250)p 803 2700 V 48 w(0.62501)p 989 2700 V 48 w(0.6250)p 1154 2700 V 48 w(0.6250)p 1319 2700 V 48 w(0.6250)p 1484 2700 V 48 w(0.6250)p 1649 2700 V 48 w(0.6250)p 1814 2700 V 48 w(0.6250)p 1980 2700 V 223 2701 1758 2 v 26 2760 2 60 v 222 2760 V 281 2742 a(Dijkstra)f(P)o(arallel)p 638 2760 V 803 2760 V 989 2760 V 1154 2760 V 1319 2760 V 1484 2760 V 1649 2760 V 1814 2760 V 1980 2760 V 27 2761 1953 2 v 27 2771 V 0 2898 a Fp(T)l(able)i(1:)j (E\016ciencies)e(of)e(di\013eren)o(t)g(parallel)h(algorithms)f(for)f(a)g (range)h(of)f(input)i(size)g(and)f(n)o(um)o(b)q(er)g(of)f(pro)q(cessors)0 2966 y(on)i(a)g(mac)o(hine)h(with)g(relativ)o(ely)g(fast)e(comm)o(unication)i (tec)o(hnology)l(.)k Fn(t)1242 2973 y Fl(c)1273 2966 y Fp(=)13 b(1,)h Fn(t)1387 2973 y Fl(s)1419 2966 y Fp(=)f(5,)h(and)i Fn(t)1622 2973 y Fl(b)1652 2966 y Fp(=)d Fn(:)p Fp(5.)981 2936 y(17)p eop %%Page: 18 19 bop 38 146 1933 2 v 38 156 V 37 216 2 60 v 309 198 a Fu(P)p Fa(!)p 648 216 V 342 w Fu(4)p 813 216 V 134 w(16)p 978 216 V 123 w(64)p 1144 216 V 113 w(256)p 1309 216 V 92 w(1024)p 1474 216 V 81 w(4096)p 1639 216 V 70 w(16384)p 1804 216 V 61 w(65536)p 1969 216 V 38 217 612 2 v 37 276 2 60 v 63 258 a(N)p Fa(#)p 648 276 V 813 276 V 978 276 V 1144 276 V 1309 276 V 1474 276 V 1639 276 V 1804 276 V 1969 276 V 38 277 1933 2 v 38 287 V 37 347 2 60 v 232 347 V 309 329 a Fu(Flo)o(yd)13 b(Pip)q(eline)p 648 347 V 101 w(0.9950)p 813 347 V 48 w(0.9538)p 978 347 V 48 w(0.7160)p 1144 347 V 48 w(0.2401)p 1309 347 V 48 w(0.0381)p 1474 347 V 49 w(0.0049)p 1639 347 V 1804 347 V 1969 347 V 233 349 1738 2 v 37 407 2 60 v 232 407 V 258 389 a(Flo)o(yd)g(Chec)o(k)o(erb)q (oard)p 648 407 V 51 w(0.7356)p 813 407 V 48 w(0.2758)p 978 407 V 48 w(0.0625)p 1144 407 V 48 w(0.0126)p 1309 407 V 48 w(0.0025)p 1474 407 V 49 w(0.0005)p 1639 407 V 1804 407 V 1969 407 V 233 408 1738 2 v 37 466 2 60 v 115 449 a(64)p 232 466 V 159 w(Flo)o(yd)g(Strip)q(ed)p 648 466 V 109 w(0.7032)p 813 466 V 48 w(0.2285)p 978 466 V 48 w(0.0470)p 1144 466 V 1309 466 V 1474 466 V 1639 466 V 1804 466 V 1969 466 V 233 468 1738 2 v 37 526 2 60 v 232 526 V 279 508 a(Dijkstra)g(P)o(artition)p 648 526 V 70 w(0.6250)p 813 526 V 48 w(0.6250)p 978 526 V 48 w(0.6250)p 1144 526 V 1309 526 V 1474 526 V 1639 526 V 1804 526 V 1969 526 V 233 528 1738 2 v 37 586 2 60 v 232 586 V 291 568 a(Dijkstra)h(P)o(arallel)p 648 586 V 813 586 V 978 586 V 1144 586 V 577 w(0.0684)p 1309 586 V 48 w(0.0094)p 1474 586 V 49 w(0.0015)p 1639 586 V 1804 586 V 1969 586 V 38 588 1933 2 v 38 598 V 37 657 2 60 v 232 657 V 309 639 a(Flo)o(yd)f(Pip)q(eline)p 648 657 V 101 w(0.9998)p 813 657 V 48 w(0.9986)p 978 657 V 48 w(0.9913)p 1144 657 V 48 w(0.9430)p 1309 657 V 48 w(0.6949)p 1474 657 V 49 w(0.2313)p 1639 657 V 48 w(0.0373)p 1804 657 V 48 w(0.0048)p 1969 657 V 233 659 1738 2 v 37 717 2 60 v 232 717 V 258 699 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 648 717 V 51 w(0.9669)p 813 717 V 48 w(0.8258)p 978 717 V 48 w(0.4812)p 1144 717 V 48 w(0.1600)p 1309 717 V 48 w(0.0384)p 1474 717 V 49 w(0.0084)p 1639 717 V 48 w(0.0018)p 1804 717 V 48 w(0.0004)p 1969 717 V 233 719 1738 2 v 37 777 2 60 v 104 759 a(256)p 232 777 V 149 w(Flo)o(yd)g(Strip)q(ed)p 648 777 V 109 w(0.9525)p 813 777 V 48 w(0.7150)p 978 777 V 48 w(0.2949)p 1144 777 V 48 w(0.0727)p 1309 777 V 1474 777 V 1639 777 V 1804 777 V 1969 777 V 233 779 1738 2 v 37 837 2 60 v 232 837 V 279 819 a(Dijkstra)g(P)o (artition)p 648 837 V 70 w(0.6250)p 813 837 V 48 w(0.6250)p 978 837 V 48 w(0.6250)p 1144 837 V 48 w(0.6250)p 1309 837 V 1474 837 V 1639 837 V 1804 837 V 1969 837 V 233 838 1738 2 v 37 897 2 60 v 232 897 V 291 879 a(Dijkstra)h(P)o(arallel)p 648 897 V 813 897 V 978 897 V 1144 897 V 1309 897 V 742 w(0.2061)p 1474 897 V 49 w(0.0362)p 1639 897 V 48 w(0.0063)p 1804 897 V 48 w(0.0012)p 1969 897 V 38 898 1933 2 v 38 908 V 37 968 2 60 v 232 968 V 309 950 a(Flo)o(yd)f(Pip)q(eline)p 648 968 V 101 w(0.9999)p 813 968 V 48 w(0.9999)p 978 968 V 48 w(0.9997)p 1144 968 V 48 w(0.9983)p 1309 968 V 48 w(0.9903)p 1474 968 V 49 w(0.9403)p 1639 968 V 48 w(0.6898)p 1804 968 V 48 w(0.2292)p 1969 968 V 233 970 1738 2 v 37 1028 2 60 v 232 1028 V 258 1010 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 648 1028 V 51 w(0.9949)p 813 1028 V 48 w(0.9757)p 978 1028 V 48 w(0.9069)p 1144 1028 V 48 w(0.7032)p 1309 1028 V 48 w(0.3575)p 1474 1028 V 49 w(0.1126)p 1639 1028 V 48 w(0.0277)p 1804 1028 V 48 w(0.0063)p 1969 1028 V 233 1029 1738 2 v 37 1087 2 60 v 94 1070 a(1024)p 232 1087 V 138 w(Flo)o(yd)g(Strip)q(ed)p 648 1087 V 109 w(0.9911)p 813 1087 V 48 w(0.9330)p 978 1087 V 48 w(0.6989)p 1144 1087 V 48 w(0.3033)p 1309 1087 V 48 w(0.0801)p 1474 1087 V 1639 1087 V 1804 1087 V 1969 1087 V 233 1089 1738 2 v 37 1147 2 60 v 232 1147 V 279 1129 a(Dijkstra)g(P)o(artition)p 648 1147 V 70 w(0.6250)p 813 1147 V 48 w(0.6250)p 978 1147 V 48 w(0.6250)p 1144 1147 V 48 w(0.6250)p 1309 1147 V 48 w(0.6250)p 1474 1147 V 1639 1147 V 1804 1147 V 1969 1147 V 233 1149 1738 2 v 37 1207 2 60 v 232 1207 V 291 1189 a(Dijkstra)h(P)o(arallel)p 648 1207 V 813 1207 V 978 1207 V 1144 1207 V 1309 1207 V 1474 1207 V 908 w(0.4145)p 1639 1207 V 48 w(0.1234)p 1804 1207 V 48 w(0.0246)p 1969 1207 V 38 1209 1933 2 v 38 1219 V 37 1278 2 60 v 232 1278 V 309 1260 a(Flo)o(yd)f(Pip)q(eline)p 648 1278 V 101 w(1.0000)p 813 1278 V 48 w(0.9999)p 978 1278 V 48 w(0.9999)p 1144 1278 V 48 w(0.9999)p 1309 1278 V 48 w(0.9996)p 1474 1278 V 49 w(0.9982)p 1639 1278 V 48 w(0.9901)p 1804 1278 V 48 w(0.9396)p 1969 1278 V 233 1280 1738 2 v 37 1338 2 60 v 232 1338 V 258 1320 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 648 1338 V 51 w(0.9989)p 813 1338 V 48 w(0.9955)p 978 1338 V 48 w(0.9850)p 1144 1338 V 48 w(0.9525)p 1309 1338 V 48 w(0.8540)p 1474 1338 V 49 w(0.6124)p 1639 1338 V 48 w(0.2844)p 1804 1338 V 48 w(0.0869)p 1969 1338 V 233 1340 1738 2 v 37 1398 2 60 v 94 1380 a(4096)p 232 1398 V 138 w(Flo)o(yd)g(Strip)q(ed)p 648 1398 V 109 w(0.9979)p 813 1398 V 48 w(0.9840)p 978 1398 V 48 w(0.9113)p 1144 1398 V 48 w(0.6585)p 1309 1398 V 48 w(0.2783)p 1474 1398 V 49 w(0.0743)p 1639 1398 V 1804 1398 V 1969 1398 V 233 1400 1738 2 v 37 1458 2 60 v 232 1458 V 279 1440 a(Dijkstra)g(P)o(artition)p 648 1458 V 70 w(0.6250)p 813 1458 V 48 w(0.6250)p 978 1458 V 48 w(0.6250)p 1144 1458 V 48 w(0.6250)p 1309 1458 V 48 w(0.6250)p 1474 1458 V 49 w(0.6250)p 1639 1458 V 1804 1458 V 1969 1458 V 233 1459 1738 2 v 37 1518 2 60 v 232 1518 V 291 1500 a(Dijkstra)h(P)o (arallel)p 648 1518 V 813 1518 V 978 1518 V 1144 1518 V 1309 1518 V 1474 1518 V 1639 1518 V 1073 w(0.5545)p 1804 1518 V 48 w(0.3100)p 1969 1518 V 38 1519 1933 2 v 38 1529 V 37 1589 2 60 v 232 1589 V 309 1571 a(Flo)o(yd)f(Pip)q(eline)p 648 1589 V 101 w(1.0000)p 813 1589 V 48 w(1.0000)p 978 1589 V 48 w(0.9999)p 1144 1589 V 48 w(0.9999)p 1309 1589 V 48 w(0.9999)p 1474 1589 V 49 w(0.9999)p 1639 1589 V 48 w(0.9996)p 1804 1589 V 48 w(0.9982)p 1969 1589 V 233 1591 1738 2 v 37 1649 2 60 v 232 1649 V 258 1631 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 648 1649 V 51 w(0.9997)p 813 1649 V 48 w(0.9989)p 978 1649 V 48 w(0.9968)p 1144 1649 V 48 w(0.9911)p 1309 1649 V 48 w(0.9752)p 1474 1649 V 49 w(0.9304)p 1639 1649 V 48 w(0.8069)p 1804 1649 V 48 w(0.5423)p 1969 1649 V 233 1650 1738 2 v 37 1708 2 60 v 83 1691 a(16384)p 232 1708 V 128 w(Flo)o(yd)g(Strip)q(ed)p 648 1708 V 109 w(0.9995)p 813 1708 V 48 w(0.9960)p 978 1708 V 48 w(0.9768)p 1144 1708 V 48 w(0.8879)p 1309 1708 V 48 w(0.6131)p 1474 1708 V 49 w(0.2482)p 1639 1708 V 48 w(0.0660)p 1804 1708 V 1969 1708 V 233 1710 1738 2 v 37 1768 2 60 v 232 1768 V 279 1750 a(Dijkstra)g(P)o(artition)p 648 1768 V 70 w(0.6250)p 813 1768 V 48 w(0.6250)p 978 1768 V 48 w(0.6250)p 1144 1768 V 48 w(0.6250)p 1309 1768 V 48 w(0.6250)p 1474 1768 V 49 w(0.6250)p 1639 1768 V 48 w(0.6250)p 1804 1768 V 1969 1768 V 233 1770 1738 2 v 37 1828 2 60 v 232 1828 V 291 1810 a(Dijkstra)h(P)o(arallel)p 648 1828 V 813 1828 V 978 1828 V 1144 1828 V 1309 1828 V 1474 1828 V 1639 1828 V 1804 1828 V 1238 w(0.6057)p 1969 1828 V 38 1830 1933 2 v 38 1840 V 37 1899 2 60 v 232 1899 V 309 1881 a(Flo)o(yd)f(Pip)q(eline)p 648 1899 V 101 w(1.0000)p 813 1899 V 48 w(1.0000)p 978 1899 V 48 w(1.0000)p 1144 1899 V 48 w(1.0000)p 1309 1899 V 48 w(0.9999)p 1474 1899 V 49 w(0.9999)p 1639 1899 V 48 w(0.9999)p 1804 1899 V 48 w(0.9999)p 1969 1899 V 233 1901 1738 2 v 37 1959 2 60 v 232 1959 V 258 1941 a(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)p 648 1959 V 51 w(0.9999)p 813 1959 V 48 w(0.9997)p 978 1959 V 48 w(0.9992)p 1144 1959 V 48 w(0.9979)p 1309 1959 V 48 w(0.9947)p 1474 1959 V 49 w(0.9867)p 1639 1959 V 48 w(0.9657)p 1804 1959 V 48 w(0.9094)p 1969 1959 V 233 1961 1738 2 v 37 2019 2 60 v 83 2001 a(65536)p 232 2019 V 128 w(Flo)o(yd)g(Strip)q(ed)p 648 2019 V 109 w(0.9998)p 813 2019 V 48 w(0.9990)p 978 2019 V 48 w(0.9941)p 1144 2019 V 48 w(0.9696)p 1309 2019 V 48 w(0.8645)p 1474 2019 V 49 w(0.5708)p 1639 2019 V 48 w(0.2218)p 1804 2019 V 48 w(0.0586)p 1969 2019 V 233 2021 1738 2 v 37 2079 2 60 v 232 2079 V 279 2061 a(Dijkstra)g(P)o(artition)p 648 2079 V 70 w(0.6250)p 813 2079 V 48 w(0.6250)p 978 2079 V 48 w(0.6250)p 1144 2079 V 48 w(0.6250)p 1309 2079 V 48 w(0.6250)p 1474 2079 V 49 w(0.6250)p 1639 2079 V 48 w(0.6250)p 1804 2079 V 48 w(0.6250)p 1969 2079 V 233 2080 1738 2 v 37 2139 2 60 v 232 2139 V 291 2121 a(Dijkstra)h(P)o(arallel)p 648 2139 V 813 2139 V 978 2139 V 1144 2139 V 1309 2139 V 1474 2139 V 1639 2139 V 1804 2139 V 1969 2139 V 38 2140 1933 2 v 38 2150 V 37 2210 2 60 v 232 2210 V 309 2192 a(Flo)o(yd)f(Pip)q(eline)p 648 2210 V 101 w(1.0000)p 813 2210 V 48 w(1.0000)p 978 2210 V 48 w(1.0000)p 1144 2210 V 48 w(1.0000)p 1309 2210 V 48 w(1.0000)p 1474 2210 V 49 w(1.0000)p 1639 2210 V 48 w(0.9999)p 1804 2210 V 48 w(0.9999)p 1969 2210 V 233 2212 1738 2 v 37 2270 2 60 v 232 2270 V 258 2252 a(Flo)o(yd)g(Chec)o(k) o(erb)q(oard)p 648 2270 V 51 w(0.9999)p 813 2270 V 48 w(0.9999)p 978 2270 V 48 w(0.9998)p 1144 2270 V 48 w(0.9995)p 1309 2270 V 48 w(0.9987)p 1474 2270 V 49 w(0.9969)p 1639 2270 V 48 w(0.9927)p 1804 2270 V 48 w(0.9823)p 1969 2270 V 233 2271 1738 2 v 37 2329 2 60 v 73 2312 a(262144)p 232 2329 V 117 w(Flo)o(yd)g(Strip)q(ed)p 648 2329 V 109 w(0.9999)p 813 2329 V 48 w(0.9997)p 978 2329 V 48 w(0.9985)p 1144 2329 V 48 w(0.9922)p 1309 2329 V 48 w(0.9623)p 1474 2329 V 49 w(0.8420)p 1639 2329 V 48 w(0.5331)p 1804 2329 V 48 w(0.1999)p 1969 2329 V 233 2331 1738 2 v 37 2389 2 60 v 232 2389 V 279 2371 a(Dijkstra)g(P)o(artition)p 648 2389 V 70 w(0.6250)p 813 2389 V 48 w(0.6250)p 978 2389 V 48 w(0.6250)p 1144 2389 V 48 w(0.6250)p 1309 2389 V 48 w(0.6250)p 1474 2389 V 49 w(0.6250)p 1639 2389 V 48 w(0.6250)p 1804 2389 V 48 w(0.6250)p 1969 2389 V 233 2391 1738 2 v 37 2449 2 60 v 232 2449 V 291 2431 a(Dijkstra)h(P)o(arallel)p 648 2449 V 813 2449 V 978 2449 V 1144 2449 V 1309 2449 V 1474 2449 V 1639 2449 V 1804 2449 V 1969 2449 V 38 2451 1933 2 v 38 2461 V 37 2520 2 60 v 232 2520 V 309 2502 a(Flo)o(yd)f(Pip)q(eline)p 648 2520 V 101 w(1.0000)p 813 2520 V 48 w(1.0000)p 978 2520 V 48 w(1.0000)p 1144 2520 V 48 w(1.0000)p 1309 2520 V 48 w(1.0000)p 1474 2520 V 49 w(1.0000)p 1639 2520 V 48 w(1.0000)p 1804 2520 V 48 w(1.0000)p 1969 2520 V 233 2522 1738 2 v 37 2580 2 60 v 232 2580 V 258 2562 a(Flo)o(yd)g(Chec)o(k) o(erb)q(oard)p 648 2580 V 51 w(0.9999)p 813 2580 V 48 w(0.9999)p 978 2580 V 48 w(0.9999)p 1144 2580 V 48 w(0.9998)p 1309 2580 V 48 w(0.9996)p 1474 2580 V 49 w(0.9992)p 1639 2580 V 48 w(0.9982)p 1804 2580 V 48 w(0.9959)p 1969 2580 V 233 2582 1738 2 v 37 2640 2 60 v 63 2622 a(1048576)p 232 2640 V 106 w(Flo)o(yd)g(Strip)q(ed)p 648 2640 V 109 w(0.9999)p 813 2640 V 48 w(0.9999)p 978 2640 V 48 w(0.9996)p 1144 2640 V 48 w(0.9980)p 1309 2640 V 48 w(0.9903)p 1474 2640 V 49 w(0.9552)p 1639 2640 V 48 w(0.8204)p 1804 2640 V 48 w(0.4999)p 1969 2640 V 233 2642 1738 2 v 37 2700 2 60 v 232 2700 V 279 2682 a(Dijkstra)g(P)o(artition)p 648 2700 V 70 w(0.6250)p 813 2700 V 48 w(0.6250)p 978 2700 V 48 w(0.6250)p 1144 2700 V 48 w(0.6250)p 1309 2700 V 48 w(0.6250)p 1474 2700 V 49 w(0.6250)p 1639 2700 V 48 w(0.6250)p 1804 2700 V 48 w(0.6250)p 1969 2700 V 233 2701 1738 2 v 37 2760 2 60 v 232 2760 V 291 2742 a(Dijkstra)h(P)o(arallel)p 648 2760 V 813 2760 V 978 2760 V 1144 2760 V 1309 2760 V 1474 2760 V 1639 2760 V 1804 2760 V 1969 2760 V 38 2761 1933 2 v 38 2771 V 0 2898 a Fp(T)l(able)h(2:)j (E\016ciencies)e(of)e(di\013eren)o(t)g(parallel)h(algorithms)f(for)f(a)g (range)h(of)f(input)i(size)g(and)f(n)o(um)o(b)q(er)g(of)f(pro)q(cessors)0 2966 y(on)i(a)g(mac)o(hine)h(with)g(relativ)o(ely)g(slo)o(w)f(comm)o (unication)h(tec)o(hnology)l(.)k Fn(t)1255 2973 y Fl(c)1285 2966 y Fp(=)13 b(1,)i Fn(t)1400 2973 y Fl(s)1431 2966 y Fp(=)e(50,)i(and)g Fn(t)1657 2973 y Fl(b)1687 2966 y Fp(=)e(1)p Fn(:)p Fp(0.)981 2936 y(18)p eop %%Page: 19 20 bop 0 136 a Fp(algorithms)19 b(\(Dijkstra)e(and)i(Flo)o(yd\))g(is)g(w)o (ell-kno)o(wn,)h(b)q(oth)f(theoretically)h(and)f(exp)q(erimen)o(tally)l(.)33 b(In)19 b(addition,)0 204 y(v)m(arious)11 b(researc)o(hers)g(ha)o(v)o(e)f (exp)q(erimen)o(tally)j(v)o(eri\014ed)f(the)e(expressions)i(for)e(comm)o (unication)i(dela)o(ys)f(that)f(are)g(used)0 272 y(for)15 b(the)h(v)m(arious) h(parallel)g(arc)o(hitectures)f(in)h(our)f(analysis.)22 b(Hence,)17 b(the)f(analytically)i(deriv)o(ed)f(execution)g(times)0 339 y(\(e\016ciencies\))f(w)o(ould)e(di\013er)h(from)e(the)h(exp)q(erimen)o (tally)i(deriv)o(ed)g(times)e(only)h(if)f(our)g(theoretical)h(deriv)m(ations) g(are)0 407 y(incorrect.)0 565 y Fq(13)69 b(Other)23 b(Metrics)e(for)j(P)n (arallel)d(Computation)0 678 y Fp(There)e(are)f(a)g(n)o(um)o(b)q(er)h(of)g (other)f(metrics)h(that)f(ha)o(v)o(e)g(b)q(een)i(used)f(b)o(y)f(v)m(arious)h (researc)o(hers)g(to)f(determine)h(ho)o(w)0 746 y(go)q(o)q(d)d(a)f(parallel)i (algorithm)f(is.)22 b(If)16 b(an)g(unlimited)i(n)o(um)o(b)q(er)e(of)f(pro)q (cessors)h(are)f(freely)h(a)o(v)m(ailable,)i(then)e(the)f(time)0 813 y(tak)o(en)h(b)o(y)f(a)h(parallel)i(algorithm)e(\(while)h(using)g(as)e (man)o(y)h(pro)q(cessors)f(as)h(p)q(ossible\))h(is)g(a)f(go)q(o)q(d)f (metric.)23 b(W)l(e)16 b(will)0 881 y(call)f(this)f(metric)g Fe(P)o(artime)p Fp(.)19 b(In)c(realit)o(y)l(,)f(pro)q(cessors)g(are)f(costly) l(,)h(and,)g(for)f(example,)i(it)f(is)g(unlik)o(ely)i(that)d(an)o(y)o(one)0 949 y(w)o(ould)h(w)o(an)o(t)f(to)h(use)g(a)g(10,000-pro)q(cessor)e(parallel)k (mac)o(hine)e(to)g(solv)o(e)g(the)g(all-pairs)i(shortest)d(path)h(problem)g (for)0 1017 y(a)h(100-no)q(de)g(graph.)k(Hence,)d(this)f(metric)h(is)f(not)g (v)o(ery)f(useful)i(when)g(the)f(parallel)i(algorithms)e(b)q(eing)h(compared) 0 1084 y(are)g(mean)o(t)g(to)g(run)h(on)f(practically)i(feasible)g(parallel)g (computers.)24 b(F)l(or)16 b(example,)h(P)o(artime)f(for)g(Chec)o(k)o(erb)q (oard)0 1152 y(v)o(ersion)g(of)f(Flo)o(yd's)f(algorithm)i(is)g(\002\()p Fn(n)699 1136 y Fk(2)719 1152 y Fp(\))f(for)g(the)g(Mesh,)g(Mesh-CT)g(and)h (Mesh-CT-MC)f(arc)o(hitectures.)21 b(\(This)0 1220 y(time)12 b(is)h(obtained)g(when)f(\002\()p Fn(n)522 1203 y Fk(2)542 1220 y Fp(\))g(pro)q(cessors)g(are)g(used.\))19 b(But)12 b(the)g(iso)q (e\016ciencies)j(of)d(this)g(algorithm)h(on)f(the)g(three)0 1288 y(arc)o(hitectures)19 b(are)f(v)o(ery)g(di\013eren)o(t)g(\(see)h(T)l (able)g(3\).)28 b(>F)l(rom)18 b(the)h(iso)q(e\016ciency)h(functions,)g(it)e (is)h(clear)g(that)f(the)0 1355 y(p)q(erformance)c(of)g(the)g(algorithm)g(on) g(the)h(Mesh-CT-MC)e(arc)o(hitecture)i(will)g(b)q(e)g(substan)o(tially)g(b)q (etter)g(than)f(that)0 1423 y(on)i(the)h(Mesh)f(arc)o(hitecture.)23 b(If)17 b(the)f(problem)h(size)g(gro)o(ws)e(as)h(\002\()p Fn(p)1190 1407 y Fk(3)1210 1423 y Fp(\))g(\(while)h Fn(p)f Fp(increases\),)h(then)f(on) h(Mesh,)f(the)0 1491 y(e\016ciency)h(will)h(merely)f(remain)f(constan)o(t,)f (whereas)h(on)g(Mesh-CT-MC)f(it)h(will)i(increase.)23 b(If)16 b(the)g(problem)h(size)0 1559 y(gro)o(ws)c(as)h(\002\()p Fn(p)258 1542 y Fk(2)p Fl(:)p Fk(25)323 1559 y Fp(\),)g(then)h(on)f(Mesh-CT-MC,)f(the) i(e\016ciency)h(will)g(remain)f(constan)o(t,)e(whereas)i(on)f(Mesh)g(it)h (will)0 1626 y(decrease.)22 b(Similarly)l(,)c(the)e(Source-parallel)i(v)o (ersion)d(of)h(Dijkstra's)e(algorithm)i(and)g(the)g(Chec)o(k)o(erb)q(oard)g (v)o(ersion)0 1694 y(of)i(Flo)o(yd's)f(algorithm)h(ha)o(v)o(e)g(\002\()p Fn(n)8 b Fp(log)g Fn(n)p Fp(\))18 b(as)g(their)g(P)o(artime)g(on)g(the)g(Cub) q(e)h(arc)o(hitecture)f(\(this)h(is)f(obtained)h(in)0 1762 y(eac)o(h)f(case)g(when)h(\002\()p Fn(n)406 1745 y Fk(2)426 1762 y Fp(\))f(pro)q(cessors)g(are)f(used\).)29 b(But)18 b(the)h (Source-parallel)h(v)o(ersion)e(of)g(Dijkstra's)f(algorithm)0 1830 y(has)d(a)g(b)q(etter)g(scalabilit)o(y)h(than)f(the)h(Chec)o(k)o(erb)q (oard)e(v)o(ersion)i(of)e(Flo)o(yd's)h(algorithm)g(on)g(the)g(Cub)q(e)h(arc)o (hitecture.)71 1897 y(Another)j(v)o(ery)f(widely)j(used)f(metric)f(is)h(the)f (PT-pro)q(duct)g(\(also)g(called)i(cost)d(in)i([2]\);)f(i.e.,)h(the)f(pro)q (duct)g(of)0 1965 y(the)g(run)g(time)h(of)e(the)h(parallel)i(algorithm)e(and) g(the)g(n)o(um)o(b)q(er)h(of)e(pro)q(cessors)h(used)h(b)o(y)f(it.)28 b(A)18 b(lo)o(w)o(er)g(b)q(ound)h(on)0 2033 y(the)h(PT-pro)q(duct)g(is)g(the) f(run)h(time)g(of)f(the)h(b)q(est)g(sequen)o(tial)g(algorithm)g(for)f (solving)h(the)g(same)f(problem.)34 b(A)0 2101 y(parallel)17 b(algorithm)e(is)h(called)g Fe(cost)i(optimal)f Fp(if)e(its)h(PT-pro)q(duct)f (is)h(equal)g(to)e(the)i(sequen)o(tial)g(run)f(time)h(of)f(the)0 2168 y(b)q(est)k(sequen)o(tial)h(algorithm.)30 b(The)19 b(PT-pro)q(duct)g(of) g(the)g(parallel)h(algorithms)f(considered)h(in)f(this)g(pap)q(er)h(can)0 2236 y(b)q(e)d(computed)g(for)f(t)o(w)o(o)g(cases:)22 b(\(i\))17 b(the)g(algorithms)f(use)h(as)g(man)o(y)f(pro)q(cessors)g(as)g(p)q(ossible)j (\(in)e(this)g(case,)g(T)f(of)0 2304 y(the)i(PT-pro)q(duct)f(is)h(iden)o (tical)i(to)d(P)o(artime\);)g(\(ii\))h(the)g(algorithms)f(use)h(few)o(er)f (pro)q(cessors)g(so)g(that)g(the)h(o)o(v)o(erall)0 2372 y(e\016ciency)k(is)f (high)g(and)g(th)o(us)f(the)g(sp)q(eedup)i(is)f(close)g(to)f(linear.)36 b(If)21 b(w)o(e)f(consider)i(the)e(PT-pro)q(duct)h(of)f(these)0 2439 y(algorithms)13 b(for)f(the)h(second)g(case,)g(then)g(it)g(turns)g(out)f (to)g(b)q(e)i(\002\()p Fn(n)1149 2423 y Fk(3)1169 2439 y Fp(\))e(for)g(all)i (of)e(them;)h(hence)h(the)f(metric)g(do)q(es)g(not)0 2507 y(o\013er)f(us)i (an)o(y)f(insigh)o(ts)h(in)o(to)f(the)g(relativ)o(e)h(merits)f(of)g(these)h (parallel)g(algorithm)g(and)f(arc)o(hitecture)h(com)o(binations.)0 2575 y(Let's)h(no)o(w)g(consider)h(the)f(usefulness)i(of)e(the)g(PT-pro)q (duct)g(for)g(the)g(\014rst)g(case.)71 2643 y(The)k(Source-P)o(artitioned)h (v)m(arian)o(t)g(of)e(Dijkstra's)h(algorithm)g(uses)h Fn(n)f Fp(pro)q(cessors,)h(and)f(\014nishes)i(in)f(\002\()p Fn(n)1970 2626 y Fk(2)1990 2643 y Fp(\))0 2710 y(time.)h(Hence,)16 b(the)f(PT-pro)q (duct)h(of)f(this)h(algorithm)f(is)h(\002\()p Fn(n)1072 2694 y Fk(3)1092 2710 y Fp(\))f(whic)o(h)h(is)g(ideal,)h(as)e(it)g(is)h(also)g (the)f(complexit)o(y)h(of)0 2778 y(the)g(sequen)o(tial)g(algorithm.)21 b(The)16 b(Source-P)o(arallel)h(v)m(arian)o(t)e(of)h(Dijkstra's)e(algorithm)h (uses)h Fn(n)1669 2762 y Fk(2)1705 2778 y Fp(pro)q(cessors,)f(and)981 2936 y(19)p eop %%Page: 20 21 bop 0 136 a Fp(\014nishes)17 b(in)g(\002\()p Fn(n)8 b Fp(log)g Fn(n)p Fp(\))15 b(time)h(for)g(Cub)q(e.)22 b(Hence,)16 b(the)g(PT-pro)q(duct) g(of)f(this)h(parallel)h(algorithm)f(is)g(\002\()p Fn(n)1856 120 y Fk(3)1884 136 y Fp(log)8 b Fn(n)p Fp(\),)0 204 y(whic)o(h)16 b(is)g(w)o(orse)e(than)h(that)f(for)g(the)i(Source-P)o(artitioned)f(v)m (arian)o(t.)20 b(It)15 b(should)h(b)q(e)g(clear)g(to)e(the)h(reader)g(that)g (the)0 272 y(Source-P)o(arallel)h(v)m(arian)o(t)e(has)g(a)g(m)o(uc)o(h)g(b)q (etter)g(scalabilit)o(y)i(than)e(the)g(Source-P)o(artitioned)h(v)m(arian)o (t,)f(and)g(y)o(et)g(the)0 339 y(PT-pro)q(duct)i(fails)g(to)f(capture)h (this.)21 b(In)16 b(fact,)f(the)h(reader)f(can)h(v)o(erify)f(that)g(the)h (PT-pro)q(duct)g(of)f(ev)o(ery)g(parallel)0 407 y(algorithm)g(and)f(arc)o (hitecture)h(com)o(bination)h(discussed)g(in)f(this)h(pap)q(er)f(is)g(no)f(b) q(etter)h(than)g(that)f(for)g(the)g(Source-)0 475 y(P)o(arallel)19 b(v)m(arian)o(t,)f(and)g(y)o(et)g(a)f(ma)s(jorit)o(y)g(of)g(them)h(are)g(b)q (etter)g(parallel)i(algorithms)d(than)h(the)g(Source-P)o(arallel)0 543 y(v)m(arian)o(t)e(\(in)g(the)g(sense)g(that)f(they)g(will)j(pro)o(vide)e (b)q(etter)g(sp)q(eedups)h(on)f(a)f(reasonable)h(set)f(of)h(problem)g (instances)0 610 y(and)i(arc)o(hitecture)f(sizes\).)28 b(The)17 b(PT-pro)q(duct)h(is)g(also)f(used)h(to)f(distinguish)j(b)q(et)o(w)o(een)d (the)h(parallel)h(algorithms)0 678 y(that)d(are)g(tied)h(according)g(to)f (the)h(P)o(artime)f(metric.)25 b(Again,)16 b(the)h(usefulness)h(of)e(this)h (is)g(limited)i(to)d(the)g(case)h(in)0 746 y(whic)o(h)f(as)f(man)o(y)g(pro)q (cessors)g(are)f(a)o(v)m(ailable)j(as)e(can)g(b)q(e)h(used)g(b)o(y)f(the)g (algorithm.)71 814 y(A)f(recen)o(tly)h(in)o(tro)q(duced)g(metric)g(that)f(is) g(useful)i(for)e(assessing)g(the)g(p)q(erformance)h(of)f(parallel)i (algorithms)e(on)0 881 y(practically)k(feasible)h(arc)o(hitectures)e(is)g Fe(Scaled)k(Sp)q(eedup)d Fp([10)o(].)25 b(This)17 b(metric)g(is)h(de\014ned)g (to)f(b)q(e)g(the)g(sp)q(eedup)0 949 y(obtained)g(when)f(the)g(problem)h (size)f(is)h(increased)g(linearly)g(with)g(the)f(n)o(um)o(b)q(er)g(of)f(pro)q (cessors.)22 b(There)16 b(is)h(a)e(close)0 1017 y(relation)21 b(b)q(et)o(w)o(een)g(this)g(metric)g(and)g(iso)q(e\016ciency)l(.)38 b(If)21 b(the)g(parallel)h(algorithms)e(under)i(consideration)f(ha)o(v)o(e)0 1084 y(linear)15 b(or)f(near-linear)i(iso)q(e\016ciency)g(functions,)f(then)g (the)f(scaled)h(sp)q(eedup)h(metric)f(pro)o(vides)g(results)f(v)o(ery)g (close)0 1152 y(to)k(those)g(of)g(iso)q(e\016ciency)j(analysis.)31 b(F)l(or)18 b(algorithms)g(with)h(m)o(uc)o(h)g(w)o(orse)e(iso)q (e\016ciencies,)22 b(this)d(metric)g(is)g(not)0 1220 y(necessarily)13 b(v)o(ery)f(useful.)20 b(F)l(or)11 b(example,)i(for)f(all)h(parallel)g (algorithms)f(considered)i(in)e(this)h(pap)q(er,)g(if)f(the)g(problem)0 1288 y(size)k(\(i.e.,)f Fn(T)217 1295 y Fl(e)235 1288 y Fp(\))f(is)i (increased)h(only)e(linearly)l(,)i(then)f(the)f(e\016ciency)i(b)q(ecomes)e(v) o(ery)g(p)q(o)q(or.)71 1355 y(The)h(concept)g(of)g(iso)q(e\016ciency)i (functions)f(is)g(related)f(to)g(the)g(concept)g(of)g(\\P)o(arallel)h (E\016cien)o(t")f(\()p Fe(PE)p Fp(\))g(prob-)0 1423 y(lems,)h(de\014ned)h(b)o (y)f(Krusk)m(al)h(et)f(al.[12)o(].)24 b Fe(PE)16 b Fp(class)i(of)e(problems)h (ha)o(v)o(e)g(algorithms)f(with)h(a)g(p)q(olynomial)h(iso)q(e\016-)0 1491 y(ciency)d(function)f(at)e(some)h(e\016ciency)l(.)21 b(The)14 b(class)f Fe(PE)h Fp(of)f(problems)g(mak)o(es)g(an)g(imp)q(ortan)o(t)g (delineation)j(b)q(et)o(w)o(een)0 1559 y(algorithms)k(with)g(p)q(olynomial)h (iso)q(e\016ciencies)i(and)d(those)f(with)h(ev)o(en)g(w)o(orse)f(iso)q (e\016ciencies.)36 b(Krusk)m(al)21 b(et)f(al.)0 1626 y(pro)o(v)o(e)h(the)g (in)o(v)m(ariance)h(of)f(the)g(class)h Fe(PE)f Fp(o)o(v)o(er)f(a)h(v)m(ariet) o(y)g(of)g(parallel)i(computation)e(mo)q(dels)h(and)f(in)o(tercon-)0 1694 y(nection)d(sc)o(hemes.)28 b(The)17 b(b)q(enev)o(olen)o(t)i(consequence) g(of)e(this)h(result)g(is)g(that)f(an)h(algorithm)f(with)h(a)f(p)q(olynomial) 0 1762 y(iso)q(e\016ciency)j(on)d(one)h(arc)o(hitecture)g(will)h(ha)o(v)o(e)e (a)g(p)q(olynomial)i(iso)q(e\016ciency)h(on)d(man)o(y)g(other)g(arc)o (hitectures)h(as)0 1830 y(w)o(ell.)31 b(But,)19 b(as)f(seen)h(in)g(this)g (pap)q(er,)h(iso)q(e\016ciency)g(functions)g(for)e(a)g(parallel)i(algorithm)e (can)h(v)m(ary)f(across)g(ar-)0 1897 y(c)o(hitectures)e(and)f(understanding)i (of)e(this)g(v)m(ariation)h(is)g(of)f(considerable)i(practical)f(imp)q (ortance.)k(Also,)15 b(parallel)0 1965 y(algorithms)20 b(whose)g(iso)q (e\016ciency)h(is)g(a)e(large)h(p)q(olynomial)i(are)d(no)h(go)q(o)q(d)g(in)h (practice.)34 b(Th)o(us)20 b(the)g(concept)g(of)0 2033 y(iso)q(e\016ciency)15 b(function)f(helps)h(us)e(in)h(further)f(dissecting)i(the)e Fe(PE)g Fp(class)h(of)e(problems.)20 b(It)13 b(helps)i(us)e(in)h(iden)o (tifying)0 2101 y(b)q(etter)h(algorithms)g(for)g(problems)h(in)g(the)f Fe(PE)g Fp(class,)g(in)i(terms)d(of)h(scalabilit)o(y)l(.)0 2259 y Fq(14)69 b(Discussion)0 2372 y Fp(The)17 b(scalabilit)o(y)h(analysis)g (of)e(v)m(arious)h(parallel)i(algorithms)d(for)h(solving)g(the)g(all-pairs)h (shortest-path)e(problem)0 2439 y(presen)o(ted)f(in)g(this)f(pap)q(er)h(giv)o (es)f(us)h(insigh)o(ts)g(in)o(to)f(the)g(usefulness)i(of)e(these)g (algorithms)g(for)g(practically)h(feasible)0 2507 y(parallel)20 b(computers.)30 b(In)19 b(particular,)g(it)g(helps)h(us)f(decide)h(whic)o(h)f (algorithm-arc)o(hitecture)g(com)o(binations)g(are)0 2575 y(sup)q(erior)d(to) f(others.)20 b(>F)l(rom)15 b(the)g(analysis,)h(w)o(e)f(can)h(also)f (determine)i(the)e(e\013ects)g(of)g(v)m(arious)h(arc)o(hitectural)g(fea-)0 2643 y(tures)e(on)g(the)g(p)q(erformance)g(of)f(the)h(parallel)i(algorithms.) j(As)14 b(discussed)h(b)q(elo)o(w,)g(for)e(some)h(parallel)h(algorithms,)0 2710 y(addition)h(of)f(certain)h(hardw)o(are)f(features)g(mak)o(es)g(a)g(ma)s (jor)f(impact)i(on)f(their)h(scalabilit)o(y)l(.)22 b(T)l(able)16 b(3)f(summarizes)0 2778 y(the)g(scalabilit)o(y)i(results)f(deriv)o(ed)g(in)g (this)g(pap)q(er)f(for)g(v)m(arious)h(com)o(binations)f(of)g(parallel)i (algorithms)e(and)g(arc)o(hi-)981 2936 y(20)p eop %%Page: 21 22 bop 216 146 1577 2 v 215 214 2 68 v 224 214 V 249 193 a Fe(Base)17 b(Alg.)p 492 214 V 50 w(P)o(arallel)h(V)l(arian)o(t)p 903 214 V 50 w(Arc)o(hitecture)p 1285 214 V 92 w(Iso)q(e\016ciency)p 1612 214 V 50 w(MOF)p 1783 214 V 1792 214 V 216 215 1577 2 v 215 283 2 68 v 224 283 V 249 263 a Fp(Dijkstra)p 492 283 V 107 w(Source-)p 903 283 V 265 w(SM,)d(Cub)q(e,)p 1285 283 V 169 w Fn(p)1333 246 y Fk(3)p 1612 283 V 1637 263 a Fn(p)p 1783 283 V 1792 283 V 215 351 V 224 351 V 492 351 V 518 331 a Fp(P)o(artitioned)p 903 351 V 187 w(Mesh,)g(Mesh-CT,)p 1285 351 V 1612 351 V 1783 351 V 1792 351 V 215 419 V 224 419 V 492 419 V 903 419 V 929 398 a(Mesh-CT-MC)p 1285 419 V 1612 419 V 1783 419 V 1792 419 V 216 420 1577 2 v 215 488 2 68 v 224 488 V 249 468 a(Dijkstra)p 492 488 V 107 w(Source-)p 903 488 V 265 w(SM,)g(Cub)q(e)p 1285 488 V 182 w(\()p Fn(p)8 b Fp(log)g Fn(p)p Fp(\))1466 451 y Fk(1)p Fl(:)p Fk(5)1512 468 y Fm(z)p 1612 488 V 105 w Fn(n)p 1783 488 V 1792 488 V 904 490 888 2 v 215 556 2 68 v 224 556 V 492 556 V 518 535 a Fp(P)o(arallel)p 903 556 V 261 w(Mesh,)15 b(Mesh-CT)p 1285 556 V 62 w Fn(p)1333 519 y Fk(1)p Fl(:)p Fk(8)p 1612 556 V 1637 535 a Fn(n)p 1783 556 V 1792 556 V 215 624 V 224 624 V 492 624 V 903 624 V 929 603 a Fp(Mesh-CT-MC)p 1285 624 V 1612 624 V 1783 624 V 1792 624 V 216 625 1577 2 v 215 693 2 68 v 224 693 V 249 673 a(Flo)o(yd)p 492 693 V 156 w(Strip)q(e)p 903 693 V 292 w(SM)p 1285 693 V 314 w Fn(p)1333 656 y Fk(3)p 1612 693 V 1637 673 a Fp(1)p 1783 693 V 1792 693 V 904 695 888 2 v 215 761 2 68 v 224 761 V 492 761 V 903 761 V 929 740 a(Cub)q(e)p 1285 761 V 277 w(\()p Fn(p)8 b Fp(log)g Fn(p)p Fp(\))1466 724 y Fk(3)p 1612 761 V 1637 740 a Fp(1)p 1783 761 V 1792 761 V 904 762 888 2 v 215 828 2 68 v 224 828 V 492 828 V 903 828 V 929 808 a(Mesh)p 1285 828 V 276 w Fn(p)1333 792 y Fk(4)p Fl(:)p Fk(5)p 1612 828 V 1637 808 a Fp(1)p 1783 828 V 1792 828 V 904 830 888 2 v 215 896 2 68 v 224 896 V 492 896 V 903 896 V 929 876 a(Mesh-CT)p 1285 896 V 195 w(\()p Fn(p)g Fp(log)g Fn(p)p Fp(\))1466 859 y Fk(3)p 1612 896 V 1637 876 a Fp(1)p 1783 896 V 1792 896 V 904 898 888 2 v 215 964 2 68 v 224 964 V 492 964 V 903 964 V 929 944 a(Mesh-CT-MC)p 1285 964 V 105 w Fn(p)1333 927 y Fk(3)p 1612 964 V 1637 944 a Fp(1)p 1783 964 V 1792 964 V 216 966 1577 2 v 215 1033 2 68 v 224 1033 V 249 1013 a(Flo)o(yd)p 492 1033 V 156 w(Chec)o(k)o(erb)q(oard)p 903 1033 V 138 w(SM)p 1285 1033 V 314 w Fn(p)1333 997 y Fk(1)p Fl(:)p Fk(5)p 1612 1033 V 1637 1013 a Fp(1)p 1783 1033 V 1792 1033 V 904 1035 888 2 v 215 1101 2 68 v 224 1101 V 492 1101 V 903 1101 V 929 1081 a(Cub)q(e)p 1285 1101 V 277 w Fn(p)1333 1064 y Fk(1)p Fl(:)p Fk(5)1380 1081 y Fp(\(log)g Fn(p)p Fp(\))1505 1064 y Fk(3)p 1612 1101 V 1637 1081 a Fp(1)p 1783 1101 V 1792 1101 V 904 1103 888 2 v 215 1169 2 68 v 224 1169 V 492 1169 V 903 1169 V 929 1149 a(Mesh)p 1285 1169 V 276 w Fn(p)1333 1132 y Fk(3)p 1612 1169 V 1637 1149 a Fp(1)p 1783 1169 V 1792 1169 V 904 1170 888 2 v 215 1237 2 68 v 224 1237 V 492 1237 V 903 1237 V 929 1216 a(Mesh-CT)p 1285 1237 V 195 w Fn(p)1333 1200 y Fk(2)p Fl(:)p Fk(25)p 1612 1237 V 1637 1216 a Fp(1)p 1783 1237 V 1792 1237 V 904 1238 888 2 v 215 1304 2 68 v 224 1304 V 492 1304 V 903 1304 V 929 1284 a(Mesh-CT-MC)p 1285 1304 V 105 w Fn(p)1333 1268 y Fk(2)p Fl(:)p Fk(25)p 1612 1304 V 1637 1284 a Fp(1)p 1783 1304 V 1792 1304 V 216 1306 1577 2 v 215 1374 2 68 v 224 1374 V 249 1353 a(Flo)o(yd)p 492 1374 V 156 w(Pip)q(elined)p 903 1374 V 228 w(SM,)15 b(Cub)q(e,)p 1285 1374 V 169 w Fn(p)1333 1337 y Fk(1)p Fl(:)p Fk(5)p 1612 1374 V 1637 1353 a Fp(1)p 1783 1374 V 1792 1374 V 215 1441 V 224 1441 V 492 1441 V 518 1421 a(Chec)o(k)o(erb)q(oard)p 903 1441 V 138 w(Mesh,)g(Mesh-CT,)p 1285 1441 V 1612 1441 V 1783 1441 V 1792 1441 V 215 1509 V 224 1509 V 492 1509 V 903 1509 V 929 1489 a(Mesh-CT-MC)p 1285 1509 V 1612 1509 V 1783 1509 V 1792 1509 V 216 1511 1577 2 v 0 1638 a(T)l(able)h(3:)j(Iso)q(e\016ciency)e(functions)e(and)g(memory)g (requiremen)o(ts)g(for)f(sev)o(eral)h(parallel)h(algorithm)f(and)g(arc)o (hitec-)0 1706 y(ture)g(com)o(binations.)0 1830 y(tectures.)23 b(En)o(tries)16 b(mark)o(ed)g(with)h(a)f Fm(z)g Fp(are)g(correct)g(within)h (a)f(double)i(log)e(factor.)22 b(Also,)16 b(all)i(expressions)f(are)f(\002)0 1898 y(expressions.)71 1966 y(>F)l(rom)j(T)l(able)h(3,)g(it)f(is)h(clear)g (that)f(Pip)q(elined)j(Chec)o(k)o(erb)q(oard)e(v)o(ersion)f(of)g(Flo)o(yd's)g (algorithm)h(has)f(b)q(etter)0 2033 y(scalabilit)o(y)j(than)e(all)h(other)f (parallel)i(algorithms)e(for)g(arc)o(hitectures)g(suc)o(h)h(as)f(Cub)q(e,)i (Mesh,)f(Mesh-CT,)f(and)0 2101 y(Mesh-CT-MC.)14 b(Ev)o(en)h(on)g(the)g(SM)g (arc)o(hitecture)g(\(whic)o(h)h(is)f(practically)i(unrealizable\),)f(only)g (one)f(other)g(paral-)0 2169 y(lel)h(algorithm)e(\(Chec)o(k)o(erb)q(oard)g(v) o(ersion)g(of)g(Flo)o(yd's)f(algorithm\))h(has)g(the)h(same)f(scalabilit)o(y) h(\(others)f(ha)o(v)o(e)g(w)o(orse)0 2237 y(scalabilit)o(y\).)22 b(Scalabilit)o(y)17 b(of)f(the)f(Chec)o(k)o(erb)q(oard)g(v)o(ersion)h(of)f (Flo)o(yd's)g(algorithm)h(on)f(Mesh)g(impro)o(v)o(es)h(substan-)0 2304 y(tially)g(b)o(y)f(the)g(addition)h(of)f(cut-through)g(routing)g(hardw)o (are.)k(Results)d(suc)o(h)f(as)g(these)g(can)g(b)q(e)h(v)o(ery)e(v)m(aluable) j(in)0 2372 y(deciding)g(whether)f(certain)f(features)g(are)g(w)o(orth)f (adding)i(to)f(the)g(parallel)i(hardw)o(are.)71 2440 y(Note)e(that)h(on)g (Cub)q(e,)g(the)g(iso)q(e\016ciency)i(function)f(of)f(Source-P)o(arallel)h(v) o(ersion)g(of)e(Dijkstra's)g(algorithm)h(is)0 2508 y(b)q(etter)e(than)f(that) g(of)g(Chec)o(k)o(erb)q(oard)h(v)o(ersion)g(of)f(Flo)o(yd's)g(algorithm.)20 b(It)13 b(follo)o(ws)h(that)f(the)h(\014rst)f(one)h(can)g(obtain)0 2575 y(higher)j(o)o(v)o(erall)g(sp)q(eedup)h(than)e(the)g(second)h(one)g (\(ev)o(en)f(when)h(the)f(sp)q(eedup)i(is)f(b)q(eing)h(computed)f(with)f (resp)q(ect)0 2643 y(to)f(sequen)o(tial)h(Flo)o(yd's)f(algorithm\))g(on)h(a)f (range)g(of)g(problem)h(sizes)g(and)g(pro)q(cessors.)k(This)c(analytically)h (driv)o(en)0 2711 y(observ)m(ation)d(is)g(v)m(alidated)h(b)o(y)e(our)g (theoretically)i(computed)f(p)q(erformance)g(estimates)f(in)h(T)l(ables)g(1)g (and)f(2.)19 b(Note)0 2779 y(that)13 b(a)h(similar)h(relationship)g(b)q(et)o (w)o(een)f(the)g(iso)q(e\016ciency)i(functions)f(and)f(p)q(erformance)g (results)g(exists)g(for)f(other)981 2936 y(21)p eop %%Page: 22 23 bop 0 136 a Fp(pairs)15 b(of)g(algorithm-arc)o(hitecture)h(com)o(binations)g (studied)g(in)g(this)g(pap)q(er.)71 204 y(It)k(is)g(often)g(incorrect)h(to)e (judge)h(the)h(merit)f(of)g(a)f(parallel)j(algorithm)e(from)f(sp)q(eedup)j (exp)q(erimen)o(ts)f(on)f(a)0 272 y(sample)f(of)f(problem)h(sizes)h(and)f(n)o (um)o(b)q(er)f(of)h(pro)q(cessors.)29 b(F)l(or)18 b(example,)i([11)o(])e (concluded)j(from)c(a)i(limited)h(set)0 339 y(of)d(exp)q(erimen)o(ts)h(that)f (Dijkstra)g(Source-P)o(arallel)h(is)g(b)q(etter)g(than)f(Flo)o(yd)g(Chec)o(k) o(erb)q(oard)g(for)g(large)h(n)o(um)o(b)q(er)f(of)0 407 y(pro)q(cessors.)34 b(Our)20 b(results)g(sho)o(w)g(that)f(this)h(is)h(true)e(only)i(for)e(mo)q (derate)h(n)o(um)o(b)q(er)g(of)g(pro)q(cessors.)33 b(Since)22 b(the)0 475 y(scalabilit)o(y)g(of)e(Dijkstra)f(Source-P)o(arallel)j(is)f(m)o (uc)o(h)f(w)o(orse)f(than)i(Flo)o(yd)f(Chec)o(k)o(erb)q(oard,)h(it)f(has)g(m) o(uc)o(h)h(w)o(orse)0 543 y(p)q(erformance)15 b(on)g(v)o(ery)g(large)h(n)o (um)o(b)q(er)f(of)g(pro)q(cessors.)71 610 y(A)e(table)g(suc)o(h)g(as)g(T)l (able)h(1)f(con)o(tains)g(all)h(the)f(information)g(needed)h(to)f(ev)m (aluate)g(the)h(p)q(erformance)f(of)f(parallel)0 678 y(algorithms)k(on)g(a)g (sp)q(eci\014c)i(arc)o(hitecture)f(with)g(sp)q(eci\014c)h(tec)o(hnology)e (dep)q(enden)o(t)i(constan)o(ts)d(\(e.g.,)g(CPU)h(sp)q(eed,)0 746 y(comm)o(unication)d(sp)q(eed\).)20 b(The)12 b(table)h(pro)o(vides)g(sp)q (eedup)g(obtained)g(b)o(y)g(the)f(parallel)i(algorithm)e(\(w.r.t.)17 b(the)c(b)q(est)0 814 y(a)o(v)m(ailable)i(sequen)o(tial)g(algorithm\))e(for)g (v)m(arious)h(com)o(binations)g(of)f(problem)h(sizes)g(and)g(n)o(um)o(b)q(er) g(of)f(pro)q(cessors.)19 b(If)0 881 y(suc)o(h)d(a)g(table)g(is)h(a)o(v)m (ailable)h(for)d(all)i(comp)q(eting)g(parallel)g(algorithms)f(for)f(the)h (giv)o(en)h(parallel)g(computer,)1866 865 y Fk(11)1919 881 y Fp(then)0 949 y(the)e(user)g(can)f(easily)i(c)o(ho)q(ose)f(the)f(b)q(est)h (parallel)h(algorithm)f(for)f(the)h(giv)o(en)g(problem)g(instance)h(that)e (needs)h(to)f(b)q(e)0 1017 y(solv)o(ed)i(on)f(a)g(giv)o(en)g(n)o(um)o(b)q(er) h(of)f(pro)q(cessors.)71 1084 y(Clearly)l(,)21 b(for)f(a)f(giv)o(en)i (parallel)g(computer)f(and)g(parallel)i(algorithm,)f(iso)q(e\016ciency)h (function)e(has)g(less)h(in-)0 1152 y(formation)d(than)g(suc)o(h)h(a)f (table;)i(the)f(iso)q(e\016ciency)i(function)e(can)g(b)q(e)g(computed)g(from) f(suc)o(h)g(a)h(table)g(but)f(not)0 1220 y(vice)k(v)o(ersa.)35 b(But)20 b(iso)q(e\016ciency)j(function)e(is)g(remark)m(ably)g(compact)g (compared)f(with)h(suc)o(h)g(a)f(table.)37 b(As)20 b(w)o(e)0 1288 y(see)c(in)g(Section)h(12,)d(algorithms)i(with)g(b)q(etter)f(iso)q (e\016ciency)j(function)e(outp)q(erform)f(the)h(other)f(algorithms)g(for)g(a) 0 1355 y(wide)h(range)f(of)g(com)o(binations)h(of)f(problem)h(sizes)g(and)g (n)o(um)o(b)q(er)f(of)g(pro)q(cessors.)20 b(In)c(particular,)g(if)g(one)f(w)o (an)o(ts)f(to)0 1423 y(mak)o(e)j(e\016cien)o(t)h(use)f(of)g(a)g(large)g(n)o (um)o(b)q(er)h(of)f(pro)q(cessors,)g(then)g(it)h(is)f(b)q(etter)h(to)e(use)i (an)f(algorithm)g(with)h(b)q(etter)0 1491 y(iso)q(e\016ciency)l(.)71 1559 y(The)e(en)o(tries)h(in)h(T)l(ables)f(1)f(and)h(2)f(can)h(c)o(hange)g (dramatically)g(if)g(the)g(tec)o(hnology)f(dep)q(enden)o(t)i(factors)e(\(suc) o(h)0 1626 y(as)i(CPU)h(sp)q(eed,)h(comm)o(unication)f(sp)q(eed\))g(c)o (hange.)30 b(\(The)19 b(reader)f(should)i(compare)e(the)h(en)o(tries)f(in)i (T)l(ables)f(1)0 1694 y(and)d(2.\))22 b(But)16 b(the)g(impact)h(of)e(suc)o(h) i(c)o(hanges)f(can)g(b)q(e)h(easily)g(predicted)h(from)d(the)h(iso)q (e\016ciency)i(functions.)23 b(F)l(or)0 1762 y(example,)13 b(consider)f(the)f(case)g(in)i(whic)o(h)f(the)f(ratio)887 1744 y Fl(t)900 1748 y Fh(w)p 887 1751 38 2 v 891 1778 a Fl(t)904 1782 y Fh(c)941 1762 y Fp(go)q(es)g(up)h(b)o(y)f(a)g(factor)f(of)h(10)g (\(due)g(to)g(impro)o(v)o(emen)o(ts)g(in)h(CPU)0 1830 y(tec)o(hnology\).)23 b(W)l(e)16 b(can)g(determine)h(from)f(the)g(iso)q(e\016ciency)i(analysis)f (in)g(Section)g(7)f(that)g(Flo)o(yd)g(Chec)o(k)o(erb)q(oard)0 1897 y(will)g(giv)o(e)f(similar)g(e\016ciency)h(on)e(problems)h(that)f(are)g (bigger)h(b)o(y)f(a)g(factor)f(of)h(10)1411 1881 y Fk(3)1430 1897 y Fp(.)20 b(W)l(e)14 b(can)h(also)f(determine)i(that)0 1965 y(for)c(Dijkstra's)f(Source)h(P)o(arallel)i(v)o(ersion,)e(suc)o(h)h(a)f (c)o(hange)g(will)i(ha)o(v)o(e)e(no)g(impact)g(whatso)q(ev)o(er)g(\(i.e.,)g (the)g(e\016ciency)0 2033 y(will)17 b(remain)f(the)f(same)g(for)f(eac)o(h)i (com)o(bination)f(of)g(problem)h(size)g(and)g(n)o(um)o(b)q(er)f(of)g(pro)q (cessors\).)71 2101 y(The)e(actual)h(e\016ciencies)i(are)d(dep)q(enden)o(t)i (up)q(on)f(suc)o(h)g(div)o(erse)g(factors)f(as)g(the)g(degree)h(of)f (concurrency)h(in)h(the)0 2168 y(parallel)j(algorithm)f(and)f(the)h(amoun)o (ts)f(of)g(comm)o(unication)h(and)g(sync)o(hronization)h(o)o(v)o(erheads)e (relativ)o(e)h(to)f(the)0 2236 y(rest)e(of)h(the)g(computation.)20 b(Iso)q(e\016ciency)c(function)g(is)f(a)g(useful)h(predictor)f(of)g(p)q (erformance)g(that)f(com)o(bines)i(the)0 2304 y(e\013ects)f(of)g(all)h(these) f(factors)f(in)i(a)f(single)i(expression.)71 2372 y(The)g(iso)q(e\016ciency)i (metric)f(primarily)g(tells)g(us)g(the)f(required)h(gro)o(wth)e(in)i(problem) g(size)g(to)e(b)q(e)i(able)g(to)f(e\016-)0 2439 y(cien)o(tly)d(utilize)h(an)e (increasing)h(n)o(um)o(b)q(er)g(of)e(pro)q(cessors.)19 b(If)13 b(the)g(problem)h(size)g(do)q(es)f(not)g(gro)o(w)e(as)i(rapidly)l(,)h(then)g (it)0 2507 y(is)i(clear)f(that)g(the)g(e\016ciency)i(will)g(drop.)i(But)d(in) g(t)o(w)o(o)e(di\013eren)o(t)h(parallel)i(algorithms,)d(the)i(e\016ciency)g (ma)o(y)f(drop)0 2575 y(at)e(di\013eren)o(t)g(rates)g(\(i.e.,)g(one)g (algorithm)g(ma)o(y)g(b)q(e)h(more)e(sensitiv)o(e)j(to)d(decreased)i(problem) g(size)g(than)g(the)f(other\).)0 2643 y(F)l(or)e(example,)i(assume)f(that)g (the)g(iso)q(e\016ciencies)i(of)e(t)o(w)o(o)f(parallel)i(algorithms)f(A1)g (and)g(A2)g(are)g(\002\()p Fn(p)1748 2626 y Fk(2)1767 2643 y Fp(\))g(and)g(\002\()p Fn(p)1958 2626 y Fk(3)1978 2643 y Fp(\),)0 2710 y(resp)q(ectiv)o(ely)l(.)21 b(Clearly)l(,)15 b(if)f(the)g(problem)h(size)g(is)f(increased)h(at)e(the)h(rate)g(b)q(et)o(w)o (een)g(\002\()p Fn(p)1519 2694 y Fk(2)1538 2710 y Fp(\))g(or)f(\002\()p Fn(p)1700 2694 y Fk(3)1720 2710 y Fp(\),)g(then)i(A1)e(will)p 0 2752 804 2 v 37 2786 a Fg(11)69 2802 y Fr(T)m(ables)h(1)f(and)h(2)f(are)g (eac)o(h)g(equal)h(to)f(5)g(tables,)h(one)g(for)e(eac)o(h)i(parallel)h (algorithm.)981 2936 y Fp(22)p eop %%Page: 23 24 bop 0 136 a Fp(outp)q(erform)17 b(A2)h(\(asymptotically\).)27 b(\(If)18 b(the)g(problem)g(size)h(is)f(increased)h(at)e(a)h(rate)f(faster)g (than)g(\002\()p Fn(p)1851 120 y Fk(3)1871 136 y Fp(\),)g(then)0 204 y(b)q(oth)d(algorithms)h(will)h(pro)o(vide)e(near-linear)i(sp)q(eedup,)g (hence)f(there)f(will)i(b)q(e)f(little)h(di\013erence)f(in)g(their)g(sp)q (eedup)0 272 y(p)q(erformance.\))k(But)c(if)g(the)f(problem)h(size)h(is)f (increased)g(at)f(a)g(rate)g(less)h(than)f(\002\()p Fn(p)1455 255 y Fk(2)1475 272 y Fp(\),)g(then)g(it)h(is)g(p)q(ossible)h(for)e(A2)0 339 y(to)i(outp)q(erform)g(A1,)g(pro)o(vided)h(A2)f(is)h(less)g(sensitiv)o(e) h(to)d(decreased)j(problem)f(size.)24 b(Therefore,)16 b(it)h(follo)o(ws)g (that)0 407 y(iso)q(e\016ciency)i(functions)e(of)f(A1)g(and)h(A2)f(indicate)i (the)f(sup)q(eriorit)o(y)g(of)f(A1)h(o)o(v)o(er)e(A2)i(only)g(when)g(problem) g(sizes)0 475 y(are)i(increased)h(in)g(the)f(range)f(b)q(et)o(w)o(een)i(the)f (t)o(w)o(o)e(iso)q(e\016ciency)k(functions.)32 b(As)19 b(a)g(corollary)l(,)h (if)g(the)f(di\013erence)0 543 y(b)q(et)o(w)o(een)d(the)h(iso)q(e\016ciency)h (functions)f(of)f(t)o(w)o(o)e(algorithms)j(is)f(wider,)h(there)f(is)h(a)f (wider)g(range)g(of)g(problem)h(size)0 610 y(and)e(arc)o(hitecture)h(size)g (com)o(binations)g(when)f(the)h(algorithm)f(with)g(sup)q(erior)h(iso)q (e\016ciency)i(dominates.)71 678 y(In)d(this)g(pap)q(er,)g(w)o(e)f(assumed)h (that)f(the)h(cost)f(matrix)g(is)h(a)o(v)m(ailable)i(at)d(eac)o(h)h(pro)q (cessor)f(b)q(efore)h(the)g(execution)0 746 y(starts.)25 b(If)17 b(the)g(cost)g(matrix)g(has)g(to)f(b)q(e)i(loaded)g(serially)h(from)d (outside)i(the)g(m)o(ulticomputer)f(or)g(from)g(a)g(single)0 814 y(pro)q(cessor)g(in)i(the)e(m)o(ulticomputer,)i(then)f(the)f(reader)h (can)g(v)o(erify)f(that)g(no)h(parallel)h(shortest)d(path)i(algorithm)0 881 y(has)c(iso)q(e\016ciency)i(b)q(etter)e(than)g(\002\()p Fn(p)644 865 y Fk(3)664 881 y Fp(\).)19 b(Ho)o(w)o(ev)o(er,)13 b(parallel)i(I/O)g(on)f(the)g(p)q(erimeter)h(of)e(the)i(mesh)f(or)f(ev)o(en)i (along)0 949 y(one)g(edge)h(will)h(remo)o(v)o(e)d(I/O)i(as)f(the)g(primary)g (b)q(ottlenec)o(k)h(for)f(scalabilit)o(y)l(.)71 1017 y(All)f(of)f(the)g (parallel)i(form)o(ulations)e(discussed)h(in)g(this)g(pap)q(er)f(could)i(use) e(at)g(most)f Fn(n)1534 1000 y Fk(2)1567 1017 y Fp(pro)q(cessors)h(to)f(solv) o(e)i(the)0 1084 y Fn(n)p Fp(-no)q(de)19 b(problem.)28 b(Hence,)19 b(due)g(to)e(degree)h(of)f(concurrency)l(,)i(none)g(of)e(them)h(could)h(ha)o (v)o(e)e(iso)q(e\016ciency)j(b)q(etter)0 1152 y(than)12 b(\002\()p Fn(p)179 1136 y Fk(1)p Fl(:)p Fk(5)226 1152 y Fp(\).)19 b(The)12 b(follo)o(wing)i(questions)e(need)i(to)d(b)q(e)i(in)o(v)o(estigated)g (further.)19 b(Is)13 b(it)f(p)q(ossible)i(to)e(deriv)o(e)h(a)f(parallel)0 1220 y(algorithm)i(that)e(has)i(b)q(etter)f(scalabilit)o(y)j(than)d(\002\()p Fn(p)909 1203 y Fk(1)p Fl(:)p Fk(5)956 1220 y Fp(\)?)20 b(What)13 b(is)h(the)f(lo)o(w)o(er)h(b)q(ound)g(on)f(iso)q(e\016ciency)j(functions)0 1288 y(for)f(the)g(shortest)f(path)h(problem)h(for)f(di\013eren)o(t)g (parallel)i(arc)o(hitectures?)0 1444 y Fq(Ac)n(kno)n(wledgemen)n(ts)0 1557 y Fp(W)l(e)e(w)o(ould)g(lik)o(e)g(to)f(thank)g(Ansh)o(ul)i(Gupta,)e (Anan)o(th)g(Grama,)f(and)i(Chris)g(T)l(omlinson)h(for)e(making)g(a)g(n)o(um) o(b)q(er)h(of)0 1625 y(useful)h(suggestions.)0 1782 y Fq(References)23 1894 y Fp([1])21 b(Alfred)j(V.)d(Aho,)j(John)f(E.)f(Hop)q(croft,)h(and)g (Je\013rey)f(D.)f(Ullman.)42 b Fo(Data)24 b(Structur)n(es)f(and)g(A)o (lgorithms)p Fp(.)93 1962 y(Computer)15 b(Science)i(and)f(Information)f(Pro)q (cessing.)g(Addison-W)l(esley)l(,)i(1983.)23 2064 y([2])k(S.)15 b(G.)g(Akl.)20 b Fo(The)c(Design)g(and)g(A)o(nalysis)f(of)h(Par)n(al)r(lel)f (A)o(lgorithms)p Fp(.)20 b(Pren)o(tice-Hall,)c(1989.)23 2166 y([3])21 b(D.)15 b(P)l(.)g(Bertsek)m(as)h(and)g(J.)f(N.)g(Tsitsiklis.)23 b Fo(Par)n(al)r(lel)16 b(and)g(Distribute)n(d)h(Computation:)22 b(Numeric)n(al)17 b(Metho)n(ds)p Fp(,)93 2234 y(c)o(hapter)e(4,)g(page)g (307.)k(Pren)o(tice)d(Hall,)g(1989.)23 2336 y([4])21 b(Stev)o(en)15 b(Bra)o(w)o(er.)i Fo(Intr)n(o)n(duction)d(to)i(Par)n(al)r(lel)e(Pr)n(o)n(gr)n (amming)p Fp(.)k(Academic)d(Press,)f(Inc.,)g(1250)f(Sixth)i(Av)o(en)o(ue,)93 2404 y(San)h(Diego,)f(CA)g(92101,)e(1989.)23 2506 y([5])21 b(Gregory)13 b(T.)g(Byrd,)h(Nakul)h(Saraiy)o(a,)e(and)h(Bruce)h(Delagi.)j (Multicast)c(Comm)o(unication)g(in)h(Multipro)q(cessor)93 2574 y(Systems.)h(In)e Fo(Pr)n(o)n(c)n(e)n(e)n(dings)e(of)i(the)h(1989)g (International)e(Confer)n(enc)n(e)f(on)i(Par)n(al)r(lel)f(Pr)n(o)n(c)n (essing)p Fp(,)e(pages)i(I{196)93 2641 y(to)i(I{200,)f(August)h(1989.)23 2743 y([6])21 b(William)e(J.)e(Dally)l(.)26 b Fo(A)17 b(VLSI)g(A)o(r)n(chite) n(ctur)n(e)g(for)h(Concurr)n(ent)f(Data)i(Structur)n(es)p Fp(.)25 b(PhD)16 b(thesis,)i(California)93 2811 y(Institute)e(of)f(T)l(ec)o(hnology)l (,)h(Marc)o(h)e(1986.)981 2936 y(23)p eop %%Page: 24 25 bop 23 136 a Fp([7])21 b(N.)d(Deo)g(and)h(C.)f(P)o(ang.)28 b(Shortest)18 b(path)g(algorithms)h(:)26 b(T)l(axonom)o(y)17 b(and)i(annotation.)28 b Fo(Networks)p Fp(,)19 b(pages)93 204 y(275{323,)13 b(1984.)23 305 y([8])21 b(N.)g(Deo,)g(C.Y.)f(P)o(ang,)h(and)f (R.E.)h(Lord.)36 b(Tw)o(o)20 b(parallel)i(algorithms)e(for)g(shortest)g(path) h(problems.)36 b(In)93 373 y Fo(Pr)n(o)n(c)n(e)n(e)n(dings)14 b(of)j(IEEE)e(International)g(Confer)n(enc)n(e)f(on)i(Par)n(al)r(lel)g(Pr)n (o)n(c)n(essing)p Fp(,)c(pages)j(244{253,)e(1980.)23 475 y([9])21 b(Ansh)o(ul)14 b(Gupta)e(and)h(Vipin)h(Kumar.)i(On)d(the)f(scalabilit)o(y)j (of)d(FFT)f(on)i(parallel)h(computers.)h(In)e Fo(Pr)n(o)n(c)n(e)n(e)n(dings) 93 542 y(of)18 b(the)f(F)m(r)n(ontiers)f(90)i(Confer)n(enc)n(e)d(on)i (Massively)f(Par)n(al)r(lel)h(Computation)p Fp(,)g(Octob)q(er)f(1990.)22 b(An)17 b(extended)93 610 y(v)o(ersion)j(of)g(the)g(pap)q(er)g(is)g(a)o(v)m (ailable)i(as)d(a)g(tec)o(hnical)j(rep)q(ort)d(from)g(the)h(Departmen)o(t)f (of)g(Computer)h(Sci-)93 678 y(ence,)c(and)g(as)e(TR)i(90-20)e(from)h(Arm)o (y)f(High)i(P)o(erformance)f(Computing)g(Researc)o(h)h(Cen)o(ter,)e(Univ)o (ersit)o(y)i(of)93 746 y(Minnesota,)f(Minneap)q(olis,)i(MN)e(55455.)0 847 y([10])21 b(John)d(L.)f(Gustafson.)24 b(Reev)m(aluating)19 b(Amdahl's)e(La)o(w.)25 b Fo(Communic)n(ations)17 b(of)h(the)h(A)o(CM)p Fp(,)c(31\(5\):532{533)o(,)93 915 y(1988.)0 1016 y([11])21 b(J.)15 b(Jenq)h(and)f(S.)g(Sahni.)21 b(All)16 b(P)o(airs)f(Shortest)g(P)o (aths)f(on)h(a)g(Hyp)q(ercub)q(e)h(Multipro)q(cessor.)k(In)c Fo(International)93 1084 y(Confer)n(enc)n(e)f(on)h(Par)n(al)r(lel)f(Pr)n(o)n (c)n(essing)p Fp(,)e(pages)i(713{716,)d(1987.)0 1186 y([12])21 b(Clyde)j(P)l(.)e(Krusk)m(al,)k(Larry)c(Rudolph,)k(and)d(Marc)f(Snir.)43 b(A)23 b(complexit)o(y)g(theory)g(of)f(e\016cien)o(t)h(parallel)93 1253 y(algorithms.)d(T)l(ec)o(hnical)d(Rep)q(ort)f(R)o(C13572,)d(IBM)j(TJ-W)l (atson)e(Researc)o(h)i(Cen)o(ter,)e(NY,)h(1988.)0 1355 y([13])21 b(Vipin)e(Kumar)f(and)f(Ansh)o(ul)h(Gupta.)26 b(Analyzing)18 b(the)f(scalabilit)o(y)i(of)e(parallel)i(algorithms)e(and)g(arc)o(hitec-)93 1423 y(tures:)24 b(A)18 b(surv)o(ey)l(.)25 b(In)18 b Fo(Pr)n(o)n(c)n(e)n(e)n (dings)e(of)i(the)h(1991)g(International)e(Confer)n(enc)n(e)f(on)i(Sup)n(er)n (c)n(omputing)p Fp(,)f(June)93 1490 y(1991.)0 1592 y([14])k(Vipin)14 b(Kumar)e(and)f(V.)h(N.)f(Rao.)j(Scalable)f(parallel)h(form)o(ulations)d(of)g (depth-\014rst)i(searc)o(h.)g(In)g(Vipin)g(Kumar,)93 1660 y(P)l(.)18 b(S.)g(Gopalakrishnan,)h(and)f(La)o(v)o(een)h(Kanal,)g(editors,)f Fo(Par)n(al)r(lel)g(A)o(lgorithms)h(for)g(Machine)f(Intel)r(ligenc)n(e)93 1727 y(and)f(Vision)p Fp(.)d(Springer-V)l(erlag,)i(New)f(Y)l(ork,)g(1990.)0 1829 y([15])21 b(Vipin)15 b(Kumar)d(and)g(V.)g(Nagesh)o(w)o(ara)f(Rao.)k(P)o (arallel)e(depth-\014rst)g(searc)o(h,)f(part)g(I)q(I:)h(Analysis.)j Fo(International)93 1897 y(Journal)h(of)f(Par)n(al)r(lel)g(Pr)n(o)n(gr)n (amming)p Fp(,)e(16)g(\(6\):501{519,)e(1987.)0 1998 y([16])21 b(Vipin)e(Kumar)e(and)g(V.)g(Nagesh)o(w)o(ara)e(Rao.)25 b(Load)17 b(balancing)h(on)f(the)g(h)o(yp)q(ercub)q(e)h(arc)o(hitecture.)25 b(In)18 b Fo(Pr)n(o-)93 2066 y(c)n(e)n(e)n(dings)e(of)h(the)h(1989)h(Confer)n (enc)n(e)c(on)i(Hyp)n(er)n(cub)n(es,)g(Concurr)n(ent)f(Computers)i(and)g (Applic)n(ations)p Fp(,)d(pages)93 2134 y(603{608,)e(1989.)0 2235 y([17])21 b(Vipin)15 b(Kumar)e(and)g(Vineet)h(Singh.)j(Scalabilit)o(y)e (of)d(P)o(arallel)i(Algorithms)f(for)f(the)h(All-P)o(airs)h(Shortest)f(P)o (ath)93 2303 y(Problem:)19 b(A)13 b(Summary)g(of)f(Results.)17 b(In)c Fo(Pr)n(o)n(c)n(e)n(e)n(dings)f(of)i(the)g(International)f(Confer)n (enc)n(e)f(on)h(Par)n(al)r(lel)h(Pr)n(o-)93 2371 y(c)n(essing)p Fp(,)f(1990.)k(Extended)e(v)o(ersion)g(a)o(v)m(ailable)h(as)e(a)g(tec)o (hnical)i(rep)q(ort)e(from)g(the)h(departmen)o(t)f(of)g(computer)93 2439 y(science,)j(Univ)o(ersit)o(y)f(of)e(Minnesota,)h(Minneap)q(olis,)i(MN)e (55455)f(and)h(as)g(MCC)g(TR)g(A)o(CT-OODS-058-90.)0 2540 y([18])21 b(Vipin)15 b(Kumar)e(and)g(Vineet)h(Singh.)j(Scalabilit)o(y)e(of)d(P)o (arallel)i(Algorithms)f(for)f(the)h(All-P)o(airs)h(Shortest)f(P)o(ath)93 2608 y(Problem.)27 b(T)l(ec)o(hnical)20 b(Rep)q(ort)e(A)o(CT-OODS-058-90)e (\(revised)i(Jan.)g(1991\),)e(MCC,)h(1990.)25 b(T)l(o)17 b(app)q(ear)h(in)93 2676 y(Journal)i(of)f(P)o(arallel)h(and)f(Distributed)h(Computing)f(\(Sp)q (ecial)i(Issue)e(on)g(Massiv)o(ely)g(P)o(arallel)h(Computa-)93 2743 y(tion.)15 b(A)g(shorter)g(v)o(ersion)g(app)q(eared)h(in)g(pro)q (ceedings)g(of)f(the)g(1990)f(In)o(ternational)h(Conference)h(on)f(P)o (arallel)93 2811 y(Pro)q(cessing.)981 2936 y(24)p eop %%Page: 25 26 bop 0 136 a Fp([19])21 b(Ric)o(hard)g(C.)e(P)o(aige)h(and)g(Clyde)h(P)l(.)e (Krusk)m(al.)35 b(P)o(arallel)21 b(Algorithms)f(for)f(Shortest)g(P)o(ath)g (Problems.)34 b(In)93 204 y Fo(Pr)n(o)n(c)n(e)n(e)n(dings)14 b(of)j(the)f(1989)h(International)e(Confer)n(enc)n(e)g(on)h(Par)n(al)r(lel)f (Pr)n(o)n(c)n(essing)p Fp(,)e(pages)i(14{19,)e(1985.)0 309 y([20])21 b(Mic)o(hael)16 b(J.)f(Quinn)h(and)f(Narsingh)h(Deo.)i(Data)c (structures)g(for)h(the)g(e\016cien)o(t)g(solution)h(of)e(graph)h(theoretic) 93 377 y(problems)g(on)f(tigh)o(tly-coupled)h(MIMD)f(computers.)j(In)d Fo(Pr)n(o)n(c)n(e)n(e)n(dings)f(of)i(International)f(Conf.)g(on)h(Par)n(al)r (lel)93 444 y(Pr)n(o)n(c)n(essing)p Fp(,)e(pages)i(431{438,)e(1984.)0 549 y([21])21 b(S.)f(Rank)m(a)h(and)f(S.)f(Sahni.)35 b Fo(Hyp)n(er)n(cub)n(e) 20 b(A)o(lgorithms)g(for)h(Image)g(Pr)n(o)n(c)n(essing)d(and)j(Pattern)f(R)n (e)n(c)n(o)n(gnition)p Fp(.)93 617 y(Springer-V)l(erlag,)d(New)e(Y)l(ork,)g (1990.)0 722 y([22])21 b(Vineet)e(Singh,)f(Vipin)h(Kumar,)f(Gul)g(Agha,)f (and)g(Chris)h(T)l(omlinson.)27 b(Scalabilit)o(y)19 b(of)e(parallel)i (sorting)e(on)93 790 y(mesh)i(m)o(ulticomputers.)28 b(In)19 b Fo(Pr)n(o)n(c)n(e)n(e)n(dings)d(of)j(the)g(Fifth)g(International)f(Par)n (al)r(lel)g(Pr)n(o)n(c)n(essingSymp)n(osium)p Fp(,)93 858 y(Marc)o(h)k(1991.) 40 b(Extended)23 b(v)o(ersion)g(a)o(v)m(ailable)h(as)e(a)g(tec)o(hnical)i (rep)q(ort)e(\(n)o(um)o(b)q(er)g(TR)h(90-45\))e(from)h(the)93 926 y(departmen)o(t)c(of)g(computer)g(science,)i(Univ)o(ersit)o(y)e(of)g (Minnesota,)g(Minneap)q(olis,)j(MN)d(55455,)f(and)h(as)g(TR)93 993 y(A)o(CT-SP)l(A-298-90)d(from)f(MCC,)g(Austin,)i(T)l(exas.)981 2936 y(25)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF