Subject: Proposal II' - PostScript

From: L J Clarke <[email-masked]>
Date: Sun, 21 Mar 93 19:52:39 GMT

This is the PostScript of the (all new) Proposal II'. LateX preceeded.

Best Wishes
Lyndon

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

%!PS-Adobe-2.0
%%Creator: dvips 5.495 Copyright 1986, 1992 Radical Eye Software
%%Title: context-ii.dvi
%%CreationDate: Sun Mar 21 18:35:09 1993
%%Pages: 15
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%EndComments
%DVIPSCommandLine: dvips context-ii
%DVIPSSource:  TeX output 1993.03.21:1832
%%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-ii.dvi) @start
/Fa 1 16 df<03C00FF01FF83FFC7FFE7FFEFFFFFFFFFFFFFFFF7FFE7FFE3FFC1FF80FF003C010
107E9115>15 D E /Fb 1 79 df<07E01FC000E006000170040001700400013804000138040002
1C0800021C0800020E0800020E0800040710000407100004039000040390000801E0000801E000
0800E0000800E00018004000FE0040001A147F931A>78 D E /Fc 3 111
df<01FC00FF80001C001C00002E001800002E001000002E001000002700100000470020000043
002000004380200000438020000081C040000081C040000081C040000080E040000100E0800001
007080000100708000010070800002003900000200390000020039000002001D000004001E0000
04000E000004000E00000C000E00001C00040000FF80040000211C7E9B21>78
D<00FFFFE000F001C001C003800180070001000E0001001E0002001C0002003800020070000000
E0000001C0000003800000070000000F0000001E0000001C0000003800000070020000E0040001
C0040003800400070008000F0008000E0018001C003000380070007001E000FFFFE0001B1C7E9B
1C>90 D<381F004E61804681C04701C08F01C08E01C00E01C00E01C01C03801C03801C03801C07
00380710380710380E10380E2070064030038014127E9119>110 D E /Fd
44 123 df<00E001E0038007000E001C001C0038003800700070007000E000E000E000E000E000
E000E000E000E000700070007000380038001C001C000E000700038001E000E00B217A9C16>40
D<C000E000700038001C000E000E000700070003800380038001C001C001C001C001C001C001C0
01C001C0038003800380070007000E000E001C0038007000E000C0000A217B9C16>I<387C7E7E
3E0E1E1C78F060070B798416>44 D<7FFF00FFFF80FFFF80000000000000000000000000000000
FFFF80FFFF807FFF00110B7E9116>61 D<00E00001F00001F00001B00001B00003B80003B80003
B800031800071C00071C00071C00071C00071C000E0E000E0E000FFE000FFE001FFF001C07001C
07001C07007F1FC0FF1FE07F1FC013197F9816>65 D<01F18007FB800FFF801F0F803C07803803
80700380700380F00000E00000E00000E00000E00000E00000E00000E00000F000007003807003
803803803C07001F0F000FFE0007FC0001F00011197E9816>67 D<7FF800FFFE007FFF001C0F00
1C07801C03C01C01C01C01C01C01E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E0
1C01C01C01C01C03C01C07801C0F807FFF00FFFE007FF8001319809816>I<7FFFC0FFFFC07FFF
C01C01C01C01C01C01C01C01C01C00001C00001C1C001C1C001FFC001FFC001FFC001C1C001C1C
001C00001C00E01C00E01C00E01C00E01C00E07FFFE0FFFFE07FFFE013197F9816>I<03E30007
FF000FFF001E1F003C0F00380700700700700700F00000E00000E00000E00000E00000E03F80E0
7FC0E03F80F00700700700700700380F003C0F001E1F000FFF0007F70003E70012197E9816>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<7FFFE0FFFFE0FFFFE0E0E0E0E0E0E0E0E0E0E0E0E000E00000E00000E00000
E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00007FC000F
FE0007FC0013197F9816>84 D<7F07F0FF8FF87F07F01C01C01C01C01C01C01C01C01C01C01C01
C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C00E03800E03800707
0007FF0003FE0000F8001519809816>I<FC07E0FE0FE0FC07E07001C07001C07001C030018038
038038038038038038E38039F38039F38039B38019B30019B30019B30019B30019B30019B30019
13001B1B000F1E000F1E000E0E0013197F9816>87 D<FE0FE0FF1FE0FE0FE01C07001C07000E0E
000E0E00071C00071C00071C0003B80003B80001F00001F00000E00000E00000E00000E00000E0
0000E00000E00000E00003F80007FC0003F80013197F9816>89 D<1FE0003FF0007FF800783C00
300E00000E00000E0003FE001FFE003E0E00700E00E00E00E00E00E00E00783E007FFFE03FE7E0
0F83E013127E9116>97 D<7E0000FE00007E00000E00000E00000E00000E00000E3E000EFF000F
FF800F83C00F00E00E00E00E00700E00700E00700E00700E00700E00700E00E00F01E00F83C00F
FF800EFF00063C001419809816>I<03F80FFC1FFE3C1E780C7000E000E000E000E000E000F000
700778073E0E1FFC0FF803F010127D9116>I<003F00007F00003F000007000007000007000007
0003C7000FF7001FFF003C1F00780F00700700E00700E00700E00700E00700E00700E00700700F
00700F003C1F001FFFE00FE7F007C7E014197F9816>I<03E00FF81FFC3C1E780E7007E007FFFF
FFFFFFFFE000E000700778073C0F1FFE0FFC03F010127D9116>I<001F00007F8000FF8001E780
01C30001C00001C0007FFF00FFFF00FFFF0001C00001C00001C00001C00001C00001C00001C000
01C00001C00001C00001C00001C0003FFE007FFF003FFE0011197F9816>I<03E3C007F7E00FFF
E01C1CC0380E00380E00380E00380E00380E001C1C000FF8001FF0001BE0003800001800001FFC
001FFF003FFF807803C0E000E0E000E0E000E0E000E07001C07C07C03FFF800FFE0003F800131C
7F9116>I<7E0000FE00007E00000E00000E00000E00000E00000E3C000EFE000FFF000F87800F
03800E03800E03800E03800E03800E03800E03800E03800E03800E03800E03807FC7F0FFE7F87F
C7F01519809816>I<018003C003C0018000000000000000007FC07FC07FC001C001C001C001C0
01C001C001C001C001C001C001C001C07FFFFFFF7FFF101A7D9916>I<7E0000FE00007E00000E
00000E00000E00000E00000E7FE00E7FE00E7FE00E0F000E1E000E3C000E78000EF0000FF0000F
F8000FBC000F1E000E0E000E07000E07807F87F0FFCFF07F87F01419809816>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 /Fe 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 /Ff 43 121 df<78FCFCFCFC7806067D850D>46
D<03F8000F1E001C07003C07803803807803C07803C07803C0F803E0F803E0F803E0F803E0F803
E0F803E0F803E0F803E0F803E0F803E0F803E0F803E07803C07803C03803803C07801C07000F1E
0003F800131B7E9A18>48 D<00600001E0000FE000FFE000F3E00003E00003E00003E00003E000
03E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E000
03E00003E00003E0007FFF807FFF80111B7D9A18>I<07F8001FFE00383F80780FC0FC07C0FC07
E0FC03E0FC03E07803E00007E00007C00007C0000F80001F00001E0000380000700000E0000180
600300600600600800E01FFFC03FFFC07FFFC0FFFFC0FFFFC0131B7E9A18>I<03F8001FFE003C
1F003C0F807C07C07E07C07C07C03807C0000F80000F80001E00003C0003F800001E00000F8000
07C00007C00007E03007E07807E0FC07E0FC07E0FC07C0780F80781F001FFE0007F800131B7E9A
18>I<000180000380000780000F80001F80003F80006F8000CF80008F80018F80030F80060F80
0C0F80180F80300F80600F80C00F80FFFFF8FFFFF8000F80000F80000F80000F80000F80000F80
01FFF801FFF8151B7F9A18>I<1801801FFF001FFE001FFC001FF8001FC0001800001800001800
0018000019F8001E0E00180F801007800007C00007E00007E00007E07807E0F807E0F807E0F807
C0F007C0600F80381F001FFE0007F000131B7E9A18>I<007E0003FF000781800F03C01E07C03C
07C03C0380780000780000F80000F8F800FB0E00FA0780FC0380FC03C0F803E0F803E0F803E0F8
03E07803E07803E07803C03C03C03C07801E0F0007FE0003F800131B7E9A18>I<6000007FFFE0
7FFFE07FFFC07FFF807FFF80E00300C00600C00C00C0180000300000300000600000E00000E000
01E00001C00003C00003C00003C00003C00007C00007C00007C00007C00007C00007C000038000
131C7D9B18>I<03F8000FFE001E0F803807803803C07803C07803C07E03C07F83807FC7003FFE
001FFC000FFE0007FF801DFF80387FC0781FE0F007E0F003E0F001E0F001E0F001E07801C07803
803E07801FFE0003F800131B7E9A18>I<03F8000FFE001E0F003C07807807807803C0F803C0F8
03C0F803E0F803E0F803E0F803E07807E03807E03C0BE00E1BE003E3E00003E00003C00003C038
07C07C07807C0700780F00383C001FF8000FE000131B7E9A18>I<78FCFCFCFC78000000000000
78FCFCFCFC7806127D910D>I<00038000000380000007C0000007C0000007C000000FE000000F
E000001FF000001BF000001BF0000031F8000031F8000061FC000060FC0000E0FE0000C07E0000
C07E0001803F0001FFFF0003FFFF8003001F8003001F8006000FC006000FC00E000FE00C0007E0
FFC07FFEFFC07FFE1F1C7E9B24>65 D<001FE02000FFF8E003F80FE007C003E00F8001E01F0000
E03E0000E03E0000607E0000607C000060FC000000FC000000FC000000FC000000FC000000FC00
0000FC000000FC0000007C0000607E0000603E0000603E0000C01F0000C00F80018007C0030003
F80E0000FFFC00001FE0001B1C7D9B22>67 D<FFFFF800FFFFFF000FC01FC00FC007E00FC001F0
0FC001F80FC000F80FC000FC0FC0007C0FC0007C0FC0007E0FC0007E0FC0007E0FC0007E0FC000
7E0FC0007E0FC0007E0FC0007E0FC0007C0FC0007C0FC0007C0FC000F80FC000F80FC001F00FC0
07E00FC01FC0FFFFFF00FFFFF8001F1C7E9B25>I<FFFFFF00FFFFFF000FC01F000FC007000FC0
03000FC003800FC003800FC001800FC181800FC181800FC180000FC180000FC380000FFF80000F
FF80000FC380000FC180000FC180000FC180000FC180000FC000000FC000000FC000000FC00000
0FC000000FC00000FFFF0000FFFF0000191C7E9B1E>70 D<000FF008007FFE3801FC07F807E001
F80F8000781F0000783F0000383E0000387E0000187C000018FC000000FC000000FC000000FC00
0000FC000000FC000000FC007FFFFC007FFF7C0001F87E0001F83E0001F83F0001F81F0001F80F
8001F807E001F801FC07F8007FFE78000FF818201C7D9B26>I<FFFFFFFF07E007E007E007E007
E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E0
FFFFFFFF101C7F9B12>73 D<FFC00003FFFFE00007FF0FE00007F00DF0000DF00DF0000DF00DF0
000DF00CF80019F00CF80019F00C7C0031F00C7C0031F00C3E0061F00C3E0061F00C1F00C1F00C
1F00C1F00C1F00C1F00C0F8181F00C0F8181F00C07C301F00C07C301F00C03E601F00C03E601F0
0C01FC01F00C01FC01F00C01FC01F00C00F801F00C00F801F0FFC0701FFFFFC0701FFF281C7E9B
2D>77 D<FFE003FFFFE003FF0FF000300FF800300DFC00300CFE00300C7E00300C3F00300C1F80
300C1FC0300C0FE0300C07F0300C03F0300C01F8300C01FC300C00FE300C007F300C003F300C00
1FB00C001FF00C000FF00C0007F00C0003F00C0001F00C0000F00C0000F0FFC00070FFC0003020
1C7E9B25>I<003FE00001F07C0003C01E000F800F801F0007C01E0003C03E0003E07E0003F07C
0001F07C0001F0FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8FC0001F8
7C0001F07E0003F07E0003F03E0003E03F0007E01F0007C00F800F8003C01E0001F07C00003FE0
001D1C7D9B24>I<FFFFF800FFFFFE000FC03F800FC00F800FC007C00FC007E00FC007E00FC007
E00FC007E00FC007E00FC007C00FC007C00FC00F800FC03F000FFFFC000FC000000FC000000FC0
00000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000FFFC0000FF
FC00001B1C7E9B21>I<07F8201FFEE03C07E07801E07000E0F000E0F00060F00060F80000FE00
00FFE0007FFE003FFF003FFF800FFFC007FFE0007FE00003F00001F00000F0C000F0C000F0C000
E0E000E0F001C0FC03C0EFFF0083FC00141C7D9B1B>83 D<7FFFFFE07FFFFFE0781F81E0701F80
E0601F8060E01F8070C01F8030C01F8030C01F8030C01F8030001F8000001F8000001F8000001F
8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
1F8000001F8000001F800007FFFE0007FFFE001C1C7E9B21>I<FFFC03FFFFFC03FF0FC000300F
C000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC00030
0FC000300FC000300FC000300FC000300FC000300FC000300FC000300FC0003007C0003007C000
6003E000E001F001C000FC0780007FFE00000FF800201C7E9B25>I<0FF8001C1E003E0F803E07
803E07C01C07C00007C0007FC007E7C01F07C03C07C07C07C0F807C0F807C0F807C0780BC03E13
F80FE1F815127F9117>97 D<FF0000FF00001F00001F00001F00001F00001F00001F00001F0000
1F00001F00001F3F801FE1E01F80701F00781F003C1F003C1F003E1F003E1F003E1F003E1F003E
1F003E1F003C1F003C1F00781F80701EC1E01C3F00171D7F9C1B>I<03FC000E0E001C1F003C1F
00781F00780E00F80000F80000F80000F80000F80000F800007800007801803C01801C03000E0E
0003F80011127E9115>I<000FF0000FF00001F00001F00001F00001F00001F00001F00001F000
01F00001F001F9F00F07F01C03F03C01F07801F07801F0F801F0F801F0F801F0F801F0F801F0F8
01F07801F07801F03C01F01C03F00F0FFE03F9FE171D7E9C1B>I<01FC000F07001C03803C01C0
7801C07801E0F801E0F801E0FFFFE0F80000F80000F800007800007C00603C00601E00C00F0380
01FC0013127F9116>I<007F0001E38003C7C00787C00F87C00F83800F80000F80000F80000F80
000F8000FFF800FFF8000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80
000F80000F80000F80000F80007FF8007FF800121D809C0F>I<03F8F00E0F381E0F381C07303C
07803C07803C07803C07801C07001E0F000E0E001BF8001000001800001800001FFF001FFFC00F
FFE01FFFF07801F8F00078F00078F000787000707800F01E03C007FF00151B7F9118>I<1E003F
003F003F003F001E00000000000000000000000000FF00FF001F001F001F001F001F001F001F00
1F001F001F001F001F001F001F00FFE0FFE00B1E7F9D0E>105 D<FF00FF001F001F001F001F00
1F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F001F
001F00FFE0FFE00B1D7F9C0E>108 D<FF0FC07E00FF31E18F001F40F207801F80FC07C01F80FC
07C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00F807C01F00
F807C01F00F807C01F00F807C01F00F807C0FFE7FF3FF8FFE7FF3FF825127F9128>I<FF0FC0FF
31E01F40F01F80F81F80F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F
00F81F00F8FFE7FFFFE7FF18127F911B>I<01FC000F07801C01C03C01E07800F07800F0F800F8
F800F8F800F8F800F8F800F8F800F87800F07800F03C01E01E03C00F078001FC0015127F9118>
I<FF3F80FFE1E01F80F01F00781F007C1F003C1F003E1F003E1F003E1F003E1F003E1F003E1F00
3C1F007C1F00781F80F01FC1E01F3F001F00001F00001F00001F00001F00001F0000FFE000FFE0
00171A7F911B>I<FE3E00FE47001E8F801E8F801E8F801F07001F00001F00001F00001F00001F
00001F00001F00001F00001F00001F0000FFF000FFF00011127F9114>114
D<1FD830786018E018E018F000FF807FE07FF01FF807FC007CC01CC01CE01CE018F830CFC00E12
7E9113>I<0300030003000300070007000F000F003FFCFFFC1F001F001F001F001F001F001F00
1F001F001F0C1F0C1F0C1F0C0F08079803F00E1A7F9913>I<FF07F8FF07F81F00F81F00F81F00
F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F00F81F01F80F01F80786FF01F8
FF18127F911B>I<FFC7FCFFC7FC1F81800F838007C70003EE0001FC0001F80000F800007C0000
FE0001DF00039F00070F800607C00C03E0FF07FCFF07FC16127F9119>120
D E /Fg 77 125 df<007E1F0001C1B1800303E3C00703C3C00E03C1800E01C0000E01C0000E01
C0000E01C0000E01C0000E01C000FFFFFC000E01C0000E01C0000E01C0000E01C0000E01C0000E
01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C0000E01C000
0E01C0007F87FC001A1D809C18>11 D<007E0001C1800301800703C00E03C00E01800E00000E00
000E00000E00000E0000FFFFC00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01
C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07F87F8151D809C17>I<007FC001C1C003
03C00703C00E01C00E01C00E01C00E01C00E01C00E01C00E01C0FFFFC00E01C00E01C00E01C00E
01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C00E01C07F
CFF8151D809C17>I<003F07E00001C09C18000380F018000701F03C000E01E03C000E00E01800
0E00E000000E00E000000E00E000000E00E000000E00E00000FFFFFFFC000E00E01C000E00E01C
000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E0
1C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C000E00E01C007FC7FCFF80211D
809C23>I<60F0F0F0F0F0F0F060606060606060606060606060000000000060F0F060041E7C9D
0C>33 D<6060F0F0F8F86868080808080808101010102020404080800D0C7F9C15>I<00E00000
019000000308000003080000070800000708000007080000070800000710000007100000072000
000740000003C03FE003800F00038006000380040005C0040009C0080010E0100030E010006070
200060702000E0384000E03C4000E01C8000E00F0020E0070020700780403009C0401830E18007
C03E001B1F7E9D20>38 D<004000800100020006000C000C001800180030003000700060006000
6000E000E000E000E000E000E000E000E000E000E000E000E00060006000600070003000300018
0018000C000C00060002000100008000400A2A7D9E10>40 D<800040002000100018000C000C00
0600060003000300038001800180018001C001C001C001C001C001C001C001C001C001C001C001
C0018001800180038003000300060006000C000C00180010002000400080000A2A7E9E10>I<00
060000000600000006000000060000000600000006000000060000000600000006000000060000
000600000006000000060000FFFFFFE0FFFFFFE000060000000600000006000000060000000600
0000060000000600000006000000060000000600000006000000060000000600001B1C7E9720>
43 D<60F0F0701010101020204080040C7C830C>I<FFE0FFE00B0280890E>I<60F0F06004047C
830C>I<00010003000600060006000C000C000C0018001800180030003000300060006000C000
C000C0018001800180030003000300060006000C000C000C001800180018003000300030006000
60006000C000C00010297E9E15>I<03C00C301818300C300C700E60066006E007E007E007E007
E007E007E007E007E007E007E007E007E00760066006700E300C300C18180C3007E0101D7E9B15
>I<030007003F00C7000700070007000700070007000700070007000700070007000700070007
0007000700070007000700070007000F80FFF80D1C7C9B15>I<07C01830201C400C400EF00FF8
0FF807F8077007000F000E000E001C001C00380070006000C00180030006010C01180110023FFE
7FFEFFFE101C7E9B15>I<07E01830201C201C781E780E781E381E001C001C00180030006007E0
0030001C001C000E000F000F700FF80FF80FF80FF00E401C201C183007E0101D7E9B15>I<000C
00000C00001C00003C00003C00005C0000DC00009C00011C00031C00021C00041C000C1C00081C
00101C00301C00201C00401C00C01C00FFFFC0001C00001C00001C00001C00001C00001C00001C
0001FFC0121C7F9B15>I<300C3FF83FF03FC020002000200020002000200023E024302818301C
200E000E000F000F000F600FF00FF00FF00F800E401E401C2038187007C0101D7E9B15>I<00F0
030C06040C0E181E301E300C700070006000E3E0E430E818F00CF00EE006E007E007E007E007E0
07600760077006300E300C18180C3003E0101D7E9B15>I<4000007FFF807FFF007FFF00400200
80040080040080080000100000100000200000600000400000C00000C00001C000018000018000
038000038000038000038000078000078000078000078000078000078000030000111D7E9B15>
I<03E00C301008200C20066006600660067006780C3E083FB01FE007F007F818FC307E601E600F
C007C003C003C003C00360026004300C1C1007E0101D7E9B15>I<03C00C301818300C700C600E
E006E006E007E007E007E007E0076007700F300F18170C2707C700060006000E300C780C781870
10203030C00F80101D7E9B15>I<60F0F0600000000000000000000060F0F06004127C910C>I<60
F0F0600000000000000000000060F0F0701010101020204080041A7C910C>I<0FE03038401CE0
0EF00EF00EF00E000C001C0030006000C000800180010001000100010001000100000000000000
0000000003000780078003000F1D7E9C14>63 D<000600000006000000060000000F0000000F00
00000F00000017800000178000001780000023C0000023C0000023C0000041E0000041E0000041
E0000080F0000080F0000180F8000100780001FFF80003007C0002003C0002003C0006003E0004
001E0004001E000C001F001E001F00FF80FFF01C1D7F9C1F>65 D<001F808000E0618001801980
070007800E0003801C0003801C00018038000180780000807800008070000080F0000000F00000
00F0000000F0000000F0000000F0000000F0000000F00000007000008078000080780000803800
00801C0001001C0001000E000200070004000180080000E03000001FC000191E7E9C1E>67
D<FFFFC0000F00F0000F003C000F000E000F0007000F0007000F0003800F0003C00F0001C00F00
01C00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001E00F0001C00F
0001C00F0003C00F0003800F0007800F0007000F000E000F001C000F007000FFFFC0001B1C7E9B
20>I<FFFFFC0F003C0F000C0F00040F00040F00060F00020F00020F02020F02000F02000F0200
0F06000FFE000F06000F02000F02000F02000F02010F00010F00020F00020F00020F00060F0006
0F000C0F003CFFFFFC181C7E9B1C>I<FFFFF80F00780F00180F00080F00080F000C0F00040F00
040F02040F02000F02000F02000F06000FFE000F06000F02000F02000F02000F02000F00000F00
000F00000F00000F00000F00000F00000F8000FFF800161C7E9B1B>I<001F808000E061800180
1980070007800E0003801C0003801C00018038000180780000807800008070000080F0000000F0
000000F0000000F0000000F0000000F0000000F000FFF0F0000F80700007807800078078000780
380007801C0007801C0007800E00078007000B800180118000E06080001F80001C1E7E9C21>I<
FFF3FFC00F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C000F003C
000F003C000F003C000F003C000FFFFC000F003C000F003C000F003C000F003C000F003C000F00
3C000F003C000F003C000F003C000F003C000F003C000F003C000F003C00FFF3FFC01A1C7E9B1F
>I<FFF00F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F
000F000F000F000F000F000F000F000F00FFF00C1C7F9B0F>I<FFF8000F80000F00000F00000F
00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F00000F
00000F00080F00080F00080F00180F00180F00100F00300F00700F01F0FFFFF0151C7E9B1A>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<7FFFF07C01F07001E06003C06003C0400780400F80
400F00401E00001E00003C00007C0000780000F00000F00001E00003E00003C010078010078010
0F00101F00301E00203C00203C00607800E0F803E0FFFFE0141C7E9B19>I<0808101020204040
4040808080808080B0B0F8F8787830300D0C7A9C15>92 D<1FC000307000783800781C00301C00
001C00001C0001FC000F1C00381C00701C00601C00E01C40E01C40E01C40603C40304E801F8700
12127E9115>97 D<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C
00001C7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E01C
00C01C01C01C01801E030019060010F800131D7F9C17>I<07E00C301878307870306000E000E0
00E000E000E000E00060007004300418080C3007C00E127E9112>I<003F000007000007000007
0000070000070000070000070000070000070000070003E7000C1700180F003007007007006007
00E00700E00700E00700E00700E00700E00700600700700700300700180F000C370007C7E0131D
7E9C17>I<03E00C301818300C700E6006E006FFFEE000E000E000E00060007002300218040C18
03E00F127F9112>I<00F8018C071E061E0E0C0E000E000E000E000E000E00FFE00E000E000E00
0E000E000E000E000E000E000E000E000E000E000E000E000E007FE00F1D809C0D>I<00038003
C4C00C38C01C3880181800381C00381C00381C00381C001818001C38000C300013C00010000030
00001800001FF8001FFF001FFF803003806001C0C000C0C000C0C000C06001803003001C0E0007
F800121C7F9215>I<FC00001C00001C00001C00001C00001C00001C00001C00001C00001C0000
1C00001C7C001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C0380
1C03801C03801C03801C03801C0380FF9FF0141D7F9C17>I<18003C003C001800000000000000
0000000000000000FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
001C00FF80091D7F9C0C>I<00C001E001E000C000000000000000000000000000000FE000E000
E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E000E060E0
F0C0F1C061803E000B25839C0D>I<FC00001C00001C00001C00001C00001C00001C00001C0000
1C00001C00001C00001C3FC01C0F001C0C001C08001C10001C20001C40001CE0001DE0001E7000
1C78001C38001C3C001C1C001C0E001C0F001C0F80FF9FE0131D7F9C16>I<FC001C001C001C00
1C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C
001C001C001C001C00FF80091D7F9C0C>I<FC7E07E0001C838838001D019018001E01E01C001C
01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00
1C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00FF8FF8FF8021127F9124>I<FC7C
001C87001D03001E03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03
801C03801C03801C0380FF9FF014127F9117>I<03F0000E1C00180600300300700380600180E0
01C0E001C0E001C0E001C0E001C0E001C06001807003803003001806000E1C0003F00012127F91
15>I<FC7C001D86001E03001C01801C01C01C00C01C00E01C00E01C00E01C00E01C00E01C00E0
1C01C01C01C01C01801E03001D06001CF8001C00001C00001C00001C00001C00001C00001C0000
FF8000131A7F9117>I<03C1000C3300180B00300F00700700700700E00700E00700E00700E007
00E00700E00700600700700700300F00180F000C370007C7000007000007000007000007000007
00000700000700003FE0131A7E9116>I<FCE01D301E781E781C301C001C001C001C001C001C00
1C001C001C001C001C001C00FFC00D127F9110>I<1F9030704030C010C010E010F8007F803FE0
0FF000F880388018C018C018E010D0608FC00D127F9110>I<04000400040004000C000C001C00
3C00FFE01C001C001C001C001C001C001C001C001C001C101C101C101C101C100C100E2003C00C
1A7F9910>I<FC1F801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380
1C03801C03801C03801C07800C07800E1B8003E3F014127F9117>I<FF07E03C03801C01001C01
000E02000E020007040007040007040003880003880003D80001D00001D00000E00000E00000E0
0000400013127F9116>I<FF3FCFE03C0F03801C0701801C0701001C0B01000E0B82000E0B8200
0E1182000711C4000711C4000720C40003A0E80003A0E80003C0680001C0700001C07000018030
00008020001B127F911E>I<7F8FF00F03800F030007020003840001C80001D80000F000007000
00780000F800009C00010E00020E000607000403801E07C0FF0FF81512809116>I<FF07E03C03
801C01001C01000E02000E020007040007040007040003880003880003D80001D00001D00000E0
0000E00000E000004000004000008000008000F08000F10000F300006600003C0000131A7F9116
>I<7FFC70386038407040F040E041C003C0038007000F040E041C043C0C380870087038FFF80E
127F9112>I<FFFFFFFFFF802901808B2A>124 D E /Fh 24 118 df<0003E0000000000FF00000
00003E3800000000781800000000780C00000000F80C00000000F00C00000001F00C00000001F0
0C00000001F01C00000001F81800000001F83000000001F87000000001F86000000001F8C001FF
E000FD8001FFE000FF00001C0000FE0000180000FE00003000007E00003000007F0000600000FF
0000600001FF8000C00003BF80018000071FC00180000F0FE00300001E0FE00600003E07F00600
007E03F80C0000FE03FC180000FE01FE300000FE00FE600000FE007FC00000FE003F8000C07F00
1FC000C07F000FF001C03F801FF803801FC0F0FE0F0007FFC03FFE0001FE0007F8002B287DA732
>38 D<3C7EFFFFFFFF7E3C08087B8712>46 D<000C00001C0000FC000FFC00FFFC00F0FC0000FC
0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
0000FC0000FC00FFFFFCFFFFFC16257BA420>49 D<00FF000007FFE0001E07F8003801FC007800
FE007E00FF00FF007F00FF007F80FF007F80FF003F807E003F803C003F8000007F8000007F0000
007F000000FE000000FE000001FC000001F8000003F0000007C00000078000000F0000001E0000
003800000070018000E0018001C001800380030007000300060003000FFFFF001FFFFF003FFFFF
007FFFFE00FFFFFE00FFFFFE0019257DA420>I<00FF800007FFF0000F03F8001800FC003E00FE
007F00FF007F007F007F807F007F007F003F00FF001E00FE000000FE000000FC000001F8000003
F0000007E00000FF800000FF00000003E0000001F8000000FC000000FE0000007F0000007F0000
007F8018007F807E007F80FF007F80FF007F80FF007F80FF007F00FE00FF007C00FE003801FC00
1E03F8000FFFE00001FF000019257DA420>I<0000380000007800000078000000F8000001F800
0003F8000003F8000007F800000FF800001DF8000019F8000031F8000071F8000061F80000C1F8
0001C1F8000381F8000301F8000601F8000E01F8001C01F8001801F8003001F8007001F800E001
F800FFFFFFE0FFFFFFE00001F8000001F8000001F8000001F8000001F8000001F8000001F80000
01F800007FFFE0007FFFE01B257EA420>I<0000FF80080007FFF018003FC03C38007E000E7801
FC0003F803F00001F807E00000F80FE00000781FC00000781FC00000383F800000383F80000038
7F800000187F000000187F00000018FF00000000FF00000000FF00000000FF00000000FF000000
00FF00000000FF00000000FF00000000FF00000000FF000000007F000000007F000000187F8000
00183F800000183F800000181FC00000301FC00000300FE000006007E000006003F00000C001FC
000180007E000700003FC03C000007FFF8000000FFC00025287CA72E>67
D<FFFFFFF00000FFFFFFFE000003F8007F800003F8000FE00003F80007F00003F80003F80003F8
0001FC0003F80000FC0003F80000FE0003F800007F0003F800007F0003F800003F8003F800003F
8003F800003F8003F800003F8003F800003FC003F800003FC003F800003FC003F800003FC003F8
00003FC003F800003FC003F800003FC003F800003FC003F800003FC003F800003FC003F800003F
8003F800003F8003F800003F8003F800003F8003F800007F0003F800007F0003F800007E0003F8
0000FE0003F80001FC0003F80001F80003F80007F00003F8000FE00003F8007F8000FFFFFFFE00
00FFFFFFF000002A287EA731>I<FFFFE0FFFFE003F80003F80003F80003F80003F80003F80003
F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003
F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003F80003
F80003F80003F80003F800FFFFE0FFFFE013287EA718>73 D<FFFC0001FFF8FFFE0001FFF803FE
0000060003FF00000600037F80000600033FC0000600031FE0000600030FE0000600030FF00006
000307F80006000303FC0006000301FE0006000300FE0006000300FF00060003007F8006000300
3FC0060003001FC0060003000FE0060003000FF00600030007F80600030003FC0600030001FC06
00030001FE0600030000FF06000300007F86000300003FC6000300001FC6000300001FE6000300
000FF60003000007FE0003000003FE0003000001FE0003000001FE0003000000FE00030000007E
00030000003E00030000001E00030000001E00FFFC00000E00FFFC000006002D287EA732>78
D<FFFFFFF000FFFFFFFE0003F8007F0003F8001FC003F8000FE003F8000FE003F80007F003F800
07F003F80007F803F80007F803F80007F803F80007F803F80007F803F80007F803F80007F003F8
0007F003F8000FE003F8000FE003F8001FC003F8007F0003FFFFFE0003FFFFF00003F800000003
F800000003F800000003F800000003F800000003F800000003F800000003F800000003F8000000
03F800000003F800000003F800000003F800000003F800000003F800000003F8000000FFFFE000
00FFFFE0000025287EA72C>80 D<03FF00000FFFE0001F03F0003F80F8003F80FC003F807C001F
007E001F007E0000007E0000007E0000007E00000FFE0001FFFE0007F07E001FC07E003F807E00
7F007E00FE007E00FE007E18FE007E18FE007E18FE00BE187F01BE183F873FF01FFE1FE003F80F
801D1A7E9920>97 D<003FE001FFF807E07C0FC0FE1F80FE3F00FE3F007C7E007C7E0000FE0000
FE0000FE0000FE0000FE0000FE0000FE0000FE00007E00007F00003F00003F80031F80070FC006
07F01C01FFF0003FC0181A7E991D>99 D<00007FE000007FE0000007E0000007E0000007E00000
07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0007F87E001
FFE7E007E077E00FC01FE01F800FE03F0007E03F0007E07E0007E07E0007E0FE0007E0FE0007E0
FE0007E0FE0007E0FE0007E0FE0007E0FE0007E0FE0007E07E0007E07E0007E07F0007E03F0007
E01F000FE00F801FE007E077E003FFC7FE007F07FE1F287EA724>I<007F8003FFE007E1F00F80
F81F007C3F007E7E003E7E003E7E003FFE003FFE003FFFFFFFFFFFFFFE0000FE0000FE0000FE00
007E00007E00003F00003F00031F80060FC00607F01C01FFF0003FC0181A7E991D>I<0F001F80
1FC03FC03FC01FC01F800F000000000000000000000000000000FFC0FFC00FC00FC00FC00FC00F
C00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0FFFCFFFC
0E297FA811>105 D<FFC0FFC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0
0FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00F
C00FC00FC00FC0FFFCFFFC0E287FA711>108 D<FFC0FC00FFC3FF000FC60F800FC80FC00FD007
E00FE007E00FE007E00FE007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC0
07E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E0FF
FC7FFEFFFC7FFE1F1A7E9924>110 D<007FC00001FFF00007E0FC000F803E001F001F003F001F
803E000F807E000FC07E000FC0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE000FE0FE00
0FE0FE000FE07E000FC07E000FC07F001FC03F001F801F001F000F803E0007E0FC0001FFF00000
7FC0001B1A7E9920>I<FFC1FC00FFCFFF800FDC0FC00FF007E00FE003F00FC001F80FC001FC0F
C001FC0FC000FC0FC000FE0FC000FE0FC000FE0FC000FE0FC000FE0FC000FE0FC000FE0FC000FE
0FC000FC0FC001FC0FC001F80FC003F80FE003F00FF007E00FDC1FC00FCFFF000FC3FC000FC000
000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC00000FFFC0000FFFC
00001F257E9924>I<FF83E0FF8FF80F8C780F90FC0FB0FC0FA0FC0FA0780FE0000FC0000FC000
0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC000
0FC000FFFE00FFFE00161A7E991A>114 D<03F8C01FFFC03C07C07801C07001C0F000C0F000C0
F800C0FC0000FFC0007FFC003FFF001FFF800FFFC001FFE0000FF00003F0C001F0C000F0E000F0
E000F0F000E0F801E0FE03C0E7FF80C1FC00141A7E9919>I<00600000600000600000600000E0
0000E00001E00001E00003E00007E0001FE000FFFFC0FFFFC007E00007E00007E00007E00007E0
0007E00007E00007E00007E00007E00007E00007E00007E00007E00007E06007E06007E06007E0
6007E06007E06003F0C001F0C000FF80003E0013257FA419>I<FFC07FE0FFC07FE00FC007E00F
C007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E0
0FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC00FE00FC00FE007C017
E003E067E001FFC7FE007F07FE1F1A7E9924>I E /Fi 40 123 df<0001FC3C00060E67000C0E
C7001C0DC6001C01C0003801C0003803800038038000380380003803800070038007FFFFF80070
0700007007000070070000E0070000E00E0000E00E0000E00E0000E00E0001C00E0001C01C0001
C01C0001C01C0001C01C0003801C00038038000380380003803800030038000700300007007000
06006000C6606000E470C000C8618000703E00002025819C19>11 D<0001FC000703000C03001C
07001C0300180000380000380000380000380000700007FFFC00701C00701C00701C00E03800E0
3800E03800E03800E07001C07001C07001C07001C0E201C0E201C0E20380E40380640380380380
00030000070000060000C60000E40000CC00007000001825819C17>I<18387838080810102040
4080050C7D830D>44 D<FFC0FFC0FFC00A037D890F>I<3078F06005047C830D>I<060F0F060000
00000000000000003078F06008127C910D>58 D<01FFFE00003C0780003801C0003801C0003800
E0003800E0007000F00070007000700070007000F000E000F000E000F000E000F000E000F001C0
01E001C001E001C001E001C001C0038003C003800380038007800380070007000E0007001C0007
003800070070000E01C000FFFF00001C1C7D9B1F>68 D<01FFFFE0003C00E00038006000380040
00380040003800400070004000700040007020400070200000E0400000E0400000E0C00000FFC0
0001C0800001C0800001C0800001C0800003810100038001000380020003800200070004000700
040007000C00070018000E007800FFFFF0001B1C7D9B1C>I<01FFFFC0003C01C0003800C00038
008000380080003800800070008000700080007020800070200000E0400000E0400000E0C00000
FFC00001C0800001C0800001C0800001C080000381000003800000038000000380000007000000
0700000007000000070000000F000000FFF000001A1C7D9B1B>I<01FFC0003C00003800003800
00380000380000700000700000700000700000E00000E00000E00000E00001C00001C00001C000
01C0000380000380000380000380000700000700000700000700000F0000FFE000121C7E9B10>
73 D<01FFE0003C0000380000380000380000380000700000700000700000700000E00000E000
00E00000E00001C00001C00001C00001C000038008038008038008038010070010070030070060
0700E00E03C0FFFFC0151C7D9B1A>76 D<01FC03FE001C0070003C0060002E0040002E0040002E
0040004700800047008000470080004380800083810000838100008181000081C1000101C20001
01C2000100E2000100E2000200E400020074000200740002007400040038000400380004003800
0C0018001C001000FF8010001F1C7D9B1F>78 D<01FFFC00003C070000380380003801C0003801
C0003801C0007003C0007003C0007003C00070038000E0078000E0070000E00E0000E0380001FF
E00001C0000001C0000001C0000003800000038000000380000003800000070000000700000007
000000070000000F000000FFE000001A1C7D9B1C>80 D<01FFF800003C0E000038070000380380
003803800038038000700780007007800070078000700F0000E00E0000E01C0000E0700000FFC0
0001C0C00001C0600001C0700001C07000038070000380700003807000038070000700F0000700
F0400700F0400700F0800F007880FFE0790000001E001A1D7D9B1E>82 D<1FFFFFC01C0701C030
0E00C0200E0080600E0080400E0080401C0080801C0080801C0080001C00000038000000380000
00380000003800000070000000700000007000000070000000E0000000E0000000E0000000E000
0001C0000001C0000001C0000001C0000003C000007FFE00001A1C799B1E>84
D<FF803FC01C000F001C0004001C0008001C0008001C0010001C0010001C0020001C0040001C00
40001E0080000E0080000E0100000E0200000E0200000E0400000E0400000E0800000E1800000E
1000000E200000072000000740000007C000000780000007000000070000000600000006000000
1A1D779B1F>86 D<03CC063C0C3C181C3838303870387038E070E070E070E070E0E2C0E2C0E261
E462643C380F127B9115>97 D<3F00070007000E000E000E000E001C001C001C001C0039C03E60
383038307038703870387038E070E070E070E060E0E0C0C0C1C0618063003C000D1D7B9C13>I<
01F007080C08181C3838300070007000E000E000E000E000E000E008E010602030C01F000E127B
9113>I<001F80000380000380000700000700000700000700000E00000E00000E00000E0003DC
00063C000C3C00181C00383800303800703800703800E07000E07000E07000E07000E0E200C0E2
00C0E20061E4006264003C3800111D7B9C15>I<01E007100C1018083810701070607F80E000E0
00E000E000E000E0086010602030C01F000D127B9113>I<0003C0000670000C70001C60001C00
001C0000380000380000380000380000380003FF8000700000700000700000700000700000E000
00E00000E00000E00000E00001C00001C00001C00001C00001C000038000038000038000030000
030000070000C60000E60000CC00007800001425819C0D>I<00F3018F030F06070E0E0C0E1C0E
1C0E381C381C381C381C383830383038187818F00F700070007000E000E0C0C0E1C0C3007E0010
1A7D9113>I<0FC00001C00001C000038000038000038000038000070000070000070000070000
0E78000E8C000F0E000E0E001C0E001C0E001C0E001C0E00381C00381C00381C00383800703880
703880707080707100E03200601C00111D7D9C15>I<0180038001000000000000000000000000
0000001C002600470047008E008E000E001C001C001C0038003800710071007100720072003C00
091C7C9B0D>I<0FC00001C00001C0000380000380000380000380000700000700000700000700
000E0F000E11000E23800E43801C83001C80001D00001E00003F800039C00038E00038E00070E2
0070E20070E20070E400E06400603800111D7D9C13>107 D<1F80038003800700070007000700
0E000E000E000E001C001C001C001C0038003800380038007000700070007000E400E400E400E4
0068003800091D7C9C0B>I<3C1E0780266318C04683A0E04703C0E08E0380E08E0380E00E0380
E00E0380E01C0701C01C0701C01C0701C01C070380380E0388380E0388380E0708380E0710701C
0320300C01C01D127C9122>I<3C3C002646004687004707008E07008E07000E07000E07001C0E
001C0E001C0E001C1C00381C40381C40383840383880701900300E0012127C9117>I<01E00718
0C0C180C380C300E700E700EE01CE01CE01CE018E038E030E06060C031801E000F127B9115>I<
07870004D98008E0C008E0C011C0E011C0E001C0E001C0E00381C00381C00381C0038180070380
0703000707000706000E8C000E70000E00000E00001C00001C00001C00001C00003C0000FF8000
131A7F9115>I<3C3C26C2468747078E068E000E000E001C001C001C001C003800380038003800
7000300010127C9112>114 D<01F006080C080C1C18181C001F001FC00FF007F0007800386030
E030C030806060C01F000E127D9111>I<00C001C001C001C00380038003800380FFE007000700
07000E000E000E000E001C001C001C001C00384038403840388019000E000B1A7D990E>I<1E03
00270700470700470700870E00870E000E0E000E0E001C1C001C1C001C1C001C1C003838803838
801838801839001C5900078E0011127C9116>I<1E06270E470E4706870287020E020E021C041C
041C041C0818083808181018200C4007800F127C9113>I<1E0183270387470387470383870701
8707010E07010E07011C0E021C0E021C0E021C0E04180C04181C04181C081C1C100C263007C3C0
18127C911C>I<070E0019910010E38020E38041C30041C00001C00001C0000380000380000380
00038000070200670200E70400CB04008B080070F00011127D9113>I<1E03270747074707870E
870E0E0E0E0E1C1C1C1C1C1C1C1C38383838183818381C7007F00070007000E0E0C0E1C0818047
003C00101A7C9114>I<038207C20FEC0838100800100020004000800100020004000808100838
3067F043E081C00F127D9111>I E /Fj 1 49 df<001E003F003F003F003F007E007E007E00FC
00FC00FC00F801F801F801F001F003F003E003E003C007C007C0078007800F800F000F000F001E
001E001E003C003C003C0038007800780070007000F000E0006000102A7EAD14>48
D E /Fk 8 116 df<FFFFFFFF80FFFFFFFF80FFFFFFFF80001FFC0000001FFC0000001FFC0000
FFFF80FFFFFFFF80FFFFFFFF8021477DC628>73 D<FFFFFFFFFFF80000FFFFFFFFFFFFC000FFFF
8000000040477CC64B>80 D<0007FFC0000000003FFFFC00000000FFFFFF00000003F801FFC000
0007F0003FE0000007F8001FF000000FFC000FF800000FFC000FFC00000FFC0007FC00000FFC00
07FE00000FFC0003FE000007F80003FF000003F00003FF000000000003FF000000000003FF0000
00000003FF000000000003FF000000000003FF000000000003FF000000000003FF0000000007FF
FF00000000FFFFFF0000000FFFE3FF0000007FF803FF000001FFC003FF000003FF0003FF000007
FC0003FF00000FF80003FF00001FF00003FF00003FF00003FF00007FE00003FF00007FE00003FF
0380FFC00003FF0380FFC00003FF0380FFC00003FF0380FFC00003FF0380FFC00007FF0380FFC0
0007FF03807FE0000DFF03807FE0001DFF03803FF00039FF87001FF80070FFCF000FFE03E07FFE
0007FFFF807FFC0000FFFE001FF800001FF00007E000312E7CAD37>97 D<00FF80FFFF80FFFF80
FFFF8003FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF8001FF80
01FF80FFFFFFFFFFFFFFFFFF18487DC71F>108 D<00003FFC00000001FFFF8000000FFFFFF000
003FF00FFC00007F8001FE0001FE00007F8003FC00003FC007F800001FE007F800001FE00FF000
000FF01FE0000007F81FE0000007F83FE0000007FC3FE0000007FC7FC0000003FE7FC0000003FE
7FC0000003FE7FC0000003FEFFC0000003FFFFC0000003FFFFC0000003FFFFC0000003FFFFC000
0003FFFFC0000003FFFFC0000003FFFFC0000003FFFFC0000003FFFFC0000003FF7FC0000003FE
7FC0000003FE7FC0000003FE7FE0000007FE3FE0000007FC3FE0000007FC1FE0000007F81FF000
000FF80FF000000FF007F800001FE007FC00003FE003FE00007FC001FF0000FF80007F8001FE00
003FF00FFC00000FFFFFF0000003FFFFC00000003FFC0000302E7DAD37>111
D<00FF801FF80000FFFF80FFFF0000FFFF83FFFFC000FFFF8FC07FF00003FF9E000FF80001FFF8
>I<00FF007F00FFFF01FFC0FFFF03FFE0FFFF0787F003FF0E0FF001FF1C1FF801FF381FF801FF
301FF801FF701FF801FF600FF001FF600FF001FFE003C001FFC0000001FFC0000001FFC0000001
FFC0000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF800000
01FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF8000
0001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80
000001FF80000001FF80000001FF80000001FF800000FFFFFFC000FFFFFFC000FFFFFFC000252E
7DAD2C>114 D<001FFC030000FFFF870003FFFFCF000FE007FF001F8000FF003E00003F003E00
001F007C00001F007C00000F00FC00000F00FC00000700FC00000700FE00000700FF00000700FF
80000000FFE00000007FFE0000007FFFF800003FFFFF00003FFFFFC0001FFFFFF0000FFFFFF800
07FFFFFC0001FFFFFE00007FFFFF00001FFFFF000000FFFF80000007FF80000000FFC0E000007F
C0E000003FC0E000001FC0F000000FC0F000000FC0F800000FC0F800000FC0F800000F80FC0000
0F80FE00001F80FF00001F00FF80003E00FFC0007C00F9F803F800F0FFFFF000E03FFFC000C007
FE0000222E7CAD2B>I E /Fl 8 117 df<00003000000070000001F0000007F000007FF000FFFF
F000FFFFF000FF8FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00000
0FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000
000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0
00000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000F
F000000FF000000FF000000FF000000FF000000FF000000FF000000FF0007FFFFFFE7FFFFFFE7F
FFFFFE1F3779B62D>49 D<000000FFE0001800000FFFFC001800007FFFFF00380001FFE00FC078
>67 D<003FFC00000001FFFF80000007E00FE000000FC003F800000FE001FC00001FF001FE0000
1FF000FF00001FF000FF00001FF0007F00000FE0007F800007C0007F80000000007F8000000000
7F80000000007F80000000007F80000000007F800000000FFF80000007FFFF8000003FE07F8000
01FF007F800007FC007F80000FF0007F80001FE0007F80003FE0007F80007FC0007F80007FC000
7F8380FF80007F8380FF80007F8380FF80007F8380FF8000BF8380FF8000BF83807FC0013F8380
7FC0033F83803FE0061FC7001FF81C0FFE0007FFF007FC00007FC003F00029257DA42D>97
D<0003FF0000001FFFE000007F07F00001FC01FC0003F000FE0007E0007F000FE0003F001FC000
3F801FC0003F803FC0001FC03F80001FC07F80001FC07F80001FE07F80001FE0FF80001FE0FF80
001FE0FFFFFFFFE0FFFFFFFFE0FF80000000FF80000000FF80000000FF80000000FF800000007F
800000007F800000007F800000003FC00000003FC00000001FC00000E01FE00000E00FE00001C0
07F000038003F800070000FE000E00007FC07C00001FFFF0000001FF800023257EA428>101
D<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC0000000003FC0000000003FC
7EB932>104 D<01FC03FE0000FFFC1FFFC000FFFC780FF000FFFDE003F80007FF8001FC0003FF
0000FE0003FE0000FF0003FC00007F8003FC00007FC003FC00003FC003FC00003FE003FC00003F
E003FC00001FE003FC00001FE003FC00001FF003FC00001FF003FC00001FF003FC00001FF003FC
00001FF003FC00001FF003FC00001FF003FC00001FF003FC00001FF003FC00001FE003FC00003F
E003FC00003FE003FC00003FC003FC00003FC003FC00007F8003FC00007F8003FE0000FF0003FF
0001FE0003FF8003FC0003FDC007F80003FCF81FE00003FC3FFF800003FC07FC000003FC000000
0003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC
0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC00000000FFFFF00000
00FFFFF0000000FFFFF00000002C357EA432>112 D<01F80FC0FFF83FF0FFF870F8FFF8C1FC07
F883FE03F983FE03F903FE03FB03FE03FA01FC03FA00F803FA007003FE000003FC000003FC0000
03FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00
0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC
0000FFFFF800FFFFF800FFFFF8001F257EA424>114 D<001C0000001C0000001C0000001C0000
001C0000003C0000003C0000003C0000003C0000007C0000007C000000FC000000FC000001FC00
0003FC000007FC00001FFFFFC0FFFFFFC0FFFFFFC003FC000003FC000003FC000003FC000003FC
000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003
FC000003FC000003FC000003FC000003FC000003FC00E003FC00E003FC00E003FC00E003FC00E0
03FC00E003FC00E003FC00E001FC00C001FC01C001FE01C000FE0380007F8700001FFE000007F8
001B357EB423>116 D E /Fm 18 122 df<008003800F80F38003800380038003800380038003
800380038003800380038003800380038003800380038003800380038003800380038003800380
038007C0FFFE0F217CA018>49 D<03F8000C1E001007002007804007C07807C07803C07807C038
07C0000780000780000700000F00000E0000380003F000001C00000F000007800007800003C000
03C00003E02003E07003E0F803E0F803E0F003C04003C0400780200780100F000C1C0003F00013
227EA018>51 D<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 /Fn 1 49 df<038007C007C007C007800F800F800F000F001F001E001E001E001C003C
0038003800380070007000700060006000E000C00040000A1A7F9B0D>48
D E /Fo 20 121 df<00003FC0020001FFF8060007E01C06001F00070E003C00018E00780000DE
00F000005E01E000003E03C000001E078000001E0F0000000E0F0000000E1E000000061E000000
063E000000063C000000027C000000027C000000027C000000027800000000F800000000F80000
0000F800000000F800000000F800000000F800000000F800000000F800000000F800000000F800
00000078000000007C000000007C000000027C000000023C000000023E000000021E000000021E
000000040F000000040F0000000C078000000803C000001801E000001000F00000200078000040
003C000180001F0003000007E01E000001FFF80000003FC00027327CB02F>67
D<FFFF80FFFF8007F00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
0003E00003E00003E00003E00003E00003E00007F000FFFF80FFFF8011307DAF17>73
D<FFF0000000FFF0FFF0000000FFF007F0000000FE0002F80000017C0002F80000017C0002F800
00017C00027C0000027C00027C0000027C00023E0000047C00023E0000047C00023E0000047C00
021F0000087C00021F0000087C00021F0000087C00020F8000107C00020F8000107C00020F8000
107C000207C000207C000207C000207C000207C000207C000203E000407C000203E000407C0002
03E000407C000201F000807C000201F000807C000200F801007C000200F801007C000200F80100
7C0002007C02007C0002007C02007C0002007C02007C0002003E04007C0002003E04007C000200
3E04007C0002001F08007C0002001F08007C0002001F08007C0002000F90007C0002000F90007C
0002000F90007C00020007E0007C00020007E0007C00020003C0007C00020003C0007C00070003
C0007C000F80018000FE00FFF801801FFFF0FFF801801FFFF034307CAF3C>77
D<FFFFFF8000FFFFFFF00007E000FC0003E0003E0003E0000F0003E000078003E00003C003E000
03E003E00003E003E00001E003E00001F003E00001F003E00001F003E00001F003E00001F003E0
0001F003E00001E003E00003E003E00003C003E00003C003E000078003E0000F0003E0003E0003
E000F80003FFFFE00003E000000003E000000003E000000003E000000003E000000003E0000000
03E000000003E000000003E000000003E000000003E000000003E000000003E000000003E00000
0003E000000003E000000003E000000003E000000003E000000003E000000007F0000000FFFF80
0000FFFF80000024307CAF2C>80 D<007F004001FFC0400780F0C00F0018C01C000DC03C0007C0
380003C0780001C0700001C0F00000C0F00000C0F00000C0F0000040F0000040F0000040F80000
40F80000007C0000007E0000003F0000003FE000001FFE00000FFFE00007FFF80001FFFE00007F
FF000007FF8000007F8000000FC0000007E0000003E0000003E0000001F0000001F0800000F080
0000F0800000F0800000F0800000F0C00000F0C00000E0E00001E0E00001E0F00001C0F8000380
EC000780C7000F00C1E03E0080FFF800801FE0001C327CB024>83 D<00FE0000070380000801E0
001000F0003C0078003E0078003E003C003E003C001C003C0000003C0000003C0000003C000007
FC00007C3C0003E03C0007803C001F003C003E003C003C003C007C003C0078003C08F8003C08F8
003C08F8003C08F8007C08F8007C087C00BC083E011E100F060FE003F807C01D1E7D9D20>97
D<018000003F800000FF800000FF8000000F800000078000000780000007800000078000000780
000007800000078000000780000007800000078000000780000007800000078000000780000007
81F80007860700079803C007A000E007C000F007C00078078000380780003C0780003E0780001E
0780001E0780001F0780001F0780001F0780001F0780001F0780001F0780001F0780001F078000
1E0780003E0780003C0780003C0780007807C00070074000F0072001C006100380060C0E000403
F80020317EB024>I<001FC00000F0380001C00400078002000F000F001E001F001E001F003C00
1F007C000E007C00000078000000F8000000F8000000F8000000F8000000F8000000F8000000F8
000000F8000000780000007C0000007C0000003C0000801E0000801E0001000F00010007800200
01C00C0000F03000001FC000191E7E9D1D>I<003F800000E0F0000380380007001C000E001E00
1E000E003C000F003C000F007C000F807800078078000780F8000780FFFFFF80F8000000F80000
00F8000000F8000000F8000000F800000078000000780000007C0000003C0000801C0000801E00
01000F0002000700020001C00C0000F03000001FC000191E7E9D1D>101
D<07000F801F801F800F8007000000000000000000000000000000000000000000000001801F80
FF80FF800F80078007800780078007800780078007800780078007800780078007800780078007
80078007800780078007800FC0FFF8FFF80D2F7EAE12>105 D<01803F80FF80FF800F80078007
800780078007800780078007800780078007800780078007800780078007800780078007800780
078007800780078007800780078007800780078007800780078007800780078007800780078007
800FC0FFFCFFFC0E317EB012>108 D<0181FE003FC0003F860780C0F000FF8801C1003800FF90
01E2003C000FA000E4001C0007A000F4001E0007C000F8001E0007C000F8001E00078000F0001E
00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000
F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00
078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0001E00078000F0
001E00078000F0001E000FC001F8003F00FFFC1FFF83FFF0FFFC1FFF83FFF0341E7E9D38>I<01
81FC003F860F00FF880380FF9003C00FA001C007C001E007C001E007C001E0078001E0078001E0
078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001
E0078001E0078001E0078001E0078001E0078001E0078001E0078001E00FC003F0FFFC3FFFFFFC
3FFF201E7E9D24>I<003FC00000E0700003801C0007000E000E0007001E0007803C0003C03C00
03C07C0003E0780001E0780001E0F80001F0F80001F0F80001F0F80001F0F80001F0F80001F0F8
0001F0F80001F0780001E0780001E07C0003E03C0003C03C0003C01E0007800E00070007000E00
03801C0000E07000003FC0001C1E7E9D20>I<0181F8003F860F00FF9803C0FFA001E007C000F0
07C00078078000780780003C0780003E0780003E0780001E0780001F0780001F0780001F078000
1F0780001F0780001F0780001F0780001F0780001E0780003E0780003C0780003C0780007807C0
00F007C000F007A001C007900380078C0E000783F8000780000007800000078000000780000007
8000000780000007800000078000000780000007800000078000000FC00000FFFC0000FFFC0000
202C7E9D24>I<0183E03F8C18FF907CFF907C0FA07C07C03807C00007C00007C0000780000780
000780000780000780000780000780000780000780000780000780000780000780000780000780
000780000780000780000FC000FFFE00FFFE00161E7E9D19>114 D<03FC200E02603801E03000
E0600060E00060E00020E00020F00020F000207C00007F80003FFC001FFF0007FF8001FFE0000F
E00001F08000F8800078800038C00038C00038C00038E00030F00070F00060C800C0C6038081FE
00151E7E9D19>I<00400000400000400000400000400000C00000C00000C00001C00001C00003
C00007C0000FC0001FFFE0FFFFE003C00003C00003C00003C00003C00003C00003C00003C00003
C00003C00003C00003C00003C00003C00003C00003C01003C01003C01003C01003C01003C01003
C01003C01001C02001E02000E0400078C0001F00142B7FAA19>I<018000603F800FE0FF803FE0
FF803FE00F8003E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001
E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E0078001E00780
03E0078003E0078003E0038005E003C009E001C019F000F021FF001FC1FF201E7E9D24>I<FFF0
07FE00FFF007FE000FE003F00003C003C00003E003000001E002000000F006000000F804000000
7C080000003C100000001E300000001F200000000FC0000000078000000003C000000003E00000
0003E000000004F00000000878000000187C000000103C000000201E000000400F000000C00F80
000180078000010003C000070003E0001F8003F000FFC00FFF80FFC00FFF80211E7F9D22>120
D E end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 300dpi
TeXDict begin
%%PaperSize: A4

%%EndSetup
%%Page: 0 1
0 0 bop 811 1086 a Fo(Prop)r(osal)24 b(I)r(I)1129 1048 y Fn(0)575
1178 y Fo(MPI)f(Con)n(text)f(Sub)r(committee)799 1360 y Fm(Lyndon)17
b(J)f(Clark)o(e)853 1481 y(Marc)o(h)g(1993)p eop
%%Page: 1 2
1 1 bop 262 619 a Fl(Chapter)28 b(1)262 826 y Fk(Prop)s(osal)36
b(I)s(I)803 765 y Fj(0)262 1042 y Fi(Editorial)12 b(Note:)18
b(This)13 b(is)g(not)h(Pr)n(op)n(osal)f(II)g(as)h(identi\014e)n(d)g(at)f(the)
g(p)n(ost-me)n(et)g(lunch)h(after)262 1092 y(the)d(F)m(ebruary)f(me)n(eting)h
(in)h(Dal)r(las.)17 b(R)o(ik)11 b(Little\014e)n(d)g(c)n(ame)g(on)h(b)n(o)n
(ar)n(d)f(the)g(pr)n(op)n(osal)g(writing)262 1142 y(pr)n(o)n(c)n(ess,)j(and)i
(de)n(cide)n(d)g(to)f(write)f(a)i(di\013er)n(ent)f(pr)n(op)n(osal)g(which)g
(app)n(e)n(ars)h(as)f(Pr)n(op)n(osal)g(V.)262 1191 y(Ther)n(e)f(is)g(no)h
(longer)f(a)h(pr)n(op)n(osal)g(which)f(c)n(ontains)h(static)f(c)n(ontexts)h
(as)g(discusse)n(d)g(at)g(the)262 1241 y(p)n(ost-me)n(et)f(lunch.)262
1378 y Fh(1.1)64 b(In)n(tro)r(duction)262 1469 y Fg(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 1519 y(MPI)20 b(app)q(ear)g(as)g
(related)h(concepts.)38 b(In)20 b(particular)g(pro)q(cess)i(groupings)d(app)q
(ear)i(as)262 1569 y(\\frames")14 b(whic)o(h)i(are)g(used)h(in)e(the)h
(creation)h(of)e(comm)o(unicati)o(on)e(con)o(texts.)25 b(Comm)o(u-)262
1619 y(nications)13 b(con)o(texts)i(retain)g(a)e(reference)k(to,)d(and)g
(inherit)g(prop)q(erties)h(of,)e(their)i(pro)q(cess)262 1669
y(grouping)f(frames.)22 b(This)15 b(re\015ects)i(the)f(observ)n(ation)f(that)
h(an)f(in)o(v)o(o)q(cation)f(of)h(a)g(mo)q(dule)262 1718 y(in)c(a)i(parallel)
e(program)f(t)o(ypically)h(op)q(erates)j(within)e(one)g(or)h(more)e(groups)i
(of)e(pro)q(cesses,)262 1768 y(and)f(as)h(suc)o(h)h(an)o(y)e(comm)o
(unication)d(con)o(texts)12 b(asso)q(ciated)g(with)e(in)o(v)o(o)q(cations)g
(of)h(mo)q(dules)262 1818 y(also)i(bind)g(certain)i(seman)o(tics)e(of)h(pro)q
(cess)h(groupings.)324 1868 y(The)20 b(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
1918 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 1968
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 2017 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 2067 y(in)j(the)h(host)h(language.)324
2117 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 2167 y(mittees)g(of)g(MPI,)g
(primarily)e(the)j(p)q(oin)o(t-to-p)q(oin)o(t)e(comm)o(unication)e(sub)q
(committee)j(and)262 2217 y(the)17 b(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
2266 y(st)o(yle)e(of)f(the)h(ANSI)h(C)e(host)i(language)d(for)i(only)f(purp)q
(oses)i(of)f(discussion.)324 2316 y(The)g(detailed)g(prop)q(osal)g(is)g
(presen)o(ted)i(in)d Ff(Section)h(1.2.)p Fg(,)g(whic)o(h)f(refers)j(the)e
(reader)262 2366 y(to)i(a)g(set)h(of)e(discussion)i(notes)g(in)f
Ff(Section)g(1.3.2.)p Fg(.)26 b(The)17 b(notes)g(assumes)f(kno)o(wledge)262
2416 y(of)e(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)967 2574 y(1)p
eop
%%Page: 2 3
2 2 bop 262 307 a Fg(that)13 b(text.)18 b(Asp)q(ects)d(of)d(the)i(prop)q
(osal)f(are)g(discussed)i(in)d(section)i Ff(Section)f(1.3.1.)p
Fg(,)g(and)262 357 y(it)g(is)g(also)g(recommended)f(that)i(this)f(material)f
(b)q(e)i(read)g(after)g(famili)o(arisatio)o(n)d(with)i(the)262
407 y(text)h(of)f(the)i(prop)q(osal.)262 544 y Fh(1.2)64 b(Detailed)24
b(Prop)r(osal)262 635 y Fg(This)15 b(section)h(presen)o(ts)h(the)g(detailed)e
(prop)q(osal,)g(discussing)h(in)f(order)h(of)f(app)q(earance:)262
685 y(pro)q(cesses;)k(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 735
y(nication;)c(collectiv)o(e)i(comm)o(unication.)262 851 y Fe(1.2.1)55
b(Pro)r(cesses)262 927 y Fg(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 977 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
1027 y(data.)g(Eac)o(h)c(pro)q(cess)h(is)f(allo)o(w)o(ed)e(to)h(comp)q(ose)h
(m)o(ultiple)d(concurren)o(t)k(threads)g(and)e(MPI)262 1077
y(do)q(es)i(not)g(distinguish)f(suc)o(h)i(threads.)262 1185
y Ff(Pro)q(cess)g(Descriptor)262 1261 y Fg(Eac)o(h)h(pro)q(cess)h(is)f
(describ)q(ed)h(b)o(y)f(a)f Fi(pr)n(o)n(c)n(ess)h(descriptor)k
Fg(whic)o(h)15 b(is)h(expressed)i(as)e(an)f(in-)262 1311 y(teger)f(t)o(yp)q
(e)f(in)g(the)h(host)f(language)f(and)h(has)h(an)e(opaque)i(v)n(alue)e(whic)o
(h)h(is)g(pro)q(cess)i(lo)q(cal.)262 1361 y Ff(See)g(Note)g(1.)k(See)c(Note)h
(3.)i(See)d(Note)h(2.)324 1411 y Fg(The)d(initialisation)c(of)j(MPI)h
(services)h(will)d(assign)h(to)h(eac)o(h)g(pro)q(cess)h(an)e
Fi(own)k Fg(pro)q(cess)262 1461 y(descriptor.)i(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 1510 y(of)h(MPI)h(services.)19 b(MPI)13
b(pro)o(vides)g(a)g(pro)q(cedure)h(whic)o(h)f(returns)h(the)g(o)o(wn)e
(descriptor)i(of)262 1560 y(the)g(calling)e(pro)q(cess.)20
b(F)m(or)14 b(example,)e Fd(pd)21 b(=)h(mpi)p 1052 1560 14
2 v 15 w(own)p 1133 1560 V 15 w(pd\(\))p Fg(.)262 1668 y Ff(Pro)q(cess)15
b(Creation)f(and)h(Destruction)262 1745 y Fg(This)g(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 1795 y(cesses.)20 b Ff(See)15 b(Note)h(6.)262 1903 y(Descriptor)d(T)l
(ransmission)262 1979 y Fg(The)18 b(v)n(alue)g(of)f(a)h(pro)q(cess)i
(descriptor)g(can)e(b)q(e)h(transmitted)e(in)h(a)g(message)g(as)g(an)g(in-)
262 2029 y(teger)d(since)h(it)e(is)h(an)f(in)o(teger)i(t)o(yp)q(e)f(in)f(the)
h(host)g(language.)20 b(Ho)o(w)o(ev)o(er)15 b(the)h(recipien)o(t)f(of)262
2079 y(the)h(descriptor)i(can)e(mak)o(e)f(no)h(de\014ned)h(use)h(of)d(the)i
(v)n(alue)f(of)f(in)h(the)h(MPI)f(op)q(erations)262 2129 y(describ)q(ed)f(in)
f(this)g(prop)q(osal)f(|)g(the)i(descriptor)g(is)f Fi(invalid)p
Fg(.)324 2178 y(MPI)j(pro)o(vides)f(a)g(mec)o(hanism)f(whereb)o(y)i(the)g
(user)h(can)e(transmit)g(a)g(v)n(alid)f(pro)q(cess)262 2228
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 2278
y(tegrated)e(with)g(the)g(capabilit)o(y)e(to)i(transmit)e(t)o(yp)q(ed)j
(messages.)j(It)13 b(is)h(suggested)h(that)f(a)262 2328 y(notional)e(data)i
(t)o(yp)q(e)g(should)g(b)q(e)g(in)o(tro)q(duced)h(for)e(this)h(purp)q(ose,)h
(e.g.)i Fd(MPI)p 1468 2328 V 16 w(PD)p 1528 2328 V 15 w(TYPE)p
Fg(.)324 2378 y(MPI)10 b(pro)o(vides)g(a)f(pro)q(cess)j(descriptor)f
(registry)f(service.)18 b(The)10 b(op)q(erations)g(whic)o(h)g(this)262
2427 y(service)16 b(upp)q(orts)h(are:)22 b(register)16 b(descriptor)h(b)o(y)e
(name;)g(deregister)i(descriptor;)g(lo)q(okup)967 2574 y(2)p
eop
%%Page: 3 4
3 3 bop 262 307 a Fg(descriptor)11 b(iden)o(ti\014er)g(b)o(y)f(name)g(and)g
(v)n(alidate,)f(blo)q(c)o(king)h(the)h(caller)f(un)o(til)g(the)h(name)e(has)
262 357 y(b)q(een)16 b(registered.)24 b Ff(See)17 b(Note)g(7.)23
b Fg(Use)16 b(of)f(this)g(service)i(is)e(not)g(mandated.)22
b(Programs)262 407 y(whic)o(h)d(can)g(con)o(v)o(enien)o(tly)g(b)q(e)h
(expressed)h(without)e(using)g(the)g(service)i(can)e(ignore)g(it)262
457 y(without)13 b(p)q(enalt)o(y)m(.)324 506 y(Note)19 b(that)g(receipt)i(of)
d(a)h(pro)q(cess)i(descriptor)f(in)f(the)g(fashions)g(describ)q(ed)i(ab)q(o)o
(v)o(e)262 556 y(ma)o(y)11 b(ha)o(v)o(e)i(a)g(p)q(ersisten)o(t)i(e\013ect)g
(on)e(the)h(implem)o(en)o(tation)c(of)j(MPI)g(at)g(the)h(receiv)o(er,)h(and)
262 606 y(in)h(particular)h(ma)o(y)f(reserv)o(e)j(state.)29
b(MPI)18 b(will)d(pro)o(vide)j(a)f(pro)q(cedure)i(whic)o(h)e(in)o(v)n(alid-)
262 656 y(ates)d(a)g(v)n(alid)f(descriptor,)i(allo)o(wing)d(the)j(implemen)o
(tatio)o(n)d(to)i(free)h(reserv)o(ed)h(state.)k(F)m(or)262
706 y(example,)d Fd(mpi)p 510 706 14 2 v 15 w(invalidate)p
745 706 V 14 w(pd\(pd\))p Fg(.)29 b(The)19 b(user)g(is)f(not)h(allo)o(w)o(ed)
e(to)h(in)o(v)n(alidate)e(the)262 756 y(pro)q(cess)f(descriptor)g(of)f(the)g
(calling)f(pro)q(cess.)19 b Ff(See)d(Note)f(8.)262 863 y(Descriptor)e(A)o
(ttribu)o(tes)262 940 y Fg(This)g(prop)q(osal)h(mak)o(es)f(no)g(statemen)o
(ts)h(regarding)g(pro)q(cessor)i(descriptor)f(attributes.)262
1056 y Fe(1.2.2)55 b(Pro)r(cess)18 b(Groupings)262 1133 y Fg(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 1183 y(to?\))h(distinct)d(pro)q(cesses,)h(the)f(mem)o
(b)q(ership)e(and)h(ordering)g(of)g(whic)o(h)g(do)q(es)h(not)f(c)o(hange)262
1232 y(o)o(v)o(er)i(the)i(lifetime)d(of)h(the)h(grouping.)24
b Ff(See)17 b(Note)h(9.)25 b Fg(The)16 b(canonical)f(represen)o(tation)262
1282 y(of)d(a)i(grouping)e(re\015ects)k(the)e(pro)q(cess)i(ordering)d(and)h
(is)f(a)g(one-to-one)h(map)e(from)f Fc(Z)1611 1288 y Fb(N)1657
1282 y Fg(to)262 1332 y(the)j(descriptor)h(of)e(the)i Fc(N)k
Fg(pro)q(cesses)d(comp)q(osing)d(the)h(grouping.)324 1382 y(The)c(structure)j
(of)c(a)h(pro)q(cess)i(grouping)d(is)h(de\014ned)i(b)o(y)e(a)f(pro)q(cess)j
(grouping)e(top)q(ology)262 1432 y(and)j(this)h(prop)q(osal)g(mak)o(es)e(no)i
(further)h(statemen)o(ts)f(regarding)g(suc)o(h)g(structures.)262
1540 y Ff(Group)g(Descriptor)262 1616 y Fg(Eac)o(h)20 b(group)g(is)g(iden)o
(ti\014ed)g(b)o(y)g(a)f Fi(gr)n(oup)i(descriptor)j Fg(whic)o(h)c(is)g
(expressed)i(as)e(an)g(in-)262 1666 y(teger)14 b(t)o(yp)q(e)f(in)g(the)h
(host)f(language)f(and)h(has)h(an)e(opaque)i(v)n(alue)e(whic)o(h)h(is)g(pro)q
(cess)i(lo)q(cal.)262 1716 y Ff(See)g(Note)g(1.)k(See)c(Note)h(4.)i(See)d
(Note)h(2.)324 1766 y Fg(The)f(initialisation)d(of)j(MPI)g(services)i(will)c
(assign)i(to)g(eac)o(h)g(pro)q(cess)i(an)e Fi(own)g Fg(group)262
1816 y(descriptor)c(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
1865 y(retains)j(its)h(o)o(wn)f(group)g(descriptor)h(and)f(mem)o(b)q(ership)f
(of)h(the)h(pro)q(cess)h(grouping)d(un)o(til)262 1915 y(the)18
b(termination)f(of)h(MPI)g(services.)34 b Ff(See)20 b(Note)h(10.)31
b Fg(MPI)19 b(pro)o(vides)g(a)f(pro)q(cedure)262 1965 y(whic)o(h)h(returns)j
(the)f(descriptor)g(of)e(the)i(home)e(group)g(of)h(the)g(calling)f(pro)q
(cess.)38 b(F)m(or)262 2015 y(example,)12 b Fd(gd)21 b(=)h(mpi)p
614 2015 V 15 w(home)p 717 2015 V 15 w(gd\(\))p Fg(.)17 b Ff(See)e(Note)g
(11.)262 2123 y(Group)f(Creation)g(and)h(Deletion)262 2199
y Fg(MPI)d(pro)o(vides)g(a)f(pro)q(cedure)j(whic)o(h)e(allo)o(ws)e(users)k
(to)d(dynamically)e(create)14 b(one)e(or)g(more)262 2249 y(groups)d(whic)o(h)
g(are)h(subsets)h(of)e(existing)g(groups.)16 b(F)m(or)9 b(example,)g
Fd(gdb)21 b(=)g(mpi)p 1489 2249 V 15 w(group)p 1614 2249 V
15 w(partition\(gda,)262 2299 y(key\))13 b Fg(creates)k(one)e(or)g(more)e
(new)j(groups)f Fd(gdb)f Fg(partition)g(an)g(existing)h(group)f
Fd(gda)g Fg(in)o(to)262 2349 y(one)h(or)h(more)e(distinct)i(subsets.)25
b(This)16 b(pro)q(cedure)h(is)f(called)f(b)o(y)g(and)h(sync)o(hronises)h(all)
262 2399 y(mem)o(b)q(ers)12 b(of)h Fd(gda)p Fg(.)967 2574 y(3)p
eop
%%Page: 4 5
4 4 bop 324 307 a Fg(MPI)9 b(pro)o(vides)h(a)f(pro)q(cedure)i(whic)o(h)f
(allo)o(ws)e(users)j(to)e(dynamically)d(create)11 b(one)f(group)262
357 y(b)o(y)j(explicit)h(de\014nition)g(of)f(its)h(mem)o(b)q(ership)f(as)h(a)
g(list)f(of)h(pro)q(cess)i(descriptors.)k(F)m(or)13 b(ex-)262
407 y(ample,)c Fd(gd)21 b(=)h(mpi)p 571 407 14 2 v 15 w(group)p
696 407 V 14 w(definition\(listofpd)o(\))8 b Fg(creates)k(one)f(new)g(group)g
Fd(gd)f Fg(with)262 457 y(mem)o(b)q(ership)17 b(and)i(ordering)g(describ)q
(ed)i(b)o(y)e(the)h(pro)q(cess)h(descriptor)f(list)f Fd(listofpd)p
Fg(.)262 506 y(This)9 b(pro)q(cedure)j(is)e(called)f(b)o(y)h(and)g(sync)o
(hronises)h(all)e(pro)q(cesses)j(iden)o(ti\014ed)e(in)g Fd(listofpd)p
Fg(.)324 556 y(MPI)h(pro)o(vides)h(a)f(pro)q(cedure)i(whic)o(h)e(allo)o(ws)f
(users)j(to)e(delete)i(a)e(created)i(group.)k(This)262 606
y(pro)q(cedure)11 b(accepts)h(the)f(descriptor)g(of)f(a)f(group)h(whic)o(h)g
(w)o(as)g(created)i(b)o(y)d(the)i(calling)e(pro-)262 656 y(cess)15
b(and)f(destro)o(ys)i(the)f(iden)o(ti\014ed)f(group.)19 b(F)m(or)14
b(example,)e Fd(mpi)p 1295 656 V 15 w(group)p 1420 656 V 15
w(deletion\(gd\))262 706 y Fg(deletes)17 b(an)e(existing)h(group)f
Fd(gd)p Fg(.)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 756 y(mem)o(b)q(ers)12 b(of)h Fd(gd)p Fg(.)324
805 y(MPI)k(pro)o(vides)g(additional)e(pro)q(cedure)k(whic)o(h)e(allo)o(w)e
(users)j(to)f(construct)i(pro)q(cess)262 855 y(groupings)13
b(whic)o(h)h(ha)o(v)o(e)f(a)h(pro)q(cess)i(grouping)d(top)q(ology)m(.)262
963 y Ff(Descriptor)g(T)l(ransmission)262 1040 y Fg(The)i(v)n(alue)f(of)g(a)g
(group)h(descriptor)h(can)f(b)q(e)g(transmitted)g(in)f(a)g(message)h(as)g(an)
f(in)o(teger)262 1089 y(since)j(it)g(is)f(an)h(in)o(teger)g(t)o(yp)q(e)g(in)g
(the)g(host)g(language.)26 b(Ho)o(w)o(ev)o(er)17 b(the)g(recipien)o(t)h(of)e
(the)262 1139 y(descriptor)h(can)g(mak)o(e)e(no)h(de\014ned)h(use)h(of)d(the)
i(v)n(alue)f(of)g(in)g(the)h(MPI)g(op)q(erations)f(de-)262
1189 y(scrib)q(ed)f(in)e(this)h(prop)q(osal)g(|)f(the)h(descriptor)i(is)d
Fi(invalid)p Fg(.)324 1239 y(MPI)19 b(pro)o(vides)g(a)g(mec)o(hanism)d
(whereb)o(y)k(the)g(user)g(can)f(transmit)f(a)g(v)n(alid)g(group)262
1289 y(descriptor)g(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 1339
y(tegrated)e(with)g(the)g(capabilit)o(y)e(to)i(transmit)e(t)o(yp)q(ed)j
(messages.)j(It)13 b(is)h(suggested)h(that)f(a)262 1388 y(notional)e(data)i
(t)o(yp)q(e)g(should)g(b)q(e)g(in)o(tro)q(duced)h(for)e(this)h(purp)q(ose,)h
(e.g.)i Fd(MPI)p 1468 1388 V 16 w(GD)p 1528 1388 V 15 w(TYPE)p
Fg(.)324 1438 y(MPI)c(pro)o(vides)f(a)h(group)f(descriptor)i(registry)f
(service.)19 b(The)13 b(op)q(erations)g(whic)o(h)g(this)262
1488 y(service)j(upp)q(orts)h(are:)22 b(register)16 b(descriptor)h(b)o(y)e
(name;)g(deregister)i(descriptor;)g(lo)q(okup)262 1538 y(descriptor)11
b(iden)o(ti\014er)g(b)o(y)f(name)g(and)g(v)n(alidate,)f(blo)q(c)o(king)h(the)
h(caller)f(un)o(til)g(the)h(name)e(has)262 1588 y(b)q(een)16
b(registered.)24 b Ff(See)17 b(Note)g(7.)23 b Fg(Use)16 b(of)f(this)g
(service)i(is)e(not)g(mandated.)22 b(Programs)262 1637 y(whic)o(h)d(can)g
(con)o(v)o(enien)o(tly)g(b)q(e)h(expressed)h(without)e(using)g(the)g(service)
i(can)e(ignore)g(it)262 1687 y(without)13 b(p)q(enalt)o(y)m(.)324
1737 y(Note)h(that)f(receipt)i(of)d(a)i(group)f(descriptor)h(in)f(the)h
(fashions)f(describ)q(ed)i(ab)q(o)o(v)o(e)f(ma)o(y)262 1787
y(ha)o(v)o(e)i(a)g(p)q(ersisten)o(t)i(e\013ect)g(on)e(the)h(implemen)o
(tation)c(of)j(MPI)g(at)h(the)g(receiv)o(er,)h(and)e(in)262
1837 y(particular)g(ma)o(y)f(reserv)o(e)k(state.)27 b(MPI)17
b(will)f(pro)o(vide)g(a)h(pro)q(cedure)h(whic)o(h)f(in)o(v)n(alidates)262
1886 y(a)e(v)n(alid)f(descriptor,)j(allo)o(wing)c(the)j(implemen)o(tatio)o(n)
d(to)i(free)i(reserv)o(ed)g(state.)24 b(F)m(or)15 b(ex-)262
1936 y(ample,)d Fd(mpi)p 465 1936 V 15 w(invalidate)p 700 1936
V 13 w(gd\(gd\))p Fg(.)18 b(The)c(user)h(is)f(not)g(allo)o(w)o(ed)f(to)h(in)o
(v)n(alidate)e(the)j(o)o(wn)262 1986 y(group)d(descriptor)j(of)d(the)i(pro)q
(cess)h(or)e(the)h(group)f(descriptor)h(of)f(an)o(y)f(group)h(created)i(b)o
(y)262 2036 y(the)f(calling)e(pro)q(cess.)20 b Ff(See)c(Note)f(12.)262
2144 y(Descriptor)e(A)o(ttribu)o(tes)262 2220 y Fg(MPI)j(pro)o(vides)g(a)g
(pro)q(cedure)i(whic)o(h)e(accepts)i(a)d(v)n(alid)g(group)h(descriptor)h(and)
f(returns)262 2270 y(the)g(rank)f(of)g(the)i(calling)d(pro)q(cess)j(within)e
(the)i(iden)o(ti\014er)f(group.)23 b(F)m(or)15 b(example,)f
Fd(rank)262 2320 y(=)21 b(mpi)p 374 2320 V 15 w(group)p 499
2320 V 15 w(rank\(gd\))p Fg(.)324 2370 y(MPI)10 b(pro)o(vides)h(a)f(pro)q
(cedure)j(whic)o(h)d(accepts)i(a)e(v)n(alid)f(group)h(descriptor)i(and)e
(returns)262 2420 y(the)15 b(n)o(um)o(b)q(er)g(of)g(mem)o(b)q(ers,)e(or)j
Fi(size)p Fg(,)e(of)h(the)h(iden)o(ti\014ed)f(group.)22 b(F)m(or)15
b(example,)f Fd(size)21 b(=)967 2574 y Fg(4)p eop
%%Page: 5 6
5 5 bop 262 307 a Fd(mpi)p 331 307 14 2 v 15 w(group)p 456
307 V 14 w(size\(gd\))p Fg(.)324 357 y(MPI)16 b(pro)o(vides)f(a)g(pro)q
(cedure)j(whic)o(h)d(accepts)i(a)e(v)n(alid)f(group)i(descriptor)g(and)g
(pro-)262 407 y(cess)h(order)g(n)o(um)o(b)q(er,)f(or)g Fi(r)n(ank)p
Fg(,)g(and)g(returns)i(the)f(v)n(alid)e(descriptor)i(of)f(the)h(pro)q(cess)h
(to)262 457 y(whic)o(h)d(the)h(supplied)g(rank)f(maps)g(within)f(the)j(iden)o
(ti\014ed)e(group.)23 b(F)m(or)15 b(example,)f Fd(pd)22 b(=)262
506 y(mpi)p 331 506 V 15 w(group)p 456 506 V 14 w(pd\(gd,)f(rank\))p
Fg(.)324 556 y Ff(See)15 b(Note)h(13.)324 606 y Fg(MPI)c(pro)o(vides)h
(additional)e(pro)q(cedures)j(whic)o(h)f(allo)o(w)d(users)k(to)e(determine)h
(the)g(pro-)262 656 y(cess)i(grouping)e(top)q(ology)g(attributes.)262
772 y Fe(1.2.3)55 b(Comm)n(unication)16 b(Con)n(texts)262 849
y Fg(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)i(grouping)e(as)h(a)g(\\frame".)25
b(Eac)o(h)17 b(pro)q(cess)i(grouping)d(is)h(used)h(as)f(a)f(frame)g(for)262
1048 y(m)o(ultiple)11 b(con)o(texts.)262 1156 y Ff(Con)o(text)j(Descriptor)
262 1232 y Fg(Eac)o(h)h(con)o(text)i(is)e(iden)o(ti\014ed)h(b)o(y)f(a)g
Fi(c)n(ontext)i(descriptor)j Fg(whic)o(h)15 b(is)g(expressed)j(as)e(an)f(in-)
262 1282 y(teger)f(t)o(yp)q(e)f(in)g(the)h(host)f(language)f(and)h(has)h(an)e
(opaque)i(v)n(alue)e(whic)o(h)h(is)g(pro)q(cess)i(lo)q(cal.)262
1332 y Ff(See)g(Note)g(1.)k(See)c(Note)h(5.)i(See)d(Note)h(2.)324
1382 y Fg(The)g(creation)g(of)e(MPI)i(pro)q(cess)h(groupings)e(allo)q(cates)h
(an)f Fi(own)k Fg(con)o(text)d(whic)o(h)f(in-)262 1432 y(herits)k(the)g
(created)h(grouping)e(as)h(a)f(frame)g(and)g(can)h(b)q(e)g(though)o(t)g(of)f
(as)g(a)h(prop)q(ert)o(y)262 1482 y(of)c(the)h(created)h(grouping.)23
b(The)16 b(grouping)f(retains)h(its)f(o)o(wn)h(con)o(text)g(un)o(til)f(MPI)h
(pro-)262 1531 y(cess)g(grouping)e(deletion.)21 b(MPI)15 b(pro)o(vides)g(a)g
(pro)q(cedure)i(whic)o(h)d(accepts)j(a)d(v)n(alid)g(group)262
1581 y(descriptor)e(and)e(returns)i(the)g(con)o(text)f(descriptor)h(of)e(the)
h(o)o(wn)g(con)o(text)g(of)f(the)h(iden)o(ti\014ed)262 1631
y(group.)17 b(F)m(or)d(example,)e Fd(cd)21 b(=)h(mpi)p 822
1631 V 15 w(own)p 903 1631 V 15 w(cd\(gd\))p Fg(.)17 b Ff(See)e(Note)h(15.)
262 1739 y(Con)o(text)e(Creation)h(and)g(Deletion)262 1816
y Fg(MPI)i(pro)o(vides)g(a)g(pro)q(cedure)i(whic)o(h)d(allo)o(ws)g(users)j
(to)d(dynamically)f(create)j(con)o(texts.)262 1865 y(This)11
b(pro)q(cedure)j(accepts)f(a)e(v)n(alid)f(descriptor)j(of)e(a)g(group)h(of)f
(whic)o(h)g(the)i(calling)d(pro)q(cess)262 1915 y(is)16 b(a)h(mem)o(b)q(er,)f
(and)h(returns)i(a)e(con)o(text)g(descriptor)i(whic)o(h)e(references)j(the)d
(iden)o(ti\014ed)262 1965 y(group.)j(F)m(or)15 b(example,)e
Fd(cd)21 b(=)h(mpi)p 827 1965 V 15 w(context)p 996 1965 V 14
w(create\(gd\))p Fg(.)d(This)14 b(pro)q(cedure)j(is)e(called)262
2015 y(b)o(y)e(and)h(sync)o(hronises)h(all)e(mem)o(b)q(ers)g(of)g
Fd(gd)p Fg(.)k Ff(See)f(Note)f(14.)324 2065 y Fg(MPI)i(pro)o(vides)h(a)f(pro)
q(cedure)i(whic)o(h)e(allo)o(ws)f(users)i(to)f(destro)o(y)h(created)h(con)o
(texts.)262 2114 y(This)11 b(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
2164 y(ing)8 b(pro)q(cess)j(and)e(deletes)i(that)e(con)o(text)h(iden)o
(ti\014er.)17 b(F)m(or)9 b(example,)f Fd(mpi)p 1400 2164 V
15 w(context)p 1569 2164 V 15 w(delete\(cd\))p Fg(.)262 2214
y(This)13 b(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 Fd(cd)p Fg(.)262
2322 y Ff(Descriptor)g(T)l(ransmission)262 2399 y Fg(The)18
b(v)n(alue)f(of)h(a)f(con)o(text)i(descriptor)g(can)f(b)q(e)h(transmitted)f
(in)f(a)h(message)f(as)h(an)g(in-)262 2448 y(teger)d(since)h(it)e(is)h(an)f
(in)o(teger)i(t)o(yp)q(e)f(in)f(the)h(host)g(language.)20 b(Ho)o(w)o(ev)o(er)
15 b(the)h(recipien)o(t)f(of)967 2574 y(5)p eop
%%Page: 6 7
6 6 bop 262 307 a Fg(the)16 b(descriptor)i(can)e(mak)o(e)f(no)h(de\014ned)h
(use)h(of)d(the)i(v)n(alue)f(of)f(in)h(the)h(MPI)f(op)q(erations)262
357 y(describ)q(ed)f(in)f(this)g(prop)q(osal)f(|)g(the)i(descriptor)g(is)f
Fi(invalid)p Fg(.)324 407 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
457 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 506
y(tegrated)e(with)g(the)g(capabilit)o(y)e(to)i(transmit)e(t)o(yp)q(ed)j
(messages.)j(It)13 b(is)h(suggested)h(that)f(a)262 556 y(notional)e(data)i(t)
o(yp)q(e)g(should)g(b)q(e)g(in)o(tro)q(duced)h(for)e(this)h(purp)q(ose,)h
(e.g.)i Fd(MPI)p 1468 556 14 2 v 16 w(CD)p 1528 556 V 15 w(TYPE)p
Fg(.)324 606 y(MPI)9 b(pro)o(vides)h(a)f(con)o(text)h(descriptor)h(registry)f
(service.)18 b(The)10 b(op)q(erations)f(whic)o(h)h(this)262
656 y(service)16 b(upp)q(orts)h(are:)22 b(register)16 b(descriptor)h(b)o(y)e
(name;)g(deregister)i(descriptor;)g(lo)q(okup)262 706 y(descriptor)11
b(iden)o(ti\014er)g(b)o(y)f(name)g(and)g(v)n(alidate,)f(blo)q(c)o(king)h(the)
h(caller)f(un)o(til)g(the)h(name)e(has)262 756 y(b)q(een)16
b(registered.)24 b Ff(See)17 b(Note)g(7.)23 b Fg(Use)16 b(of)f(this)g
(service)i(is)e(not)g(mandated.)22 b(Programs)262 805 y(whic)o(h)d(can)g(con)
o(v)o(enien)o(tly)g(b)q(e)h(expressed)h(without)e(using)g(the)g(service)i
(can)e(ignore)g(it)262 855 y(without)13 b(p)q(enalt)o(y)m(.)324
905 y(Note)e(that)g(receipt)h(of)f(a)f(con)o(text)i(descriptor)g(in)e(the)i
(fashions)e(describ)q(ed)j(ab)q(o)o(v)o(e)e(ma)o(y)262 955
y(ha)o(v)o(e)16 b(a)g(p)q(ersisten)o(t)i(e\013ect)g(on)e(the)h(implemen)o
(tation)c(of)j(MPI)g(at)h(the)g(receiv)o(er,)h(and)e(in)262
1005 y(particular)g(ma)o(y)f(reserv)o(e)k(state.)27 b(MPI)17
b(will)f(pro)o(vide)g(a)h(pro)q(cedure)h(whic)o(h)f(in)o(v)n(alidates)262
1054 y(a)e(v)n(alid)f(descriptor,)j(allo)o(wing)c(the)j(implemen)o(tatio)o(n)
d(to)i(free)i(reserv)o(ed)g(state.)24 b(F)m(or)15 b(ex-)262
1104 y(ample,)d Fd(mpi)p 465 1104 V 15 w(invalidate)p 700 1104
V 13 w(cd\(cd\))p Fg(.)18 b(The)c(user)h(is)f(not)g(allo)o(w)o(ed)f(to)h(in)o
(v)n(alidate)e(the)j(o)o(wn)262 1154 y(con)o(text)h(descriptor)h(of)e(a)g
(group)h(or)g(the)g(con)o(text)g(descriptor)h(of)e(an)o(y)h(con)o(text)g
(created)262 1204 y(b)o(y)d(the)i(calling)d(pro)q(cess.)20
b Ff(See)15 b(Note)h(16.)262 1312 y(Descriptor)d(A)o(ttribu)o(tes)262
1388 y Fg(MPI)f(pro)o(vides)g(a)g(pro)q(cedure)h(whic)o(h)f(allo)o(ws)f
(users)i(to)f(determine)g(the)h(pro)q(cess)g(grouping)262 1438
y(whic)o(h)g(is)h(the)h(frame)d(of)h(a)h(con)o(text.)19 b(F)m(or)13
b(example,)f Fd(gd)22 b(=)f(mpi)p 1282 1438 V 15 w(context)p
1451 1438 V 15 w(gd\(cd\))p Fg(.)262 1554 y Fe(1.2.4)55 b(P)n(oin)n(t-to-P)n
(oin)n(t)19 b(Comm)n(unication)262 1631 y Fg(This)11 b(prop)q(osal)g
(recommends)f(three)j(forms)d(for)h(MPI)g(p)q(oin)o(t-to-p)q(oin)o(t)f
(message)h(address-)262 1681 y(ing)k(and)h(selection:)23 b(n)o(ull)15
b(con)o(text;)j(closed)e(con)o(text;)i(op)q(en)e(con)o(text.)26
b(It)16 b(is)g(further)h(re-)262 1731 y(commended)d(that)j(messages)f(comm)o
(unicated)e(in)i(eac)o(h)g(form)f(are)i(distinguished)f(suc)o(h)262
1780 y(that)c(a)h(Send)g(op)q(eration)g(of)f(form)g(X)g(cannot)h(matc)o(h)f
(with)h(a)f(receiv)o(e)i(op)q(eration)f(of)f(form)262 1830
y(Y,)h(whic)o(h)h(requires)h(that)f(the)g(form)e(is)i(em)o(b)q(edded)g(in)o
(to)f(the)i(message)e(en)o(v)o(elop)q(e.)324 1880 y(The)j(three)h(forms)d
(are)i(describ)q(ed)h(follo)o(w)o(ed)d(b)o(y)i(considerations)g(of)f(uniform)
e(in)o(teg-)262 1930 y(ration)g(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(section)j(of)g(MPI.)262
2038 y Ff(Null)g(Con)o(text)g(F)l(orm)262 2114 y Fg(The)g Fi(nul)r(l)h(c)n
(ontext)j Fg(form)12 b(con)o(tains)i(no)f(message)h(con)o(text.)19
b Ff(See)c(Note)h(17.)324 2164 y Fg(Message)g(selection)f(and)g(addressing)g
(are)g(expressed)i(b)o(y)e Fd(\(pd,)21 b(tag\))14 b Fg(where:)20
b Fd(pd)15 b Fg(is)262 2214 y(a)e(pro)q(cess)j(descriptor;)f
Fd(tag)e Fg(is)g(a)h(message)g(tag.)324 2264 y(Send)g(supplies)h(the)f
Fd(pd)f Fg(of)h(the)g(receiv)o(er.)20 b(Receiv)o(e)14 b(supplies)h(the)f
Fd(pd)f Fg(of)h(the)g(sender.)324 2314 y(Receiv)o(e)20 b(can)f(wildcard)g(on)
g Fd(pd)g Fg(b)o(y)h(supplying)e(the)i(v)n(alue)f(of)g(a)g(named)f(constan)o
(t)262 2363 y(pro)q(cess)f(descirptor,)h(e.g.)24 b Fd(MPI)p
773 2363 V 15 w(PD)p 832 2363 V 15 w(WILD)p Fg(.)15 b(This)h(prop)q(osal)g
(mak)o(es)e(no)i(statmen)o(t)g(ab)q(out)262 2413 y(the)e(pro)o(vision)f(for)g
(wildcard)h(on)g Fd(tag)p Fg(.)967 2574 y(6)p eop
%%Page: 7 8
7 7 bop 262 307 a Ff(Closed)14 b(Con)o(text)h(F)l(orm)262 384
y Fg(The)f Fi(close)n(d)g(c)n(ontext)k Fg(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
434 y(con)o(text.)k Ff(See)d(Note)h(19.)324 483 y Fg(Message)d(selection)f
(and)g(addressing)g(are)g(expressed)i(b)o(y)d Fd(\(cd,)21 b(rank,)g(tag\))11
b Fg(where:)262 533 y Fd(cd)k Fg(is)g(a)h(con)o(text)g(descriptor;)i
Fd(rank)c Fg(is)i(a)f(pro)q(cess)j(rank)e(in)f(the)h(frame)f(of)g
Fd(cd)p Fg(;)g Fd(tag)g Fg(is)h(a)262 583 y(message)d(tag.)324
633 y(Send)f(supplies)g(the)g Fd(cd)f Fg(of)g(the)h(receiv)o(er)h(and)e
(sender,)i(and)f(the)g Fd(rank)f Fg(of)f(the)j(receiv)o(er.)262
683 y(Receiv)o(e)i(supplies)f(the)i Fd(cd)e Fg(of)f(the)j(sender)g(and)e
(receiv)o(er,)i(and)e(the)h(rank)f(of)g(the)h(sender.)262 732
y(The)i Fd(\(cd,)k(rank\))16 b Fg(pair)g(in)h(Send)g(\(Receiv)o(e\))h(is)f
(su\016cien)o(t)g(to)g(determine)g(the)h(pro)q(cess)262 782
y(descriptor)d(of)e(the)h(receiv)o(er)i(\(sender\).)324 832
y(Receiv)o(e)e(cannot)g(wildcard)f(on)h Fd(cd)p Fg(.)j(Receiv)o(e)d(can)g
(wildcard)g(on)f Fd(rank)g Fg(b)o(y)g(supplying)262 882 y(the)e(v)n(alue)g
(of)f(a)h(named)f(constan)o(t)h(in)o(teger,)h(e.g.)k Fd(MPI)p
1101 882 14 2 v 16 w(RANK)p 1205 882 V 14 w(WILD)p Fg(.)10
b(This)h(prop)q(osal)g(mak)o(es)262 932 y(no)i(statmen)o(t)h(ab)q(out)f(the)i
(pro)o(vision)e(for)g(wildcard)h(on)f Fd(tag)p Fg(.)262 1040
y Ff(Op)q(en)i(Con)o(text)f(F)l(orm)262 1116 y Fg(The)k Fi(op)n(en)h(c)n
(ontext)j Fg(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 1166 y(con)o(texts.)i
Ff(See)c(Note)g(18.)324 1216 y Fg(Message)d(selection)h(and)e(addressing)h
(are)g(expressed)i(b)o(y)d Fd(\(lcd,)21 b(rcd,)g(rank,)f(tag\))262
1266 y Fg(where:)d Fd(lcd)11 b Fg(is)h(a)f(\\lo)q(cal")f(con)o(text)i
(descriptor;)h Fd(rcd)e Fg(is)g(a)g(\\remote")g(con)o(text)h(descriptor;)262
1316 y Fd(rank)h Fg(is)g(a)h(pro)q(cess)i(rank)d(in)h(the)g(frame)f(of)g
Fd(rcd)p Fg(;)g Fd(tag)g Fg(is)h(a)f(message)h(tag.)324 1365
y(Send)22 b(supplies)g(the)h(con)o(text)f(descriptor)h(for)f(the)g(sender)i
(in)d Fd(lcd)p Fg(,)h(the)h(con)o(text)262 1415 y(descriptor)c(for)f(the)h
(receiv)o(er)h(in)e Fd(rcd)p Fg(,)h(and)f(the)h Fd(rank)e Fg(of)h(the)h
(receiv)o(er)h(in)e(the)h(frame)262 1465 y(of)12 b Fd(rcd)p
Fg(.)18 b(Receiv)o(e)c(supplies)f(the)h(con)o(text)g(descriptor)h(for)e(the)h
(receiv)o(er)h(in)e Fd(lcd)p Fg(,)g(the)h(con-)262 1515 y(text)f(descriptor)i
(for)d(the)i(sender)h(in)d Fd(rcd)p Fg(,)g(and)h(the)h Fd(rank)e
Fg(of)g(the)i(sender)h(receiv)o(er)f(in)f(the)262 1565 y(frame)c(of)i
Fd(rcd)p Fg(.)16 b(The)c Fd(\(rcd,)21 b(rank\))10 b Fg(pair)h(in)f(Send)i
(\(Receiv)o(e\))g(is)f(su\016cien)o(t)h(to)f(determine)262
1614 y(the)j(pro)q(cess)i(descriptor)f(of)e(the)i(receiv)o(er)g(\(sender\).)
324 1664 y(Receiv)o(e)f(cannot)g(wildcard)f(on)h Fd(lcd)p Fg(.)j(Receiv)o(e)d
(can)g(wildcard)f(on)h Fd(rcd)f Fg(b)o(y)g(supplying)262 1714
y(the)j(v)n(alue)g(of)f(a)h(named)f(constan)o(t)i(con)o(text)g(descriptor,)g
(e.g.)25 b Fd(MPI)p 1352 1714 V 15 w(CD)p 1411 1714 V 15 w(WILD)p
Fg(,)15 b(in)h(whic)o(h)262 1764 y(case)f(Receiv)o(e)g Fi(must)k
Fg(also)14 b(wildcard)g(on)g Fd(rank)g Fg(as)h(there)h(is)e(insu\016cien)o(t)
h(information)d(to)262 1814 y(determine)j(the)h(pro)q(cess)i(descriptor)f(of)
e(the)h(sender.)26 b(Receiv)o(e)16 b(can)g(wildcard)f(on)g
Fd(rank)262 1863 y Fg(b)o(y)f(supplying)h(the)h(v)n(alue)e(of)h(a)g(named)f
(constan)o(t)i(in)o(teger,)f(e.g.)22 b Fd(MPI)p 1384 1863 V
15 w(RANK)p 1487 1863 V 15 w(WILD)p Fg(.)14 b(This)262 1913
y(prop)q(osal)f(mak)o(es)g(no)g(statmen)o(t)h(ab)q(out)g(the)g(pro)o(vision)f
(for)h(wildcard)f(on)h Fd(tag)p Fg(.)262 2021 y Ff(Uniform)f(In)o(tegration)
262 2098 y Fg(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
2148 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)262
2197 y(section)c(of)e(MPI)i(b)o(y)f(de\014ning)g(a)g(further)h(orthogonal)e
(axis)h(\(as)h(in)e(the)i(m)o(ulti-lev)o(el)d(pro-)262 2247
y(p)q(osal)j(of)g(Gropp)h(&)g(Lusk\))g(whic)o(h)g(deals)g(with)g(the)g(form.)
23 b(This)15 b(is)h(at)g(the)g(exp)q(ense)i(of)262 2297 y(m)o(ultiplyi)o(ng)c
(the)k(n)o(um)o(b)q(er)e(of)g(Send)i(and)e(Receiv)o(e)i(pro)q(cedures)h(b)o
(y)e(a)f(factor)h(of)g(three,)262 2347 y(and)f(some)g(di\016cult)o(y)g(in)g
(details)h(of)f(the)i(curren)o(t)g(p)q(oin)o(t-to-p)q(oin)o(t)d(w)o(orking)h
(do)q(cumen)o(t)262 2397 y(whic)o(h)d(uniformly)f(assumes)h(a)h(single)f
(addressing)i(and)f(selection)g(form.)967 2574 y(7)p eop
%%Page: 8 9
8 8 bop 324 307 a Fg(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
357 y(whic)o(h)16 b(ma)o(y)e(simplify)f(in)o(tegration.)24
b(Three)17 b(options)f(are)h(no)o(w)e(describ)q(ed,)j(eac)o(h)f(based)262
407 y(on)e(reten)o(tion)i(and)e(extension)i(of)e(the)i(framew)o(ork)d(of)h
(one)h(form.)22 b(These)c(options)d(eac)o(h)262 457 y(ha)o(v)o(e)e(adv)n(an)o
(tages)h(and)f(disadv)n(an)o(tages.)262 565 y Ff(Option)f(i:)41
b Fg(The)14 b(framew)o(ork)e(of)h(the)g(op)q(en)h(con)o(text)g(form)e(is)h
(adopted)g(and)h(extended.)324 614 y(W)m(e)g(in)o(tro)q(duce)h(the)g
Fi(nul)r(l)k Fg(descriptor,)c(the)g(v)n(alue)f(of)g(whic)o(h)g(is)h
(de\014ned)g(b)o(y)g(a)f(named)262 664 y(constan)o(t,)f(e.g.)18
b Fd(MPI)p 590 664 14 2 v 15 w(NULL)p Fg(.)324 714 y(The)j(n)o(ull)e(con)o
(text)j(form)c(is)j(expressed)i(as)d Fd(\(MPI)p 1153 714 V
15 w(NULL,)h(MPI)p 1365 714 V 15 w(NULL,)g(pd,)g(tag\))p Fg(,)262
764 y(whic)o(h)16 b(is)h(a)f(little)h(clumsy)m(.)25 b(The)17
b(closed)g(con)o(text)h(form)d(is)i(expressed)i(as)e Fd(\(MPI)p
1573 764 V 15 w(NULL,)262 814 y(cd,)k(rank,)f(tag\))p Fg(,)15
b(whic)o(h)h(is)f(marginally)d(incon)o(v)o(enien)o(t.)23 b(The)17
b(op)q(en)f(con)o(text)g(form)e(is)262 863 y(expressed)i(as)e
Fd(\(lcd,)20 b(rcd,)h(rank,)g(tag)p Fg(\),)13 b(whic)o(h)h(is)g(of)f(course)i
(natural.)262 971 y Ff(Option)9 b(ii:)40 b Fg(The)11 b(framew)o(ork)d(of)i
(the)g(closed)h(con)o(text)g(form)d(is)i(adopted)h(and)f(extended.)324
1021 y(W)m(e)k(in)o(tro)q(duce)h(the)g Fi(nul)r(l)k Fg(descriptor,)c(the)g(v)
n(alue)f(of)g(whic)o(h)g(is)h(de\014ned)g(b)o(y)g(a)f(named)262
1071 y(constan)o(t,)f(e.g.)18 b Fd(MPI)p 590 1071 V 15 w(NULL)p
Fg(.)324 1121 y(The)c(n)o(ull)f(con)o(text)h(form)e(is)i(expressed)i(as)e
Fd(\(MPI)p 1106 1121 V 15 w(NULL,)20 b(pd,)i(tag\))p Fg(,)12
b(whic)o(h)i(is)f(mar-)262 1171 y(ginally)8 b(incon)o(v)o(enien)o(t.)17
b(The)10 b(closed)h(con)o(text)g(form)e(is)h(expressed)j(as)d
Fd(\(cd,)21 b(rank,)g(tag\))p Fg(,)262 1220 y(whic)o(h)12 b(is)h(of)f(course)
i(natural.)j(Expression)c(of)f(the)i(op)q(en)f(con)o(text)g(form)e(requires)j
(a)e(little)262 1270 y(more)g(w)o(ork.)324 1320 y(W)m(e)k(can)i(use)g(the)f
Fd(cd)g Fg(\014eld)g(as)g(\\shorthand)h(notation")e(for)g(the)i
Fd(\(lcd,)j(rcd\))16 b Fg(pair)262 1370 y(at)d(the)h(exp)q(ense)i(of)d(in)o
(tro)q(ducing)g(some)g(tric)o(k)o(ery)m(.)18 b(W)m(e)13 b(can)h(de\014ne)g(a)
f(mec)o(hanism)f(whic)o(h)262 1420 y(\\globs")c(together)i(these)h(t)o(w)o(o)
e(\014elds)h(on)o(to)f(in)g(an)g(iden)o(ti\014er)h(whic)o(h)f(Send)h(and)f
(Receiv)o(e)h(can)262 1469 y(distinguish)i(from)f(a)h(con)o(text)i(iden)o
(ti\014er)f(and)g(treat)h(as)e(the)i(shorthand)f(notation.)k(Then)262
1519 y(w)o(e)e(should)f(also)g(de\014ne)i(a)f(mec)o(hanism)d(b)o(y)j(whic)o
(h)g(a)f(receiv)o(er)j(whic)o(h)e(has)g(completed)f(a)262 1569
y(Receiv)o(e)h(with)f(wildcard)g(on)g Fd(rcd)g Fg(is)h(able)f(to)g(determine)
h(the)g(v)n(alid)e(con)o(text)i(descriptor)262 1619 y(of)e(the)h(sender.)20
b(This)14 b(is)f(a)h(incon)o(v)o(enien)o(t.)262 1727 y Ff(Option)e(iii:)39
b Fg(The)13 b(framew)o(ork)e(of)h(the)h(n)o(ull)f(con)o(text)h(form)e(is)h
(adopted)h(and)g(extended.)324 1777 y(The)f(n)o(ull)f(con)o(text)i(form)d(is)
i(expressed)j(as)d Fd(\(pd,)21 b(tag\))p Fg(,)11 b(whic)o(h)h(is)g(of)f
(course)j(natural.)262 1826 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.)324
1876 y(W)m(e)g(can)g(use)h(the)g Fd(pd)f Fg(\014eld)g(as)g(\\shorthand)h
(notation")e(for)h Fd(\(cd,)21 b(rank\))12 b Fg(and)h Fd(\(lcd,)262
1926 y(rcd,)20 b(rank\))15 b Fg(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
1976 y(is)13 b(clumsy)m(.)262 2092 y Fe(1.2.5)55 b(Collectiv)n(e)16
b(Comm)n(unication)262 2169 y Fg(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
2218 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 2268
y(accept)e(a)f(con)o(text)h(descriptor)h(whic)o(h)e(iden)o(ti\014es)h(the)g
(con)o(text)g(and)g(frame)e(in)h(whic)o(h)g(they)262 2318 y(are)j(to)g(op)q
(erate.)324 2368 y(MPI)h(do)q(es)g(plan)f(to)h(describ)q(e)h(symmetric)d
(collectiv)o(e)i(comm)o(unicati)o(on)d(op)q(erations.)262 2418
y(It)k(is)h(not)g(p)q(ossible)g(to)g(determine)g(whether)h(the)f(prop)q(osal)
g(is)f(su\016cien)o(t)i(to)e(allo)o(w)g(im-)967 2574 y(8)p
eop
%%Page: 9 10
9 9 bop 262 307 a Fg(plemen)o(tation)16 b(of)h(the)h(collectiv)o(e)g(comm)o
(unication)d(section)j(of)g(MPI)g(in)f(terms)h(of)f(the)262
357 y(p)q(oin)o(t-to-p)q(oin)o(t)h(section)j(of)f(MPI)g(without)g(loss)g(of)f
(generalit)o(y)m(,)i(since)g(the)g(collectiv)o(e)262 407 y(op)q(erations)14
b(are)g(not)g(y)o(et)g(de\014ned.)324 457 y(Assymetric)j(collectiv)o(e)g
(comm)o(unication)d(op)q(erations,)j(esp)q(ecially)g(those)h(in)f(whic)o(h)
262 506 y(the)12 b(sender\(s\))i(and)d(receiv)o(er\(s\))j(are)e(distinct)g
(pro)q(cesses,)i(are)e(complian)o(t)e(with)h(the)h(op)q(en)262
556 y(con)o(text)i(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 606
y(accept)i(a)g(pair)f(of)g(con)o(text)h(descriptors)h(\(p)q(erhaps)g(in)e(a)h
(\\glob")e(form\))g(whic)o(h)h(iden)o(tify)262 656 y(the)f(con)o(texts)h(and)
f(frames)f(in)g(whic)o(h)h(they)g(are)h(to)e(op)q(erate.)324
706 y(MPI)j(do)q(es)g(not)f(plan)g(to)h(describ)q(e)h(assymetric)f(collectiv)
o(e)f(comm)o(unication)d(op)q(era-)262 756 y(tions.)17 b(Suc)o(h)11
b(op)q(erations)h(are)g(expressiv)o(e)h(when)e(writing)g(programs)f(b)q(ey)o
(ond)i(the)g(SPMD)262 805 y(mo)q(del)d(and)i(comprise)g(comm)o(unicati)o(v)o
(e)e(fun)o(tionally)g(distinct)i(pro)q(cess)i(groupings.)k(This)262
855 y(prop)q(osal)d(recommends)h(that)g(suc)o(h)h(op)q(erations)g(should)f(b)
q(e)h(considered)g(in)f(some)g(rein-)262 905 y(carnation)e(of)g(MPI.)262
1042 y Fh(1.3)64 b(Discussion)24 b(&)d(Notes)262 1133 y Fg(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 1183 y(b)o(y)f(the)i(notes)f
(referenced)j(in)c(the)i(detailed)e(prop)q(osal.)262 1299 y
Fe(1.3.1)55 b(Discussion)262 1376 y Fg(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 1426 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
1475 y(foundation)d(of)i(eac)o(h)h(part)f(is)g(describ)q(ed.)30
b(The)17 b(discussion)h(also)e(presen)o(ts)j(argumen)o(ts)262
1525 y(for)14 b(and)g(against)g(the)i(MIMD)e(mo)q(del)f(annex,)i(and)f(to)h
(some)e(exten)o(t)j(explores)f(the)h(con-)262 1575 y(squences)f(of)f(these)h
(argumen)o(ts)e(for)h(MPI)g(in)f(a)h(wider)g(sense.)262 1683
y Ff(SPMD)h(mo)q(del)f(core)262 1760 y Fg(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
1809 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 1859 y(pro)o(vide)11
b(expressiv)o(e)i(p)q(o)o(w)o(er)f(b)q(ey)o(ond)g(the)h(\\SPIMD")e(mo)q(del,)
f(in)i(whic)o(h)f(pro)q(cess)j(execute)262 1909 y(in)f(a)h(stricly)g(SIMD)f
(fashion.)324 1959 y(The)h(material)e(describing)i(pro)q(cesses)j(in)c
Ff(Section)h(1.2.1.)19 b Fg(is)14 b(simpli\014ed:)324 2050
y Fa(\017)20 b Fg(pro)q(cesses)d(ha)o(v)o(e)d(iden)o(tical)f(instruction)h
(blo)q(c)o(ks)g(and)g(di\013eren)o(t)g(data)g(blo)q(c)o(ks;)324
2133 y Fa(\017)20 b Fg(pro)q(cess)k(descriptor)f(transmission)d(and)h
(registry)i(b)q(ecome)e(redundan)o(t)h(\(Note,)365 2183 y(ho)o(w)o(ev)o(er,)g
(that)e(they)h(are)f(an)o(yw)o(a)o(y)f(redundan)o(t)i(as)f(con)o(text)h
(descriptor)g(trans-)365 2233 y(mission)13 b(and)g(registry)i(coupled)g(with)
e(con)o(text)i(descriptor)h(attribute)e(query)h(and)365 2283
y(group)f(descriptor)h(attribute)f(query)g(is)f(capable)h(of)f(pro)o(viding)f
(access)k(to)d(all)g(pro-)365 2332 y(cess)j(descriptors\);)324
2415 y Fa(\017)k Fg(dynamic)12 b(pro)q(cess)k(mo)q(dels)d(are)h(not)g
(considered.)967 2574 y(9)p eop
%%Page: 10 11
10 10 bop 324 307 a Fg(The)14 b(material)e(describing)i(pro)q(cess)i
(groupings)e(in)f Ff(Section)h(1.2.2.)19 b Fg(is)13 b(simpli\014ed:)324
399 y Fa(\017)20 b Fg(group)9 b(descriptor)i(transmission)d(and)h(registry)h
(b)q(ecome)f(redundan)o(t)h(\(Note,)g(ho)o(w)o(ev)o(er,)365
448 y(that)17 b(they)h(are)f(an)o(yw)o(a)o(y)f(redundan)o(t)h(as)g(con)o
(text)h(descriptor)g(transmission)e(and)365 498 y(registry)c(coupled)f(with)f
(con)o(text)h(descriptor)h(attribute)f(query)h(capable)e(of)g(pro)o(vid-)365
548 y(ing)j(access)j(to)e(all)f(group)g(descriptors.\);)324
631 y Fa(\017)20 b Fg(the)d(o)o(wn)f(pro)q(cess)i(grouping)d(explicitly)g(b)q
(ecomes)h(a)g(group)g(con)o(taining)f(all)g(pro-)365 681 y(cesses.)324
772 y(The)g(material)d(describing)j(comm)o(unication)c(con)o(texts)16
b(in)e Ff(Section)g(1.2.3.)21 b Fg(is)14 b(sim-)262 822 y(pli\014ed:)324
913 y Fa(\017)20 b Fg(con)o(text)15 b(descriptor)g(transmission)e(and)g
(registry)i(b)q(ecome)f(unnecessary)m(.)324 1005 y(The)f(material)e
(describing)j(p)q(oin)o(t-to-p)q(oin)o(t)d(comm)o(unication)f(in)i
Ff(Section)h(1.2.4.)19 b Fg(is)262 1054 y(simpli\014ed:)324
1146 y Fa(\017)h Fg(the)15 b(op)q(en)f(con)o(text)h(form)d(b)q(ecomes)i
(redundan)o(t;)324 1229 y Fa(\017)20 b Fg(uniform)15 b(in)o(tegration)g
(\\Option)h(i")g(is)g(deleted,)i(and)e(\\Option)h(ii")e(loses)i(\\globs")365
1279 y(th)o(us)f(b)q(ecoming)e(simple)g(enough)h(that)h(\\Option)e(iii")g
(need)i(not)f(b)q(e)h(further)h(con-)365 1328 y(sidered.)324
1420 y(The)c(material)e(describing)i(collectiv)o(e)g(comm)o(unicatio)o(n)d
(in)j Ff(Section)f(1.2.5.)19 b Fg(is)12 b(sim-)262 1469 y(pli\014ed:)324
1561 y Fa(\017)20 b Fg(there)h(is)e(no)h(p)q(ossibilit)o(y)e(of)h(collectiv)o
(e)g(comm)o(unication)d(op)q(erations)k(spanning)365 1611 y(more)13
b(than)h(con)o(text.)262 1719 y Ff(MIMD)i(mo)q(del)e(annex)262
1795 y Fg(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 1845 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 1895 y(data)17 b(driv)o(en)g(parallelism.)27
b(The)18 b(MIMD)f(mo)q(del)f(annex)i(is)g(not)f(in)o(tended)h(to)g(pro)o
(vide)262 1945 y(expressiv)o(e)d(p)q(o)o(w)o(er)g(to)f(\014ne)h(grained)f
(function)g(driv)o(en)g(parallel)f(programs)g(|)h(it)f(is)i(con-)262
1994 y(jectured)j(that)g(message)f(passing)g(approac)o(hes)h(suc)o(h)h(as)e
(MPI)h(are)g(not)f(suited)h(to)f(\014ne)262 2044 y(grained)c(function)g(driv)
o(en)g(or)h(data)f(driv)o(en)h(programmi)o(ng.)h(The)f(annex)f(is)h(in)o
(tended)g(to)262 2094 y(pro)o(vide)f(expresiv)o(e)i(p)q(o)o(w)o(er)f(for)g
(the)h(\\MSPMD")e(mo)q(del,)f(whic)o(h)i(is)f(no)o(w)h(describ)q(ed.)324
2144 y(One)19 b(of)g(the)g(simplest)f(MIMD)h(mo)q(dels)f(is)h(the)g
(\\host-no)q(de")g(mo)q(del,)g(famili)o(ar)d(in)262 2194 y(EXPRESS)f(and)f(P)
m(ARMA)o(CS,)f(con)o(taining)h(t)o(w)o(o)g(functional)g(groups:)19
b(one)c(no)q(de)g(group)262 2243 y(\(SPMD)f(lik)o(e\))f(;)g(one)h(host)g
(group)g(\(a)g(singleton\).)324 2293 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 Fc(n)e
Fg(clien)o(ts)h(is)g(comp)q(osed)262 2343 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 2393 y(pro)q(cesses,)k(con)o(tains)d(1)10
b(+)h Fc(n)k Fg(functional)g(groups:)21 b Fc(n)15 b Fg(clien)o(t)h(groups)g
(\(SPMD)f(lik)o(e\);)g(one)262 2443 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)957 2574 y(10)p eop
%%Page: 11 12
11 11 bop 262 307 a Fg(mo)q(del)12 b(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 357 y(b)q(e)f(view)o(ed)g(as)g(an)g(SPMD)g(lik)o(e)f(serv)o(er)i(\(or)f
(vice)g(v)o(ersa!\).)324 407 y(The)f(\\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
457 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
506 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 556 y(clien)o(t-serv)o(er)
e(mo)q(del")d(is)i(a)g(case)h(of)e(this)h(mo)q(del)e(in)i(whic)o(h)g(the)g
(mo)q(dule)f(graph)h(con)o(tains)262 606 y(arcs)h(joining)e(the)j(serv)o(er)g
(to)f(eac)o(h)g(clien)o(t.)324 656 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 706 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 756
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)262 805 y(are)i(increasingly)g
(mo)o(ving)d(in)j(to)f(parallel)g(computating.)23 b(The)16
b(debate)h(is)f(whether)i(or)262 855 y(not)c(message)g(passing)g(approac)o
(hes)i(suc)o(h)f(as)g(MPI)f(\(whic)o(h)h(I)f(simply)f(refer)i(to)g(as)f
(MPI\))262 905 y(should)f(pro)o(vide)h(for)f(this)h(mo)q(del.)324
955 y(The)d(negativ)o(e)f(argumen)o(t)g(is)g(that)h(suc)o(h)g(SPMD)g(mo)q
(dules)f(should)g(b)q(e)h(con)o(trolled)g(and)262 1005 y(comm)o(uni)o(cate)i
(with)h(one)h(another)g(as)g(\\parallel)f(pro)q(cesses")j(at)d(the)i
(distributed)f(op)q(er-)262 1054 y(ating)f(system)g(lev)o(el.)21
b(The)15 b(argumen)o(t)f(has)h(some)f(app)q(eal)g(as)h(the)h(w)o(orld)e(of)g
(distributed)262 1104 y(op)q(erating)j(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
1154 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 1204
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 1254 y(data)h(driv)o(en)h(SPMD)g
(parallel)f(prgrams.)324 1303 y(The)h(p)q(ositiv)o(e)g(argumen)o(t)f(is)h
(that)g(comm)o(unicatio)o(ns)e(b)q(et)o(w)o(een)j(SPMD)f(mo)q(dules)f(re-)262
1353 y(quires)19 b(high)f(p)q(erformance)h(and)g(MPI)g(can)h(pro)o(vide)f
(suc)o(h)g(p)q(erformance)g(with)g(tuned)262 1403 y(seman)o(tics)11
b(whic)o(h)g(exp)q(ect)j(the)e(user)h(to)f(deal)f(with)g(coherency)j(issues.)
k(There)13 b(is)f(also)f(the)262 1453 y(argumen)o(t)g(that)h(MPI)g(is)g(able)
g(to)g(deal)g(with)g(this)g(in)f(a)h(shorter)i(time)c(than)i(dev)o(elopmen)o
(t)262 1503 y(and)k(standardisation)h(pro)q(cedures)j(for)c(distributed)i(op)
q(erating)f(systems.)28 b(The)17 b(latter)262 1553 y(argumen)o(t)10
b(is)h(comparable)f(with)i(the)g(argumen)o(t)e(for)h(MPI)h(v)o(ersus)h
(parallel)d(compilation.)262 1669 y Fe(1.3.2)55 b(Notes)312
1745 y Fg(1.)20 b(Descriptors)i(are)e(a)g(plen)o(tiful)f(but)i(b)q(ounded)f
(resource.)39 b(They)21 b(are)f(expressed)365 1795 y(as)g(in)o(tegers)h(for)e
(t)o(w)o(o)g(reasons.)37 b(Firstly)m(,)20 b(this)g(expression)h(facilitates)e
(uniform)365 1845 y(binding)12 b(to)h(ANSI)h(C)f(and)g(F)m(ortran)g(77.)k
(Secondly)m(,)c(there)h(is)f(a)g(later)g(con)o(v)o(enience)365
1895 y(in)e(ensuring)h(that)f(pro)q(cess)i(descriptors)g(in)d(particular)h
(are)h(expressed)i(in)c(in)o(tegers,)365 1945 y(and)j(I)f(made)f(all)h(the)h
(descriptors)h(are)f(in)o(tegers)g(for)f(consistency)m(.)19
b(In)12 b(practice)i(the)365 1994 y(descriptor)h(could)e(b)q(e)h(an)f(index)g
(in)o(to)f(a)h(table)g(of)g(ob)r(jects)h(description)g(structures)365
2044 y(or)g(p)q(oin)o(ters)h(to)e(suc)o(h)i(structures.)312
2127 y(2.)20 b(It)10 b(is)g(p)q(ossible)g(to)g(allo)o(w)e(the)j(user)g(to)f
(sa)o(v)o(e)g(user)h(de\014ned)g(attributes)g(in)e(descriptors,)365
2177 y(as)14 b(Little\014eld)f(has)g(suggested.)19 b(Suc)o(h)14
b(attributes)g(should)f(not)g(b)q(e)h(comm)o(unicated)365 2227
y(in)g(either)g(descriptor)i(transmission)c(or)i(the)h(descriptor)g(registry)
m(.)312 2310 y(3.)20 b(The)c(pro)q(cess)h(descriptor)f(is)f(not)g(a)g(global)
e(unique)i(pro)q(cess)i(iden)o(ti\014er)e(but)h(m)o(ust)365
2360 y(reference)i(suc)o(h)f(an)e(iden)o(ti\014er.)24 b(The)16
b(use)g(of)f(descriptors)i(hides)g(suc)o(h)f(iden)o(ti\014ers)365
2410 y(in)f(order)i(that)e(they)h(ma)o(y)e(b)q(e)i(implemen)o(tatio)o(n)d
(dep)q(enden)o(t,)k(and)e(enables)i(more)957 2574 y(11)p eop
%%Page: 12 13
12 12 bop 365 307 a Fg(e\016cien)o(t)14 b(access)i(to)d(additional)f(pro)q
(cess)j(information)c(in)i(implemen)o(tations.)i(F)m(or)365
357 y(example,)d(the)h(pro)q(cess)i(iden)o(ti\014er)e(of)g(a)g(receiv)o(er)h
(ma)o(y)d(not)i(b)q(e)h(su\016cien)o(t)f(to)g(route)365 407
y(a)f(message)f(to)h(the)g(receiv)o(er,)i(and)d(this)h(information)d(can)j(b)
q(e)h(referenced)h(from)c(the)365 457 y(pro)q(cess)16 b(descriptor.)312
540 y(4.)k(The)h(group)e(descriptor)j(is)e(not)f(a)h(global)e(unique)i(group)
g(iden)o(ti\014er)g(but)h(m)o(ust)365 589 y(reference)d(suc)o(h)f(an)e(iden)o
(ti\014er.)24 b(The)16 b(use)g(of)f(descriptors)i(hides)g(suc)o(h)f(iden)o
(ti\014ers)365 639 y(in)e(order)g(that)g(they)g(ma)o(y)e(b)q(e)i(implemen)o
(tation)c(dep)q(endeen)o(t,)16 b(and)d(enables)i(more)365 689
y(e\016cien)o(t)i(access)h(to)f(additional)d(group)i(information)e(in)i
(implem)o(en)o(tations.)23 b(F)m(or)365 739 y(example,)11 b(the)h(size)g(of)g
(the)g(group)f(and)h(the)g(map)e(from)g(mem)o(b)q(er)g(ranks)i(to)g(pro)q
(cess)365 789 y(descriptors)k(can)e(b)q(e)g(referenced)j(from)12
b(the)i(group)g(descriptor.)312 872 y(5.)20 b(The)15 b(con)o(text)g
(descriptor)h(is)f(not)f(a)g(global)f(unique)i(con)o(text)g(iden)o(ti\014er)g
(but)g(m)o(ust)365 922 y(reference)j(suc)o(h)f(an)e(iden)o(ti\014er.)24
b(The)16 b(use)g(of)f(descriptors)i(hides)g(suc)o(h)f(iden)o(ti\014ers)365
971 y(in)f(order)i(that)e(they)h(ma)o(y)e(b)q(e)i(implemen)o(tatio)o(n)d(dep)
q(enden)o(t,)k(and)e(enables)i(more)365 1021 y(e\016cien)o(t)d(access)h(to)e
(additional)e(con)o(text)j(information)d(in)h(implemen)o(tations.)j(F)m(or)
365 1071 y(example,)j(the)h(group)f(descriptor)i(of)d(the)i(frame)e(can)i(b)q
(e)g(referenced)h(from)d(the)365 1121 y(con)o(text)e(descriptor.)312
1204 y(6.)20 b(The)h(prop)q(osal)e(do)q(es)i(not)f(prev)o(en)o(t)h(a)f(pro)q
(cess)h(mo)q(del)e(whic)o(h)h(allo)o(ws)e(dynamic)365 1254
y(creation)13 b(and)g(termination)e(of)h(pro)q(cesses)j(ho)o(w)o(ev)o(er)e
(it)f(do)q(es)i(not)f(fa)o(v)o(our)e(an)i(asyn-)365 1303 y(c)o(hronous)i(pro)
q(cess)h(creation)f(mo)q(del)e(in)g(whic)o(h)i(singleton)e(pro)q(cesses)k
(are)e(created)365 1353 y(and)h(terminated)g(in)g(an)g(unstructured)j
(fashion.)25 b(The)16 b(prop)q(osal)g(do)q(es)h(fa)o(v)o(our)f(a)365
1403 y(mo)q(del)d(in)h(whic)o(h)g(blobs)g(of)f(pro)q(cesses)k(are)d(created)i
(\(and)e(terminated\))g(in)g(a)g(con-)365 1453 y(certed)i(fashion,)d(and)h
(in)g(whic)o(h)g(eac)o(h)h(group)f(so)g(created)i(is)e(assigned)h(a)f
(di\013eren)o(t)365 1503 y(o)o(wn)g(pro)q(cess)j(grouping.)h(This)d(mo)q(del)
e(do)q(es)i(not)f(tak)o(e)h(in)o(to)e(accoun)o(t)i(the)g(p)q(oten-)365
1553 y(tial)e(desire)j(to)e(expand)g(or)g(con)o(tract)h(an)f(existing)g(blob)
g(of)f(pro)q(cesses)k(in)d(order)h(to)365 1602 y(tak)o(e)d(in)o(to)g(accoun)o
(t)g(\(presumably)g(slo)o(wly\))f(time)f(v)n(arying)h(w)o(orloads.)17
b(The)c(author)365 1652 y(suggests)21 b(that)f(concerted)h(blob)e(expand)h
(and)f(con)o(tract)h(op)q(erations)g(are)g(most)365 1702 y(suitable)14
b(for)g(this)g(purp)q(ose)h(than)e(async)o(hronous)i(spa)o(wn/kill)d(op)q
(erations.)312 1785 y(7.)20 b(There)15 b(should)f(probably)f(also)g(b)q(e)h
(a)g(registry)g(op)q(eration)g(whic)o(h)f(c)o(hec)o(ks)i(whether)365
1835 y(a)f(name)e(has)i(b)q(een)g(registered)i(without)d(the)h(p)q(ossibilit)
o(y)e(of)h(blo)q(c)o(king)g(the)h(calling)365 1885 y(pro)q(cess)k
(inde\014nitely)m(.)25 b(The)16 b(same)g(registry)h(could)f(b)q(e)h(used)g
(for)f(pro)q(cess,)i(group)365 1934 y(and)c(con)o(text)h(descriptors.)312
2017 y(8.)20 b(In)f(the)g(static)g(pro)q(cess)h(mo)q(del)d(it)h(is)g(assumed)
h(that)f(pro)q(cesses)j(are)e(created)h(in)365 2067 y(concert,)h(and)e(that)f
(termination)f(of)h(one)h(pro)q(cess)h(implies)d(termination)g(of)h(all)365
2117 y(pro)q(cesses.)39 b(In)20 b(this)h(case)g(there)g(is)f(no)g(coherency)h
(problem)e(asso)q(ciated)i(with)365 2167 y(pro)q(cesses)c(and)e(pro)q(cess)h
(descriptors.)21 b(In)14 b(a)g(dynamic)f(pro)q(cess)j(mo)q(del)d(there)j(is)e
(a)365 2217 y(coherency)f(problem)c(whic)o(h)i(pro)q(cesses)j(and)c(pro)q
(cess)j(descriptors)g(since)e(a)g(pro)q(cess)365 2267 y(can)f(retain)g(the)g
(descriptor)h(of)e(a)g(pro)q(cess)i(whic)o(h)f(has)g(b)q(een)g(deleted.)18
b(The)10 b(prop)q(osal)365 2316 y(exp)q(ects)16 b(the)f(user)g(to)e(ensure)j
(coheren)o(t)f(usage.)312 2399 y(9.)20 b(Pro)q(cess)f(groupings)c(are)i
(dynamic)d(in)i(the)h(sense)h(that)e(they)h(can)f(b)q(e)h(created)h(at)365
2449 y(an)o(y)12 b(time,)e(and)i(static)g(in)f(the)h(sense)i(that)e(the)g
(mem)o(b)q(ership)e(is)i(constan)o(t)g(o)o(v)o(er)g(the)957
2574 y(12)p eop
%%Page: 13 14
13 13 bop 365 307 a Fg(lifetime)11 b(of)g(the)j(pro)q(cess)g(grouping.)j(The)
12 b(author)h(suggests)h(concerted)g(group)e(ex-)365 357 y(pand)f(and)f(con)o
(tract)i(op)q(erations)f(are)g(more)e(generally)i(useful)f(than)h(async)o
(hronous)365 407 y(join/lea)o(v)o(e)i(op)q(erations.)291 490
y(10.)20 b(MPI)15 b(has)f(discussed)j(the)e(concept)g(of)f(the)h(\\all")e
(group)h(whic)o(h)g(con)o(tains)h(all)e(pro-)365 540 y(cesses.)35
b(The)19 b(\\o)o(wn")e(group)i(concept)h(is)e(in)o(tended)h(to)g(b)q(e)g(a)f
(generalisation)g(of)365 589 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
639 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 689
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 739 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 789 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 839 y(and)f(the)h(host)g(blob)f(\(whic)o(h)g(is)g(a)g(singleton\).)
18 b(There)c(is)f(a)g(sense)i(in)e(whic)o(h)g(a)g(blob)365
888 y(has)h(a)g(lo)q(cally)e(SPMD)i(view.)291 971 y(11.)20
b(This)14 b(pro)q(cedure)i(lo)q(oks)d(lik)o(e)g(a)h(pro)q(cess)i(descriptor)f
(attribute)f(query)m(.)291 1054 y(12.)20 b(Dynamic)8 b(pro)q(cesses)j(in)o
(tro)q(duce)f(a)f(group)h(coherency)h(problem)d(as)h(a)g(group)g(descriptor)
365 1104 y(can)18 b(con)o(tain)f(the)h(pro)q(cess)h(descriptor)f(of)f(a)g
(pro)q(cess)i(whic)o(h)e(has)h(b)q(een)g(deleted.)365 1154
y(Dynamic)12 b(pro)q(cesses)17 b(p)q(oten)o(tially)c(in)o(tro)q(duce)i(a)e
(group)h(coherency)i(problem)d(as)h(a)365 1204 y(group)e(descriptor)h(can)f
(con)o(tain)g(the)g(pro)q(cess)i(descriptor)f(of)e(a)h(pro)q(cess)i(whic)o(h)
d(has)365 1254 y(b)q(een)h(deleted.)17 b(Group)10 b(transmission)f(in)o(tro)q
(duces)i(a)f(group)g(and)g(group)g(descriptor)365 1303 y(coherenncy)21
b(problem)d(since)i(a)f(pro)q(cess)j(can)d(retain)h(a)f(group)g(descriptor)h
(of)f(a)365 1353 y(group)c(whic)o(h)f(has)h(b)q(een)g(iden)o(ti\014ed)g
(group.)20 b(The)14 b(prop)q(osal)h(exp)q(ects)h(the)f(user)h(to)365
1403 y(ensure)g(coheren)o(t)f(usage.)291 1486 y(13.)20 b(The)c(prop)q(osal)f
(did)f(not)h(include)g(a)g(function)g(to)g(con)o(v)o(ert)h(a)e
Fd(\(gd,)21 b(pd\))15 b Fg(pair)f(in)o(to)365 1536 y(a)i(rank.)22
b(It)16 b(is)f(suggested)i(that)f(this)f(in)o(v)o(erse)i(map)d(is)h(allo)o(w)
o(ed)f(to)i(b)q(e)g(arbitrarily)365 1586 y(slo)o(w.)291 1669
y(14.)k(Marc)15 b(Snir)e(has)h(describ)q(ed)i(a)d(metho)q(d)g(b)o(y)h(whic)o
(h)g(global)e(unique)h(group)h(iden)o(ti\014-)365 1719 y(ers)j(can)e(b)q(e)h
(generated)h(without)e(use)h(of)f(shared)h(global)e(data.)22
b(The)16 b(description)365 1768 y(of)i(con)o(text)h(creation)g(an)o
(ticipates)g(a)f(similar)e(metho)q(d)i(for)g(global)f(unique)i(con-)365
1818 y(text)h(iden)o(ti\014er)g(generation.)35 b(Ho)o(w)o(ev)o(er)20
b(the)g(sync)o(hronisation)f(requiremen)o(t)g(of)365 1868 y(this)e(metho)q(d)
e(mak)o(es)h(it)g(unnecessary)i(for)e(con)o(text)h(creation.)26
b(Sync)o(hronisation)365 1918 y(at)11 b(creation)g(of)f(con)o(text)i(within)e
(a)g(pro)q(cess)j(grouping)d(frame)f(implies)g(that)i(all)f(pro-)365
1968 y(cesses)19 b(within)d(the)h(frame)e(p)q(erform)g(the)i(same)f(con)o
(text)h(creations)g(in)f(the)g(same)365 2017 y(sequence.)39
b(Therefore)22 b(the)f(com)o(bination)c(of)j(global)e(unique)i(frame)f(iden)o
(ti\014er)365 2067 y(and)e(con)o(text)h(creation)f(sequence)i(n)o(um)o(b)q
(er)e(pro)o(vides)g(a)g(global)e(unique)i(con)o(text)365 2117
y(iden)o(ti\014er)e(without)e(comm)o(unication.)291 2200 y(15.)20
b(This)14 b(pro)q(cedure)i(lo)q(oks)d(lik)o(e)g(a)h(group)g(descriptor)h
(attribute)f(query)m(.)291 2283 y(16.)20 b(The)13 b(reten)o(tion)h(of)e(a)g
(reference)k(to)c(a)h(group)f(descriptor)i(b)o(y)f(a)f(con)o(text)i(in)o(tro)
q(duces)365 2333 y(the)i(p)q(oten)o(tial)e(for)h(a)f(con)o(text)i(and)f(con)o
(text)g(descriptor)h(coherency)h(problem,)d(as)365 2383 y(a)19
b(con)o(text)h(could)e(con)o(tain)h(a)f(reference)k(to)c(the)i(group)f
(descriptor)h(of)e(a)h(group)365 2433 y(whic)o(h)c(has)h(b)q(een)g(deleted.)
24 b(This)15 b(could)g(b)q(e)h(circum)o(v)o(en)o(ted)f(b)o(y)g(demanding)f
(that)957 2574 y(13)p eop
%%Page: 14 15
14 14 bop 365 307 a Fg(all)11 b(suc)o(h)i(con)o(texts)h(are)e(deleted)i(b)q
(efore)f(a)f(group)g(is)g(deleted.)19 b(Con)o(text)12 b(descriptor)365
357 y(transmission)17 b(in)o(tro)q(duces)i(a)e(coherency)j(problem)c(since)j
(a)e(pro)q(cess)j(can)d(retain)365 407 y(the)d(descriptor)h(of)e(a)g(con)o
(text)i(whic)o(h)e(has)h(b)q(een)g(deleted.)19 b(The)14 b(prop)q(osal)g(exp)q
(ects)365 457 y(the)h(user)g(to)f(ensure)h(coheren)o(t)g(usage.)291
540 y(17.)20 b(This)14 b(is)f(somewhat)f(lik)o(e)h(and)g(P)m(ARMA)o(CS)g(and)
g(PVM)g(3.)18 b(It)13 b(is)g(general)h(purp)q(ose,)365 589
y(but)f(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 639 y(parallel)g(libraries.)291
722 y(18.)20 b(This)15 b(is)g(somewhat)f(lik)o(e)g(ZIPCODE)i(and)e(VENUS.)h
(It)g(is)g(expressiv)o(e)i(in)d(certain)365 772 y(SPMD)g(programs)f(where)i
(noncomm)o(uni)o(cativ)o(e)c(data)j(driv)o(en)f(parallel)g(computa-)365
822 y(tions)k(can)g(b)q(e)g(p)q(erformed)g(concurren)o(tly)m(.)27
b(It)17 b(pro)o(vides)g(facilities)f(for)g(writers)i(of)365
872 y(SPMD)c(lik)o(e)f(parallel)g(libraries.)291 955 y(19.)20
b(This)f(is)f(somewhat)g(lik)o(e)g(CHIMP)h(and)g(PVM)g(2.)32
b(It)19 b(is)f(expressiv)o(e)j(in)d(certain)365 1005 y(MIMD)13
b(programs)e(where)i(comm)o(unicativ)o(e)d(data)i(driv)o(en)h(parallel)e
(computations)365 1054 y(can)21 b(b)q(e)g(p)q(erformed)g(concurren)o(tly)m(.)
38 b(It)21 b(pro)o(vides)g(facilities)e(for)i(MSPMD)f(lik)o(e)365
1104 y(parallel)13 b(libraries.)262 1241 y Fh(1.4)64 b(Conclusion)262
1332 y Fg(This)17 b(c)o(hapter)h(has)g(presen)o(ted)i(and)d(discussed)i(a)e
(prop)q(osal)g(for)h(comm)o(uni)o(cation)d(con-)262 1382 y(texts)k(within)g
(MPI.)f(In)h(the)h(prop)q(osal)f(pro)q(cess)h(groupings)f(app)q(eared)h(as)f
(frames)f(for)262 1432 y(the)d(creation)g(of)f(comm)o(unication)e(con)o
(texts,)j(and)g(comm)o(unicatio)o(n)d(con)o(texts)k(retained)262
1482 y(certain)e(prop)q(erties)h(of)f(the)g(frames)f(used)i(in)e(their)i
(creation.)324 1532 y(The)f(author)g(strongly)g(recommends)e(this)i(prop)q
(osal)g(to)g(the)g(committee.)957 2574 y(14)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 
         \--------------------------------------------------------/