Subject: Proposal VI, First Revision, PostScript

From: L J Clarke <[email-masked]>
Date: Tue, 23 Mar 93 18:45:08 GMT

Here is PostScript for the revision of Proposal VI.  Please see my reply to  

Jim of today for an idea of what is changed.

I apologise that this is one hour later then I had previously announced.
         
LaTeX previously sent.

Best Wishes
Lyndon

----------------------------------------------------------------------

%!PS-Adobe-2.0
%%Creator: dvips 5.495 Copyright 1986, 1992 Radical Eye Software
%%Title: context-vi.dvi
%%CreationDate: Tue Mar 23 18:43:31 1993
%%Pages: 16
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%EndComments
%DVIPSCommandLine: dvips context-vi
%DVIPSSource:  TeX output 1993.03.23:1840
%%BeginProcSet: tex.pro
%!
/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}
B /TR{translate}N /isls false N /vsize 11 72 mul N /@rigin{isls{[0 1 -1 0 0 0]
concat}if 72 Resolution div 72 VResolution div neg scale isls{0 Resolution
vsize 72 div mul TR}if Resolution VResolution vsize -72 div 1 add mul TR
matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch
put setmatrix}N /@landscape{/isls true 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 /nn 0 N
/IE 0 N /ctr 0 N /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 /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 /E{pop nn dup definefont setfont}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 /ch-image{ch-data dup type
/stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N
/cp 0 N /G 0 N /sf 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 /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add
.99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage userdict
/eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}
if pop /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 65781.76 div /vsize X 65781.76
div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N
/ruley 0 N /v{/ruley X /rulex X V}B /V{}B /RV statusdict begin /product where{
pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4
getinterval(NeXT)eq or}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1
TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1
-.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{
gsave transform round exch round exch itransform moveto rulex 0 rlineto 0
ruley neg rlineto rulex neg 0 rlineto fill 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
/w{0 rmoveto}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 /x{0 S rmoveto}B /y{3 2 roll p a}B /bos{/SS save
N}B /eos{SS restore}B end
%%EndProcSet
TeXDict begin 39158280 55380996 1000 300 300
(/a/obsidian/disk/home/u36/lyndon/mpi/context-vi.dvi) @start
/Fa 1 79 df<07E01FC000E0060001700400017004000138040001380400021C0800021C080002
0E0800020E0800040710000407100004039000040390000801E0000801E0000800E0000800E000
18004000FE0040001A147F931A>78 D E /Fb 3 111 df<01FC00FF80001C001C00002E001800
002E001000002E001000002700100000470020000043002000004380200000438020000081C040
000081C040000081C040000080E040000100E08000010070800001007080000100708000020039
00000200390000020039000002001D000004001E000004000E000004000E00000C000E00001C00
040000FF80040000211C7E9B21>78 D<00FFFFE000F001C001C003800180070001000E0001001E
0002001C0002003800020070000000E0000001C0000003800000070000000F0000001E0000001C
0000003800000070020000E0040001C0040003800400070008000F0008000E0018001C00300038
0070007001E000FFFFE0001B1C7E9B1C>90 D<381F004E61804681C04701C08F01C08E01C00E01
C00E01C01C03801C03801C03801C0700380710380710380E10380E2070064030038014127E9119
>110 D E /Fc 46 123 df<03800007E0000FE0001E70001C70001C70001C70001C77E01CE7E0
1DE7E00FC7000F8E000F0E001E0E003F1C007F1C00739C00E3F800E1F800E0F1C0E0F1C071F9C0
7FFFC03F9F801E070013197F9816>38 D<00E001E0038007000E001C001C003800380070007000
7000E000E000E000E000E000E000E000E000E000700070007000380038001C001C000E00070003
8001E000E00B217A9C16>40 D<C000E000700038001C000E000E000700070003800380038001C0
01C001C001C001C001C001C001C001C0038003800380070007000E000E001C0038007000E000C0
000A217B9C16>I<387C7E7E3E0E1E1C78F060070B798416>44 D<7FFF00FFFF80FFFF80000000
000000000000000000000000FFFF80FFFF807FFF00110B7E9116>61 D<0FE03FF87FFCF01EF00E
F00E601E003C007800F001C0038003800380038003800300000000000000000003000780078003
000F197D9816>63 D<00E00001F00001F00001B00001B00003B80003B80003B800031800071C00
071C00071C00071C00071C000E0E000E0E000FFE000FFE001FFF001C07001C07001C07007F1FC0
FF1FE07F1FC013197F9816>65 D<01F18007FB800FFF801F0F803C0780380380700380700380F0
0000E00000E00000E00000E00000E00000E00000E00000F000007003807003803803803C07001F
0F000FFE0007FC0001F00011197E9816>67 D<7FF800FFFE007FFF001C0F001C07801C03C01C01
C01C01C01C01E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C01C01C03
C01C07801C0F807FFF00FFFE007FF8001319809816>I<7FFFC0FFFFC07FFFC01C01C01C01C01C
01C01C01C01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C001C00001C00E01C
00E01C00E01C00E01C00E07FFFE0FFFFE07FFFE013197F9816>I<03E30007FF000FFF001E1F00
3C0F00380700700700700700F00000E00000E00000E00000E00000E03F80E07FC0E03F80F00700
700700700700380F003C0F001E1F000FFF0007F70003E70012197E9816>71
D<FFFEFFFEFFFE0380038003800380038003800380038003800380038003800380038003800380
038003800380FFFEFFFEFFFE0F197D9816>73 D<7F0FE0FF8FF07F0FE01C07801C0F001C0E001C
1C001C3C001C78001CF0001CE0001DF0001FF0001FF8001F38001E1C001C1C001C0E001C0E001C
07001C07001C03807F07E0FF8FF07F07E01419809816>75 D<FFC000FFC000FFC0001C00001C00
001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00
401C00E01C00E01C00E01C00E0FFFFE0FFFFE0FFFFE013197F9816>I<FC07E0FE0FE0FE0FE03A
0B803B1B803B1B803B1B803B1B803B1B803BBB8039B38039B38039B38039B38039F38038E38038
E380380380380380380380380380380380FE0FE0FE0FE0FE0FE013197F9816>I<7E1FC0FF3FE0
7F1FC01D07001D87001D87001D87001DC7001DC7001CC7001CC7001CE7001CE7001CE7001C6700
1C67001C77001C77001C37001C37001C37001C17007F1F00FF9F007F0F0013197F9816>I<7FF8
00FFFE007FFF001C0F801C03801C03C01C01C01C01C01C01C01C03C01C03801C0F801FFF001FFE
001FF8001C00001C00001C00001C00001C00001C00001C00007F0000FF80007F000012197F9816
>80 D<7FE000FFF8007FFC001C1E001C0F001C07001C07001C07001C07001C0F001C1E001FFC00
1FF8001FFC001C1C001C0E001C0E001C0E001C0E001C0E201C0E701C0E707F07E0FF87E07F03C0
14197F9816>82 D<07E3001FFF003FFF00781F00F00700E00700E00700E00000F000007800003F
80001FF00007FC0000FE00000F00000700000380000380600380E00380E00700F80F00FFFE00FF
FC00C7F00011197E9816>I<7FFFE0FFFFE0FFFFE0E0E0E0E0E0E0E0E0E0E0E0E000E00000E000
00E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E000
07FC000FFE0007FC0013197F9816>I<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01
C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C00E03800E03
8007070007FF0003FE0000F8001519809816>I<FC07E0FE0FE0FC07E07001C07001C07001C030
018038038038038038038038E38039F38039F38039B38019B30019B30019B30019B30019B30019
B3001913001B1B000F1E000F1E000E0E0013197F9816>87 D<FE0FE0FF1FE0FE0FE01C07001C07
000E0E000E0E00071C00071C00071C0003B80003B80001F00001F00000E00000E00000E00000E0
0000E00000E00000E00000E00003F80007FC0003F80013197F9816>89 D<1FE0003FF0007FF800
783C00300E00000E00000E0003FE001FFE003E0E00700E00E00E00E00E00E00E00783E007FFFE0
3FE7E00F83E013127E9116>97 D<7E0000FE00007E00000E00000E00000E00000E00000E3E000E
FF000FFF800F83C00F00E00E00E00E00700E00700E00700E00700E00700E00700E00E00F01E00F
83C00FFF800EFF00063C001419809816>I<03F80FFC1FFE3C1E780C7000E000E000E000E000E0
00F000700778073E0E1FFC0FF803F010127D9116>I<003F00007F00003F000007000007000007
0000070003C7000FF7001FFF003C1F00780F00700700E00700E00700E00700E00700E00700E007
00700F00700F003C1F001FFFE00FE7F007C7E014197F9816>I<03E00FF81FFC3C1E780E7007E0
07FFFFFFFFFFFFE000E000700778073C0F1FFE0FFC03F010127D9116>I<001F00007F8000FF80
01E78001C30001C00001C0007FFF00FFFF00FFFF0001C00001C00001C00001C00001C00001C000
01C00001C00001C00001C00001C00001C0003FFE007FFF003FFE0011197F9816>I<03E3C007F7
E00FFFE01C1CC0380E00380E00380E00380E00380E001C1C000FF8001FF0001BE0003800001800
001FFC001FFF003FFF807803C0E000E0E000E0E000E0E000E07001C07C07C03FFF800FFE0003F8
00131C7F9116>I<018003C003C0018000000000000000007FC07FC07FC001C001C001C001C001
C001C001C001C001C001C001C001C07FFFFFFF7FFF101A7D9916>105 D<7E0000FE00007E0000
0E00000E00000E00000E00000E7FE00E7FE00E7FE00E0F000E1E000E3C000E78000EF0000FF000
0FF8000FBC000F1E000E0E000E07000E07807F87F0FFCFF07F87F01419809816>107
D<FFC000FFC000FFC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0
0001C00001C00001C00001C00001C00001C00001C00001C00001C000FFFF80FFFF80FFFF801119
7E9816>I<F9C380FFEFC0FFFFE03C78E03C78E03870E03870E03870E03870E03870E03870E038
70E03870E03870E03870E0FE7CF8FE7CF8FE3C781512809116>I<7E3C00FEFE007FFF000F8780
0F03800E03800E03800E03800E03800E03800E03800E03800E03800E03800E03807FC7F0FFE7F8
7FC7F01512809116>I<03E0000FF8001FFC003C1E00780F00700700E00380E00380E00380E003
80E00380F00780700700780F003C1E001FFC000FF80003E00011127E9116>I<7E3E00FEFF007F
FF800F83C00F00E00E00E00E00700E00700E00700E00700E00700E00700E00E00F01E00F83C00F
FF800EFF000E3C000E00000E00000E00000E00000E00000E00007FC000FFE0007FC000141B8091
16>I<FF0FC0FF3FE0FF7FE007F04007C000078000078000070000070000070000070000070000
070000070000070000FFFC00FFFC00FFFC0013127F9116>114 D<0FEC3FFC7FFCF03CE01CE01C
70007F801FF007F8003C600EE00EF00EF81EFFFCFFF8C7E00F127D9116>I<0300000700000700
000700000700007FFF00FFFF00FFFF000700000700000700000700000700000700000700000701
0007038007038007038007870003FE0001FC0000F80011177F9616>I<7E1F80FE3F807E1F800E
03800E03800E03800E03800E03800E03800E03800E03800E03800E03800E03800E0F800FFFF007
FBF803E3F01512809116>I<7F1FC0FF1FE07F1FC01C07001E0F000E0E000E0E000E0E00071C00
071C00071C00071C0003B80003B80003B80001F00001F00000E00013127F9116>I<FF1FE0FFBF
E0FF1FE038038038038038038038038038E38019F30019F30019B3001DB7001DB7001DB7001DB7
000F1E000F1E000F1E0013127F9116>I<7F1FC07F3FC07F1FC00F1C00073C0003B80003F00001
F00000E00001E00001F00003B800073C00071C000E0E007F1FC0FF3FE07F1FC013127F9116>I<
7F1FC0FF9FE07F1FC01C07000E07000E0E000E0E00070E00071C00071C00039C00039C00039800
01B80001B80000F00000F00000F00000E00000E00000E00001C00079C0007BC0007F80003F0000
3C0000131B7F9116>I<3FFFC07FFFC07FFFC0700780700F00701E00003C0000780001F00003E0
000780000F00001E01C03C01C07801C0FFFFC0FFFFC0FFFFC012127F9116>I
E /Fd 27 123 df<0001FC000703000C03001C07001C0300180000380000380000380000380000
700007FFFC00701C00701C00701C00E03800E03800E03800E03800E07001C07001C07001C07001
C0E201C0E201C0E20380E4038064038038038000030000070000060000C60000E40000CC000070
00001825819C17>12 D<00C001E001E001E001C003C003C0038003800380030007000700060006
00060004000C000C00080008000000000000000000000030007800F00060000B1E7C9D0D>33
D<01FFC0003C0000380000380000380000380000700000700000700000700000E00000E00000E0
0000E00001C00001C00001C00001C0000380000380000380000380000700000700000700000700
000F0000FFE000121C7E9B10>73 D<003F80007F00000300000300000300000600000600000600
000600000C00000C00000C00000C00001800001800001800001800003000003000003000003000
00600000600000600000600000C00000C00000C00000C000018000018000018000018000030000
030000030000030000060000060000FE0000FE00001129819E0D>93 D<03CC063C0C3C181C3838
303870387038E070E070E070E070E0E2C0E2C0E261E462643C380F127B9115>97
D<3F00070007000E000E000E000E001C001C001C001C0039C03E60383038307038703870387038
E070E070E070E060E0E0C0C0C1C0618063003C000D1D7B9C13>I<01F007080C08181C38383000
70007000E000E000E000E000E000E008E010602030C01F000E127B9113>I<001F800003800003
80000700000700000700000700000E00000E00000E00000E0003DC00063C000C3C00181C003838
00303800703800703800E07000E07000E07000E07000E0E200C0E200C0E20061E4006264003C38
00111D7B9C15>I<01E007100C1018083810701070607F80E000E000E000E000E000E008601060
2030C01F000D127B9113>I<0003C0000670000C70001C60001C00001C00003800003800003800
00380000380003FF8000700000700000700000700000700000E00000E00000E00000E00000E000
01C00001C00001C00001C00001C000038000038000038000030000030000070000C60000E60000
CC00007800001425819C0D>I<00F3018F030F06070E0E0C0E1C0E1C0E381C381C381C381C3838
30383038187818F00F700070007000E000E0C0C0E1C0C3007E00101A7D9113>I<0FC00001C000
01C0000380000380000380000380000700000700000700000700000E78000E8C000F0E000E0E00
1C0E001C0E001C0E001C0E00381C00381C00381C00383800703880703880707080707100E03200
601C00111D7D9C15>I<01800380010000000000000000000000000000001C002600470047008E
008E000E001C001C001C0038003800710071007100720072003C00091C7C9B0D>I<0FC00001C0
0001C0000380000380000380000380000700000700000700000700000E0F000E11000E23800E43
801C83001C80001D00001E00003F800039C00038E00038E00070E20070E20070E20070E400E064
00603800111D7D9C13>107 D<1F800380038007000700070007000E000E000E000E001C001C00
1C001C0038003800380038007000700070007000E400E400E400E40068003800091D7C9C0B>I<
3C1E0780266318C04683A0E04703C0E08E0380E08E0380E00E0380E00E0380E01C0701C01C0701
C01C0701C01C070380380E0388380E0388380E0708380E0710701C0320300C01C01D127C9122>
I<3C3C002646004687004707008E07008E07000E07000E07001C0E001C0E001C0E001C1C00381C
40381C40383840383880701900300E0012127C9117>I<01E007180C0C180C380C300E700E700E
E01CE01CE01CE018E038E030E06060C031801E000F127B9115>I<07870004D98008E0C008E0C0
11C0E011C0E001C0E001C0E00381C00381C00381C00381800703800703000707000706000E8C00
0E70000E00000E00001C00001C00001C00001C00003C0000FF8000131A7F9115>I<3C3C26C246
8747078E068E000E000E001C001C001C001C0038003800380038007000300010127C9112>114
D<01F006080C080C1C18181C001F001FC00FF007F0007800386030E030C030806060C01F000E12
7D9111>I<00C001C001C001C00380038003800380FFE00700070007000E000E000E000E001C00
1C001C001C00384038403840388019000E000B1A7D990E>I<1E0300270700470700470700870E
00870E000E0E000E0E001C1C001C1C001C1C001C1C003838803838801838801839001C5900078E
0011127C9116>I<1E06270E470E4706870287020E020E021C041C041C041C0818083808181018
200C4007800F127C9113>I<1E01832703874703874703838707018707010E07010E07011C0E02
1C0E021C0E021C0E04180C04181C04181C081C1C100C263007C3C018127C911C>I<070E001991
0010E38020E38041C30041C00001C00001C000038000038000038000038000070200670200E704
00CB04008B080070F00011127D9113>I<038207C20FEC08381008001000200040008001000200
040008081008383067F043E081C00F127D9111>122 D E /Fe 39 122 df<003C000000E30000
01C1000003C18000038180000781800007C1800007C3000007C2000007C4000007C8000003F001
FF03E001FF03E0003003F0006001F000C003F800C004FC01801CFC0300387E0300783F0600781F
8C00F81FD800F80FF000FC07F0067C01F8067E07FE1C1FFE3FF807F007F0201D7E9C25>38
D<78FCFCFCFC7800000000000078FCFCFCFC7806127D910D>58 D<00038000000380000007C000
0007C0000007C000000FE000000FE000001FF000001BF000001BF0000031F8000031F8000061FC
000060FC0000E0FE0000C07E0000C07E0001803F0001FFFF0003FFFF8003001F8003001F800600
0FC006000FC00E000FE00C0007E0FFC07FFEFFC07FFE1F1C7E9B24>65 D<001FE02000FFF8E003
F80FE007C003E00F8001E01F0000E03E0000E03E0000607E0000607C000060FC000000FC000000
FC000000FC000000FC000000FC000000FC000000FC0000007C0000607E0000603E0000603E0000
C01F0000C00F80018007C0030003F80E0000FFFC00001FE0001B1C7D9B22>67
D<FFFFF800FFFFFF000FC01FC00FC007E00FC001F00FC001F80FC000F80FC000FC0FC0007C0FC0
007C0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007E0FC0007C0F
C0007C0FC0007C0FC000F80FC000F80FC001F00FC007E00FC01FC0FFFFFF00FFFFF8001F1C7E9B
25>I<FFFFFF00FFFFFF000FC01F000FC007000FC003000FC003800FC003800FC001800FC18180
0FC181800FC180000FC180000FC380000FFF80000FFF80000FC380000FC180000FC180000FC180
000FC180000FC000000FC000000FC000000FC000000FC000000FC00000FFFF0000FFFF0000191C
7E9B1E>70 D<000FF008007FFE3801FC07F807E001F80F8000781F0000783F0000383E0000387E
0000187C000018FC000000FC000000FC000000FC000000FC000000FC000000FC007FFFFC007FFF
7C0001F87E0001F83E0001F83F0001F81F0001F80F8001F807E001F801FC07F8007FFE78000FF8
18201C7D9B26>I<FFFFFFFF07E007E007E007E007E007E007E007E007E007E007E007E007E007
E007E007E007E007E007E007E007E007E007E007E0FFFFFFFF101C7F9B12>73
D<FFC00003FFFFE00007FF0FE00007F00DF0000DF00DF0000DF00DF0000DF00CF80019F00CF800
19F00C7C0031F00C7C0031F00C3E0061F00C3E0061F00C1F00C1F00C1F00C1F00C1F00C1F00C0F
8181F00C0F8181F00C07C301F00C07C301F00C03E601F00C03E601F00C01FC01F00C01FC01F00C
01FC01F00C00F801F00C00F801F0FFC0701FFFFFC0701FFF281C7E9B2D>77
D<FFE003FFFFE003FF0FF000300FF800300DFC00300CFE00300C7E00300C3F00300C1F80300C1F
C0300C0FE0300C07F0300C03F0300C01F8300C01FC300C00FE300C007F300C003F300C001FB00C
001FF00C000FF00C0007F00C0003F00C0001F00C0000F00C0000F0FFC00070FFC00030201C7E9B
25>I<003FE00001F07C0003C01E000F800F801F0007C01E0003C03E0003E07E0003F07C0001F0
7C0001F0FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F87C0001
F07E0003F07E0003F03E0003E03F0007E01F0007C00F800F8003C01E0001F07C00003FE0001D1C
7D9B24>I<FFFFF800FFFFFE000FC03F800FC00F800FC007C00FC007E00FC007E00FC007E00FC0
07E00FC007E00FC007C00FC007C00FC00F800FC03F000FFFFC000FC000000FC000000FC000000F
C000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000FFFC0000FFFC0000
1B1C7E9B21>I<FFFFF00000FFFFFE00000FC03F00000FC00F80000FC007C0000FC007E0000FC0
07E0000FC007E0000FC007E0000FC007E0000FC007C0000FC00F80000FC03E00000FFFF000000F
C07C00000FC03E00000FC03F00000FC01F80000FC01F80000FC01F80000FC01F80000FC01F8000
0FC01F80000FC01F81800FC01F81800FC00FC180FFFC07C300FFFC01FE00211C7E9B24>82
D<07F8201FFEE03C07E07801E07000E0F000E0F00060F00060F80000FE0000FFE0007FFE003FFF
003FFF800FFFC007FFE0007FE00003F00001F00000F0C000F0C000F0C000E0E000E0F001C0FC03
C0EFFF0083FC00141C7D9B1B>I<7FFFFFE07FFFFFE0781F81E0701F80E0601F8060E01F8070C0
1F8030C01F8030C01F8030C01F8030001F8000001F8000001F8000001F8000001F8000001F8000
001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F80
0007FFFE0007FFFE001C1C7E9B21>I<FFFC03FFFFFC03FF0FC000300FC000300FC000300FC000
300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC0
00300FC000300FC000300FC000300FC000300FC0003007C0003007C0006003E000E001F001C000
FC0780007FFE00000FF800201C7E9B25>I<0FF8001C1E003E0F803E07803E07C01C07C00007C0
007FC007E7C01F07C03C07C07C07C0F807C0F807C0F807C0780BC03E13F80FE1F815127F9117>
97 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F3F80
1FE1E01F80701F00781F003C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F003C
1F00781F80701EC1E01C3F00171D7F9C1B>I<03FC000E0E001C1F003C1F00781F00780E00F800
00F80000F80000F80000F80000F800007800007801803C01801C03000E0E0003F80011127E9115
>I<000FF0000FF00001F00001F00001F00001F00001F00001F00001F00001F00001F001F9F00F
07F01C03F03C01F07801F07801F0F801F0F801F0F801F0F801F0F801F0F801F07801F07801F03C
01F01C03F00F0FFE03F9FE171D7E9C1B>I<01FC000F07001C03803C01C07801C07801E0F801E0
F801E0FFFFE0F80000F80000F800007800007C00603C00601E00C00F038001FC0013127F9116>
I<007F0001E38003C7C00787C00F87C00F83800F80000F80000F80000F80000F8000FFF800FFF8
000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80
000F80007FF8007FF800121D809C0F>I<03F8F00E0F381E0F381C07303C07803C07803C07803C
07801C07001E0F000E0E001BF8001000001800001800001FFF001FFFC00FFFE01FFFF07801F8F0
0078F00078F000787000707800F01E03C007FF00151B7F9118>I<FF0000FF00001F00001F0000
1F00001F00001F00001F00001F00001F00001F00001F0FC01F31E01F40F01F80F81F80F81F00F8
1F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF181D7F
9C1B>I<1E003F003F003F003F001E00000000000000000000000000FF00FF001F001F001F001F
001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B1E7F9D0E>I<FF0000FF00001F
00001F00001F00001F00001F00001F00001F00001F00001F00001F0FF81F0FF81F03801F07001F
0C001F18001F70001FF8001FFC001FBC001F3E001F1F001F0F001F0F801F07C01F03E0FFC7FCFF
C7FC161D7F9C19>107 D<FF00FF001F001F001F001F001F001F001F001F001F001F001F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B1D7F9C0E>I<FF0F
C07E00FF31E18F001F40F207801F80FC07C01F80FC07C01F00F807C01F00F807C01F00F807C01F
00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C0
FFE7FF3FF8FFE7FF3FF825127F9128>I<FF0FC0FF31E01F40F01F80F81F80F81F00F81F00F81F
00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F8FFE7FFFFE7FF18127F911B>I<
01FC000F07801C01C03C01E07800F07800F0F800F8F800F8F800F8F800F8F800F8F800F87800F0
7800F03C01E01E03C00F078001FC0015127F9118>I<FF3F80FFE1E01F80F01F00781F007C1F00
3C1F003E1F003E1F003E1F003E1F003E1F003E1F003C1F007C1F00781F80F01FC1E01F3F001F00
001F00001F00001F00001F00001F0000FFE000FFE000171A7F911B>I<FE3E00FE47001E8F801E
8F801E8F801F07001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0000FF
F000FFF00011127F9114>114 D<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC0
1CC01CE01CE018F830CFC00E127E9113>I<0300030003000300070007000F000F003FFCFFFC1F
001F001F001F001F001F001F001F001F001F0C1F0C1F0C1F0C0F08079803F00E1A7F9913>I<FF
07F8FF07F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F
00F81F01F80F01F80786FF01F8FF18127F911B>I<FFC1FCFFC1FC1F00601F80E00F80C00FC0C0
07C18007C18003E30003E30001F60001F60001FE0000FC0000FC0000780000780000300016127F
9119>I<FF8FF8FEFF8FF8FE1F03E0301F03E0301F83E0700F83F0600F86F06007C6F0C007CEF8
C007EC79C003EC7D8003F83D8001F83F0001F83F0001F01F0000F01E0000E00E0000E00E001F12
7F9122>I<FFC7FCFFC7FC1F81800F838007C70003EE0001FC0001F80000F800007C0000FE0001
DF00039F00070F800607C00C03E0FF07FCFF07FC16127F9119>I<FFC1FCFFC1FC1F00601F80E0
0F80C00FC0C007C18007C18003E30003E30001F70001F60000FE0000FC0000FC00007800007800
003000003000007000706000F86000F8C000F980007300003E0000161A7F9119>I
E /Ff 28 121 df<FFFCFFFCFFFCFFFC0E047F8C13>45 D<387CFEFEFE7C3807077C8610>I<00
180000780001F800FFF800FFF80001F80001F80001F80001F80001F80001F80001F80001F80001
F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
F80001F80001F80001F8007FFFE07FFFE013207C9F1C>49 D<03FC000FFF003C1FC07007E07C07
F0FE03F0FE03F8FE03F8FE01F87C01F83803F80003F80003F00003F00007E00007C0000F80001F
00003E0000380000700000E01801C0180380180700180E00380FFFF01FFFF03FFFF07FFFF0FFFF
F0FFFFF015207D9F1C>I<00FE0007FFC00F07E01E03F03F03F03F81F83F81F83F81F81F03F81F
03F00003F00003E00007C0001F8001FE0001FF000007C00001F00001F80000FC0000FC3C00FE7E
00FEFF00FEFF00FEFF00FEFF00FC7E01FC7801F81E07F00FFFC001FE0017207E9F1C>I<0000E0
0001E00003E00003E00007E0000FE0001FE0001FE00037E00077E000E7E001C7E00187E00307E0
0707E00E07E00C07E01807E03807E07007E0E007E0FFFFFEFFFFFE0007E00007E00007E00007E0
0007E00007E00007E000FFFE00FFFE17207E9F1C>I<1000201E01E01FFFC01FFF801FFF001FFE
001FF8001BC00018000018000018000018000019FC001FFF001E0FC01807E01803E00003F00003
F00003F80003F83803F87C03F8FE03F8FE03F8FC03F0FC03F07007E03007C01C1F800FFF0003F8
0015207D9F1C>I<0003FE0080001FFF818000FF01E38001F8003F8003E0001F8007C0000F800F
800007801F800007803F000003803F000003807F000001807E000001807E00000180FE00000000
FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000007E000000
007E000001807F000001803F000001803F000003801F800003000F8000030007C000060003F000
0C0001F800380000FF00F000001FFFC0000003FE000021227DA128>67 D<FFFFFF8000FFFFFFF0
0007F003FC0007F0007E0007F0003F0007F0001F8007F0000FC007F00007E007F00007E007F000
07F007F00003F007F00003F007F00003F007F00003F807F00003F807F00003F807F00003F807F0
0003F807F00003F807F00003F807F00003F807F00003F807F00003F007F00003F007F00003F007
F00007E007F00007E007F0000FC007F0001F8007F0003F0007F0007E0007F003FC00FFFFFFF000
FFFFFF800025227EA12B>I<0003FE0040001FFFC0C0007F00F1C001F8003FC003F0000FC007C0
0007C00FC00003C01F800003C03F000001C03F000001C07F000000C07E000000C07E000000C0FE
00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000FFFFC
7E000FFFFC7F00001FC07F00001FC03F00001FC03F00001FC01F80001FC00FC0001FC007E0001F
C003F0001FC001FC003FC0007F80E7C0001FFFC3C00003FF00C026227DA12C>71
D<FFF8001FFEFFFC001FFE07FC0000C007FE0000C006FF0000C0067F8000C0063FC000C0061FE0
00C0060FE000C0060FF000C00607F800C00603FC00C00601FE00C00600FE00C00600FF00C00600
7F80C006003FC0C006001FE0C006000FF0C0060007F0C0060007F8C0060003FCC0060001FEC006
0000FFC00600007FC00600007FC00600003FC00600001FC00600000FC006000007C006000003C0
06000003C0FFF00001C0FFF00000C027227EA12C>78 D<FFFFFF00FFFFFFE007F007F007F001FC
07F000FC07F0007E07F0007E07F0007F07F0007F07F0007F07F0007F07F0007F07F0007E07F000
7E07F000FC07F001FC07F007F007FFFFE007FFFF0007F0000007F0000007F0000007F0000007F0
000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F00000FFFF8000FF
FF800020227EA126>80 D<07FC001FFF803F07C03F03E03F01E03F01F01E01F00001F00001F000
3FF003FDF01FC1F03F01F07E01F0FC01F0FC01F0FC01F0FC01F07E02F07E0CF81FF87F07E03F18
167E951B>97 D<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000FC0000FC0000FC00
00FC0000FC0000FC00007C00007E00007E00003E00301F00600FC0E007FF8000FE0014167E9519
>99 D<00FE0007FF800F87C01E01E03E01F07C00F07C00F8FC00F8FC00F8FFFFF8FFFFF8FC0000
FC0000FC00007C00007C00007E00003E00181F00300FC07003FFC000FF0015167E951A>101
D<03FC1E0FFF7F1F0F8F3E07CF3C03C07C03E07C03E07C03E07C03E07C03E03C03C03E07C01F0F
801FFF0013FC003000003000003800003FFF801FFFF00FFFF81FFFFC3800FC70003EF0001EF000
1EF0001EF0001E78003C7C007C3F01F80FFFE001FF0018217E951C>103
D<1C003F007F007F007F003F001C000000000000000000000000000000FF00FF001F001F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B247EA310
>105 D<FF00FF001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00FFE0FFE00B237EA2
10>108 D<FF07F007F000FF1FFC1FFC001F303E303E001F403E403E001F801F801F001F801F80
1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F00
1F001F001F001F00FFE0FFE0FFE0FFE0FFE0FFE02B167E9530>I<FF07E000FF1FF8001F307C00
1F403C001F803E001F803E001F003E001F003E001F003E001F003E001F003E001F003E001F003E
001F003E001F003E001F003E001F003E001F003E001F003E001F003E00FFE1FFC0FFE1FFC01A16
7E951F>I<00FE0007FFC00F83E01E00F03E00F87C007C7C007C7C007CFC007EFC007EFC007EFC
007EFC007EFC007EFC007E7C007C7C007C3E00F81F01F00F83E007FFC000FE0017167E951C>I<
FF0FE000FF3FF8001FF07C001F803E001F001F001F001F801F001F801F000FC01F000FC01F000F
C01F000FC01F000FC01F000FC01F000FC01F000FC01F001F801F001F801F803F001FC03E001FE0
FC001F3FF8001F0FC0001F0000001F0000001F0000001F0000001F0000001F0000001F0000001F
000000FFE00000FFE000001A207E951F>I<FE1F00FE3FC01E67E01EC7E01E87E01E87E01F83C0
1F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F00001F0000
FFF000FFF00013167E9517>114 D<0FF3003FFF00781F00600700E00300E00300F00300FC0000
7FE0007FF8003FFE000FFF0001FF00000F80C00780C00380E00380E00380F00700FC0E00EFFC00
C7F00011167E9516>I<0180000180000180000180000380000380000780000780000F80003F80
00FFFF00FFFF000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80
000F81800F81800F81800F81800F81800F830007C30003FE0000F80011207F9F16>I<FF01FE00
FF01FE001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E001F003E
001F003E001F003E001F003E001F003E001F003E001F003E001F007E001F00FE000F81BE0007FF
3FC001FC3FC01A167E951F>I<FFE01FE0FFE01FE00F8006000F8006000FC00E0007C00C0007E0
1C0003E0180003E0180001F0300001F0300000F8600000F86000007CC000007CC000007FC00000
3F8000003F8000001F0000001F0000000E0000000E00001B167F951E>I<FFE07FC0FFE07FC00F
801C0007C0380003E0700003F0600001F8C00000F98000007F8000003F0000001F0000001F8000
003FC0000037C0000063E00000C1F00001C0F8000380FC0007007E000E003E00FF80FFE0FF80FF
E01B167F951E>120 D E /Fg 14 123 df<FFF0FFF00C027F8910>45 D<002000007000007000
00700000B80000B80000B800011C00011C00011C00020E00020E0004070004070007FF00080380
0803800803801801C03803C0FE0FF815157F9419>97 D<00FC200782600E01E01C00E038006078
0020700020F00020F00000F00000F00000F00000F00000F000207000207800203800401C00400E
008007830000FC0013157E9419>99 D<FFFC001C07001C01C01C00E01C00E01C00701C00701C00
781C00781C00781C00781C00781C00781C00781C00701C00701C00E01C00E01C01C01C0700FFFC
0015157F941A>I<FFFF801C03801C00801C00801C00401C00401C10401C10001C10001C30001F
F0001C30001C10001C10201C10201C00201C00601C00401C00C01C01C0FFFFC013157F9417>I<
FF8FF81C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC01C01C01C01C0
1C01C01C01C01C01C01C01C01C01C01C01C01C01C0FF8FF815157F9419>104
D<FF801C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00
1C00FF8009157F940D>I<FE000FE01E000F001700170017001700170017001380270013802700
11C0470011C0470011C0470010E0870010E08700107107001071070010710700103A0700103A07
00101C0700101C0700381C0700FE083FE01B157F941F>109 D<01F800070E000C03001C038038
01C07801E07000E0F000F0F000F0F000F0F000F0F000F0F000F0F000F07000E07801E03801C01C
03801E0780070E0001F80014157E941A>111 D<FFFC001C0F001C03801C03C01C03C01C03C01C
03C01C03C01C03801C0F001FFC001C00001C00001C00001C00001C00001C00001C00001C00001C
0000FF800012157F9417>I<FFF8001C0E001C07801C03801C03C01C03C01C03C01C03801C0780
1C0E001FF8001C1C001C0E001C07001C07001C07001C07801C07841C07C41C03CCFF80F816157F
9419>114 D<1F1030F06030C030C010C010C000E0007E003FC01FE003F0007800380018801880
188010C030F0608FC00D157E9413>I<FF87F01E03800E03000F020007040003840003C80001D0
0000F00000F00000700000780000BC00011C00010E00020F000407000403800C03C03C03C0FE07
F815157F9419>120 D<FFFEF01CC01CC0388038807080E000E001C001C00380070007000E020E
021C02380238067006701EFFFE0F157E9415>122 D E /Fh 76 125 df<007E1F0001C1B18003
03E3C00703C3C00E03C1800E01C0000E01C0000E01C0000E01C0000E01C0000E01C000FFFFFC00
0E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0
000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0007F87FC001A1D809C18>11
D<007E0001C1800301800703C00E03C00E01800E00000E00000E00000E00000E0000FFFFC00E01
C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C07F87F8151D809C17>I<007FC001C1C00303C00703C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07FCFF8151D809C17>I<003F07E00001
C09C18000380F018000701F03C000E01E03C000E00E018000E00E000000E00E000000E00E00000
0E00E000000E00E00000FFFFFFFC000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C
000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E0
1C000E00E01C000E00E01C000E00E01C007FC7FCFF80211D809C23>I<6060F0F0F8F868680808
08080808101010102020404080800D0C7F9C15>34 D<00E0000001900000030800000308000007
0800000708000007080000070800000710000007100000072000000740000003C03FE003800F00
038006000380040005C0040009C0080010E0100030E010006070200060702000E0384000E03C40
00E01C8000E00F0020E0070020700780403009C0401830E18007C03E001B1F7E9D20>38
D<004000800100020006000C000C0018001800300030007000600060006000E000E000E000E000
E000E000E000E000E000E000E000E000600060006000700030003000180018000C000C00060002
000100008000400A2A7D9E10>40 D<800040002000100018000C000C0006000600030003000380
01800180018001C001C001C001C001C001C001C001C001C001C001C001C0018001800180038003
000300060006000C000C00180010002000400080000A2A7E9E10>I<0006000000060000000600
000006000000060000000600000006000000060000000600000006000000060000000600000006
0000FFFFFFE0FFFFFFE00006000000060000000600000006000000060000000600000006000000
06000000060000000600000006000000060000000600001B1C7E9720>43
D<60F0F0701010101020204080040C7C830C>I<FFE0FFE00B0280890E>I<60F0F06004047C830C
>I<03C00C301818300C300C700E60066006E007E007E007E007E007E007E007E007E007E007E0
07E007E00760066006700E300C300C18180C3007E0101D7E9B15>48 D<030007003F00C7000700
070007000700070007000700070007000700070007000700070007000700070007000700070007
0007000F80FFF80D1C7C9B15>I<07C01830201C400C400EF00FF80FF807F8077007000F000E00
0E001C001C00380070006000C00180030006010C01180110023FFE7FFEFFFE101C7E9B15>I<07
E01830201C201C781E780E781E381E001C001C00180030006007E00030001C001C000E000F000F
700FF80FF80FF80FF00E401C201C183007E0101D7E9B15>I<000C00000C00001C00003C00003C
00005C0000DC00009C00011C00031C00021C00041C000C1C00081C00101C00301C00201C00401C
00C01C00FFFFC0001C00001C00001C00001C00001C00001C00001C0001FFC0121C7F9B15>I<30
0C3FF83FF03FC020002000200020002000200023E024302818301C200E000E000F000F000F600F
F00FF00FF00F800E401E401C2038187007C0101D7E9B15>I<00F0030C06040C0E181E301E300C
700070006000E3E0E430E818F00CF00EE006E007E007E007E007E007600760077006300E300C18
180C3003E0101D7E9B15>I<4000007FFF807FFF007FFF00400200800400800400800800001000
00100000200000600000400000C00000C00001C000018000018000038000038000038000038000
078000078000078000078000078000078000030000111D7E9B15>I<03E00C301008200C200660
06600660067006780C3E083FB01FE007F007F818FC307E601E600FC007C003C003C003C0036002
6004300C1C1007E0101D7E9B15>I<03C00C301818300C700C600EE006E006E007E007E007E007
E0076007700F300F18170C2707C700060006000E300C780C78187010203030C00F80101D7E9B15
>I<60F0F0600000000000000000000060F0F06004127C910C>I<60F0F060000000000000000000
0060F0F0701010101020204080041A7C910C>I<0FE03038401CE00EF00EF00EF00E000C001C00
30006000C000800180010001000100010001000100000000000000000000000300078007800300
0F1D7E9C14>63 D<000600000006000000060000000F0000000F0000000F000000178000001780
00001780000023C0000023C0000023C0000041E0000041E0000041E0000080F0000080F0000180
F8000100780001FFF80003007C0002003C0002003C0006003E0004001E0004001E000C001F001E
001F00FF80FFF01C1D7F9C1F>65 D<FFFFC00F00F00F00380F003C0F001C0F001E0F001E0F001E
0F001E0F001C0F003C0F00780F01F00FFFE00F00780F003C0F001E0F000E0F000F0F000F0F000F
0F000F0F000F0F001E0F001E0F003C0F0078FFFFE0181C7E9B1D>I<001F808000E06180018019
80070007800E0003801C0003801C00018038000180780000807800008070000080F0000000F000
0000F0000000F0000000F0000000F0000000F0000000F000000070000080780000807800008038
0000801C0001001C0001000E000200070004000180080000E03000001FC000191E7E9C1E>I<FF
FFC0000F00F0000F003C000F000E000F0007000F0007000F0003800F0003C00F0001C00F0001C0
0F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001C00F0001
C00F0003C00F0003800F0007800F0007000F000E000F001C000F007000FFFFC0001B1C7E9B20>
I<FFFFFC0F003C0F000C0F00040F00040F00060F00020F00020F02020F02000F02000F02000F06
000FFE000F06000F02000F02000F02000F02010F00010F00020F00020F00020F00060F00060F00
0C0F003CFFFFFC181C7E9B1C>I<FFFFF80F00780F00180F00080F00080F000C0F00040F00040F
02040F02000F02000F02000F06000FFE000F06000F02000F02000F02000F02000F00000F00000F
00000F00000F00000F00000F00000F8000FFF800161C7E9B1B>I<001F808000E0618001801980
070007800E0003801C0003801C00018038000180780000807800008070000080F0000000F00000
00F0000000F0000000F0000000F0000000F000FFF0F0000F807000078078000780780007803800
07801C0007801C0007800E00078007000B800180118000E06080001F80001C1E7E9C21>I<FFF3
FFC00F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F
003C000F003C000F003C000FFFFC000F003C000F003C000F003C000F003C000F003C000F003C00
0F003C000F003C000F003C000F003C000F003C000F003C000F003C00FFF3FFC01A1C7E9B1F>I<
FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
000F000F000F000F000F000F000F00FFF00C1C7F9B0F>I<FFF8000F80000F00000F00000F0000
0F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F0000
0F00080F00080F00080F00180F00180F00100F00300F00700F01F0FFFFF0151C7E9B1A>76
D<FF8000FF800F8000F8000F8000F8000BC00178000BC00178000BC001780009E002780009E002
780008F004780008F004780008F0047800087808780008780878000878087800083C107800083C
107800083C107800081E207800081E207800081E207800080F407800080F407800080780780008
07807800080780780008030078001C03007800FF8307FF80211C7E9B26>I<FF007FC00F800E00
0F8004000BC0040009E0040009E0040008F0040008F8040008780400083C0400083C0400081E04
00080F0400080F0400080784000807C4000803C4000801E4000801E4000800F40008007C000800
7C0008003C0008003C0008001C0008000C001C000C00FF8004001A1C7E9B1F>I<003F800000E0
E0000380380007001C000E000E001C0007003C00078038000380780003C0780003C0700001C0F0
0001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0F00001E0700001C0780003C0
780003C0380003803C0007801C0007000E000E0007001C000380380000E0E000003F80001B1E7E
9C20>I<FFFF800F00E00F00780F003C0F001C0F001E0F001E0F001E0F001E0F001E0F001C0F00
3C0F00780F00E00FFF800F00000F00000F00000F00000F00000F00000F00000F00000F00000F00
000F00000F0000FFF000171C7E9B1C>I<FFFF00000F01E0000F0078000F003C000F001C000F00
1E000F001E000F001E000F001E000F001C000F003C000F0078000F01E0000FFF00000F03C0000F
00E0000F00F0000F0078000F0078000F0078000F0078000F0078000F0078000F0078100F007810
0F0038100F003C20FFF01C20000007C01C1D7E9B1F>82 D<07E0801C1980300580700380600180
E00180E00080E00080E00080F00000F800007C00007FC0003FF8001FFE0007FF0000FF80000F80
0007C00003C00001C08001C08001C08001C0C00180C00180E00300D00200CC0C0083F800121E7E
9C17>I<7FFFFFC0700F01C0600F00C0400F0040400F0040C00F0020800F0020800F0020800F00
20000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F
0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F800003FFFC001B
1C7F9B1E>I<FFF07FC00F000E000F0004000F0004000F0004000F0004000F0004000F0004000F
0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F0004000F000400
0F0004000F0004000F0004000F0004000700080007800800038010000180100000C020000070C0
00001F00001A1D7E9B1F>I<FFE00FF01F0003C00F0001800F0001000F80030007800200078002
0003C0040003C0040003C0040001E0080001E0080001F0080000F0100000F0100000F830000078
200000782000003C4000003C4000003C4000001E8000001E8000001F8000000F0000000F000000
06000000060000000600001C1D7F9B1F>I<FFE0FFE0FF1F001F003C1E001E00180F001F00100F
001F00100F001F001007801F00200780278020078027802003C027804003C043C04003C043C040
03E043C04001E081E08001E081E08001E081E08000F100F10000F100F10000F100F100007900FA
00007A007A00007A007A00003E007C00003C003C00003C003C00003C003C000018001800001800
18000018001800281D7F9B2B>I<7FF0FFC00FC03E000780180003C0180003E0100001E0200001
F0600000F0400000788000007D8000003D0000001E0000001F0000000F0000000F8000000F8000
0013C0000023E0000021E0000041F00000C0F8000080780001007C0003003C0002001E0006001F
001F003F80FFC0FFF01C1C7F9B1F>I<FFF007FC0F8001E00780008007C0018003C0010003E002
0001F0020000F0040000F8040000780800007C1800003C1000001E2000001F2000000F4000000F
C00000078000000780000007800000078000000780000007800000078000000780000007800000
07800000078000007FF8001E1C809B1F>I<FEFEC0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0
C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0FEFE07297C9E0C>91 D<0808101020204040404080
8080808080B0B0F8F8787830300D0C7A9C15>I<1FC000307000783800781C00301C00001C0000
1C0001FC000F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F870012127E91
15>97 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C7C
001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C00C01C01
C01C01801E030019060010F800131D7F9C17>I<07E00C301878307870306000E000E000E000E0
00E000E00060007004300418080C3007C00E127E9112>I<003F00000700000700000700000700
00070000070000070000070000070000070003E7000C1700180F00300700700700600700E00700
E00700E00700E00700E00700E00700600700700700300700180F000C370007C7E0131D7E9C17>
I<03E00C301818300C700E6006E006FFFEE000E000E000E00060007002300218040C1803E00F12
7F9112>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038003C4C00C38
C01C3880181800381C00381C00381C00381C001818001C38000C300013C0001000003000001800
001FF8001FFF001FFF803003806001C0C000C0C000C0C000C06001803003001C0E0007F800121C
7F9215>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C
7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C00180000000000000000000000
00000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00FF
80091D7F9C0C>I<00C001E001E000C000000000000000000000000000000FE000E000E000E000
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E060E0F0C0F1C0
61803E000B25839C0D>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C
00001C00001C3FC01C0F001C0C001C08001C10001C20001C40001CE0001DE0001E70001C78001C
38001C3C001C1C001C0E001C0F001C0F80FF9FE0131D7F9C16>I<FC001C001C001C001C001C00
1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
001C001C00FF80091D7F9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C01C01C00
1C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C
001C01C01C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C001C8700
1D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
1C03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E001C0E001
C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F00012127F9115>I<FC
7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C01C01C
01C01C01801E03001D06001CF8001C00001C00001C00001C00001C00001C00001C0000FF800013
1A7F9117>I<03C1000C3300180B00300F00700700700700E00700E00700E00700E00700E00700
E00700600700700700300F00180F000C370007C700000700000700000700000700000700000700
000700003FE0131A7E9116>I<FCE01D301E781E781C301C001C001C001C001C001C001C001C00
1C001C001C001C00FFC00D127F9110>I<1F9030704030C010C010E010F8007F803FE00FF000F8
80388018C018C018E010D0608FC00D127F9110>I<04000400040004000C000C001C003C00FFE0
1C001C001C001C001C001C001C001C001C001C101C101C101C101C100C100E2003C00C1A7F9910
>I<FC1F801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C
03801C03801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01000E0200
0E020007040007040007040003880003880003D80001D00001D00000E00000E00000E000004000
13127F9116>I<FF3FCFE03C0F03801C0701801C0701001C0B01000E0B82000E0B82000E118200
0711C4000711C4000720C40003A0E80003A0E80003C0680001C0700001C0700001803000008020
001B127F911E>I<7F8FF00F03800F030007020003840001C80001D80000F00000700000780000
F800009C00010E00020E000607000403801E07C0FF0FF81512809116>I<FF07E03C03801C0100
1C01000E02000E020007040007040007040003880003880003D80001D00001D00000E00000E000
00E000004000004000008000008000F08000F10000F300006600003C0000131A7F9116>I<7FFC
70386038407040F040E041C003C0038007000F040E041C043C0C380870087038FFF80E127F9112
>I<FFFFFFFFFF802901808B2A>124 D E /Fi 24 118 df<0003E0000000000FF0000000003E38
00000000781800000000780C00000000F80C00000000F00C00000001F00C00000001F00C000000
01F01C00000001F81800000001F83000000001F87000000001F86000000001F8C001FFE000FD80
01FFE000FF00001C0000FE0000180000FE00003000007E00003000007F0000600000FF00006000
01FF8000C00003BF80018000071FC00180000F0FE00300001E0FE00600003E07F00600007E03F8
0C0000FE03FC180000FE01FE300000FE00FE600000FE007FC00000FE003F8000C07F001FC000C0
7F000FF001C03F801FF803801FC0F0FE0F0007FFC03FFE0001FE0007F8002B287DA732>38
D<3C7EFFFFFFFF7E3C08087B8712>46 D<000C00001C0000FC000FFC00FFFC00F0FC0000FC0000
FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000
FC0000FC00FFFFFCFFFFFC16257BA420>49 D<00FF000007FFE0001E07F8003801FC007800FE00
7E00FF00FF007F00FF007F80FF007F80FF003F807E003F803C003F8000007F8000007F0000007F
000000FE000000FE000001FC000001F8000003F0000007C00000078000000F0000001E00000038
00000070018000E0018001C001800380030007000300060003000FFFFF001FFFFF003FFFFF007F
FFFE00FFFFFE00FFFFFE0019257DA420>I<00FF800007FFF0000F03F8001800FC003E00FE007F
00FF007F007F007F807F007F007F003F00FF001E00FE000000FE000000FC000001F8000003F000
0007E00000FF800000FF00000003E0000001F8000000FC000000FE0000007F0000007F0000007F
8018007F807E007F80FF007F80FF007F80FF007F80FF007F00FE00FF007C00FE003801FC001E03
F8000FFFE00001FF000019257DA420>I<0000380000007800000078000000F8000001F8000003
F8000003F8000007F800000FF800001DF8000019F8000031F8000071F8000061F80000C1F80001
C1F8000381F8000301F8000601F8000E01F8001C01F8001801F8003001F8007001F800E001F800
FFFFFFE0FFFFFFE00001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8
00007FFFE0007FFFE01B257EA420>I<0000FF80080007FFF018003FC03C38007E000E7801FC00
03F803F00001F807E00000F80FE00000781FC00000781FC00000383F800000383F800000387F80
0000187F000000187F00000018FF00000000FF00000000FF00000000FF00000000FF00000000FF
00000000FF00000000FF00000000FF00000000FF000000007F000000007F000000187F80000018
3F800000183F800000181FC00000301FC00000300FE000006007E000006003F00000C001FC0001
80007E000700003FC03C000007FFF8000000FFC00025287CA72E>67 D<FFFFFFF00000FFFFFFFE
000003F8007F800003F8000FE00003F80007F00003F80003F80003F80001FC0003F80000FC0003
F80000FE0003F800007F0003F800007F0003F800003F8003F800003F8003F800003F8003F80000
3F8003F800003FC003F800003FC003F800003FC003F800003FC003F800003FC003F800003FC003
F800003FC003F800003FC003F800003FC003F800003FC003F800003F8003F800003F8003F80000
3F8003F800003F8003F800007F0003F800007F0003F800007E0003F80000FE0003F80001FC0003
F80001F80003F80007F00003F8000FE00003F8007F8000FFFFFFFE0000FFFFFFF000002A287EA7
31>I<FFFFE0FFFFE003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800
03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800
03F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F800
FFFFE0FFFFE013287EA718>73 D<FFFC0001FFF8FFFE0001FFF803FE0000060003FF0000060003
7F80000600033FC0000600031FE0000600030FE0000600030FF00006000307F80006000303FC00
06000301FE0006000300FE0006000300FF00060003007F80060003003FC0060003001FC0060003
000FE0060003000FF00600030007F80600030003FC0600030001FC0600030001FE0600030000FF
06000300007F86000300003FC6000300001FC6000300001FE6000300000FF60003000007FE0003
000003FE0003000001FE0003000001FE0003000000FE00030000007E00030000003E0003000000
1E00030000001E00FFFC00000E00FFFC000006002D287EA732>78 D<FFFFFFF000FFFFFFFE0003
F8007F0003F8001FC003F8000FE003F8000FE003F80007F003F80007F003F80007F803F80007F8
03F80007F803F80007F803F80007F803F80007F803F80007F003F80007F003F8000FE003F8000F
E003F8001FC003F8007F0003FFFFFE0003FFFFF00003F800000003F800000003F800000003F800
000003F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8
00000003F800000003F800000003F800000003F8000000FFFFE00000FFFFE0000025287EA72C>
80 D<03FF00000FFFE0001F03F0003F80F8003F80FC003F807C001F007E001F007E0000007E00
00007E0000007E00000FFE0001FFFE0007F07E001FC07E003F807E007F007E00FE007E00FE007E
18FE007E18FE007E18FE00BE187F01BE183F873FF01FFE1FE003F80F801D1A7E9920>97
D<003FE001FFF807E07C0FC0FE1F80FE3F00FE3F007C7E007C7E0000FE0000FE0000FE0000FE00
00FE0000FE0000FE0000FE00007E00007F00003F00003F80031F80070FC00607F01C01FFF0003F
C0181A7E991D>99 D<00007FE000007FE0000007E0000007E0000007E0000007E0000007E00000
07E0000007E0000007E0000007E0000007E0000007E0000007E0007F87E001FFE7E007E077E00F
C01FE01F800FE03F0007E03F0007E07E0007E07E0007E0FE0007E0FE0007E0FE0007E0FE0007E0
FE0007E0FE0007E0FE0007E0FE0007E07E0007E07E0007E07F0007E03F0007E01F000FE00F801F
E007E077E003FFC7FE007F07FE1F287EA724>I<007F8003FFE007E1F00F80F81F007C3F007E7E
003E7E003E7E003FFE003FFE003FFFFFFFFFFFFFFE0000FE0000FE0000FE00007E00007E00003F
00003F00031F80060FC00607F01C01FFF0003FC0181A7E991D>I<0F001F801FC03FC03FC01FC0
1F800F000000000000000000000000000000FFC0FFC00FC00FC00FC00FC00FC00FC00FC00FC00F
C00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0FFFCFFFC0E297FA811>105
D<FFC0FFC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0
0FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0FF
FCFFFC0E287FA711>108 D<FFC0FC00FFC3FF000FC60F800FC80FC00FD007E00FE007E00FE007
E00FE007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC0
07E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E0FFFC7FFEFFFC7FFE1F
1A7E9924>110 D<007FC00001FFF00007E0FC000F803E001F001F003F001F803E000F807E000F
C07E000FC0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE07E00
0FC07E000FC07F001FC03F001F801F001F000F803E0007E0FC0001FFF000007FC0001B1A7E9920
>I<FFC1FC00FFCFFF800FDC0FC00FF007E00FE003F00FC001F80FC001FC0FC001FC0FC000FC0F
C000FE0FC000FE0FC000FE0FC000FE0FC000FE0FC000FE0FC000FE0FC000FE0FC000FC0FC001FC
0FC001F80FC003F80FE003F00FF007E00FDC1FC00FCFFF000FC3FC000FC000000FC000000FC000
000FC000000FC000000FC000000FC000000FC000000FC00000FFFC0000FFFC00001F257E9924>
I<FF83E0FF8FF80F8C780F90FC0FB0FC0FA0FC0FA0780FE0000FC0000FC0000FC0000FC0000FC0
000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC000FFFE00FFFE
00161A7E991A>114 D<03F8C01FFFC03C07C07801C07001C0F000C0F000C0F800C0FC0000FFC0
007FFC003FFF001FFF800FFFC001FFE0000FF00003F0C001F0C000F0E000F0E000F0F000E0F801
E0FE03C0E7FF80C1FC00141A7E9919>I<00600000600000600000600000E00000E00001E00001
E00003E00007E0001FE000FFFFC0FFFFC007E00007E00007E00007E00007E00007E00007E00007
E00007E00007E00007E00007E00007E00007E00007E06007E06007E06007E06007E06007E06003
F0C001F0C000FF80003E0013257FA419>I<FFC07FE0FFC07FE00FC007E00FC007E00FC007E00F
C007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E0
0FC007E00FC007E00FC007E00FC007E00FC007E00FC00FE00FC00FE007C017E003E067E001FFC7
FE007F07FE1F1A7E9924>I E /Fj 9 116 df<FFFFFFFF80FFFFFFFF80FFFFFFFF80001FFC0000
FC0000001FFC0000FFFFFFFF80FFFFFFFF80FFFFFFFF8021477DC628>73
D<FFFFFFFFFFF80000FFFFFFFFFFFFC000FFFFFFFFFFFFF000001FFC00007FFC00001FFC000007
FFFFFF80000000FFFFFFFF80000000FFFFFFFF8000000040477CC64B>80
D<FFFFFFFC0000007FFFFCFFFFFFFC0000007FFFFCFFFFFFFC0000007FFFFC007FF80000000001
000000078000000000000000000780000000004E487EC653>86 D<0007FFC0000000003FFFFC00
7CAD37>97 D<00FF80FFFF80FFFF80FFFF8003FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF8001FF8001FF8001FF8001FF8001FF80FFFFFFFFFFFFFFFFFF18487DC71F>108
D<00003FFC00000001FFFF8000000FFFFFF000003FF00FFC00007F8001FE0001FE00007F8003FC
00003FC007F800001FE007F800001FE00FF000000FF01FE0000007F81FE0000007F83FE0000007
FC3FE0000007FC7FC0000003FE7FC0000003FE7FC0000003FE7FC0000003FEFFC0000003FFFFC0
000003FFFFC0000003FFFFC0000003FFFFC0000003FFFFC0000003FFFFC0000003FFFFC0000003
FFFFC0000003FFFFC0000003FF7FC0000003FE7FC0000003FE7FC0000003FE7FE0000007FE3FE0
000007FC3FE0000007FC1FE0000007F81FF000000FF80FF000000FF007F800001FE007FC00003F
E003FE00007FC001FF0000FF80007F8001FE00003FF00FFC00000FFFFFF0000003FFFFC0000000
3FFC0000302E7DAD37>111 D<00FF801FF80000FFFF80FFFF0000FFFF83FFFFC000FFFF8FC07F
FFFFFF0000000035427DAD3D>I<00FF007F00FFFF01FFC0FFFF03FFE0FFFF0787F003FF0E0FF0
01FF1C1FF801FF381FF801FF301FF801FF701FF801FF600FF001FF600FF001FFE003C001FFC000
0001FFC0000001FFC0000001FFC0000001FF80000001FF80000001FF80000001FF80000001FF80
000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF
80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001
FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF800000FFFFFFC000
FFFFFFC000FFFFFFC000252E7DAD2C>114 D<001FFC030000FFFF870003FFFFCF000FE007FF00
1F8000FF003E00003F003E00001F007C00001F007C00000F00FC00000F00FC00000700FC000007
00FE00000700FF00000700FF80000000FFE00000007FFE0000007FFFF800003FFFFF00003FFFFF
C0001FFFFFF0000FFFFFF80007FFFFFC0001FFFFFE00007FFFFF00001FFFFF000000FFFF800000
07FF80000000FFC0E000007FC0E000003FC0E000001FC0F000000FC0F000000FC0F800000FC0F8
00000FC0F800000F80FC00000F80FE00001F80FF00001F00FF80003E00FFC0007C00F9F803F800
F0FFFFF000E03FFFC000C007FE0000222E7CAD2B>I E /Fk 8 117 df<00003000000070000001
F0000007F000007FF000FFFFF000FFFFF000FF8FF000000FF000000FF000000FF000000FF00000
0FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000
000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0
00000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000F
F000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00000
0FF0007FFFFFFE7FFFFFFE7FFFFFFE1F3779B62D>49 D<000000FFE0001800000FFFFC00180000
000000FFE00000353B7BB940>67 D<003FFC00000001FFFF80000007E00FE000000FC003F80000
0FE001FC00001FF001FE00001FF000FF00001FF000FF00001FF0007F00000FE0007F800007C000
7F80000000007F80000000007F80000000007F80000000007F80000000007F800000000FFF8000
0007FFFF8000003FE07F800001FF007F800007FC007F80000FF0007F80001FE0007F80003FE000
7F80007FC0007F80007FC0007F8380FF80007F8380FF80007F8380FF80007F8380FF8000BF8380
FF8000BF83807FC0013F83807FC0033F83803FE0061FC7001FF81C0FFE0007FFF007FC00007FC0
03F00029257DA42D>97 D<0003FF0000001FFFE000007F07F00001FC01FC0003F000FE0007E000
7F000FE0003F001FC0003F801FC0003F803FC0001FC03F80001FC07F80001FC07F80001FE07F80
001FE0FF80001FE0FF80001FE0FFFFFFFFE0FFFFFFFFE0FF80000000FF80000000FF80000000FF
80000000FF800000007F800000007F800000007F800000003FC00000003FC00000001FC00000E0
1FE00000E00FE00001C007F000038003F800070000FE000E00007FC07C00001FFFF0000001FF80
0023257EA428>101 D<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC000000
F8FFFFF07FFFF82D3A7EB932>104 D<01FC03FE0000FFFC1FFFC000FFFC780FF000FFFDE003F8
0007FF8001FC0003FF0000FE0003FE0000FF0003FC00007F8003FC00007FC003FC00003FC003FC
00003FE003FC00003FE003FC00001FE003FC00001FE003FC00001FF003FC00001FF003FC00001F
F003FC00001FF003FC00001FF003FC00001FF003FC00001FF003FC00001FF003FC00001FF003FC
00001FE003FC00003FE003FC00003FE003FC00003FC003FC00003FC003FC00007F8003FC00007F
8003FE0000FF0003FF0001FE0003FF8003FC0003FDC007F80003FCF81FE00003FC3FFF800003FC
07FC000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000
0003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC
00000000FFFFF0000000FFFFF0000000FFFFF00000002C357EA432>112
D<01F80FC0FFF83FF0FFF870F8FFF8C1FC07F883FE03F983FE03F903FE03FB03FE03FA01FC03FA
00F803FA007003FE000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003
FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0000
03FC000003FC000003FC000003FC000003FC0000FFFFF800FFFFF800FFFFF8001F257EA424>
114 D<001C0000001C0000001C0000001C0000001C0000003C0000003C0000003C0000003C0000
007C0000007C000000FC000000FC000001FC000003FC000007FC00001FFFFFC0FFFFFFC0FFFFFF
C003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC
000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003
FC00E003FC00E003FC00E003FC00E003FC00E003FC00E003FC00E003FC00E001FC00C001FC01C0
01FE01C000FE0380007F8700001FFE000007F8001B357EB423>116 D E
/Fl 20 122 df<70F8FCFC7404040404080810102040060F7C840E>44 D<008003800F80F38003
800380038003800380038003800380038003800380038003800380038003800380038003800380
038003800380038003800380038007C0FFFE0F217CA018>49 D<03F0000C1C0010070020078040
03C04003C08003E0F003E0F801E0F801E0F801E02003E00003E00003C00003C000078000070000
0E00001C0000180000300000600000C0000180000100000200200400200800201800603000403F
FFC07FFFC0FFFFC013217EA018>I<03F8000C1E001007002007804007C07807C07803C07807C0
3807C0000780000780000700000F00000E0000380003F000001C00000F000007800007800003C0
0003C00003E02003E07003E0F803E0F803E0F003C04003C0400780200780100F000C1C0003F000
13227EA018>I<01F000060C000C0600180700380380700380700380F001C0F001C0F001C0F001
E0F001E0F001E0F001E0F001E07001E07003E03803E01805E00C05E00619E003E1E00001C00001
C00001C0000380000380300300780700780600700C002018001030000FC00013227EA018>57
D<0007E0100038183000E0063001C00170038000F0070000F00E0000701E0000701C0000303C00
00303C0000307C0000107800001078000010F8000000F8000000F8000000F8000000F8000000F8
000000F8000000F800000078000000780000107C0000103C0000103C0000101C0000201E000020
0E000040070000400380008001C0010000E0020000381C000007E0001C247DA223>67
D<03FFF0001F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F
00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F
00700F00F80F00F80F00F80E00F01E00401C0020380018700007C00014237EA119>74
D<FFFE00000FC00000078000000780000007800000078000000780000007800000078000000780
000007800000078000000780000007800000078000000780000007800000078000000780000007
800000078000000780000007800080078000800780008007800080078001800780018007800100
078003000780030007800F000F803F00FFFFFF0019227EA11E>76 D<FFC00003FF0FC00003F007
C00003E005E00005E005E00005E004F00009E004F00009E004F00009E004780011E004780011E0
04780011E0043C0021E0043C0021E0043C0021E0041E0041E0041E0041E0040F0081E0040F0081
E0040F0081E004078101E004078101E004078101E00403C201E00403C201E00401E401E00401E4
01E00401E401E00400F801E00400F801E00400F801E004007001E00E007001E01F007003F0FFE0
203FFF28227EA12D>I<0FE0001838003C0C003C0E0018070000070000070000070000FF0007C7
001E07003C0700780700700700F00708F00708F00708F00F087817083C23900FC1E015157E9418
>97 D<01FE000703000C07801C0780380300780000700000F00000F00000F00000F00000F00000
F00000F000007000007800403800401C00800C010007060001F80012157E9416>99
D<0000E0000FE00001E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000
E00000E001F8E00704E00C02E01C01E03800E07800E07000E0F000E0F000E0F000E0F000E0F000
E0F000E0F000E07000E07800E03800E01801E00C02E0070CF001F0FE17237EA21B>I<01FC0007
07000C03801C01C03801C07801E07000E0F000E0FFFFE0F00000F00000F00000F00000F0000070
00007800203800201C00400E008007030000FC0013157F9416>I<0E0000FE00001E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E1F800E60C00E80E0
0F00700F00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E0070
0E00700E00700E00700E0070FFE7FF18237FA21B>104 D<0E0000FE00001E00000E00000E0000
0E00000E00000E00000E00000E00000E00000E00000E00000E00000E03FC0E01F00E01C00E0180
0E02000E04000E08000E10000E38000EF8000F1C000E1E000E0E000E07000E07800E03C00E01C0
0E01E00E00F00E00F8FFE3FE17237FA21A>107 D<0E00FE001E000E000E000E000E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E
000E000E000E000E000E00FFE00B237FA20E>I<0E1F80FE60C01E80E00F00700F00700E00700E
00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E
0070FFE7FF18157F941B>110 D<01FC000707000C01801800C03800E0700070700070F00078F0
0078F00078F00078F00078F00078F000787000707800F03800E01C01C00E038007070001FC0015
157F9418>I<0E3CFE461E8F0F0F0F060F000E000E000E000E000E000E000E000E000E000E000E
000E000E000F00FFF010157F9413>114 D<FFC1FE1E00780E00300E00200E0020070040070040
03808003808003808001C10001C10000E20000E20000E200007400007400003800003800003800
001000001000002000002000002000004000F04000F08000F180004300003C0000171F7F941A>
121 D E /Fm 24 121 df<00003FC0020001FFF8060007E01C06001F00070E003C00018E007800
00DE00F000005E01E000003E03C000001E078000001E0F0000000E0F0000000E1E000000061E00
0000063E000000063C000000027C000000027C000000027C000000027800000000F800000000F8
00000000F800000000F800000000F800000000F800000000F800000000F800000000F800000000
F80000000078000000007C000000007C000000027C000000023C000000023E000000021E000000
021E000000040F000000040F0000000C078000000803C000001801E000001000F0000020007800
0040003C000180001F0003000007E01E000001FFF80000003FC00027327CB02F>67
D<FFFFFFFFC0FFFFFFFFC007E0001FC003E00003C003E00001E003E00000E003E000006003E000
006003E000002003E000002003E000002003E000002003E000001003E000001003E000001003E0
00801003E000800003E000800003E000800003E000800003E001800003E001800003E007800003
FFFF800003FFFF800003E007800003E001800003E001800003E000800003E000800003E0008000
03E000800003E000800003E000000003E000000003E000000003E000000003E000000003E00000
0003E000000003E000000003E000000003E000000003E000000003E000000007F0000000FFFFC0
0000FFFFC0000024307CAF2B>70 D<FFFF80FFFF8007F00003E00003E00003E00003E00003E000
03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000
03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000
03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00007F000FFFF80
FFFF8011307DAF17>73 D<FFF0000000FFF0FFF0000000FFF007F0000000FE0002F80000017C00
3C>77 D<FFFFFF8000FFFFFFF00007E000FC0003E0003E0003E0000F0003E000078003E00003C0
03E00003E003E00003E003E00001E003E00001F003E00001F003E00001F003E00001F003E00001
F003E00001F003E00001E003E00003E003E00003C003E00003C003E000078003E0000F0003E000
3E0003E000F80003FFFFE00003E000000003E000000003E000000003E000000003E000000003E0
00000003E000000003E000000003E000000003E000000003E000000003E000000003E000000003
E000000003E000000003E000000003E000000003E000000003E000000003E000000007F0000000
FFFF800000FFFF80000024307CAF2C>80 D<FFFFFF000000FFFFFFE0000007E001F8000003E000
3E000003E0001F000003E00007800003E00007C00003E00003E00003E00003E00003E00001E000
03E00001F00003E00001F00003E00001F00003E00001F00003E00001F00003E00001E00003E000
03E00003E00003C00003E00007800003E0000F000003E0001E000003E00038000003E001E00000
03FFFF00000003E003E0000003E000F8000003E0003E000003E0001F000003E0000F000003E000
0F800003E00007C00003E00007C00003E00007C00003E00007C00003E00007C00003E00007C000
03E00007C00003E00007C00003E00007C00003E00007C00003E00007C00003E00007C01003E000
07C01003E00003C01003E00003C01007F00001E020FFFF8000E020FFFF800070C0000000001F00
2C317CAF30>82 D<007F004001FFC0400780F0C00F0018C01C000DC03C0007C0380003C0780001
C0700001C0F00000C0F00000C0F00000C0F0000040F0000040F0000040F8000040F80000007C00
00007E0000003F0000003FE000001FFE00000FFFE00007FFF80001FFFE00007FFF000007FF8000
007F8000000FC0000007E0000003E0000003E0000001F0000001F0800000F0800000F0800000F0
800000F0800000F0C00000F0C00000E0E00001E0E00001E0F00001C0F8000380EC000780C7000F
00C1E03E0080FFF800801FE0001C327CB024>I<FFFE00000FFEFFFE00000FFE07F0000003F003
E0000001C003E00000008003F00000008001F00000010001F00000010001F80000030000F80000
020000F800000200007C00000400007C00000400007E00000400003E00000800003E0000080000
1F00001000001F00001000001F80001000000F80002000000F80002000000FC00060000007C000
40000007C00040000003E00080000003E00080000003F00080000001F00100000001F001000000
01F80300000000F80200000000F802000000007C04000000007C04000000007E04000000003E08
000000003E08000000001F10000000001F10000000001F90000000000FA0000000000FA0000000
000FE00000000007C00000000007C0000000000380000000000380000000000380000000000100
00002F317FAF31>86 D<00FE0000070380000801E0001000F0003C0078003E0078003E003C003E
003C001C003C0000003C0000003C0000003C000007FC00007C3C0003E03C0007803C001F003C00
3E003C003C003C007C003C0078003C08F8003C08F8003C08F8003C08F8007C08F8007C087C00BC
083E011E100F060FE003F807C01D1E7D9D20>97 D<018000003F800000FF800000FF8000000F80
000007800000078000000780000007800000078000000780000007800000078000000780000007
800000078000000780000007800000078000000781F80007860700079803C007A000E007C000F0
07C00078078000380780003C0780003E0780001E0780001E0780001F0780001F0780001F078000
1F0780001F0780001F0780001F0780001F0780001E0780003E0780003C0780003C0780007807C0
0070074000F0072001C006100380060C0E000403F80020317EB024>I<001FC00000F0380001C0
0400078002000F000F001E001F001E001F003C001F007C000E007C00000078000000F8000000F8
000000F8000000F8000000F8000000F8000000F8000000F8000000780000007C0000007C000000
3C0000801E0000801E0001000F0001000780020001C00C0000F03000001FC000191E7E9D1D>I<
003F800000E0F0000380380007001C000E001E001E000E003C000F003C000F007C000F80780007
8078000780F8000780FFFFFF80F8000000F8000000F8000000F8000000F8000000F80000007800
0000780000007C0000003C0000801C0000801E0001000F0002000700020001C00C0000F0300000
1FC000191E7E9D1D>101 D<07000F801F801F800F800700000000000000000000000000000000
0000000000000001801F80FF80FF800F8007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800FC0FFF8FFF80D2F7EAE12>105
D<01803F80FF80FF800F8007800780078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780078007
8007800780078007800780078007800FC0FFFCFFFC0E317EB012>108 D<0181FE003FC0003F86
0780C0F000FF8801C1003800FF9001E2003C000FA000E4001C0007A000F4001E0007C000F8001E
0007C000F8001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000
F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00
078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0
001E00078000F0001E00078000F0001E00078000F0001E000FC001F8003F00FFFC1FFF83FFF0FF
FC1FFF83FFF0341E7E9D38>I<0181FC003F860F00FF880380FF9003C00FA001C007C001E007C0
01E007C001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E007
8001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0
078001E00FC003F0FFFC3FFFFFFC3FFF201E7E9D24>I<003FC00000E0700003801C0007000E00
0E0007001E0007803C0003C03C0003C07C0003E0780001E0780001E0F80001F0F80001F0F80001
F0F80001F0F80001F0F80001F0F80001F0F80001F0780001E0780001E07C0003E03C0003C03C00
03C01E0007800E00070007000E0003801C0000E07000003FC0001C1E7E9D20>I<0181F8003F86
0F00FF9803C0FFA001E007C000F007C00078078000780780003C0780003E0780003E0780001E07
80001F0780001F0780001F0780001F0780001F0780001F0780001F0780001F0780001E0780003E
0780003C0780003C0780007807C000F007C000F007A001C007900380078C0E000783F800078000
000780000007800000078000000780000007800000078000000780000007800000078000000780
00000FC00000FFFC0000FFFC0000202C7E9D24>I<0183E03F8C18FF907CFF907C0FA07C07C038
07C00007C00007C000078000078000078000078000078000078000078000078000078000078000
0780000780000780000780000780000780000780000780000FC000FFFE00FFFE00161E7E9D19>
114 D<03FC200E02603801E03000E0600060E00060E00020E00020F00020F000207C00007F8000
3FFC001FFF0007FF8001FFE0000FE00001F08000F8800078800038C00038C00038C00038E00030
F00070F00060C800C0C6038081FE00151E7E9D19>I<00400000400000400000400000400000C0
0000C00000C00001C00001C00003C00007C0000FC0001FFFE0FFFFE003C00003C00003C00003C0
0003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C00003C01003C0
1003C01003C01003C01003C01003C01003C01001C02001E02000E0400078C0001F00142B7FAA19
>I<018000603F800FE0FF803FE0FF803FE00F8003E0078001E0078001E0078001E0078001E007
8001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0
078001E0078001E0078001E0078003E0078003E0078003E0038005E003C009E001C019F000F021
FF001FC1FF201E7E9D24>I<FFF803FFFFF803FF0FC000F8078000700780006003C0004003C000
4001E0008001E0008001E0008000F0010000F0010000F803000078020000780200003C0400003C
0400003E0C00001E0800001E0800000F1000000F1000000FB0000007A0000007A0000003C00000
03C0000003C0000001800000018000201E7F9D22>I<FFF007FE00FFF007FE000FE003F00003C0
03C00003E003000001E002000000F006000000F8040000007C080000003C100000001E30000000
1F200000000FC0000000078000000003C000000003E000000003E000000004F000000008780000
00187C000000103C000000201E000000400F000000C00F80000180078000010003C000070003E0
001F8003F000FFC00FFF80FFC00FFF80211E7F9D22>120 D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin
%%PaperSize: A4

%%EndSetup
%%Page: 0 1
0 0 bop 575 1056 a Fm(MPI)23 b(Con)n(text)f(Sub)r(committee)807
1147 y(Prop)r(osal)h(VI)778 1238 y(First)f(Revision)799 1421
y Fl(Lyndon)17 b(J)f(Clark)o(e)814 1541 y(Marc)o(h)f(23,)i(1993)p
eop
%%Page: 1 2
1 1 bop 262 619 a Fk(Chapter)28 b(1)262 826 y Fj(Prop)s(osal)36
b(VI)262 1067 y Fi(1.1)64 b(In)n(tro)r(duction)262 1158 y Fh(This)9
b(c)o(hapter)h(prop)q(oses)g(that)g(comm)o(unicatio)o(n)d(con)o(texts)j(and)f
(pro)q(cess)i(groupings)e(within)262 1208 y Fg(mpi)14 b Fh(app)q(ear)h(as)f
(lo)q(osely)g(coupled)h(concepts.)22 b(One)15 b(or)g(more)e(comm)o(unication)
f(con)o(texts)262 1257 y(ma)o(y)d(b)q(e)j(asso)q(ciated)f(with)g(eac)o(h)h
(pro)q(cess)h(grouping,)d(and)h(eac)o(h)h(comm)o(unication)c(con)o(text)262
1307 y(inherits)k(prop)q(erties)h(of)e(the)h(asso)q(ciated)h(pro)q(cess)g
(grouping.)k(This)11 b(re\015ects)j(the)f(observ)n(a-)262 1357
y(tions)f(that)g(in)o(v)o(o)q(cations)f(of)h(mo)q(dules)f(in)h(a)g(parallel)f
(program)g(t)o(ypically)g(op)q(erate)i(within)262 1407 y(pro)q(cess)19
b(groupings,)e(and)h(that)f(there)i(ma)o(y)c(b)q(e)j(m)o(ultiple)e(mo)q
(dules)g(op)q(erating)h(within)262 1457 y(eac)o(h)d(pro)q(cess)i(grouping.)
324 1506 y(The)k(prop)q(osal)f(pro)o(vides)g(pro)q(cess)i(iden)o(ti\014ed)f
(comm)o(unicatio)o(n,)e(comm)o(unicati)o(ons)262 1556 y(whic)o(h)d(are)g
(limited)e(in)i(scop)q(e)h(to)f(single)g(con)o(texts,)h(and)f(comm)o
(unicatio)o(ns)e(whic)o(h)i(ha)o(v)o(e)262 1606 y(scop)q(e)g(spanning)e
(pairs)h(of)f(con)o(texts.)19 b(The)c(prop)q(osal)e(mak)o(es)g(no)h(statemen)
o(ts)g(regarding)262 1656 y(message)c(tags.)16 b(It)11 b(is)f(assumed)g(that)
g(these)i(will)d(b)q(e)i(a)f(bit)g(string)g(expressed)j(as)d(an)g(in)o(teger)
262 1706 y(in)j(the)h(host)h(language.)324 1756 y(Muc)o(h)d(of)e(this)i(prop)
q(osal)f(m)o(ust)f(b)q(e)i(view)o(ed)f(as)h(recommendations)d(to)i(other)h
(sub)q(com-)262 1805 y(mittees)i(of)f Fg(mpi)p Fh(,)h(primarily)e(the)j(p)q
(oin)o(t-to-p)q(oin)o(t)e(comm)o(unicatio)o(n)f(sub)q(committee)h(and)262
1855 y(the)k(collectiv)o(e)f(comm)o(unicatio)o(ns)e(sub)q(committee.)25
b(Concrete)17 b(syn)o(tax)g(is)f(giv)o(en)g(in)g(the)262 1905
y(st)o(yle)e(of)f(the)h(ANSI)h(C)e(host)i(language,)d(only)h(for)h(purp)q
(oses)h(of)e(discussion.)324 1955 y(The)h(detailed)f(prop)q(osal)g(is)g
(presen)o(ted)j(in)c(Section)i(1.2,)e(whic)o(h)h(refers)i(the)f(reader)h(to)
262 2005 y(a)e(set)h(of)f(discussion)h(notes)h(in)e(Section)h(1.3.2.)i(The)e
(note)g(assumes)g(forw)o(ard)f(kno)o(wledge)262 2054 y(of)h(the)h(prop)q
(osal)f(text)h(and)g(are)g(therefore)h(b)q(est)f(examined)f(after)h(famili)o
(arisatio)o(n)d(with)262 2104 y(the)f(prop)q(osal)g(text.)18
b(Asp)q(ects)13 b(of)e(the)h(prop)q(osal)f(are)g(discussed)i(in)e(section)h
(Section)g(1.3.1,)262 2154 y(and)g(it)g(is)h(also)f(recommended)g(that)h
(this)f(material)f(b)q(e)i(read)h(after)e(familiarisati)o(on)e(with)262
2204 y(the)k(prop)q(osal)g(text.)967 2574 y(1)p eop
%%Page: 2 3
2 2 bop 262 307 a Fi(1.2)64 b(Detailed)24 b(Prop)r(osal)262
398 y Fh(This)14 b(section)g(presen)o(ts)i(the)f(detailed)f(prop)q(osal,)g
(describing,)g(in)g(order)g(of)g(app)q(earance:)262 448 y(pro)q(cesses;)19
b(pro)q(cess)g(groupings;)d(comm)o(unication)d(con)o(texts;)18
b(p)q(oin)o(t-to-p)q(oin)o(t)e(comm)o(u-)262 498 y(nication;)c(collectiv)o(e)
i(comm)o(unication.)262 614 y Ff(1.2.1)55 b(Pro)r(cesses)262
691 y Fh(This)13 b(prop)q(osal)h(views)f(pro)q(cesses)k(in)c(the)i(famili)o
(ar)c(w)o(a)o(y)m(,)h(as)i(one)g(thinks)g(of)f(pro)q(cesses)j(in)262
740 y(Unix)f(or)i(NX)f(for)g(example.)24 b(Eac)o(h)16 b(pro)q(cess)i(is)e(a)g
(distinct)h(space)g(of)f(instructions)h(and)262 790 y(data.)h(Eac)o(h)c(pro)q
(cess)i(is)e(allo)o(w)o(ed)e(to)i(comp)q(ose)g(m)o(ultiple)d(concurren)o(t)16
b(threads)f(and)f Fg(mpi)262 840 y Fh(do)q(es)g(not)g(distinguish)f(suc)o(h)i
(threads.)262 948 y Fe(Pro)q(cess)g(Descriptor)262 1025 y Fh(Eac)o(h)d(pro)q
(cess)i(is)e(describ)q(ed)i(b)o(y)e(a)f Fd(pr)n(o)n(c)n(ess)i(descriptor)j
Fh(\(or)c Fd(hand)r(le)p Fh(\))h(whic)o(h)f(is)g(expressed)262
1074 y(as)f(an)f(in)o(teger)i(t)o(yp)q(e)f(in)g(the)h(host)f(language)f(and)h
(has)g(an)g(opaque)g(v)n(alue)f(whic)o(h)h(is)g(pro)q(cess)262
1124 y(lo)q(cal.)17 b(See)d(Note)h(1.)324 1174 y(The)f(initialisation)d(of)i
Fg(mpi)g Fh(services)j(will)c(assign)h(to)h(eac)o(h)g(pro)q(cess)h(an)f
Fd(own)j Fh(pro)q(cess)262 1224 y(descriptor.)h(Eac)o(h)11
b(pro)q(cess)i(retains)e(its)g(o)o(wn)g(pro)q(cess)i(descriptor)f(un)o(til)e
(the)h(termination)262 1274 y(of)j Fg(mpi)h Fh(services.)23
b Fg(mpi)15 b Fh(pro)o(vides)g(a)g(pro)q(cedure)i(whic)o(h)e(returns)h(the)g
(o)o(wn)f(descriptor)h(of)262 1323 y(the)e(calling)e(pro)q(cess.)20
b(F)m(or)14 b(example,)e Fc(pd)21 b(=)h(mpi)p 1052 1323 14
2 v 15 w(own)p 1133 1323 V 15 w(process\(\))n Fh(.)262 1431
y Fe(Pro)q(cess)15 b(Creation)f(&)i(Destruction)262 1508 y
Fh(This)f(prop)q(osal)g(mak)o(es)f(no)h(statemen)o(ts)h(regarding)f(creation)
h(and)f(destruction)i(of)e(pro-)262 1558 y(cesses.)20 b(See)15
b(Note)f(2.)262 1666 y Fe(Descriptor)f(T)l(ransmission)262
1742 y Fh(Since)19 b(a)g(descriptor)h(is)f(an)f(in)o(teger)i(t)o(yp)q(e)f(in)
f(the)i(host)f(language)f(the)i(v)n(alue)e(ma)o(y)f(b)q(e)262
1792 y(transmitted)f(in)g(a)g(message)h(as)g(an)f(in)o(teger.)27
b(The)17 b(recipien)o(t)h(of)e(the)h(descriptor)h(v)n(alue)262
1842 y(can)f(mak)o(e)f(no)h(de\014ned)h(use)g(of)f(the)h(v)n(alue)e(in)h(the)
h Fg(mpi)f Fh(op)q(erations)h(describ)q(ed)h(in)e(this)262
1892 y(prop)q(osal)c(|)g(the)i(descriptor)g(is)f Fd(invalid)p
Fh(.)324 1942 y Fg(mpi)j Fh(pro)o(vides)h(a)g(mec)o(hanism)d(whereb)o(y)k
(the)f(user)h(can)f(transmit)f(a)h(v)n(alid)e(pro)q(cess)262
1991 y(descriptor)i(in)e(a)g(message)h(suc)o(h)h(that)e(the)i(receiv)o(ed)g
(descriptor)g(is)f(v)n(alid.)25 b(This)17 b(is)f(in-)262 2041
y(tegrated)h(with)f(the)h(capabilit)o(y)e(to)h(transmit)f(t)o(yp)q(ed)i
(messages.)26 b(It)17 b(is)f(suggested)i(that)262 2091 y(a)d(notional)f(data)
h(t)o(yp)q(e)h(should)f(b)q(e)h(in)o(tro)q(duced)g(for)f(this)h(purp)q(ose,)g
(e.g.)23 b Fc(MPI)p 1524 2091 V 15 w(PD)p 1583 2091 V 15 w(TYPE)o
Fh(.)262 2141 y(See)14 b(Note)h(3.)324 2191 y Fg(mpi)f Fh(pro)o(vides)g(a)g
(pro)q(cess)i(descriptor)f(registry)g(service.)20 b(Use)15
b(of)f(this)g(service)i(is)e(not)262 2240 y(mandated.)27 b(Programs)16
b(whic)o(h)h(can)g(con)o(v)o(enien)o(tly)h(b)q(e)f(expressed)j(without)d
(using)g(the)262 2290 y(service)e(can)f(ignore)g(it)f(without)h(p)q(enalt)o
(y)m(.)j(See)e(Note)f(4.)324 2340 y(Note)d(that)g(receipt)h(of)e(a)g(v)n
(alid)g(pro)q(cess)i(descriptor)g(ma)o(y)d(ha)o(v)o(e)h(a)h(p)q(ersisten)o(t)
h(e\013ect)h(on)262 2390 y(the)h(implemen)o(tation)d(of)i Fg(mpi)h
Fh(at)f(the)i(receiv)o(er,)g(and)f(in)g(particular)f(ma)o(y)f(reserv)o(e)k
(state.)967 2574 y(2)p eop
%%Page: 3 4
3 3 bop 262 307 a Fg(mpi)9 b Fh(will)e(pro)o(vide)j(a)f(pro)q(cedure)i(whic)o
(h)e(frees)i(\(or)e(in)o(v)n(alidates\))f(a)h(v)n(alid)f(descriptor,)j(allo)o
(w-)262 357 y(ing)j(the)h(implemen)o(tatio)o(n)d(to)j(free)g(reserv)o(ed)i
(state.)22 b(F)m(or)14 b(example,)f Fc(mpi)p 1436 357 14 2
v 15 w(free)p 1539 357 V 15 w(pd\(pd\))o Fh(.)262 407 y(The)g(user)g(is)g
(not)g(allo)o(w)o(ed)e(to)h(free)i(the)f(pro)q(cess)i(descriptor)f(of)e(the)h
(calling)e(pro)q(cess.)20 b(See)262 457 y(Note)14 b(5.)324
506 y(See)h(Note)f(6.)262 614 y Fe(Descriptor)f(A)o(ttribu)o(tes)262
691 y Fh(This)g(prop)q(osal)h(mak)o(es)f(no)g(statemen)o(ts)h(regarding)g
(pro)q(cess)i(descriptor)f(attributes.)262 807 y Ff(1.2.2)55
b(Pro)r(cess)18 b(Groupings)262 884 y Fh(This)d(prop)q(osal)h(views)g(a)f
(pro)q(cess)j(grouping)d(as)h(an)g(ordered)h(collection)e(of)h(\(references)
262 934 y(to\))f(distinct)h(pro)q(cesses,)i(the)e(mem)o(b)q(ership)e(and)h
(ordering)g(of)g(whic)o(h)h(do)q(es)g(not)f(c)o(hange)262 983
y(o)o(v)o(er)g(the)g(lifetime)e(of)h(the)i(grouping.)21 b(See)15
b(Note)h(7.)21 b(The)15 b(canonical)g(represen)o(tation)h(of)262
1033 y(a)g(grouping)h(re\015ects)i(the)f(pro)q(cess)h(ordering)e(and)g(is)g
(a)g(one-to-one)g(map)e(from)h Fb(Z)1608 1039 y Fa(N)1657 1033
y Fh(to)262 1083 y(descriptors)f(of)e(the)i Fb(N)k Fh(pro)q(cesses)d(comp)q
(osing)c(the)j(grouping.)324 1133 y(There)20 b(ma)o(y)e(b)q(e)h(structure)j
(asso)q(ciated)e(with)f(a)g(pro)q(cess)i(grouping)d(de\014ned)j(b)o(y)e(a)262
1183 y(pro)q(cess)g(top)q(ology)m(.)29 b(This)18 b(prop)q(osal)g(mak)o(es)f
(no)h(further)h(statemen)o(ts)f(regarding)g(suc)o(h)262 1232
y(structures.)262 1340 y Fe(Group)c(Descriptor)262 1417 y Fh(Eac)o(h)e(group)
g(is)h(iden)o(ti\014ed)f(b)o(y)g(a)h Fd(gr)n(oup)g(descriptor)j
Fh(\(or)d Fd(hand)r(le)s Fh(\))g(whic)o(h)g(is)f(expressed)j(as)262
1467 y(an)f(in)o(teger)h(t)o(yp)q(e)g(in)f(the)h(host)f(language)g(and)g(has)
h(an)f(opaque)g(v)n(alue)g(whic)o(h)g(is)h(pro)q(cess)262 1517
y(lo)q(cal.)i(See)d(Note)h(1.)324 1566 y(The)h(initialisation)d(of)j
Fg(mpi)f Fh(services)j(will)c(assign)i(to)g(eac)o(h)g(pro)q(cess)i(an)e
Fd(own)j Fh(group)262 1616 y(descriptor)11 b(for)f(a)g(pro)q(cess)i(grouping)
d(of)h(whic)o(h)g(the)g(pro)q(cess)i(is)e(a)g(mem)o(b)q(er.)15
b(Eac)o(h)c(pro)q(cess)262 1666 y(retains)k(its)h(o)o(wn)f(group)g
(descriptor)i(and)e(mem)o(b)q(ership)f(of)g(the)i(o)o(wn)f(pro)q(cess)i
(grouping)262 1716 y(un)o(til)f(the)i(termination)e(of)h Fg(mpi)g
Fh(services.)31 b(See)18 b(Note)g(8.)29 b Fg(mpi)17 b Fh(pro)o(vides)g(a)h
(pro)q(cedure)262 1766 y(whic)o(h)d(accepts)h(a)f(v)n(alid)f(pro)q(cess)j
(descriptor)f(and)f(returns)i(the)f(o)o(wn)e(group)h(descriptor)262
1816 y(of)e(the)h(iden)o(ti\014ed)g(pro)q(cess.)20 b(F)m(or)14
b(example,)e Fc(gd)21 b(=)h(mpi)p 1149 1816 V 15 w(own)p 1230
1816 V 15 w(group\(pd\))n Fh(.)c(See)d(Note)f(9.)262 1923 y
Fe(Group)g(Creation)g(and)h(Deletion)262 2000 y Fg(mpi)9 b
Fh(pro)o(vides)h(facilities)f(whic)o(h)h(allo)o(w)e(users)k(to)e(dynamically)
d(create)k(and)f(delete)h(pro)q(cess)262 2050 y(groupings)k(in)h(addition)g
(to)g(the)h(o)o(wn)f(grouping\(s\).)25 b(The)17 b(pro)q(cedures)h(describ)q
(ed)g(here)262 2100 y(generate)d(groups)f(whic)o(h)g(are)g(static)g(in)g(mem)
o(b)q(ership.)324 2149 y Fg(mpi)i Fh(pro)o(vides)g(a)g(pro)q(cedure)i(whic)o
(h)e(allo)o(ws)f(users)i(to)f(create)i(one)e(or)g(more)f(groups)262
2199 y(whic)o(h)9 b(are)g(subsets)i(of)e(existing)g(groups.)17
b(F)m(or)9 b(example,)f Fc(gdb)21 b(=)h(mpi)p 1360 2199 V 15
w(group)p 1485 2199 V 15 w(partition\(gda,)c(key\))262 2249
y Fh(creates)g(one)f(or)g(more)f(new)h(groups)g Fc(gdb)f Fh(whic)o(h)g(are)i
(distinct)f(subsets)h(of)e(an)h(existing)262 2299 y(group)d
Fc(gda)f Fh(according)h(to)g(the)h(supplied)g(v)n(alues)f(of)f
Fc(key)p Fh(.)19 b(This)14 b(pro)q(cedure)i(is)e(called)g(b)o(y)262
2349 y(and)f(sync)o(hronises)j(all)c(mem)o(b)q(ers)h(of)g Fc(gda)p
Fh(.)324 2399 y Fg(mpi)g Fh(pro)o(vides)i(a)e(pro)q(cedure)j(whic)o(h)e(allo)
o(ws)f(users)j(to)e(create)h(a)f(group)g(b)o(y)f(p)q(erm)o(uta-)262
2448 y(tion)8 b(of)h(an)g(existing)g(group.)16 b(F)m(or)9 b(example,)g
Fc(gdb)21 b(=)g(mpi)p 1159 2448 V 15 w(group)p 1284 2448 V
15 w(permutation\(gda,)e(rank\))967 2574 y Fh(3)p eop
%%Page: 4 5
4 4 bop 262 307 a Fh(creates)14 b(one)e(new)h(group)f(with)g(the)h(same)f
(mem)o(b)q(ership)f(as)h Fc(gda)g Fh(with)g(a)g(p)q(erm)o(utation)f(of)262
357 y(pro)q(cess)k(ranking,)e(and)g(returns)i(the)g(created)g(group)e
(descriptor)i(in)f Fc(gdb)p Fh(.)j(This)d(pro)q(ced-)262 407
y(ure)g(is)g(called)f(b)o(y)h(and)g(sync)o(hronises)h(all)e(mem)o(b)q(ers)f
(of)i Fc(gda)p Fh(.)324 457 y Fg(mpi)19 b Fh(pro)o(vides)h(a)f(pro)q(cedure)i
(whic)o(h)f(allo)o(ws)e(users)j(to)e(create)i(a)f(group)f(b)o(y)g(expli-)262
506 y(cit)d(de\014nition)h(of)f(its)h(mem)o(b)q(ership)e(as)i(a)f(list)h(of)f
(pro)q(cess)j(descriptors.)28 b(F)m(or)16 b(example,)262 556
y Fc(gd)21 b(=)g(mpi)p 439 556 14 2 v 16 w(group)p 565 556
V 14 w(definition\(listofp)o(d\))10 b Fh(creates)16 b(one)d(new)h(group)f
Fc(gd)g Fh(with)g(mem-)262 606 y(b)q(ership)k(and)g(ordering)g(describ)q(ed)h
(b)o(y)f(the)g(pro)q(cess)i(descriptor)f(list)e Fc(listofpd)p
Fh(.)25 b(This)262 656 y(pro)q(cedure)15 b(is)f(called)g(b)o(y)f(and)h(sync)o
(hronises)h(all)e(pro)q(cesses)k(iden)o(ti\014ed)d(in)f Fc(listofpd)p
Fh(.)324 706 y Fg(mpi)i Fh(pro)o(vides)g(a)g(pro)q(cedure)i(whic)o(h)f(allo)o
(ws)e(users)i(to)f(delete)i(user)f(created)h(groups.)262 756
y(This)9 b(pro)q(cedure)i(accepts)g(the)g(descriptor)f(of)f(a)g(group)h(whic)
o(h)f(w)o(as)h(created)h(b)o(y)e(the)h(calling)262 805 y(pro)q(cess)h(and)e
(deletes)i(the)f(iden)o(ti\014ed)f(group.)17 b(F)m(or)9 b(example,)f
Fc(mpi)p 1295 805 V 15 w(group)p 1420 805 V 15 w(deletion\(gd\))262
855 y Fh(deletes)17 b(an)e(existing)h(group)f Fc(gd)p Fh(.)23
b(This)16 b(pro)q(cedure)i(is)d(called)h(b)o(y)f(and)h(sync)o(hronises)h(all)
262 905 y(mem)o(b)q(ers)12 b(of)h Fc(gd)p Fh(.)324 955 y Fg(mpi)h
Fh(ma)o(y)f(pro)o(vide)i(additional)e(pro)q(cedures)k(whic)o(h)d(allo)o(w)f
(users)k(to)d(construct)j(pro-)262 1005 y(cess)e(groupings)e(with)h(a)g(pro)q
(cess)h(grouping)e(top)q(ology)m(.)262 1112 y Fe(Descriptor)g(T)l
(ransmission)262 1189 y Fh(Since)19 b(a)g(descriptor)h(is)f(an)f(in)o(teger)i
(t)o(yp)q(e)f(in)f(the)i(host)f(language)f(the)i(v)n(alue)e(ma)o(y)f(b)q(e)
262 1239 y(transmitted)10 b(in)g(a)h(message)f(as)h(an)g(in)o(teger.)17
b(The)12 b(recipien)o(t)f(of)f(the)i(descriptor)g(can)f(mak)o(e)262
1289 y(no)j(de\014ned)h(use)h(of)e(the)h(v)n(alue)f(in)g(the)h
Fg(mpi)f Fh(op)q(erations)h(describ)q(ed)h(in)e(this)h(prop)q(osal)f(|)262
1339 y(the)g(descriptor)h(is)f Fd(invalid)p Fh(.)k(See)d(Note)f(1.)324
1388 y Fg(mpi)20 b Fh(pro)o(vides)g(a)g(mec)o(hanism)e(whereb)o(y)j(the)g
(user)h(can)e(transmit)f(a)h(v)n(alid)f(group)262 1438 y(descriptor)f(in)e(a)
g(message)h(suc)o(h)h(that)e(the)i(receiv)o(ed)g(descriptor)g(is)f(v)n(alid.)
25 b(This)17 b(is)f(in-)262 1488 y(tegrated)h(with)f(the)h(capabilit)o(y)e
(to)h(transmit)f(t)o(yp)q(ed)i(messages.)26 b(It)17 b(is)f(suggested)i(that)
262 1538 y(a)d(notional)f(data)h(t)o(yp)q(e)h(should)f(b)q(e)h(in)o(tro)q
(duced)g(for)f(this)h(purp)q(ose,)g(e.g.)23 b Fc(MPI)p 1524
1538 V 15 w(GD)p 1583 1538 V 15 w(TYPE)o Fh(.)262 1588 y(See)14
b(Note)h(3.)324 1637 y Fg(mpi)h Fh(pro)o(vides)g(a)g(group)g(descriptor)h
(registry)g(service.)26 b(Use)17 b(of)e(this)h(service)i(is)e(not)262
1687 y(mandated.)27 b(Programs)16 b(whic)o(h)h(can)g(con)o(v)o(enien)o(tly)h
(b)q(e)f(expressed)j(without)d(using)g(the)262 1737 y(service)e(can)f(ignore)
g(it)f(without)h(p)q(enalt)o(y)m(.)j(See)e(Note)f(4.)324 1787
y(Note)f(that)g(receipt)h(of)e(a)h(v)n(alid)e(group)i(descriptor)h(ma)o(y)d
(ha)o(v)o(e)h(a)h(p)q(ersisten)o(t)h(e\013ect)h(on)262 1837
y(the)f(implemen)o(tation)d(of)i Fg(mpi)h Fh(at)f(the)i(receiv)o(er,)g(and)f
(in)g(particular)f(ma)o(y)f(reserv)o(e)k(state.)262 1886 y
Fg(mpi)9 b Fh(will)e(pro)o(vide)j(a)f(pro)q(cedure)i(whic)o(h)e(frees)i(\(or)
e(in)o(v)n(alidates\))f(a)h(v)n(alid)f(descriptor,)j(allo)o(w-)262
1936 y(ing)j(the)h(implemen)o(tatio)o(n)d(to)j(free)g(reserv)o(ed)i(state.)22
b(F)m(or)14 b(example,)f Fc(mpi)p 1436 1936 V 15 w(free)p 1539
1936 V 15 w(gd\(gd\))o Fh(.)262 1986 y(The)i(user)h(is)f(not)f(allo)o(w)o(ed)
g(to)h(free)h(the)f(o)o(wn)g(group)f(descriptor)i(of)f(the)g(calling)f(pro)q
(cess)262 2036 y(or)e(the)h(group)f(descriptor)i(of)e(an)o(y)g(group)g
(created)i(b)o(y)f(the)g(calling)e(pro)q(cess.)19 b(See)13
b(Note)g(5.)324 2086 y(See)i(Note)f(6.)262 2194 y Fe(Descriptor)f(A)o(ttribu)
o(tes)262 2270 y Fg(mpi)d Fh(pro)o(vides)i(a)f(pro)q(cedure)i(whic)o(h)e
(accepts)h(a)f(v)n(alid)f(group)h(descriptor)h(and)f(returns)i(the)262
2320 y(rank)c(of)f(the)i(calling)e(pro)q(cess)j(within)e(the)h(iden)o
(ti\014ed)f(group.)16 b(F)m(or)9 b(example,)g Fc(rank)21 b(=)g(mpi)p
1691 2320 V 15 w(group)p 1816 2320 V 15 w(rank\(gd\))n Fh(.)324
2370 y Fg(mpi)e Fh(pro)o(vides)g(a)g(pro)q(cedure)i(whic)o(h)e(accepts)h(a)f
(v)n(alid)f(group)h(descriptor)h(and)f(re-)262 2420 y(turns)f(the)g(n)o(um)o
(b)q(er)f(of)h(mem)o(b)q(ers,)f(or)g Fd(size)p Fh(,)h(of)f(the)i(iden)o
(ti\014ed)f(group.)29 b(F)m(or)17 b(example,)967 2574 y(4)p
eop
%%Page: 5 6
5 5 bop 262 307 a Fc(size)20 b(=)i(mpi)p 483 307 14 2 v 15
w(group)p 608 307 V 15 w(size\(gd\))n Fh(.)324 357 y Fg(mpi)16
b Fh(pro)o(vides)h(a)g(pro)q(cedure)h(whic)o(h)f(accepts)i(a)d(v)n(alid)f
(group)i(descriptor)h(and)f(pro-)262 407 y(cess)22 b(order)f(n)o(um)o(b)q
(er,)g(or)f Fd(r)n(ank)p Fh(,)i(and)e(returns)i(the)f(v)n(alid)e(descriptor)j
(of)e(the)h(pro)q(cess)262 457 y(to)e(whic)o(h)g(the)h(supplied)g(rank)f
(maps)f(within)h(the)h(iden)o(ti\014ed)g(group.)34 b(F)m(or)19
b(example,)262 506 y Fc(pd)i(=)g(mpi)p 439 506 V 16 w(group)p
565 506 V 14 w(pd\(gd,)g(rank\))o Fh(.)324 556 y(See)15 b(Note)f(10.)324
606 y Fg(mpi)h Fh(ma)o(y)e(pro)o(vide)i(additional)f(pro)q(cedures)j(whic)o
(h)e(allo)o(w)f(users)j(to)e(determine)g(the)262 656 y(pro)q(cess)g(grouping)
e(top)q(ology)g(attributes.)262 772 y Ff(1.2.3)55 b(Comm)n(unication)16
b(Con)n(texts)262 849 y Fh(This)c(prop)q(osal)h(views)g(a)g(comm)o(unicatio)o
(n)d(con)o(text)k(as)f(a)g(uniquely)f(iden)o(ti\014ed)h(reference)262
899 y(to)f(exactly)g(one)h(pro)q(cess)h(grouping,)e(whic)o(h)g(is)g(a)h
(\014eld)f(in)g(a)g(message)g(en)o(v)o(elop)q(e)h(and)g(ma)o(y)262
948 y(therefore)j(b)q(e)g(used)g(to)f(distinguish)g(messages.)21
b(The)16 b(con)o(text)g(inherits)f(the)h(referenced)262 998
y(pro)q(cess)g(grouping)d(as)h(a)g(\\frame".)j(Eac)o(h)d(pro)q(cess)i
(grouping)e(ma)o(y)e(b)q(e)j(used)g(as)f(a)g(frame)262 1048
y(for)f(m)o(ultiple)f(con)o(texts.)262 1156 y Fe(Con)o(text)i(Descriptor)262
1232 y Fh(Eac)o(h)e(con)o(text)g(is)g(iden)o(ti\014ed)g(b)o(y)g(a)g
Fd(c)n(ontext)h(descriptor)j Fh(\(or)c Fd(hand)r(le)p Fh(\))h(whic)o(h)e(is)h
(expressed)262 1282 y(as)f(an)f(in)o(teger)i(t)o(yp)q(e)f(in)g(the)h(host)f
(language)f(and)h(has)g(an)g(opaque)g(v)n(alue)f(whic)o(h)h(is)g(pro)q(cess)
262 1332 y(lo)q(cal.)17 b(See)d(Note)h(1.)324 1382 y(The)i(creation)g(of)f
Fg(mpi)h Fh(pro)q(cess)h(groupings)f(allo)q(cates)f(an)h Fd(own)j
Fh(con)o(text)e(whic)o(h)e(in-)262 1432 y(herits)f(the)h(created)h(grouping)d
(as)i(a)e(frame)g(and)h(can)h(b)q(e)g(though)o(t)e(of)h(as)g(a)g(prop)q(ert)o
(y)h(of)262 1482 y(the)h(created)i(grouping.)26 b(The)17 b(grouping)g
(retains)g(the)h(descriptor)g(of)e(its)h(o)o(wn)g(con)o(text)262
1531 y(un)o(til)c Fg(mpi)h Fh(pro)q(cess)i(grouping)e(deletion.)19
b Fg(mpi)14 b Fh(pro)o(vides)g(a)g(pro)q(cedure)j(whic)o(h)d(accepts)i(a)262
1581 y(v)n(alid)c(group)h(descriptor)i(and)e(returns)i(the)f(con)o(text)h
(descriptor)g(of)e(the)h(o)o(wn)f(con)o(text)h(of)262 1631
y(the)g(iden)o(ti\014ed)g(group.)k(F)m(or)13 b(example,)g Fc(cd)21
b(=)g(mpi)p 1074 1631 V 16 w(own)p 1156 1631 V 15 w(context\(gd\))m
Fh(.)d(See)d(Note)f(11.)262 1739 y Fe(Con)o(text)g(Creation)h(and)g(Deletion)
262 1816 y Fg(mpi)f Fh(pro)o(vides)h(facilities)f(whic)o(h)h(allo)o(ws)f
(user)i(to)e(dynamically)e(create)17 b(and)e(delete)h(con-)262
1865 y(texts)i(in)e(addition)g(to)h(the)h(o)o(wn)f(con)o(texts)h(asso)q
(ciated)g(with)e(pro)q(cess)j(groupings.)28 b(See)262 1915
y(Note)14 b(12.)324 1965 y Fg(mpi)i Fh(pro)o(vides)g(a)g(pro)q(cedure)i(whic)
o(h)e(allo)o(ws)f(users)i(to)f(create)i(con)o(texts.)26 b(This)16
b(pro-)262 2015 y(cedure)j(accepts)g(a)e(v)n(alid)f(descriptor)j(of)d(a)i
(group)f(of)g(whic)o(h)g(the)h(calling)e(pro)q(cess)k(is)d(a)262
2065 y(mem)o(b)q(er,)10 b(and)i(returns)i(a)e(con)o(text)h(descriptor)g(whic)
o(h)f(references)j(the)e(iden)o(ti\014ed)f(group.)262 2114
y(F)m(or)18 b(example,)g Fc(cd)j(=)h(mpi)p 699 2114 V 15 w(context)p
868 2114 V 14 w(creation\(gd\))m Fh(.)32 b(This)19 b(pro)q(cedure)h(is)f
(called)f(b)o(y)262 2164 y(and)13 b(sync)o(hronises)j(all)c(mem)o(b)q(ers)h
(of)g Fc(gd)p Fh(.)324 2214 y Fg(mpi)f Fh(pro)o(vides)h(a)f(pro)q(cedure)i
(whic)o(h)f(allo)o(ws)e(users)j(to)f(delete)g(user)h(created)g(con)o(texts.)
262 2264 y(This)d(pro)q(cedure)j(accepts)f(a)e(v)n(alid)f(con)o(text)j
(descriptor)g(whic)o(h)e(w)o(as)h(created)h(b)o(y)e(the)i(call-)262
2314 y(ing)8 b(pro)q(cess)j(and)e(deletes)i(the)f(iden)o(ti\014ed)f(con)o
(text.)17 b(F)m(or)9 b(example,)g Fc(mpi)p 1389 2314 V 15 w(context)p
1558 2314 V 14 w(deletion\(cd\))n Fh(.)262 2363 y(This)k(pro)q(cedure)j(is)e
(called)f(b)o(y)h(and)g(sync)o(hronises)h(all)e(mem)o(b)q(ers)f(of)i(the)g
(frame)f(of)g Fc(cd)p Fh(.)324 2413 y(See)i(Note)f(13)967 2574
y(5)p eop
%%Page: 6 7
6 6 bop 262 307 a Fe(Descriptor)13 b(T)l(ransmission)262 384
y Fh(Since)19 b(a)g(descriptor)h(is)f(an)f(in)o(teger)i(t)o(yp)q(e)f(in)f
(the)i(host)f(language)f(the)i(v)n(alue)e(ma)o(y)f(b)q(e)262
434 y(transmitted)10 b(in)g(a)h(message)f(as)h(an)g(in)o(teger.)17
b(The)12 b(recipien)o(t)f(of)f(the)i(descriptor)g(can)f(mak)o(e)262
483 y(no)j(de\014ned)h(use)h(of)e(the)h(v)n(alue)f(in)g(the)h
Fg(mpi)f Fh(op)q(erations)h(describ)q(ed)h(in)e(this)h(prop)q(osal)f(|)262
533 y(the)g(descriptor)h(is)f Fd(invalid)p Fh(.)k(See)d(Note)f(1.)324
583 y(MPI)i(pro)o(vides)h(a)f(mec)o(hanism)d(whereb)o(y)18
b(the)f(user)g(can)f(transmit)f(a)h(v)n(alid)f(con)o(text)262
633 y(descriptor)j(in)e(a)g(message)h(suc)o(h)h(that)e(the)i(receiv)o(ed)g
(descriptor)g(is)f(v)n(alid.)25 b(This)17 b(is)f(in-)262 683
y(tegrated)h(with)f(the)h(capabilit)o(y)e(to)h(transmit)f(t)o(yp)q(ed)i
(messages.)26 b(It)17 b(is)f(suggested)i(that)262 732 y(a)d(notional)f(data)h
(t)o(yp)q(e)h(should)f(b)q(e)h(in)o(tro)q(duced)g(for)f(this)h(purp)q(ose,)g
(e.g.)23 b Fc(MPI)p 1524 732 14 2 v 15 w(CD)p 1583 732 V 15
w(TYPE)o Fh(.)262 782 y(See)14 b(Note)h(3.)324 832 y Fg(mpi)e
Fh(pro)o(vides)i(a)e(con)o(text)i(descriptor)g(registry)g(service.)k(Use)c
(of)f(this)g(service)h(is)f(not)262 882 y(mandated.)27 b(Programs)16
b(whic)o(h)h(can)g(con)o(v)o(enien)o(tly)h(b)q(e)f(expressed)j(without)d
(using)g(the)262 932 y(service)e(can)f(ignore)g(it)f(without)h(p)q(enalt)o(y)
m(.)j(See)e(Note)f(4.)324 982 y(Note)d(that)f(receipt)i(of)e(a)g(v)n(alid)f
(con)o(text)i(descriptor)h(ma)o(y)d(ha)o(v)o(e)h(a)g(p)q(ersisten)o(t)j
(e\013ect)f(on)262 1031 y(the)i(implemen)o(tation)d(of)i Fg(mpi)h
Fh(at)f(the)i(receiv)o(er,)g(and)f(in)g(particular)f(ma)o(y)f(reserv)o(e)k
(state.)262 1081 y Fg(mpi)j Fh(will)g(pro)o(vide)h(a)g(pro)q(cedure)i(whic)o
(h)d(frees)j(\(or)e(in)o(v)n(alidates\))f(in)o(v)n(alidates)f(a)i(v)n(alid)
262 1131 y(descriptor,)g(allo)o(wing)c(the)j(implemen)o(tation)c(to)j(free)h
(reserv)o(ed)i(state.)32 b(F)m(or)18 b(example,)262 1181 y
Fc(mpi)p 331 1181 V 15 w(free)p 434 1181 V 14 w(cd\(cd\))o
Fh(.)26 b(The)17 b(user)h(is)e(not)h(allo)o(w)o(ed)e(to)h(free)i(the)f(o)o
(wn)f(con)o(text)h(descriptor)262 1231 y(of)g(an)o(y)h(group)h(or)f(the)h
(con)o(text)g(descriptor)h(of)e(an)o(y)g(con)o(text)h(created)h(b)o(y)e(the)h
(calling)262 1280 y(pro)q(cess.)324 1330 y(See)c(Note)f(6.)262
1438 y Fe(Descriptor)f(A)o(ttribu)o(tes)262 1515 y Fg(mpi)f
Fh(pro)o(vides)i(a)f(pro)q(cedure)i(whic)o(h)e(allo)o(ws)f(users)j(to)e
(determine)g(the)h(pro)q(cess)h(grouping)262 1565 y(whic)o(h)e(is)h(the)h
(frame)d(of)h(a)h(con)o(text.)19 b(F)m(or)13 b(example,)f Fc(gd)22
b(=)f(mpi)p 1282 1565 V 15 w(context)p 1451 1565 V 15 w(group\(cd\))n
Fh(.)262 1681 y Ff(1.2.4)55 b(P)n(oin)n(t-to-P)n(oin)n(t)19
b(Comm)n(unication)262 1757 y Fh(This)12 b(prop)q(osal)h(recommends)f(three)i
(forms)e(for)h Fg(mpi)f Fh(p)q(oin)o(t-to-p)q(oin)o(t)g(message)g(address-)
262 1807 y(ing)h(and)h(selection:)19 b(n)o(ull)13 b(con)o(text;)h(closed)g
(con)o(text;)h(op)q(en)f(con)o(text.)19 b(\(See)c(Note)g(15\).)j(It)262
1857 y(is)d(further)i(recommended)e(that)i(messages)f(comm)o(uni)o(cated)e
(in)i(eac)o(h)g(form)f(are)h(distin-)262 1907 y(guished)h(suc)o(h)h(that)f(a)
g Fc(Send)f Fh(op)q(eration)i(of)e(form)g(X)h(cannot)g(matc)o(h)f(with)h(a)g
Fc(Receive)262 1957 y Fh(op)q(eration)10 b(of)g(form)f(Y,)h(requiring)g(that)
h(form)e(is)h(em)o(b)q(edded)h(in)o(to)f(the)h(message)g(en)o(v)o(elop)q(e.)
324 2006 y(The)k(three)g(forms)e(are)i(describ)q(ed,)h(follo)o(w)o(ed)d(b)o
(y)h(considerations)h(of)f(uniform)e(in)o(teg-)262 2056 y(ration)h(of)g
(these)i(forms)e(in)g(the)i(p)q(oin)o(t-to-p)q(oin)o(t)d(comm)o(unication)f
(c)o(hapter)k(of)e Fg(mpi)p Fh(.)262 2164 y Fe(Null)h(Con)o(text)g(F)l(orm)
262 2241 y Fh(The)20 b Fd(nul)r(l)h(c)n(ontext)k Fh(form)18
b(con)o(tains)j(no)f(message)g(con)o(text.)38 b(Message)22
b(selection)f(and)262 2291 y(addressing)16 b(are)f(expressed)j(b)o(y)e
Fc(\(pd,)k(tag\))15 b Fh(where:)22 b Fc(pd)15 b Fh(is)h(a)f(pro)q(cess)i
(descriptor;)g Fc(tag)262 2340 y Fh(is)c(a)h(message)f(tag.)324
2390 y Fc(Send)g Fh(supplies)h(the)g Fc(pd)f Fh(of)g(the)h(receiv)o(er.)20
b Fc(Receive)12 b Fh(supplies)i(the)g Fc(pd)f Fh(of)g(the)h(sender.)967
2574 y(6)p eop
%%Page: 7 8
7 7 bop 324 307 a Fc(Receive)16 b Fh(can)j(wildcard)e(on)h
Fc(pd)g Fh(b)o(y)f(supplying)h(the)h(v)n(alue)e(of)g(a)h(named)f(constan)o(t)
262 357 y(pro)q(cess)j(descriptor,)h(e.g.)33 b Fc(MPI)p 788
357 14 2 v 15 w(PD)p 847 357 V 15 w(WILD)p Fh(.)18 b(See)i(Note)f(14.)33
b(This)18 b(prop)q(osal)h(mak)o(es)f(no)262 407 y(statemen)o(t)13
b(ab)q(out)h(the)h(pro)o(vision)d(for)i(wildcard)f(on)h Fc(tag)p
Fh(.)262 515 y Fe(Closed)g(Con)o(text)h(F)l(orm)262 591 y Fh(The)f
Fd(close)n(d)g(c)n(ontext)k Fh(form)12 b(p)q(ermits)h(comm)o(unication)d(b)q
(et)o(w)o(een)15 b(mem)o(b)q(ers)d(of)h(the)h(same)262 641
y(con)o(text.)22 b(Message)16 b(selection)g(and)f(addressing)h(are)f
(expressed)j(b)o(y)d Fc(\(cd,)21 b(rank,)f(tag\))262 691 y
Fh(where:)e Fc(cd)11 b Fh(is)h(a)g(con)o(text)h(descriptor;)g
Fc(rank)f Fh(is)f(a)h(pro)q(cess)i(rank)e(in)g(the)g(frame)f(of)h
Fc(cd)p Fh(;)f Fc(tag)262 741 y Fh(is)i(a)h(message)f(tag.)324
791 y Fc(Send)i Fh(supplies)i(the)g Fc(cd)f Fh(of)g(the)h(receiv)o(er)h
(\(and)f(sender\),)h(and)e(the)i Fc(rank)d Fh(of)h(the)h(re-)262
840 y(ceiv)o(er.)26 b Fc(Receive)15 b Fh(supplies)i(the)g Fc(cd)f
Fh(of)g(the)h(sender)h(\(and)e(receiv)o(er\),)j(and)d(the)h(rank)f(of)262
890 y(the)f(sender.)24 b(The)16 b Fc(\(cd,)21 b(rank\))14 b
Fh(pair)h(in)f Fc(Send)h Fh(\()p Fc(Receive)p Fh(\))f(is)h(su\016cien)o(t)h
(to)f(determine)262 940 y(the)f(pro)q(cess)i(descriptor)f(of)e(the)i(receiv)o
(er)g(\(sender\).)324 990 y Fc(Receive)9 b Fh(cannot)i(wildcard)f(on)g
Fc(cd)p Fh(.)17 b Fc(Receive)9 b Fh(can)i(wildcard)f(on)g Fc(rank)g
Fh(b)o(y)g(supplying)262 1040 y(the)15 b(v)n(alue)f(of)h(a)f(named)g(constan)
o(t)i(in)o(teger,)f(e.g.)21 b Fc(MPI)p 1133 1040 V 15 w(RANK)p
1236 1040 V 15 w(WILD)p Fh(.)14 b(See)i(Note)f(16.)21 b(This)262
1089 y(prop)q(osal)13 b(mak)o(es)g(no)g(statemen)o(t)h(ab)q(out)g(the)h(pro)o
(vision)d(for)i(wildcard)f(on)h Fc(tag)p Fh(.)262 1197 y Fe(Op)q(en)h(Con)o
(text)f(F)l(orm)262 1274 y Fh(The)k Fd(op)n(en)h(c)n(ontext)j
Fh(form)16 b(p)q(ermits)h(comm)o(unication)e(b)q(et)o(w)o(een)k(mem)o(b)q
(ers)e(of)g(an)o(y)g(t)o(w)o(o)262 1324 y(con)o(texts.)g(Message)11
b(selection)e(and)h(addressing)g(are)f(expressed)j(b)o(y)d
Fc(\(lcd,)21 b(rcd,)g(rank,)f(tag\))262 1374 y Fh(where:)d
Fc(lcd)11 b Fh(is)h(a)f(\\lo)q(cal")f(con)o(text)i(descriptor;)h
Fc(rcd)e Fh(is)g(a)g(\\remote")g(con)o(text)h(descriptor;)262
1423 y Fc(rank)h Fh(is)g(a)h(pro)q(cess)i(rank)d(in)h(the)g(frame)f(of)g
Fc(rcd)p Fh(;)g Fc(tag)g Fh(is)h(a)f(message)h(tag.)324 1473
y Fc(Send)21 b Fh(supplies)h(the)g(con)o(text)h(descriptor)g(for)f(the)g
(sender)h(in)f Fc(lcd)p Fh(,)g(the)h(con)o(text)262 1523 y(descriptor)c(for)f
(the)h(receiv)o(er)h(in)e Fc(rcd)p Fh(,)h(and)f(the)h Fc(rank)e
Fh(of)h(the)h(receiv)o(er)h(in)e(the)h(frame)262 1573 y(of)f
Fc(rcd)p Fh(.)31 b Fc(Receive)17 b Fh(supplies)j(the)f(con)o(text)g
(descriptor)h(for)f(the)g(receiv)o(er)h(in)e Fc(lcd)p Fh(,)h(the)262
1623 y(con)o(text)f(descriptor)g(for)f(the)h(sender)h(in)e
Fc(rcd)p Fh(,)g(and)h(the)g Fc(rank)e Fh(of)h(the)h(sender)h(receiv)o(er)262
1672 y(in)c(the)h(frame)f(of)g Fc(rcd)p Fh(.)23 b(The)16 b
Fc(\(rcd,)k(rank\))15 b Fh(pair)g(in)h Fc(Send)e Fh(\()p Fc(Receive)p
Fh(\))h(is)h(su\016cien)o(t)g(to)262 1722 y(determine)d(the)i(pro)q(cess)h
(descriptor)f(of)e(the)i(receiv)o(er)g(\(sender\).)324 1772
y Fc(Receive)f Fh(cannot)h(wildcard)g(on)h Fc(lcd)f Fh(whic)o(h)g(is)g(the)h
(op)q(en)g(con)o(text)g(form)e(analog)g(of)262 1822 y(there)g(b)q(eing)f(no)f
(wildcard)h(on)f Fc(cd)h Fh(in)f(the)i(closed)f(con)o(text)h(form.)h(Receiv)o
(e)f(can)f(wildcard)262 1872 y(on)19 b Fc(rcd)g Fh(b)o(y)h(supplying)f(the)h
(v)n(alue)f(of)g(a)h(named)f(constan)o(t)h(con)o(text)g(descriptor,)i(e.g.)
262 1922 y Fc(MPI)p 331 1922 V 15 w(CD)p 390 1922 V 15 w(WILD)12
b Fh(\(See)j(Note)f(14\),)e(in)h(whic)o(h)h(case)g Fc(Receive)e
Fd(must)17 b Fh(also)c(wildcard)g(on)g Fc(rank)262 1971 y Fh(as)k(there)i(is)
e(insu\016cien)o(t)h(information)c(to)k(determine)f(the)h(pro)q(cess)h
(descriptor)g(of)e(the)262 2021 y(sender.)39 b Fc(Receive)18
b Fh(can)j(wildcard)f(on)g Fc(rank)f Fh(b)o(y)i(supplying)e(the)i(v)n(alue)f
(of)g(a)g(named)262 2071 y(constan)o(t)e(in)o(teger,)i(e.g.)30
b Fc(MPI)p 750 2071 V 15 w(RANK)p 853 2071 V 15 w(WILD)p Fh(.)17
b(See)i(Note)g(16.)31 b(This)18 b(prop)q(osal)g(mak)o(es)f(no)262
2121 y(statemen)o(t)c(ab)q(out)h(the)h(pro)o(vision)d(for)i(wildcard)f(on)h
Fc(tag)p Fh(.)262 2229 y Fe(Uniform)f(In)o(tegration)262 2305
y Fh(The)j(three)h(forms)e(of)g(addressing)i(and)f(selection)g(describ)q(ed)i
(ha)o(v)o(e)e(di\013eren)o(t)h(syn)o(tactic)262 2355 y(framew)o(orks.)29
b(W)m(e)17 b(can)h(consider)h(in)o(tegrating)e(these)j(forms)c(in)o(to)h(the)
i(p)q(oin)o(t-to-p)q(oin)o(t)967 2574 y(7)p eop
%%Page: 8 9
8 8 bop 262 307 a Fh(c)o(hapter)15 b(of)f Fg(mpi)g Fh(b)o(y)h(de\014ning)f(a)
h(further)g(orthogonal)f(axis)g(\(as)h(in)f(the)h(m)o(ulti-lev)o(el)d(pro-)
262 357 y(p)q(osal)i(of)f(Gropp)i(&)f(Lusk\))h(whic)o(h)g(deals)f(with)g
(form.)k(This)d(is)f(at)g(the)i(exp)q(ense)g(of)e(m)o(ul-)262
407 y(tiplying)f(the)i(n)o(um)o(b)q(er)e(of)h Fc(Send)g Fh(and)g
Fc(Receive)f Fh(pro)q(cedures)k(b)o(y)e(a)f(factor)g(of)g(three,)i(and)262
457 y(some)c(further)i(but)g(trivial)e(w)o(ork)h(with)g(details)h(of)f(the)h
(curren)o(t)h(p)q(oin)o(t-to-p)q(oin)o(t)d(c)o(hapter)262 506
y(whic)o(h)h(uniformly)f(assumes)h(a)h(single)f(addressing)i(and)f(selection)
g(form.)324 556 y(There)22 b(are)g(v)n(arious)f(approac)o(hes)h(to)f
(uni\014cation)g(of)g(the)h(syn)o(tactic)g(framew)o(orks)262
606 y(whic)o(h)10 b(ma)o(y)f(simplify)f(in)o(tegration.)17
b(Three)12 b(options)e(are)i(no)o(w)e(describ)q(ed,)j(eac)o(h)e(based)h(on)
262 656 y(reten)o(tion)i(and)g(extension)g(of)f(the)i(framew)o(ork)d(of)h
(one)h(form.)j(These)e(options)e(represen)o(t)262 706 y(di\013eren)o(t)h
(compromises)e(b)q(et)o(w)o(een)k(the)e(three)h(forms.)262
814 y Fe(Option)d(i:)21 b(Op)q(en)14 b(Con)o(text)h(F)l(ramew)o(ork)41
b Fh(The)13 b(framew)o(ork)f(of)h(the)h(op)q(en)g(con)o(text)262
863 y(form)e(is)h(adopted)i(and)e(extended.)324 913 y(In)o(tro)q(duce)21
b(the)g Fd(nul)r(l)j Fh(descriptor,)e(the)f(v)n(alue)f(of)f(whic)o(h)h(is)g
(de\014ned)h(b)o(y)f(a)g(named)262 963 y(constan)o(t,)e(e.g.)28
b Fc(MPI)p 605 963 14 2 v 15 w(NULL)p Fh(.)16 b(See)i(Note)g(17.)27
b(The)18 b(n)o(ull)e(con)o(text)i(form)e(is)h(expressed)j(as)262
1013 y Fc(\(MPI)p 353 1013 V 14 w(NULL,)h(MPI)p 564 1013 V
15 w(NULL,)g(pd,)g(tag\))o Fh(,)14 b(whic)o(h)f(is)h(a)f(little)g(clumsy)m(.)
j(The)f(closed)f(con)o(text)262 1063 y(form)f(is)j(expressed)h(as)f
Fc(\(MPI)p 736 1063 V 15 w(NULL,)21 b(cd,)g(rank,)g(tag\))o
Fh(,)15 b(whic)o(h)g(is)h(marginally)c(incon-)262 1112 y(v)o(enien)o(t.)17
b(The)12 b(op)q(en)f(con)o(text)i(form)c(is)i(expressed)j(as)d
Fc(\(lcd,)21 b(rcd,)g(rank,)g(tag)o Fh(\),)12 b(whic)o(h)262
1162 y(is)h(of)h(course)h(natural.)262 1270 y Fe(Option)d(ii:)19
b(Closed)14 b(Con)o(text)g(F)l(ramew)o(ork)41 b Fh(The)13 b(framew)o(ork)e
(of)i(the)g(closed)h(con-)262 1320 y(text)g(form)e(is)i(adopted)g(and)g
(extended.)324 1370 y(In)o(tro)q(duce)21 b(the)g Fd(nul)r(l)j
Fh(descriptor,)e(the)f(v)n(alue)f(of)f(whic)o(h)h(is)g(de\014ned)h(b)o(y)f(a)
g(named)262 1420 y(constan)o(t,)e(e.g.)28 b Fc(MPI)p 605 1420
V 15 w(NULL)p Fh(.)16 b(See)i(Note)g(17.)27 b(The)18 b(n)o(ull)e(con)o(text)i
(form)e(is)h(expressed)j(as)262 1469 y Fc(\(MPI)p 353 1469
V 14 w(NULL,)h(pd,)g(tag\))o Fh(,)d(whic)o(h)g(is)f(marginally)e(incon)o(v)o
(enien)o(t.)29 b(The)18 b(closed)g(con)o(text)262 1519 y(form)12
b(is)j(expressed)i(as)e Fc(\(cd,)21 b(rank,)g(tag\))o Fh(,)14
b(whic)o(h)h(is)f(of)h(course)h(natural.)k(Expression)262 1569
y(of)13 b(the)h(op)q(en)h(con)o(text)f(form)e(requires)j(a)f(little)f(more)g
(w)o(ork.)324 1619 y(W)m(e)j(can)i(use)g(the)f Fc(cd)g Fh(\014eld)g(as)g
(\\shorthand)h(notation")e(for)g(the)i Fc(\(lcd,)j(rcd\))16
b Fh(pair)262 1669 y(at)22 b(the)g(exp)q(ense)i(of)e(in)o(tro)q(ducing)g
(some)f(tric)o(k)o(ery)m(.)43 b(W)m(e)22 b(de\014ne)h(a)f(\\con)o(text)g
(duplet)262 1718 y(descriptor")10 b(whic)o(h)f(is)g(formally)d(comp)q(osed)j
(of)g(t)o(w)o(o)g(references)j(to)d(con)o(texts,)i(and)e(pro)o(vide)262
1768 y(a)15 b(pro)q(cedure)j(whic)o(h)e(constructs)i(suc)o(h)f(a)f
(descriptor)h(giv)o(en)f(t)o(w)o(o)g(con)o(text)g(descriptors.)262
1818 y(Both)g Fc(Send)e Fh(and)i Fc(Receive)e Fh(will)g(accept)j(a)f(duplet)f
(descriptor)i(in)f Fc(cd)p Fh(,)f(are)h(able)f(to)h(dis-)262
1868 y(tinguish)g(the)i(duplet)g(descriptor)g(from)e(a)h(singlet)g
(descriptor,)i(and)e(treat)h(the)g(duplet)262 1918 y(as)13
b(shorthand)i(notation.)i(W)m(e)c(should)h(also)f(de\014ne)i(a)e(mec)o
(hanism)e(b)o(y)j(whic)o(h)g(a)f(receiv)o(er)262 1968 y(whic)o(h)h(has)h
(completed)f(a)g Fc(Receive)f Fh(with)h(wildcard)g(on)h Fc(rcd)e
Fh(is)i(able)f(to)h(determine)f(the)262 2017 y(v)n(alid)f(singlet)h
(descriptor)i(of)e(the)h(sender,)h(whic)o(h)e(just)h(adds)g(one)g(further)g
(enquiry)g(pro-)262 2067 y(cedure)f(to)f(the)h(p)q(oin)o(t-to-p)q(oin)o(t)e
(c)o(hapter\(?\).)19 b(This)13 b(option)f(is)h(a)g(little)f(incon)o(v)o
(enien)o(t)h(but)262 2117 y(do)q(es)d(ha)o(v)o(e)g(some)f(useful)h(prop)q
(erties)i(for)d(collectiv)o(e)h(comm)o(unications.)k(It)c(is)g(conjectured)
262 2167 y(that)j(this)h(option)g(is)f(the)i(b)q(est)g(c)o(hoice)f(for)g
Fg(mpi)p Fh(.)262 2275 y Fe(Option)g(iii:)21 b(Null)16 b(Con)o(text)f(F)l
(ramew)o(ork)41 b Fh(The)15 b(framew)o(ork)f(of)g(the)h(n)o(ull)f(con)o(text)
262 2325 y(form)e(is)h(adopted)i(and)e(extended.)324 2374 y(The)f(n)o(ull)f
(con)o(text)i(form)d(is)i(expressed)j(as)d Fc(\(pd,)21 b(tag\))o
Fh(,)12 b(whic)o(h)g(is)g(of)f(course)j(natural.)262 2424 y(Expression)g(of)g
(the)g(op)q(en)g(and)g(closed)h(con)o(text)f(forms)f(requires)i(a)e(little)h
(more)f(w)o(ork.)967 2574 y(8)p eop
%%Page: 9 10
9 9 bop 324 307 a Fh(W)m(e)13 b(can)g(use)h(the)g Fc(pd)f Fh(\014eld)g(as)g
(\\shorthand)h(notation")e(for)h Fc(\(cd,)21 b(rank\))12 b
Fh(and)h Fc(\(lcd,)262 357 y(rcd,)20 b(rank\))15 b Fh(b)o(y)h(con)o(tin)o
(uation)f(of)g(the)h(tric)o(k)o(ery)h(used)f(in)g(the)g(previous)h(option.)23
b(This)262 407 y(is)13 b(rather)i(clumsy)m(.)262 523 y Ff(1.2.5)55
b(Collectiv)n(e)16 b(Comm)n(unication)262 599 y Fh(Symmetric)d(collectiv)o(e)
j(comm)o(unication)c(op)q(erations)k(are)h(complian)o(t)c(with)j(the)g
(closed)262 649 y(con)o(text)e(form)d(describ)q(ed)16 b(ab)q(o)o(v)o(e.)h
(This)d(prop)q(osal)f(recommends)g(that)g(suc)o(h)h(op)q(erations)262
699 y(accept)j(a)e(con)o(text)i(descriptor)g(whic)o(h)e(iden)o(ti\014es)i
(the)f(con)o(text)g(\(th)o(us)h(frame\))d(in)i(whic)o(h)262
749 y(they)e(are)g(to)g(op)q(erate.)324 799 y Fg(mpi)i Fh(do)q(es)h(plan)f
(to)g(describ)q(e)j(symmetric)14 b(collectiv)o(e)j(comm)o(unicatio)o(n)d(op)q
(erations.)262 848 y(It)i(is)g(not)g(p)q(ossible)g(to)g(determine)g(whether)i
(this)e(prop)q(osal)g(is)g(su\016cien)o(t)g(to)g(allo)o(w)f(im-)262
898 y(plemen)o(tation)h(of)i(the)h(collectiv)o(e)f(comm)o(unicatio)o(n)e(c)o
(hapter)j(of)f Fg(mpi)g Fh(in)f(terms)h(of)g(the)262 948 y(p)q(oin)o(t-to-p)q
(oin)o(t)12 b(c)o(hapter)i(of)f Fg(mpi)h Fh(without)f(loss)g(of)g(generalit)o
(y)m(,)g(since)h(the)g(collectiv)o(e)g(op-)262 998 y(erations)g(are)g(not)g
(y)o(et)g(de\014ned.)324 1048 y(Asymmetric)f(collectiv)o(e)h(comm)o
(unication)d(op)q(erations,)k(esp)q(ecially)f(those)i(in)e(whic)o(h)262
1097 y(sender\(s\))20 b(and)f(receiv)o(er\(s\))h(are)f(distinct)g(pro)q
(cesses,)j(are)d(complian)o(t)d(with)i(the)h(op)q(en)262 1147
y(con)o(text)14 b(form)d(describ)q(ed)16 b(ab)q(o)o(v)o(e.)h(This)d(prop)q
(osal)f(recommends)g(that)g(suc)o(h)h(op)q(erations)262 1197
y(accept)f(a)f(pair)g(of)f(con)o(text)i(descriptors)h(\(p)q(erhaps)g(in)d(a)h
(duplet)h(descriptor)g(form\))e(whic)o(h)262 1247 y(iden)o(tify)i(the)h(con)o
(texts)h(\(th)o(us)g(frames\))e(in)g(whic)o(h)h(they)g(are)g(to)g(op)q
(erate.)324 1297 y Fg(mpi)21 b Fh(do)q(es)h(not)g(plan)e(to)i(describ)q(e)h
(asymmetric)c(collectiv)o(e)j(comm)o(unicatio)o(n)d(op-)262
1346 y(erations.)33 b(Suc)o(h)19 b(op)q(erations)h(are)f(expressiv)o(e)h
(when)g(writing)e(programs)g(b)q(ey)o(ond)h(the)262 1396 y(SPMD)13
b(mo)q(del,)f(whic)o(h)i(are)g(comp)q(osed)g(of)f(comm)o(unicati)o(v)o(e)e
(functionally)i(distinct)h(pro-)262 1446 y(cess)g(groupings.)k(This)13
b(prop)q(osal)f(recommends)g(that)i(suc)o(h)g(op)q(erations)f(should)g(b)q(e)
h(con-)262 1496 y(sidered)h(in)e(some)g(reincarnation)h(of)f
Fg(mpi)p Fh(.)262 1633 y Fi(1.3)64 b(Discussion)24 b(&)d(Notes)262
1724 y Fh(This)14 b(section)h(comprises)g(a)f(discussion)h(of)f(certain)h
(asp)q(ects)h(of)e(this)h(prop)q(osal)f(follo)o(w)o(ed)262
1774 y(b)o(y)f(the)i(notes)f(referenced)j(in)c(the)i(detailed)e(prop)q(osal.)
262 1889 y Ff(1.3.1)55 b(Discussion)262 1966 y Fh(W)m(e)15
b(can)h(dissect)i(the)e(prop)q(osal)g(in)o(to)f(t)o(w)o(o)h(parts:)22
b(an)16 b(SPMD)g(mo)q(del)f(core;)i(an)f(MIMD)262 2016 y(mo)q(del)f(annex.)27
b(In)17 b(this)g(discussion)g(the)h(dissection)f(is)g(exp)q(osed)h(and)e(the)
i(conceptual)262 2066 y(foundation)d(of)h(eac)o(h)h(part)g(is)g(describ)q
(ed.)28 b(The)17 b(discussion)h(also)e(presen)o(ts)i(brief)f(argu-)262
2116 y(men)o(ts)c(for)g(and)h(against)f(the)i(MIMD)e(mo)q(del)g(annex.)262
2223 y Fe(SPMD)i(mo)q(del)f(core)262 2300 y Fh(The)e(SPMD)g(mo)q(del)e(core)j
(pro)o(vides)f(noncomm)o(unicativ)o(e)d(pro)q(cess)14 b(groupings)d(and)h
(com-)262 2350 y(m)o(unication)j(con)o(texts)k(for)f(writers)g(of)g(SPMD)f
(parallel)g(libraries.)30 b(It)18 b(is)f(in)o(tended)i(to)262
2399 y(pro)o(vide)11 b(expressiv)o(e)i(p)q(o)o(w)o(er)e(b)q(ey)o(ond)h(the)g
(\\SPIMD")f(mo)q(del)e(\(in)i(whic)o(h)h(pro)q(cess)h(execute)262
2449 y(in)g(an)h(SIMD)f(fashion\).)967 2574 y(9)p eop
%%Page: 10 11
10 10 bop 324 307 a Fh(The)18 b(material)e(describing)j(pro)q(cesses)h(in)e
(Section)g(1.2.1)f(is)h(simpli\014ed:)24 b(pro)q(cesses)262
357 y(ha)o(v)o(e)17 b(iden)o(tical)f(instruction)i(blo)q(c)o(ks)f(and)g
(di\013eren)o(t)h(data)f(blo)q(c)o(ks;)h(pro)q(cess)h(descriptor)262
407 y(transmission)14 b(and)i(registry)g(b)q(ecome)g(redundan)o(t;)h(dynamic)
d(pro)q(cess)k(mo)q(dels)c(are)j(not)262 457 y(considered.)324
506 y(The)22 b(material)e(describing)i(pro)q(cess)i(groupings)d(in)g(Section)
h(1.2.2)e(is)i(simpli\014ed:)262 556 y(group)13 b(descriptor)i(transmission)e
(and)g(registry)i(b)q(ecome)e(redundan)o(t;)h(the)g(o)o(wn)g(pro)q(cess)262
606 y(grouping)f(explicitly)f(b)q(ecomes)j(a)e(single)h(group)f(con)o
(taining)g(all)g(pro)q(cesses.)324 656 y(The)j(material)d(describing)j(comm)o
(unicatio)o(n)d(con)o(texts)j(in)f(Section)h(1.2.3)e(is)h(simpli-)262
706 y(\014ed:)j(con)o(text)d(descriptor)g(transmission)d(and)i(registry)h(b)q
(ecome)e(unnecessary)m(.)324 756 y(The)20 b(material)e(describing)i(p)q(oin)o
(t-to-p)q(oin)o(t)e(comm)o(unication)e(in)k(Section)g(1.2.4)e(is)262
805 y(simpli\014ed:)c(the)e(op)q(en)g(con)o(text)g(form)d(b)q(ecomes)j
(redundan)o(t;)g(uniform)d(in)o(tegration)i(\\Op-)262 855 y(tion)18
b(i")g(is)g(deleted,)j(and)d(\\Option)g(ii")g(loses)h(duplet)g(descriptors,)i
(b)q(ecoming)c(simple)262 905 y(enough)d(that)f(\\Option)h(iii")e(need)j(not)
f(b)q(e)g(further)h(considered.)324 955 y(The)k(material)e(describing)i
(collectiv)o(e)g(comm)o(unicatio)o(n)d(in)i(Section)i(1.2.5)d(is)h(sim-)262
1005 y(pli\014ed:)h(there)d(is)e(no)h(p)q(ossibilit)o(y)e(of)h(collectiv)o(e)
h(comm)o(unicatio)o(n)d(op)q(erations)j(spanning)262 1054 y(more)d(than)i
(one)g(con)o(text.)262 1162 y Fe(MIMD)i(mo)q(del)e(annex)262
1239 y Fh(The)d(MIMD)g(mo)q(del)f(annex)i(extends)g(and)f(mo)q(di\014es)g
(the)g(SPMD)h(mo)q(del)d(core)k(to)e(pro)o(vide)262 1289 y(expressiv)o(e)g(p)
q(o)o(w)o(er)f(for)f(MIMD)h(programs)e(whic)o(h)i(com)o(bine)e(\(coarse)j
(grain\))e(function)h(and)262 1339 y(data)h(driv)o(en)i(parallelism.)h(The)f
(MIMD)f(mo)q(del)e(annex)j(is)f(not)g(in)o(tended)h(to)e(pro)o(vide)h(ex-)262
1388 y(pressiv)o(e)i(p)q(o)o(w)o(er)g(to)f(\014ne)h(grained)f(function)h
(driv)o(en)f(parallel)f(programs)h(|)g(it)g(is)g(conjec-)262
1438 y(tured)e(that)g(message)f(passing)h(approac)o(hes)g(suc)o(h)h(as)f
Fg(mpi)f Fh(are)h(not)g(suited)g(to)g(\014ne)g(grained)262
1488 y(parallel)k(programmi)o(ng.)22 b(The)17 b(annex)g(is)f(in)o(tended)h
(to)f(pro)o(vide)g(expressiv)o(e)i(p)q(o)o(w)o(er)f(for)262
1538 y(the)d(\\MSPMD")f(mo)q(del,)f(whic)o(h)i(is)g(no)o(w)f(describ)q(ed.)
324 1588 y(One)g(of)e(the)i(simplest)e(MIMD)h(mo)q(dels)f(is)h(the)g
(\\host-no)q(de")h(mo)q(del,)d(familia)o(r)g(in)h Fg(ex-)262
1637 y(press)g Fh(and)g Fg(p)m(arma)o(cs)p Fh(,)i(con)o(taining)d(t)o(w)o(o)h
(functional)f(groups:)17 b(one)11 b(no)q(de)h(group)f(\(SPMD)262
1687 y(lik)o(e\))i(;)g(one)h(host)g(group)g(\(a)g(singleton\).)324
1737 y(The)d(\\parallel)e(clien)o(t-serv)o(er")j(mo)q(del,)e(in)g(whic)o(h)h
(eac)o(h)g(of)f(the)i Fb(n)e Fh(clien)o(ts)h(is)g(comp)q(osed)262
1787 y(of)i(parallel)g(pro)q(cesses,)k(and)d(in)g(whic)o(h)g(the)h(serv)o(er)
g(ma)o(y)e(also)g(b)q(e)i(comp)q(osed)f(of)g(parallel)262 1837
y(pro)q(cesses,)k(con)o(tains)d(1)10 b(+)h Fb(n)k Fh(functional)g(groups:)21
b Fb(n)15 b Fh(clien)o(t)h(groups)g(\(SPMD)f(lik)o(e\);)g(one)262
1886 y(serv)o(er)i(group)f(\(singleton,)f(SPMD)h(lik)o(e\).)23
b(The)17 b(\\host-no)q(de")f(mo)q(del)e(is)i(a)f(case)i(of)f(this)262
1936 y(mo)q(del)c(in)i(whic)o(h)h(the)f(host)h(can)g(b)q(e)g(view)o(ed)f(as)h
(a)f(singleton)g(clien)o(t)g(and)g(the)h(no)q(des)g(can)262
1986 y(b)q(e)i(view)o(ed)h(as)f(an)g(SPMD)h(lik)o(e)e(serv)o(er)j(\(or)e(the)
h(host)g(as)f(a)g(singleton)g(serv)o(er)i(and)e(the)262 2036
y(no)q(des)d(as)g(an)g(SPMD)g(lik)o(e)f(clien)o(t\).)324 2086
y(The)g(\\parallel)e(mo)q(dule)g(graph")h(mo)q(del,)f(in)h(whic)o(h)g(eac)o
(h)h(mo)q(dule)e(within)h(the)h(graph)262 2136 y(ma)o(y)j(b)q(e)k(comp)q
(osed)e(of)g(parallel)g(pro)q(cesses)j(\(singleton,)f(SPMD)e(lik)o(e\),)h
(con)o(tains)g(an)o(y)262 2185 y(n)o(um)o(b)q(er)c(of)g(functional)g(groups)h
(with)g(arbitrarily)f(complex)g(relations.)24 b(The)16 b(\\parallel)262
2235 y(clien)o(t-serv)o(er)j(mo)q(del")e(is)h(a)h(case)g(of)f(this)h(mo)q
(del)e(in)h(whic)o(h)g(the)h(mo)q(dule)e(graph)h(only)262 2285
y(con)o(tains)13 b(arcs)i(joining)d(the)j(serv)o(er)g(to)f(eac)o(h)g(clien)o
(t.)324 2335 y(The)19 b(MIMD)g(mo)q(del)e(annex)j(is)e(in)o(tended)i(to)f
(pro)o(vide)g(expressiv)o(e)h(p)q(o)o(w)o(er)f(for)g(the)262
2385 y(\\parallel)14 b(mo)q(dule)h(graph")h(mo)q(del,)f(whic)o(h)h(I)g(refer)
h(to)g(as)f(the)h(MPSMD)f(mo)q(del.)24 b(This)262 2434 y(mo)q(del)14
b(requires)i(supp)q(ort)h(at)e(some)g(lev)o(el)g(as)h(commercial)d(and)i(mo)q
(dular)f(applications)957 2574 y(10)p eop
%%Page: 11 12
11 11 bop 262 307 a Fh(are)13 b(increasingly)g(mo)o(ving)d(in)j(to)g
(parallel)f(computing.)k(The)d(debate)h(is)f(whether)i(or)e(not)262
357 y(message)d(passing)h(approac)o(hes)h(suc)o(h)g(as)g Fg(mpi)e
Fh(\(whic)o(h)i(I)f(simply)e(refer)j(to)f(as)g(MPI\))h(should)262
407 y(pro)o(vide)h(for)h(this)g(mo)q(del.)324 457 y(The)d(negativ)o(e)g
(argumen)o(t)f(is)h(that)g(suc)o(h)h(SPMD)f(lik)o(e)f(mo)q(dules)g(should)h
(b)q(e)h(con)o(trolled)262 506 y(and)e(comm)o(unicate)e(with)i(one)h(another)
g(as)g(\\parallel)e(pro)q(cesses")k(at)e(the)g(distributed)g(op-)262
556 y(erating)g(system)h(lev)o(el.)17 b(The)c(argumen)o(t)e(has)h(some)f(app)
q(eal)h(as)g(the)g(w)o(orld)g(of)f(distributed)262 606 y(op)q(erating)17
b(systems)h(m)o(ust)f(deal)h(with)f(di\016cult)g(issues)i(suc)o(h)g(as)f(pro)
q(cess)h(con)o(trol)f(and)262 656 y(coherency)m(.)23 b(Av)o(oidance)16
b(of)f(duplication)f(in)h(MPI)g(allo)o(ws)g(MPI)g(to)h(fo)q(cus)f(on)h(pro)o
(vision)262 706 y(of)11 b(a)h(smaller)f(set)i(of)e(facilities)g(with)h
(greater)i(emphasis)d(on)h(maxim)n(um)c(p)q(erformance)k(for)262
756 y(data)h(driv)o(en)h(SPMD)g(lik)o(e)f(parallel)g(programs.)324
805 y(The)20 b(p)q(ositiv)o(e)g(argumen)o(t)f(is)h(that)h(comm)o(uni)o
(cations)d(b)q(et)o(w)o(een)j(suc)o(h)g(SPMD)f(lik)o(e)262
855 y(mo)q(dules)11 b(require)j(high)e(p)q(erformance)g(and)h(MPI)g(can)f
(pro)o(vide)h(suc)o(h)g(p)q(erformance)g(with)262 905 y(tuned)i(seman)o(tics)
f(whic)o(h)h(exp)q(ect)h(the)f(user)h(to)e(deal)h(with)f(coherency)j(issues.)
k(There)16 b(is)262 955 y(also)c(the)i(argumen)o(t)f(that)g(MPI)h(is)f(able)g
(to)g(deal)h(with)f(this)g(in)g(a)g(shorter)i(time)d(than)h(de-)262
1005 y(v)o(elopmen)o(t)f(\(and)j(standardisation\))f(pro)q(cedures)j(for)d
(distributed)h(op)q(erating)f(systems.)262 1054 y(The)j(latter)g(argumen)o(t)
f(is)g(somewhat)g(comparable)g(with)g(the)i(argumen)o(t)d(for)i(message)262
1104 y(passing)c(v)o(ersus)i(parallel)e(compilation.)262 1220
y Ff(1.3.2)55 b(Notes)312 1297 y Fh(1.)20 b Fe(Descriptors:)29
b Fh(Descriptors)22 b(are)f(assumed)f(to)g(b)q(e)h(a)f(plen)o(tiful)f(but)i
(b)q(ounded)365 1347 y(resource.)37 b(They)20 b(are)g(opaque)f(references)j
(to)e(ob)r(jects)g(of)f(unde\014ned)i(size)f(and)365 1397 y(structure.)25
b(They)16 b(are)g(not)f(global)f(unique)i(iden)o(ti\014ers)g(ho)o(w)o(ev)o
(er)g(they)g(m)o(ust)e(ref-)365 1446 y(erence)19 b(suc)o(h)e(iden)o
(ti\014ers,)h(and)f(they)g(protect)h(the)f(user)h(from)d(the)i(form)e(of)h
(suc)o(h)365 1496 y(iden)o(ti\014ers)g(allo)o(wing)c(them)i(to)h(b)q(e)h
(implem)o(en)o(tation)c(dep)q(enden)o(t.)23 b(The)15 b(prop)q(osal)365
1546 y(expresses)h(descriptors)e(as)f(in)o(teger)g(t)o(yp)q(es)h(in)f(the)g
(host)g(language)f(\(in)g(practice)i(w)o(e)365 1596 y(migh)o(t)9
b(exp)q(ect)j(descriptors)g(to)f(b)q(e)g(indices)g(in)o(to)f(tables)h(of)f
(structures,)k(or)c(tables)h(of)365 1646 y(p)q(oin)o(ters)k(to)f(structures,)
j(or)d(indeed)h(p)q(oin)o(ters)f(to)h(structures)h(themselv)o(es\).)k(This)
365 1696 y(expression)15 b(facilitates)f(uniform)d(binding)i(to)h(ANSI)g(C)g
(and)g(F)m(ortran)f(77.)365 1762 y(The)h(con)o(text)h(descriptor)g(m)o(ust)d
(at)i(least)g(reference:)20 b(the)14 b(global)e(unique)i(con)o(text)365
1812 y(iden)o(ti\014er;)j(the)f(group)f(descriptor)i(of)e(the)h(frame.)22
b(The)16 b(group)g(descriptor)h(m)o(ust)365 1862 y(at)j(least)g(reference:)32
b(the)20 b(global)e(unique)i(group)f(iden)o(ti\014er;)j(the)f(o)o(wn)e(con)o
(text)365 1911 y(descriptor;)14 b(the)f(rank)g(space)g(to)g(pro)q(cess)h
(descriptor)g(map)d(of)g(the)j(group)e(\(includ-)365 1961 y(ing)i(the)g(size)
h(of)f(the)h(group\);)e(the)i(pro)q(cess)h(rank.)j(The)14 b(pro)q(cess)i
(descriptor)g(m)o(ust)365 2011 y(at)10 b(least)h(reference;)i(the)e(global)e
(unique)h(pro)q(cess)i(iden)o(ti\014er;)f(the)g(group)f(descriptor)365
2061 y(of)k(the)g(o)o(wn)g(group.)365 2127 y(The)c(prop)q(osal)f(text)h
(distinguishes)g(pro)q(cess,)i(group)d(and)g(con)o(text)h(iden)o(ti\014ers)h
(more)365 2177 y(strongly)18 b(than)g(is)g(strictly)h(necessary)m(.)32
b(There)19 b(is)f(p)q(oten)o(tial)g(adv)n(an)o(tage)f(in)h(the)365
2227 y(concept)d(of)e(a)g(uni\014ed)h(descriptor)h(whic)o(h)e(can)h(b)q(e)g
(used)g(to)g(reference)i(either)e(kind)365 2277 y(of)k(actual)f(descriptor.)
31 b(F)m(or)18 b(example)f(descriptor)i(uni\014cation)e(go)q(es)h(some)f(w)o
(a)o(y)365 2326 y(to)o(w)o(ard)j(cleaning)f(up)h(the)h(duplet,)g(descriptors)
g(describ)q(ed)h(in)d(\\Option)h(ii")e(of)365 2376 y(section)i(Section)f
(1.2.4.)31 b(De\014nition)18 b(in)g(this)h(fashion)f(requires)i(the)f
(referenced)365 2426 y(ob)r(ject)h(to)f(con)o(tain)g(a)g(class)g(iden)o
(ti\014er)h(\(whic)o(h)f(in)g(this)g(prop)q(osal)g(could)g(b)q(e)h(as)957
2574 y(11)p eop
%%Page: 12 13
12 12 bop 365 307 a Fh(little)20 b(as)g(3)f(bits)h(wide\))g(This)g
(suggestion)g(is)g(explored)g(in)g(some)f(of)g(the)i(notes)365
357 y(b)q(elo)o(w.)365 423 y(Rik)12 b(Little\014eld)h(has)h(suggested)g
(descriptors)h(could)e(b)q(e)h(used)g(to)f(\\cac)o(he")h(p)q(er)g(ob-)365
473 y(ject)i(user)h(information,)c(as)i(app)q(ears)h(in)g Fg(zipcode)p
Fh(.)22 b(This)15 b(descriptor)i(capabilit)o(y)365 523 y(could)f(b)q(e)h
(seriously)f(useful)g(for)g(example)f(in)g(con)o(text)i(or)f(group)g(sp)q
(eci\014c)i(imple-)365 573 y(men)o(tations)f(of)h(collectiv)o(e)g(comm)o
(unications.)28 b(The)19 b(suggestion)f(b)q(oth)g(requires)365
623 y(and)c(deserv)o(es)i(more)d(w)o(ork.)365 689 y(There)20
b(w)o(ere)f(additional)d(motiv)n(ations)g(for)i(expressing)h(pro)q(cess)i
(descriptors)f(as)365 739 y(in)o(tegers)f(in)f(the)h(prop)q(osal.)31
b(Firstly)m(,)19 b(the)g(author)f(an)o(ticipated)g(\\Option)g(ii")f(of)365
789 y(Section)11 b(1.2.4.)k(Secondly)m(,)c(it)f(is)g(observ)o(ed)h(that)g
(de\014nition)f(of)g(pro)q(cess)i(descriptors)365 839 y(can)19
b(b)q(e)f(w)o(eak)o(ened)h(suc)o(h)g(that)f(they)h(ma)o(y)d(b)q(e)j(implemen)
o(ted)d(as)i(global)f(unique)365 888 y(pro)q(cess)i(iden)o(ti\014ers,)e
(expressed)i(as)e(in)o(tegers,)g(should)g(this)f(infer)h(adv)n(an)o(tage.)25
b([)p Fd(I)365 938 y(wish)15 b(I)g(had)g(r)n(e)n(alise)n(d)f(the)h(se)n(c)n
(ond)g(p)n(oint)g(b)n(efor)n(e)g(the)g(\014rst!])365 1005 y
Fh(The)21 b(consequence)h(of)d(allo)o(wing)f(pro)q(cess)j(descriptors)h(to)d
(b)q(e)i(implemen)o(ted)d(as)365 1054 y(pro)q(cess)c(iden)o(ti\014ers)f(is)f
(explored)h(in)f(some)f(of)h(the)h(notes)f(b)q(elo)o(w.)18
b(Please)13 b(also)e(note)365 1104 y(that)j(this)f(w)o(ould)g(exclude)h(pro)q
(cess)h(descriptors)g(from)c(the)j(\\cac)o(hing")f(capabilit)o(y)365
1154 y(men)o(tioned)i(ab)q(o)o(v)o(e.)25 b(These)17 b(ideas)f(suggest)h(an)f
(alternate)h(prop)q(osal,)f(con)o(taining)365 1204 y(global)h(unique)h(pro)q
(cess)i(iden)o(ti\014ers)e(expressed)j(as)d(in)o(tegers,)h(and)f(con)o(text)h
(and)365 1254 y(group)12 b(descriptors)h(as)e(opaque)g(references)k(of)10
b(y)o(et)i(unsp)q(eci\014ed)h(language)e(binding)365 1303 y(\(i.e.,)i(p)q
(erhaps)i(not)f(an)g(in)o(teger\).)19 b(This)14 b(suggestion)h(is)e(also)h
(explored)g(in)g(some)f(of)365 1353 y(the)i(notes)f(b)q(elo)o(w.)312
1436 y(2.)20 b Fe(Dynamic)f(Pro)q(cesses:)25 b Fh(The)19 b(prop)q(osal)e(do)q
(es)h(not)g(prev)o(en)o(t)g(a)g(pro)q(cess)h(mo)q(del)365 1486
y(whic)o(h)d(allo)o(ws)e(dynamic)f(creation)j(and)f(deletion)g(of)g(pro)q
(cesses)j(ho)o(w)o(ev)o(er)e(it)f(do)q(es)365 1536 y(not)c(fa)o(v)o(our)f(an)
g(async)o(hronous)h(pro)q(cess)i(mo)q(del)c(in)h(whic)o(h)h(singleton)f(pro)q
(cesses)j(are)365 1586 y(created)18 b(and)d(deleted)i(in)e(an)h(arbitrary)f
(fashion.)23 b(The)16 b(prop)q(osal)g(do)q(es)g(fa)o(v)o(our)f(a)365
1636 y(mo)q(del)c(in)g(whic)o(h)h(blobs)f(of)h(pro)q(cesses)i(are)e(created)i
(\(and)e(deleted\))h(in)e(a)h(concerted)365 1685 y(fashion,)20
b(and)f(in)g(whic)o(h)g(eac)o(h)h(blob)f(so)h(created)g(is)g(assigned)f(a)h
(di\013eren)o(t)g(o)o(wn)365 1735 y(pro)q(cess)g(grouping.)29
b(This)18 b(mo)q(del)f(do)q(es)h(not)g(tak)o(e)g(in)o(to)f(accoun)o(t)i(the)f
(p)q(oten)o(tial)365 1785 y(desire)c(to)f(expand)g(or)g(con)o(tract)h(an)f
(existing)f(blob)h(of)f(pro)q(cesses)k(in)c(order)i(to)f(tak)o(e)365
1835 y(in)o(to)c(accoun)o(t)h(\(presumably)e(slo)o(wly\))h(time)f(v)n(arying)
g(w)o(orkloads.)16 b(It)10 b(is)f(conjectured)365 1885 y(that)k(concerted)j
(blob)c(expand)h(and)g(con)o(tract)h(op)q(erations)f(are)h(more)e(suitable)h
(for)365 1934 y(this)h(purp)q(ose)h(than)f(async)o(hronous)h(singleton)e(spa)
o(wn)h(and)g(kill)e(op)q(erations.)312 2017 y(3.)20 b Fe(Descriptor)f
(transmissio)o(n:)25 b Fh(In)19 b(the)h(spirit)e(of)g(descriptor)i
(uni\014cation)f(\(See)365 2067 y(Note)12 b(1\))g(the)g(three)h
Fc(MPI)p 754 2067 14 2 v 15 w(?D)p 813 2067 V 16 w(TYPE)d Fh(names)h(can)h(b)
q(e)g(collapsed)g(in)o(to)f(something)f(lik)o(e)365 2117 y
Fc(MPI)p 434 2117 V 15 w(DESC)p 537 2117 V 15 w(TYPE)p Fh(.)365
2183 y(If)h(pro)q(cess)i(descriptors)g(are)e(replaced)h(b)o(y)f(global)f
(unique)h(pro)q(cess)i(iden)o(ti\014ers)f(\(See)365 2233 y(Note)j(1\))e(then)
i(no)f(sp)q(ecial)g(measures)g(are)g(required)h(for)f(transmission)e
(thereof.)365 2300 y(If)17 b(group)g(and)g(con)o(text)h(descriptors)h(are)f
(expressed)i(as)d(opaque)g(ob)r(jects)i(of)d(y)o(et)365 2350
y(unsp)q(eci\014ed)i(t)o(yp)q(e)f(then,)g(in)f(ANSI)g(C)g(at)g(least,)h(it)f
(will)e(b)q(e)j(p)q(ossible)g(to)f(prev)o(en)o(t)365 2399 y(nonseman)o(tic)d
(transmission)g(thereof.)957 2574 y(12)p eop
%%Page: 13 14
13 13 bop 312 307 a Fh(4.)20 b Fe(Descriptor)13 b(registry:)k
Fh(The)d(registry)h(service)g(is)f(just)g(a)f(simpler)g(w)o(a)o(y)g(for)h
(con-)365 357 y(curren)o(t)22 b(ob)r(jects)f(to)f(iden)o(tify)f(and)g
(establish)h(comm)o(unications)d(with)j(one)g(an-)365 407 y(other.)35
b(The)20 b(op)q(erations)f(of)g(in)o(terest,)i(expressed)h(in)d(the)h(spirit)
f(of)f(descriptor)365 457 y(uni\014cation)i(\(See)i(Note)g(1\),)g(are:)32
b(registration)21 b(of)f(descriptor)i(b)o(y)e(name,)h(e.g.)365
506 y Fc(mpi)p 434 506 14 2 v 15 w(register\(name,desc\))l
Fh(;)k(deregistration,)e(e.g)d Fc(mpi)p 1321 506 V 15 w(deregister\(desc\))m
Fh(;)365 556 y(and)14 b(lo)q(okup)g(b)o(y)g(name,)f(e.g.)19
b Fc(mpi)p 915 556 V 15 w(lookup\(name,)g(&desc,)i(wait\))13
b Fh(where)i Fc(wait)365 606 y Fh(con)o(trols)f(whether)i(the)e(lo)q(okup)f
(w)o(aits)h(for)f(the)i(name)d(to)i(b)q(e)h(registered.)365
671 y(If)c(pro)q(cess)i(descriptors)g(are)e(replaced)h(b)o(y)f(global)f
(unique)h(pro)q(cess)i(iden)o(ti\014ers)f(\(See)365 721 y(Note)j(1\))e(then)i
(p)q(erhaps)g(pro)q(cess)h(iden)o(ti\014er)e(registry)g(is)g(not)g(so)g(imp)q
(ortan)o(t.)365 785 y(The)h(MIMD)e(mo)q(del)g(do)q(es)i(not)f(actually)f
(required)i(pro)q(cess)g(descriptor)h(or)e(group)365 835 y(descriptor)20
b(registry)e(to)g(b)q(e)h(visible)e(to)h(the)g(user)h(since)g(con)o(text)g
(descriptor)g(re-)365 885 y(gistry)e(and)g(con)o(text)g(descriptor)i
(attribute)e(determination)f(giv)o(es)g(access)j(to)e(all)365
935 y(groups)e(and)f(th)o(us)h(group)g(descriptor)h(attribute)f
(determination)e(giv)o(es)h(access)j(to)365 985 y(all)11 b(pro)q(cesses.)20
b(The)12 b(prop)q(osal)f(w)o(as)h(written)g(to)f(handle)h(descriptors)h
(consisten)o(tly)m(.)312 1064 y(5.)20 b Fe(Descriptor)g(deallo)q(cation:)28
b Fh(In)20 b(the)h(spirit)f(of)f(descriptor)i(uni\014cation)f(\(See)365
1114 y(Note)c(1\))f(the)i(three)f Fc(mpi)p 769 1114 V 15 w(?d)p
828 1114 V 16 w(free\(?d\))d Fh(can)j(b)q(e)g(collapsed)g(in)o(to)e
(something)g(lik)o(e)365 1164 y Fc(mpi)p 434 1164 V 15 w(desc)p
537 1164 V 15 w(free\(desc\))n Fh(.)365 1229 y(The)j(receipt)h(of)e(a)g
(descriptor)i(in)f(descriptor)g(transmission)f(and)g(registry)h(is)g(an)365
1279 y(allo)q(cator,)c(hence)j(pro)o(vision)e(of)f(the)i(deallo)q(cator.)20
b(P)o(erhaps)15 b(there)h(should)e(b)q(e)h(an)365 1328 y(explicit)d(allo)q
(cator)g(whic)o(h)g(the)h(user)h(m)o(ust)d(call)h(in)g(order)h(to)f(receiv)o
(e)i(a)e(descriptor,)365 1378 y(and)i(can)g(deallo)q(cate)g(when)g(no)g
(longer)g(required.)365 1443 y(If)d(pro)q(cess)i(descriptors)g(are)e
(replaced)h(b)o(y)f(global)f(unique)h(pro)q(cess)i(iden)o(ti\014ers)f(\(See)
365 1493 y(Note)j(1\))e(then)i(pro)q(cess)h(iden)o(ti\014er)e(deallo)q
(cation)f(is)g(mo)q(ot.)312 1572 y(6.)20 b Fe(Coherency:)f
Fh(The)14 b(prop)q(osal)g(admits)f(incoherency)i(as)f(descriptors)i(ma)o(y)c
(b)q(e)j(re-)365 1622 y(ceiv)o(ed)i(in)f(transmission)e(or)i(registry)m(.)25
b(The)17 b(SPMD)f(core)g(con)o(tains)g(no)g(incoher-)365 1672
y(ency)m(.)24 b(The)16 b(inclusion)f(of)g(dynamic)f(pro)q(cess)j(creation)f
(and)g(deletion)f(admits)f(in-)365 1722 y(coherency)k(since)f(pro)q(cesses)i
(can)d(retain)h(descriptors)g(of)f(pro)q(cesses)j(whic)o(h)d(ha)o(v)o(e)365
1772 y(b)q(een)i(deleted.)27 b(The)17 b(inclusion)e(of)h(grouping)g
(descriptor)i(transmission)d(and)h(re-)365 1822 y(gistry)e(admits)d
(incoherency)k(since)f(pro)q(cesses)i(can)e(retain)f(descriptors)i(of)e
(group-)365 1871 y(ings)f(whic)o(h)h(ha)o(v)o(e)f(b)q(een)h(deleted.)19
b(The)13 b(inclusion)f(of)f(dynamic)g(groupings)h(admits)365
1921 y(incoherency)18 b(since)g(pro)q(cesses)h(can)e(retain)f(descriptors)j
(of)d(groupings)g(of)g(whic)o(h)365 1971 y(the)e(rank)f(to)f(pro)q(cess)j
(map)c(has)i(c)o(hanged.)18 b(The)13 b(inclusion)g(of)f(con)o(text)h
(descriptor)365 2021 y(transmission)j(and)i(registry)g(admits)e(incoherency)i
(since)h(pro)q(cesses)h(can)d(retain)365 2071 y(descriptors)j(of)e(con)o
(texts)h(whic)o(h)f(ha)o(v)o(e)g(b)q(een)i(deleted.)32 b(The)19
b(prop)q(osal)f(exp)q(ects)365 2120 y(the)13 b(user)g(to)f(ensure)i(coheren)o
(t)g(usage.)k(It)12 b(is)g(conjectured)i(that)e(this)g(is)h(acceptable)365
2170 y(pro)o(vided)19 b(that)g(the)g(user)h(is)e(not)h(also)f(exp)q(ected)j
(to)d(implemen)o(t)e(pro)q(cess)k(fault)365 2220 y(tolerance.)312
2300 y(7.)g Fe(Dynamic)d(groupings)o(:)i Fh(Pro)q(cess)e(groupings)e(are)h
(dynamic)d(in)i(the)h(sense)h(that)365 2350 y(they)c(can)g(b)q(e)g(created)h
(at)e(an)o(y)g(time,)f(and)i(static)g(in)f(the)h(sense)h(that)e(the)h(mem)o
(b)q(er-)365 2399 y(ship)k(is)f(constan)o(t)g(o)o(v)o(er)h(the)f(lifetime)f
(of)g(the)i(pro)q(cess)h(grouping.)24 b(The)17 b(prop)q(osal)365
2449 y(sp)q(eci\014es)g(static)e(groupings)g(ho)o(w)o(ev)o(er)g(the)g(lo)q
(ose)g(separation)g(of)f(comm)o(unication)957 2574 y(13)p eop
%%Page: 14 15
14 14 bop 365 307 a Fh(con)o(texts)12 b(from)d(pro)q(cess)k(groupings)d
(simpli\014es)f(extension)i(to)g(dynamic)e(groupings)365 357
y(as)j(con)o(texts)g(stretc)o(h)h(or)e(shrink)g(according)g(to)g(the)h(c)o
(hanges)g(in)f(their)g(frames.)16 b(It)c(is)365 407 y(conjectured)17
b(that)f(concerted)h(grouping)d(expand)i(and)f(con)o(tract)h(op)q(erations)f
(are)365 457 y(more)e(suitable)h(than)g(async)o(hronous)g(singleton)g(join)f
(and)g(lea)o(v)o(e)h(op)q(erations.)312 540 y(8.)20 b Fe(Pro)q(cess)d(blobs:)
i Fg(mpi)14 b Fh(has)i(discussed)g(the)g(concept)g(of)f(the)h(\\all")d(group)
i(whic)o(h)365 589 y(con)o(tains)k(all)e(pro)q(cesses.)35 b(The)19
b(\\o)o(wn")e(group)i(concept)h(is)e(a)g(generalisation)g(of)365
639 y(the)h(\\all")d(group)h(concept)i(whic)o(h)f(is)g(expressiv)o(e)h(for)e
(programs)g(including)g(and)365 689 y(b)q(ey)o(ond)g(the)g(SPMD)f(mo)q(del.)
24 b(Pro)q(cesses)19 b(are)d(created)i(in)e(\\blobs",)g(where)h(eac)o(h)365
739 y(mem)o(b)q(er)g(of)g(a)h(blob)f(is)h(a)f(mem)o(b)q(er)g(of)g(the)i(same)
e(o)o(wn)g(pro)q(cess)j(grouping,)e(and)365 789 y(di\013eren)o(t)e(blobs)e
(ha)o(v)o(e)g(di\013eren)o(t)h(o)o(wn)f(pro)q(cess)i(groupings.)j(An)14
b(SPMD)g(program)365 839 y(is)f(a)h(single)e(blob.)18 b(A)13
b(host-no)q(de)h(program)e(comp)q(oses)h(t)o(w)o(o)g(blobs,)g(the)g(no)q(de)h
(blob)365 888 y(and)e(the)h(host)g(blob)e(\(a)h(singleton\).)17
b(There)d(is)e(a)g(sense)h(in)f(whic)o(h)g(a)g(blob)g(is)g(SPMD)365
938 y(lik)o(e.)312 1021 y(9.)20 b Fc(mpi)p 434 1021 14 2 v
15 w(own)p 515 1021 V 15 w(group\(pd\))o Fe(:)d Fh(This)10
b(pro)q(cedure)j(lo)q(oks)d(lik)o(e)g(a)h(case)h(of)e(pro)q(cess)i
(descriptor)365 1071 y(attribute)18 b(determination.)26 b(If)17
b(pro)q(cess)i(descriptors)g(are)e(allo)o(w)o(ed)f(to)h(b)q(e)h(imple-)365
1121 y(men)o(ted)11 b(as)g(global)e(unique)i(pro)q(cess)i(iden)o(ti\014ers,)e
(or)g(are)h(replaced,)g(this)f(pro)q(cedure)365 1171 y(should)16
b(accept)i(no)e(argumen)o(ts)f(and)h(return)h(the)g(o)o(wn)f(group)g
(descriptor)h(of)f(the)365 1220 y(calling)d(pro)q(cess.)291
1303 y(10.)20 b Fe(In)o(v)o(erse)9 b(map:)16 b Fh(The)10 b(prop)q(osal)f(did)
g(not)g(include)g(a)g(function)g(to)g(con)o(v)o(ert)h Fc(\(gd,)21
b(pd\))365 1353 y Fh(pair)c(in)o(to)g(a)g(rank.)28 b(It)17
b(is)h(suggested)g(that)g(this)f(in)o(v)o(erse)h(map)e(is)h(allo)o(w)o(ed)f
(to)h(b)q(e)365 1403 y(\\slo)o(w",)12 b(i.e.)17 b(could)12
b(b)q(e)h(a)f(linear)g(searc)o(h)i(o)o(v)o(er)f(mem)o(b)q(ers)e(of)h(the)h
(group,)f(but)h(prob-)365 1453 y(ably)e(should)h(b)q(e)g(included)g(for)g
(completeness.)18 b(It)12 b(can)g(b)q(e)g(used)h(as)f(a)f(mem)o(b)q(ership)
365 1503 y(predicate.)291 1586 y(11.)20 b Fc(mpi)p 434 1586
V 15 w(own)p 515 1586 V 15 w(context\(gd\))n Fe(:)d Fh(This)9
b(pro)q(cedure)i(lo)q(oks)e(lik)o(e)f(a)h(case)h(of)f(group)g(descriptor)365
1636 y(attribute)15 b(determination.)291 1719 y(12.)20 b Fe(Grouping)f
(Deletion:)26 b Fh(The)20 b(pro)q(cess)h(grouping)e(deletion)g(op)q(eration)g
(should)365 1768 y(probably)h(b)q(e)h(de\014ned)h(to)e(fail)f(when)i(there)g
(are)g(user)h(created)f(con)o(texts)h(with)365 1818 y(that)15
b(frame)f(whic)o(h)h(ha)o(v)o(e)g(not)g(themselv)o(es)g(b)q(een)h(deleted.)23
b(This)14 b(just)i(requires)g(a)365 1868 y(reference)h(coun)o(t)d(in)f(the)i
(group)e(descriptor)j(static)e(attribute)g(store.)291 1951
y(13.)20 b Fe(Con)o(text)i(Creation)f(&)i(Deletion:)k Fh(Marc)21
b(Snir)e(has)h(describ)q(ed)i(a)d(metho)q(d)365 2001 y(b)o(y)g(whic)o(h)g
(global)f(unique)h(group)g(iden)o(ti\014ers)h(can)f(b)q(e)h(generated)g
(without)f(use)365 2051 y(of)h(shared)i(global)d(data.)38 b(The)21
b(prop)q(osal)g(states)h(that)e(con)o(text)i(creation)f(and)365
2100 y(deletion)13 b(op)q(erations)f(sync)o(hronise)i(the)e(pro)q(cesses)j
(within)d(the)h(frame)e(of)h(the)h(con-)365 2150 y(text,)h(an)o(ticipating)f
(use)i(of)e(this)h(metho)q(d)f(for)g(generation)h(of)g(con)o(text)g(iden)o
(ti\014ers.)365 2200 y(Ho)o(w)o(ev)o(er,)h(the)g(sync)o(hronisation)g
(requires)g(that)g(con)o(text)g(creation)g(and)g(deletion)365
2250 y(calls)10 b(within)f(a)g(frame)g(are)h(p)q(erformed)g(in)f(the)i(iden)o
(tical)e(sequence)j(b)o(y)d(all)g(mem)o(b)q(ers)365 2300 y(of)i(the)i(frame.)
j(The)c(global)e(unique)i(group)f(iden)o(ti\014er)h(and)g(con)o(text)g
(creator)h(refer-)365 2350 y(ence)g(coun)o(t)e(are)g(then)h(su\016cien)o(t)f
(to)g(generate)h(a)e(global)g(unique)h(con)o(text)g(iden)o(ti\014er)365
2399 y(without)k(comm)o(unicatio)o(n)d(or)j(sync)o(hronisation.)21
b(Should)15 b(con)o(text)g(creation)h(and)365 2449 y(deletion)e(therefore)h
(not)f(sync)o(hronise)h(the)g(frame?)957 2574 y(14)p eop
%%Page: 15 16
15 15 bop 365 307 a Fh(There)19 b(ma)o(y)d(b)q(e)i(adv)n(an)o(tage)e(in)h
(de\014ning)h(con)o(text)g(creation)g(and)f(deletion)h(suc)o(h)365
357 y(that)10 b(a)f(n)o(um)o(b)q(er)g(of)g(con)o(texts)h(are)g(created)h(or)f
(deleted)h(sim)o(ultaneously)m(,)c(dep)q(ending)365 407 y(on)12
b(ho)o(w)g(hea)o(vy)g(w)o(e)g(exp)q(ect)i(con)o(text)f(managemen)o(t)c(to)j
(b)q(e)h(in)e(implemen)o(tations)e(of)365 457 y Fg(mpi)p Fh(.)291
540 y(14.)20 b Fe(Descriptor)10 b(wildcard:)16 b Fh(In)c(the)g(spirit)f(of)g
(descriptor)i(uni\014cation)d(\(See)j(Note)f(1\))365 589 y(the)k(three)h
(named)d(constan)o(ts)i Fc(MPI)p 935 589 14 2 v 15 w(?D)p 994
589 V 15 w(WILD)f Fh(can)g(b)q(e)h(collapsed)f(in)o(to)g(something)365
639 y(lik)o(e)e Fc(MPI)p 510 639 V 15 w(DESC)p 613 639 V 15
w(WILD)p Fh(.)365 706 y(If)k(pro)q(cess)h(descriptors)g(are)g(replaced)f
(with)g(global)e(unique)h(pro)q(cess)j(iden)o(ti\014ers)365
756 y(then)14 b(p)q(erhaps)h(the)f(wildcard)f(pro)q(cess)i(iden)o(ti\014er)f
(v)n(alue)f(can)h(b)q(e)g(the)g(same)e(as)i(the)365 805 y(wildcard)g(tag)f(v)
n(alue,)g(and)h(the)g(same)f(named)g(constan)o(t.)291 888 y(15.)20
b Fe(Con)o(text)g(forms:)26 b Fh(The)19 b(n)o(ull)f(form)e(is)i(lik)o(e)g
(PVM)h(3.)31 b(It)18 b(is)g(general)h(purp)q(ose,)365 938 y(but)13
b(not)f(particularly)f(expressiv)o(e.)19 b(It)13 b(do)q(es)g(not)f(pro)o
(vide)g(facilities)f(for)h(writers)h(of)365 988 y(parallel)g(libraries.)18
b(It)c(has)g(the)g(p)q(oten)o(tial)f(to)h(pro)o(vide)g(maxim)n(um)c(p)q
(erformance.)365 1054 y(The)21 b(closed)g(form)e(is)h(lik)o(e)f
Fg(zipcode)p Fh(.)37 b(It)21 b(is)f(expressiv)o(e)i(in)d(SPMD)i(programs)365
1104 y(where)d(noncomm)o(uni)o(cativ)o(e)c(distinct)i(data)g(driv)o(en)g
(parallel)g(computations)e(can)365 1154 y(b)q(e)h(p)q(erformed)f(concurren)o
(tly)m(.)19 b(It)14 b(pro)o(vides)g(facilities)f(for)h(writers)h(of)e(SPMD)h
(lik)o(e)365 1204 y(parallel)f(libraries.)365 1270 y(The)j(op)q(en)g(form)e
(is)i(lik)o(e)e Fg(chimp)p Fh(.)23 b(It)16 b(is)f(expressiv)o(e)j(in)d(MIMD)g
(programs)f(where)365 1320 y(comm)o(unicativ)o(e)e(data)j(driv)o(en)g
(parallel)f(computations)f(can)i(b)q(e)h(p)q(erformed)f(con-)365
1370 y(curren)o(tly)m(.)k(It)14 b(pro)o(vides)g(facilities)f(for)g(MIMD)h
(lik)o(e)f(parallel)g(libraries.)291 1453 y(16.)20 b Fe(Rank)c(wildcard:)g
Fh(Since)e(rank)g(is)f(an)h(in)o(teger)g(lik)o(e)e(message)i(tag,)e(p)q
(erhaps)j(they)365 1503 y(should)f(ha)o(v)o(e)g(the)g(same)f(wildcard)h(v)n
(alue,)e(and)i(the)h(same)e(named)f(constan)o(t.)291 1586 y(17.)20
b Fc(MPI)p 434 1586 V 15 w(NULL)p Fe(:)14 b Fh(I)g(am)f(follo)o(wing)e(the)k
(spirit)f(of)g(con)o(text)h(uni\014cation)e(\(See)i(Note)g(1\))f(in)365
1636 y(the)i(prop)q(osal)f(text)g(here.)23 b(There)16 b(ma)o(y)e(b)q(e)h(adv)
n(an)o(tage)f(in)h(de\014ning)g(the)h(v)n(alue)e(of)365 1685
y(the)h(n)o(ull)e(descriptor)j(to)e(b)q(e)h(the)g(ANSI)f(C)g(constan)o(t)h
Fc(NULL)p Fh(,)e(or)h(ev)o(en)h(de\014ning)f(the)365 1735 y(v)n(alue)g(to)f
(b)q(e)i(exactly)f(zero)h(\(ev)o(ery)f(rule)g(ha)o(ving)f(a)h(useful)g
(exception\).)262 1872 y Fi(1.4)64 b(Conclusion)262 1963 y
Fh(This)9 b(c)o(hapter)j(has)e(presen)o(ted)i(and)e(discussed)i(a)d(prop)q
(osal)h(for)g(comm)o(unicatio)o(n)e(con)o(texts)262 2013 y(within)h
Fg(mpi)p Fh(.)16 b(In)10 b(the)h(prop)q(osal)e(pro)q(cess)j(groupings)e(app)q
(eared)h(as)f(frames)f(\(or)h(templates\))262 2063 y(for)16
b(the)i(construction)g(of)f(comm)o(unicati)o(on)d(con)o(texts,)19
b(and)e(comm)o(unicatio)o(n)e(con)o(texts)262 2113 y(retained)f(certain)h
(prop)q(erties)g(of)e(the)i(frames)e(used)h(in)g(their)g(construction.)957
2574 y(15)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF

----------------------------------------------------------------------

         /--------------------------------------------------------\
    e||) | Lyndon J Clarke    Edinburgh Parallel Computing Centre | e||) 
    c||c | Tel: 031 650 5021  Email: [email-masked]  | c||c 
         \--------------------------------------------------------/