Multi-tiered distributed computing platform
Abstract
n/a
Full text
Multi-Tiered Distributed Computing Platform Andrew Page, Thomas Keane, Richard Allen, Thomas J. Naughton Department of Computer Science National University of Ireland, Maynooth County Kildare, Ireland "! # John Waldron Department of Computer Science Trinity College Dublin Dublin 2, Ireland ABSTRACT $&% # '( )*' +( -,.0/1( 324657# )"8")"9)# % 3# +)5 )0':"')*# % ! % "; % +8""<)"/."( 80'=>)( # ? 2 " % ):" % @:"') % ( # A.0BC+!@D?A8 E 1# % <C( # 5F# 0G)# % 3# +)0 % ! % "H')"(IJK# :*B# % )5 +8)0# L)# :"# (IM? % ! % "N:" % # % % 2OL)5D3!P3" 2-) % K<<# (9) % 8324Q % :*0)( # 6R( 00/. % )R):" %3% # )OM? % :*0)( ?) % :"65 C# :0?# 68"35F578"S S1?):" %3% # ) % 8*1# L % 3# :( !P:"( # "35 % /.R 9K# P"# K % 8":5 # /. % :*0)( 0TM?-# )"8")" % :*0)( % <0:* # R!5 '# :0( ( !<( ( :0 % ):" % +8D?""1U+ % + % 0''R:")5 % *( !V:*# P:**:# % # : % 2OC)( !)# <D?A8 M? % ! % "Q % +8""W"/( 0@/.'LD?AB2-XYVZO[ % K# LC+# # )24 # : % ( # :0# J 1. INTRODUCTION [O)3"( !\@W]24Q*+( W)# % 3# +)0&:"')35 # G( 324 %'% :*^ % _)` M E 'Ga bcF9)# % 3# +)0 a dcF ^e# 0Wf-"/# :" % a XcF\M?!]?AW^P)# :"# ( 2 % 6)# P"# = :*# C % ! % " % 1# % 2 " % ):" % :0^"( ]G):" %3% :"')*# ( ( !W( )+)5 ( " % gM?LK# ) % )0 % :":" %3% 2 E < % '0 % 6)# % 3# +)0 % ! % " % 0/.=+8""G+( =< %3% P'=2:"')*# (T % ):" % 2 Q<) %"h :*# % 8K# :*L?( V3K# % 60/.1+8""V)# ( # % 0L "# P24( (8"# (IiM? % @)# % 3# +)0 % ! % " % "( !jk :"( # "35 % /.'')"(ITK<P)# % 3# +)0 % ! % "l % % /.K6 !6:"( # " % E )*:# :"R# 9 % +8"" % 0'+!C _)` M E 'P)# % 3# +)0 % ! % "l/.3! % :":" %3% 24( ( !TK# ^ L)"<'# ( ( # ]:"( # "6 :*# % % 362K % ! % "ma bcF n 0?"/.0 % # :"''# % ( !@ % /.Po % # ( < :*# 6 :"( % pq24?( ()29:"( # " % ?# % % Rr# ?( # '# T= C+812R:"( # " % % ! % "s:0W)( <6!B'# ' K# =# % ( # '# S)"8")# R1OD?A- % ):" % 1:"65 )*# (8 % ):" % ? % /.0 $ :"'' % ( )# P# % Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. PPPJ ’03 Kilkenny, Ireland Copyright 2003 ACM X-XXXXX-XX-X/XX/XX ... t 5.00. # :0 % ''+K# @29 % /. h % E 1:"":# ^W*)LL80?2 % /.0R+) # % :0\+8 >)8" % # /. M?uOA( !v8" E )2 * % 3:)wD?A# '[O')# oFu9v E w[9pCa x0c?# % P)*' +( % :":" %3% = _)` M E ' $ ( ^# # % )*' +( TLLVC+862-)5 :")# # % KD!)8 % 2y:"')*# % OK# ( (+8R % ! % "qK# :*@( # '# % # % % +# ( # D!M?')+( " % C % +880( # ) % G' % % K# ( (R+8P# % 0]# z)# "# O2 "R % ):" % R)U":0 $ ( % ))( !')+( " % :0 +8 % 3:)0 % :*6OR# % 1# *)"8")":!C+85 D?""C)# {"y# ":" % 28*RO:" % # )0|M?# % # % +8":0 % u9v E w[]*# % 1:"( # "35 % /.9:*# ":)'# '( "'" % 5 % "V):" %3% # % * E 2O :"')*# L0}# % 24)35 =):" %3% # V2R# '0)# 6 % ( % % "*P)0)# :00 :*# % C % 9+8 % 0 v) # ~# % W) % # jB)*' +( L)# % 3# +)0^:"65 )# C( 324iK# % ) % 3# :0<# P % 2yD!)8- % 3:)?28:"')*# % S:0C+8?8324'0q@O*# % 8": % 2V:"( # "35 % /.P')"(IK+)<# 3):"V8"35F5 8"-:"'C# :0# PK# # V63"=2 % :*0)( # ') % % /. % /.:"'? % :0( +# ( # D!'( # '# *# % 2"'( 0!)# % # ( % /.0O,.0/C# % % 0 6" % )( 324i# )"8")":" 24+8 % :*0)( K) % P):" %3% # ') % E _ ":0x??# 3):"TOC( # 5F# 0-')"(I E _ ":0d C) % # % 2T= # L:"'8" % 2T % ! % "C)5 % "0 E '( "'"*# 118324 :"O"/( # C9)# % 5 :" %3% 0P# _ ":0)8 ?:":"( )# _ ":08 2. OVERVIEW OF THE SYSTEM M?O24# % 24SOC( # 5F# 0=)# % 3# +)01:"')*5 # % ! % "?1( # # P,.0/Cf-# % 3# +)0L[O')*# # +)*3!GoF,f1[ pa cy<# % >" % # % a 0cF)K# :*P)/# ) "C( 0j E Pf# 8"( # L):" %3% 0M?V,f1[ )/# )0 % # '( P)"/."( '"=( 324s24 )"/."( 8 % KLK# % 0 }# :*A( !P# '( "'"K')# % 3# +)0P:"')*# % ! % " E % K)T28?"0=24?( 324657# )"8")"S)# % 3# +)0 % ! % ";?9 % 0 % !'C:0)0' % ! % ":* % V9 % 0 % !GL)"( 0! _ ! % " %-% :*@ %C_)` M E '6)# 1 %3% % C# %3% % /.3!?"( (TL?') % # 0LP+8 ( 324)"8"G\24B % # ( W)8 % W( !HM? ,f1[ ) % 90?"/.0 % ){'2 % # '# ( % :0( +# ( # D!z)+)5 ( " % % ?2 _)` M E '?# =S# S % % /.Ro % # ( :*# -:"( % p*RM?C) % # L2S1:")3"C( # 5F# 0 % ! % "N# % ' %3% # % :":"J
Scheduling node Processing node !"# $ %&$ ')(*(#,+-% . /)(1023$,45++657 2.1 Multi-tiered Model M?<C( # 5F# 0@)# % 3# +)0@:"')# % ! % "s9 % :5 0<K# P# "# P2S)# ( # % # 6 >)# C :"')*5 # ( % ):" % 2JR :*# % )?# % :"3(IK# ( ( :"# 6! ( # '# *# % <R >)# C % # 8 "-2q % ! % " M?R:"( # "35 % /.O')"(8( K9 % % )9 ':"# "0 % =!)+)# ')"()9 % :006O:"C+# % R)/* % 2J8"35F5 8" W:"( # "35 % /.':*# ":) % K# # W<P')"(I M? % ! % "i:" % # % % 2SP)5D3! 3"2|) % K--# )5 (S) % 8324 % :*0)( # L6( 029) % ) T):" %3% # ). %y% 0K1# ;: y# )b|M? % :*0)( q) % :"65 C# :0K# <-8"35F578"O2I % # JK# :*'8'# % )5D)0K ":")r)*+# ( # D!>" % # +# ( # D!C3"K+( :"# )OM?K)5 :" %3% # C) % 8*# P % 3# :( !<:"( # "35 % /.O2I % # PK# "# - % 8":# /. % :*0)( 0K# :*V)' % ) %"h 3 % -# % ! % " oF!)'# D! % ":")# D!p-G)'# % % # '( ' + % ) % # J M?R8"# ( % # 8 "2R)# % 3# +)0 % ! % "# 6K# )")JR# % ( # '# 0z# &)# :"# ( B)WG+# ( # D!\21 % ! % "m^!)'# :0( ( !j\ % :*0)( # ])K# 2 % :*0)( # B) % ? ):" %3% # @) % $ ( % ) % # :"P % :*0)( # B) % L)# % 3# +)0TP8"# (924 +83( 5 ":*A % # % 0):"0 % # ')/# K?8324 :"?2 % ! % 5 "TM?)# % 3# +)0 )-2y % :*0)( # C) % '0 % 9# 2yCoI? KpT?12I# (I)R % 92q % ! % " :"( ( 9"! % :"'8" % 924?K( %3% 2O+)*:*J uT!10/# RC( # ( % /. % # |'0 % y?)# % 3# +)0 % ! % 5 " # % E Pf\:*# ":) % 8 % 0=R?)"/# % /.35 % # J)K# :*( !<"C( 0<6 E Pf % ! % "i % # 6=# 8"( # ):" %3% La 0cF $ ( @6W# :0 % <# W:0+# ( # D!|# % ) % # :0 % C % # % # :0# @2T6( # % :0 +86)# % 3# +)0/.- % ! % "24C# :0 % % % h % * % A<# L)*''# '')# % 3# +)0P:"')*# JT@ 0/.C3"')0 % 3:)1=)*'' %"h # 32I:"' % C:*G % 8 %3% # +( '# G# % ".*y<rG<+( :"'+8D?"" >)) %3% # /." %3% % # '( # :"# D! <: >'( SP)*65 'K# % 0}# 0<( ! 6>"'D?6:"( %3% % C24( ( ! % 8":"# 2 ! )# % 3# +)0<:"')*# J % >)( # 0P( R# _ ":0d 2.2 Recursively Splitting up a Problem $ !P)+( "i# % LL)-)# % 3# +)0 % ! % "NC % +8-*( ( "( # % 0+!'- % 0TM? % ! % "N!)'# :0( ( ! +)0A % )+( ";# C# % ):":"*)# CC= % 35D)r0 ( 5 communication viewJobs removeJob addJob popUpMessage aboutBox configureJob connectToServer changeServer shutDownServer GUIEngine Logger remoteGUI >=3@?;AB()+$ 4C $A"6",43' D027 # J0:*V# # L % ! % "1M? % ! % "3"') % O9'0'):" %3% # # 'K2J0:*'# T+8K0}(- % 35D)r06)# (/( FE # /."<)+( ".R >)# C % 8"0)':*# "/+( R# % ( # '# 06+!=9C+8S2q'# :K# % ')+( " :0z+8L+)A."^# )K]C+862 :"( # " % # P % ! % " 2.3 User-defined Fair Round Robin Scheduling ` :* % /.| % # % 0K1# )"8")" % :*0)( |1)":"# ) % !)'# :0( ( !G0gC % ):" % 2? % ! % "s6+8')# 5 /# )0-1'?U+ % # 1# % }"yM? % :*0)( q"'( 0! % % 3*"# % + % 0L6 % 35D)r0 2I# R<+# % :*0)( 5 # ='":*# % Na G 0cFOM?R % % % <# "O?"# # =24 0:*<)+( " % 8":"# r % R"( # /.)83# P2q*( 5 ( "(:"')*# # 'K % ( +8-( ( :00<19)+)5 ( "9M? % :*0)( :"C+# % # % ?"# # 'K# '0 # ?):" %3% # =# 'K2q0:*<)+( "g=" % )K?*( ( "( :"')*# <# '-# % ( ( :00L# <:"3":R)83# % 3. DESIGN M?=)"1)# % # :R3 % 6C( # 5F# 0P)# % 3# +)5 )0:"')*# % ! % "M? % 61=:"( # "6oI):" %3% # )p*q % /.<o % :*0)( # P)p*|VC"'6# 35 2I:"TM?O8*# C2 % /.S1:"( # "S# % >)( # 0=# C)*# ( # Ga 0cFTM? % 9# % 0}# 06=>"CD?=:"( %3% % =:0- )+( "N6LL % ! % "RM?=f*.:"( %3% oI# % :*0)( p % 8":"# r % 0&)+( "# % C+8-+)A."< V'# '0)# C % ( % )0PM? $ ( # :"( %3% oI# P-:"( # "p % 8":"# r % :(q:"')*# J 3.1 Remote Interface M? "'<# 32I:"P# % % *( ( # :0# JOK# :* :"'C# :0 % /.TMK[?Z IH E Z@C( ( 0 % 9)'# # % 3*| 24( ( !:"3(y( (y2S?U+ % % /. % # % ! % "9M?# % # % :*# "/.0^+!^ % # _ ewHP# : % ! % " %"h IJ "'VP E /.:0# @o J E p?:"'C# :0# % ":*( !9,+ % :0L+8 )0"'/.0:")r)0)'"# 9:")3" % *-/# ?0 # A.K# % % /. % :0+8}# 0P % )*)0KJ M? J "' E e E +U":zo % " <: y# )1xpL( :* % # # 5 # ( # % % -# 32I:"1 % % <-( % r( % )K# :*<":"* ( ( % ! % ""/." % 13 % SM? E e E ` # O# % O:""3O2 ( # :0# JM?'# )# /# )(|240) % % "( 2 57:"*# 0
communication timerThread DataStore Scheduler Logger emptyFormatter Server @?;A"()+$ 4C $A"+' ' 7 # B"# 10K@:"( %3% % M?' % % 29 % ! % "H)1"0 ! A0K( 0)-2qR8( !P9?A# % 2q % ! % "# *)= % +'# 9U+ % BC"# C):" %3% 0B % ( % +:*A8 $ !@:"' %=% "C2 Q "' # 32I:"6)5 .0 6( ( % /. % # < % ! % "TM?"'# 32I:" :0W:"":CW)# % :"":12 % /. % K# )6{":# 1)# % 3# +)0 % ! % " 3.2 Server M? % /.<o % :*0)( # )p*| %1% 0K@# : y# )|d|# % "# P2R<"# P)# % 3# +)0 % ! % "S:"3( ( # % +835 )# % /. % o % +8*)# % :*0)( # ]) % p<j:"( # " % oI):" %3% # ]) % p z# % ( "( !\) % :# +80j# a 0cFgM? 0/.L+8""\B24')# r:0# % BL8/# % /. % # j ( ( 0N# =V+8PLC( # 5F# 0@)# % 3# +)0 % ! % " $% /. :0'+8R)0=R)# % 3# +)0 % ! % " /.3!C0 % # ( !6K# ( 9 % ! % " # % # )( # A.K# % ?:0=+8S"'/.02 % ! % 5 ";K# ){":# C % *+# ( # D!<2y % ! % "R:0 % # # CU+ % L+8":"'':"3)0 $ % /.=:"*: % % /.C+8/.6# C % !):*)# % % # % "( 2?K# BC % =2 % ! % " E 2 % /.6# % "'/.0@C2I# ( % % 62K % ! % ";:"'8" % % 249# % ( %3% +!60( ( :0# CR?A'# G# B# % }"C13=2? % ! % " o4 % /. +8/.2I# ( # % /.RK# ( (y0/.16":"*2O( (U+ % # 2I# ( # % /. h % }"p*SM?# % % # ( # ":"=2I# ( )" % ) % % ! % "i:08324i# A0K<8*# ':")# # % 3.3 Scheduler M? % :*0)( O# % :""3*(3?2 % /.96# )"062 T"# O)# % 3# +)0 % ! % " E -TC( # 5F# 0-)# % 3# +)0 % ! % " % :*0)( y9 % :001-( ( 0zR( # '# ( %3% C+8 oI'"'3!V( # '# % % # )p-2R)# {"9U+ % P@1 % ' # '-# *( ( "(qP % ! % " ` :*,+<+U":=o % " : y# )pT# %9% "( 2|:"*# 0 E K) % )"8"=6!# >(-# TC# % :"*# 0=# ') # @ }"y" % )# ':"'( '":0 % ( # W2R0:* ,+&# j % ! % "gM? % G,+&+U": % %3% !z0} % % 24# % 2?Az<):" %3% 0j % ( % BL % 35D)r0 f*.6V):" %3% a 0cFW[O( # " % % /. % +8W % '# % K"P! 0} % R'-?A88( :"( # "|):" %3% % T# y2?A-K# ( O % /.|+)0A % # | 24)3|# K' % +# % yM?O"# :O)T2"/.3!# R % # LP)R2|1,++U":-( ( 0 % 24 >)# C >)# +( !G# B') % # W2?68( !@2? % ! % " ` :* % :*0)( '# % # )"8")"C2-"/.3!W6# ]P)# % 3# +)0 % ! % ".)# '# % # -" % "( /. % -K:"')*# C % ):" % 0/# ( +( E 2J):" %3% # = % ( % 2y=# % "9+! % /. pipeLineStage Queue communication jobTimerThread Node dataManagerLoader DataManager Scheduler Job Compressor @?;A"()+$ 4C $A+$0.A)(## ' 7 P6)0BK# # z % 8":"# r:P8# O<# 6# %6% # G>)# P@ % /.C % " % # 6L<>C0} % # % /. -H :"( # "0 ` :*6,+'( % :"*# % # % 0KC# ' % S# 2 R# O# % :"( % R1>)# # % /.O0} % % >" % # 2 i % /.+8/. 4. IMPLEMENTATION M?<"# % ! % "s9 % ) % # 0W % # V+U": % 'L# ( "/."(I. % K"'# O:0'?1# '( "'"*# 6,.0/-9 % :* % " +8":0 % =2T# % +U":-# "*0:0+# ( # # % L( % '24-# % ( 324657# )"8")":"K60 % K2J# '( "'"*# J $ ( ' % "/.3! 8*# % ! % "i *9:*# ":) % 83 % R,.0/ # 3():*# 2 ) % A=ZO[ % K'+# ( T % M?1:"')*# ( % ):" % 0/# ( +( 24# %K% ! % " h % )5 ( 0!)'"C?+ % 0^z :*# % K# ^/3!)# B8*# % ! % " % % :*& % P# : % 2 \# )0 % w-M H xYYY H X E weR5 # )> n Z^ew E /3!)# 6*9C:*# ":) %R% :* % % 2 E "(I _ ew= n Zy 4.1 Applications M?1C( # 5F# 0)# % 3# +)0 % ! % "N %R% '2I-+8""L % 0 ( ! % +8:"( % # % P":"( #y"' %K% 0:*# 624))5 ( # :00L3 % $ L)/*12S# % D!)82O)# % 3# +)0 % ! % "l# % CP:"( # "' :*# % K# ( (K'*)0]/. # '":"ST:"')*# (80?|2TD?AK# ( ( 0g"/."L# 2T=C+82O:"( # " % " # % :" % *01M? % :"3*# )+( " % K# :*9''" % ""=0}# C:*]:"')*# (K80?09 "!]+8":"':"')*# ( ( ! 240 % # +( 1/.K# ' 4.2 Performance Evaluation @R:03# 0 )?8324 :"K % % ="/( KR:0+# ( 5 # # % 2?6C( # 5F# 0B)# % 3# +)0 % ! % "'@ % =) % 0 -)# ' % /. % ?( L# :0 % 11:0:"# D! 2O')# % 3# +)0 % ! % "CM? % C?6:03# 0G)1# B<( + K# P=)0)# :00'D?A62yXYCZO[ % :"":0'+! ` 0 ` :*WWBb E n 8 <Zy"# E3E3E K# ^x .G Oug2 J $ m xY IE -u29*G)# % A % :" V9 % :"":0VLVb0YOP+ H % ` $ w= : y# ) % 0 % % 8"0)@6:0]+8P:*# "/.0@ % # # %O% ! % "SM?R)+( " 8 % 069 % <( ! % # % 2JK":"( # "'Ro4r/.T'# ( ( # 1:"( "# ) % # =( "8p89r1)( # :00 % 3# % K# # P-"'Ou? % 0PP % 8"0)L*) 0/.*1 -9 ':"":!< % # 'X6):" %3% % # % _ # :"V % /.<:0\)( L# zL*)<21 % % 2
0 20 40 60 80 100 0 10 20 30 40 50 60 70 80 90 100 Number of processors Speedup Linear speedup (theoretical upper bound) Experimental measurements Mean 3')(# 0.A# )( $A / ,4 D26$,0 + 6#,,026$ 4F7 0 20 40 60 80 100 0 1000 2000 3000 4000 5000 6000 7000 Number of processors Processing time (seconds) 1 server 5 servers Optimal performance 3 02)+$+$,4<$ >023#6.,+4#+ $A %;4#( % +' ' (#,+. /)(0236$ 4 ++6>+ ,4 $A #)+)4#02B +$ "# 6)( 024)+$ 4F7 :"( # " % ?'G % # C( ':" % # @V)"' % 3*C KC( # 5F# 06)# % 3# +)0 % ! % "g:0'# :0 % KKC+8 2S:"( # " % # L % ! % "TM?# % 9 % :*# "/.0<+!< % # _ )* h % 2 "9Ww# C+ % +K# \)3( # % 2 D9ja cFM? +K# P2S0:* % /.99 % :" % 3# :0<6( !Vb") OA+ H % V# @)# # Jq0:*G# -)0L2 H % /.1:"( # " 9 % +( .0WK# ]>3*V*V A.' )0B % ( % ( 0&M? % # 8 "2-# % +( .0z*V9 % )83# (K % # 8 "C2O=# 01M?C)+( "8 % 0L C)# % 3# +)0 % ! % "9 % 3B :*# P>):"# % 'K# B6+8:")5 ( % # % "'<o424)'# ( ( # G:"( "# ) % # G( "8p9 rL( ( )( # :00 % 3# % K# # P-"' M?R)+( "g9 % # # # ( ( !''K# Lb % /.9 :"( # " % K# :*j# % 3*)# # (R24<:"( # "35 % /.<')"(Ikw>'? *'K)+( " % # = % /. % )3*0 % b % /.O' K# 1 % /. % )0J"K# 6:"( # " % : y# ) G % 0 % % ( # <( -24 % "/.*(|/( % 2 |=M?# % ( % 0 % 2 C:"3*# C+8?2|:"( # " % D?A :" % # V9 % /.C:0 % % '):" %3% # V# '6V:( ( !@# :0 % $R% -C+8O2 % /. % # :0 % % # % :# # :0(JC+8?:0P+8 # :0 % 0 ` /."( ( !q'C( # 5F# 0 % ! % "0:* % # % :0:"# D!@+)1# =:0@)( 6 !G'6:"( # " % G % # ( % /. % ! % "|M?9)# Ck9 % :0( :"( 0' %3% '# ( # 0 % 8"0)<2 # '# CK# -:"( # "0 5. FUTURE WORK : ))# ')/."'" % = % ! % ";K# ( (q( ( 0k24K!5 '# :V"+( :"# ^2= % ! % "m]# ')/.V*( ( "(1 -9 65 :"# ":!j')# r:0# \21 % :*0)( # % 3*"! M? >K)+( "i6+8-P % ! % "K# ( (y % 1Zy( ( *5 J 2I:# % # zV % 6":3!))# % 3" % 2 % "( ":0z( 5 # % 6. ACKNOWLEDGEMENT _ 831# % :*A0K( 0)0B2 H E # % J % 0:*^[O)5 :"# (J24 _ :"# ":" ` # "# )PMq":*( !24)0<+! w-# (qf-"/."( '"KZS( J 7. REFERENCES a bc1fC $ ) % J,)8[O++J ` 8"( G "+82 % A! fC@3# '0 %3% # /."( !L)# % 3# +)0<:"')# 124 _)` M E ! #"%$&(')%$)'*,+-! .'/')0) ! d)oUbp )1 32 d 3: "+J8xYYb a x0c13 41 H2H +8# : +8A."( ! 0)J a dc13 41 H2H 099 )# % 3# +)0 0 a c 6 6: )# % :*,)8Zy0?0,))W( J $ ,.0/ )# % 3# +)0<:"')# <( # +)*3! E 657%89/:')0)%;<%;= 3>3')0/')%$)'?A@B;0C;= = '&=D;%8EF G/0)<H&:'C8I ! J 7%= <$/;<G;%8IK.'C$)LM%= /!(')GN @E J KD5PO7O7Q)R 0 % xd 2G 32 )x.dMy# 8"#I8My# 9J8,( !LxYYb a 0c _ n # #I n Mq8:"( J8G@J Zy324 :"57{":# /.P( 0957:"'( >)# D! * % A % :*0)( # =24"" % :"')# ) %9S+++ K0C;G&;7$&<G?A@B;0)0C;= = '&=D;%8EF G/0)<H&:'C8T"UG/:')VG b0d 1 x .G Y 32 )x)q0xYY.x a G c _ P 1 $ Z|"AJ n _ J 6: # < -9 ':"# " :*A. % :*0)( # C % # 6"( % # : +# J .9S+++ K0C;G&;7$&<G?A@B;0)0C;= = '&=D;%8EF G/0)<H&:'C8T"UG/:')VG b0d 1 d.x W2 d.x .G q0xYY.x a 0c=M 0 J $ ( ( "JM8,)w-J,)8P: E ! ,))W( Jf-# % 3# +)0P,.0/C( 324iK# )*' +( 1 E Pf:0+# ( # # % E Pw= E "( rq ` $R% % # )8 E = J "# )0)# % X"%$&(') Y$ +-! .'/')0) !Z>[0EF G/0)<H&:'C8]\;^; J 7%= <$/;<G /.( ' x .G Y'2 -"0) !M')0F_D'C$&0/'a`a:')Ga :')0"%$&(')%$)' * % bxx [2 b0db : "+JxYYd a c13 41 H2H 099 % )* :" a Xc13 41 H2H 099 :"