Exclusion for Composite Objects - ACM Digital Library

0 downloads 0 Views 269KB Size Report
programs meet their exclusion requirements, can eliminate redundant exclusion ... and Java, synchronisation between threads is based directly upon the objects ...
Exclusion for Composite Objects James Noble

David Holmes

John Potter

Computer Science Victoria University of Wellington New Zealand

DSTC Pty Ltd Brisbane

Computer Science and Engineering University of New South Wales Sydney

[email protected]

[email protected]

[email protected]

#& 6%' %') Q+>?) #  =) #=) 9K6%'8&+“ -/  =) K"%) +

7ˆ'#3 5%0#‰ 7#& $)  — #&46 73I1NR& Z#& *3 & j Na&%0#& 8˜f)*#+Q X   c™Sš# *C B‰ #& $) I 8  %'8&  ›/#& h#&")   7#+  g &%'8  7›A#& g  1i  c)*#! >?2>? ;Na %   2 > ›/#& g#& C "  1i  ')*#+1Na&5 %' 7: ?#7>? D NR  : '  ) ; &5LKI&N ) Z &%'8  Ÿ8 #$#0 9 #& *3 > #+#& ,!Šm) 9c# #2  %18=N@ 5¡  #  #& $) P?!K" $)  # & D+>?) # IK'7"  2    K,

1. -/& "INTRODUCTION  ;  & 7X  $#&%'%' '8?#& k 3) Z4l#+

5Jm?; 4#& %0#+76K0) #  , Šm) ‰#  3N2) W)"7# "D)*#7>?X‹8WK" $)  7O ">? 2 Na  ,‹Ed#+45Kh)"7# " 4   '4#&  *# :  9)c#&/n"%0#&445$#&4B8: $  *#+72) #  AKZ  ;8 l#4* " 8&/ & " 9KQ & &4?  : 4B?A%0#& ) Œ# *;)*#+ # 41i  ,QIZ  45K:8 34l# &*#&&; $)X#&QI  4l#+UŽ # *0t?#7>&#":"K" $)  # 08U?D&%' %' 9) #& %3[\?]^ _ `[;&) 9=%') "/Na&%J" " 2%1 45 $# & 45K, Šm) 6"  4%‘) 1*#8c#& cˆ0) 7?9) 7#&(›/#X%'#& 

GUI Server

Authentication

Bitmap Cache

RAM Cache

Input Queue

Locking Strategy

Disk Cache

Output Queue

Locking Strategy

    "! #%$%&(') *,+ *

2Na 44    K — #P) ;) 9˜9, Šm) D #&8D6& #& 7Y#&INa 447 ) 7#& :?72Na&% &=&"L : #& *') +< 4"$#KV  %c 8   #& ;8@ 7PJ f) @ & " 9K &  4?%' $)  #& %'/ +> 7cK1 &&$#&%'%' ;4l# &*#&&,/n" 9& (7!)     !NR "2&#& =LK"8, S )K" 6  — &  XŽ ˜P 7# 3 +> Q7# *# 4Z4>?4N

   K:/?) #  0# *‹#+>    W  9NR  ,P” &fJ #&%' 4 : #'•ef–Pn"> f  D) # )  xd%0#h-m#& $) '3%0#& #&&'J" 4  ‰Na&c5Z 8 &%'8   # *X 7#9NR 445KW  "r* "Q) 2i  Ÿ 4 9B 6$#&:H 7#& "+>""Q#&=%1 $)0 Na 4     K0#P#1%0#+J %0#445K'     c & :d  Z?9) 7#&(,‰ef Na&  *#+45K:H)K "j 9) %'Z#V%'&0"5G'  45ZX & ‰)*#& #g &4w) 7#& 7F>?97:Q&D#g>?V?KM  %'8  V0"& MKM507

#  , –U g) c*#87:A?‰7 FB? ) C" ¢&N0) C#&4 "$#F%' 4     )c;8%'51yL #& $BNaw)  >?4&8Q 7#4  4#& =#+d)  4> 4=&N#& $#&  CLK"  #&445KC 7‰?0#& h #& M  r*  I C) 50" & ,6Sf45) & &)j5!Z%' 4&:Œ) c#&4 "$#"Ÿ Z%' 4@&NmJ" 4  & ‰Z   7#445KW%2 45)"7# "7(:#&447 QA*# !%'+>?.) P"K" *#%'  Nl % )    4%D,

 

W

 W W W

— ) fSf 8 * 5J ˜9,HŠm) 5*{6:0[9|N.# 6J"" 6#%' 45K ) Pd&N %'9) 2 #&%'=K"%28&4A 2 c) =J" & :"# * ) Az"{&}R‚$|/N8# 1J"" c#+/) dHN*J" 4 & 2*#5H    7jKk) 'J" 4 & g 8$#+&,jn"&%''J" & :@ $) #&O  YUP&:() #+> 2 V*#5:Œ  ;"I) #+> 1& c;%'&1 *#&%'fœ FjIH.GK! 0) m 7# ,dŠm)   &L  I&8$#P=l"%'8& 7: #& l#+>? : #& *' &%'%2"$#>? :# *c) J" 4 & 6&8$#= #& l#+>? :  &%'%2 $#+>? :"#& D  "P+>?    (, x/)g  *#+KW&8$#2) #V#& ‰" UK yž&3? ˆPN dHJ"    1& d)"7#  )  V#& &) 9/) # '%0#Kc m8& V9J    ?  P ') f#%' &"L 7,@Šm) d9J 4  ;4# — #& Q) @%0#5J ˜ .K"%'%' œ 5N 0J" 4* Q ) R Q%2 =J" 4*"S  8,

8 4 K:??f#& *c9J 4   >?9K6) %'#  ,/n $)I#24 $B6 #& D8!"r* 76#ˆ xz4{9| — f\c.f;d vwvwv f ~ ˜  v — f=clW_f=c$˜IW — f;d)W_f;d˜ vwvGv — f ~ WSf ~ ˜

#& V" '> #",6e  ) &8$#m) J" & — RU ˜ W f%'7# A) #&%'f#& ) ;J" 4  I%0#5J0 3”.  !Ž:8#PNa 447%po^A)q@ Zr !  6sAtD

2.1 -j=%'Exclusion  4"%') 1J"Pairs

4 & c  ;9ANd[\?]^ _|$}‡„652z"{&}a‚9| — 

-

 

xz4{9| — f c f d$vGvwv fg~ ˜  v f c f dvGvv f]~ 2.3.1 S7# wl#+76Na&% NRf7#&"w #4  — *#&%'2# *‰*#5$˜Z&^N T6#6#X  1&NP)  >&#&4 P&N  ,-‰Q? DJ" 4 & 3  $#&  7 K6#1 #  4l#+4l# &*#&& :8# *6 %'& $# 1)*#+#& 6J" 4  & 3J"  I%'P#28 r 7#& , Ef&=)*#+m#45)    )cr %' @">?/#; &&$#%DŸ A#NaLK : 5! 7# j#& >?945Kj#+¡  !#V &&$#&%DŸ ;4>? ˆ!#0 &ZJ " ! 7# ; 7#& /"7# "4 $B?KW4 9Bj C#3" &$#%

i 5Z #$#6 "QD8'#44 7#+7jD 8&!57:.#& *

16

  —U

3.1 -j 7# IExtending %'"48K"%'the m&NŒAlgebra %2 4 4f with  9Objects K'9J" *  Z) 

# 4 "$#; 7#4" %') 0 #&44=J 4 545K,H–L 2%0#& KZ 7#&@) f"Q A  d#& KZ7#&4  5G'  45 :*"+>""7V   $#&4 NR%' &N 7#44 7i 5m#;%'f &%' 4J2%' 4‡›? 97' ')   ;N@%' 4 UKV V) P*#87, Sf45)   &)1) @H >? :5@A 4 =" &$#%'%' UK"4  $)‹#&0xm#44& OŠAK"8Do Žqw:-/& r 7hŠAK"83o qw:P# *h”.4J  4kSf4#&  @  ¢o Ž :1v +qQ?38 F#& >? #7   45K: #& 6c) ;%0#  N@J"*# * 6   3E@5¡ 4 o Ž Ž+q:PV > #+D 4 7h  9V - 1,OSf ‹%' 4%' $#  'NR&447 # $#&  NR1#& *#45K 1#& W%' 44 ":.) +?7,0–U W #  4l#+7:H5! " 8&@# 4 7Z""*#&4@&"L !?7jK3) c 4& D & $#& Z&"L !6) 

 %'8  @œ &Ÿ   %'9) 2 7#44%  Ÿ /#& *y  Ÿ % `D%') (:?#& * Ÿ   j%'9) ‹ #&44R  8Ÿ V#& *1  &Ÿ   f %') (,OŠm) 3  $#  &"L f545NA r = 2J" 4 & 3  $#& & 6)   # *   %'9)  :?!) P%') "d #& 'J" "=?d  #K: ) 7?9Q) 1J"  & WN/) u  fs#& *;  `C%')  & W#& $)WN

3.3 Šm) WJ"Splitting

4  O7iObjects  5%' :8) #7>"& 7:;# *F > #+l# D&N

 %'I  0 7# ‹8I*#5 7‹ j  8   2  9 o u :., žqw,2–U W 9)k 7#:.5; 7# j81 Na 4H6 4;) 2

17

—U



  ‘c  ‘d  “  RU ‘ c

— …„7` — …„7` — …„7` — …„7`

‘ d_W “

„32‚ „32 ‘ „32 ‘ „3‚2 “

vwvv c?vGvwv d vGvwv vwvGv

˜

&%'8  m  :*#; "L P1) QJ" 4  I  $#&   k) c  %'8  ;  ,(-‰c 7# j &%' "1) 2J" 4 

& $#& INa&3) X?$#44HJ" 4  NRf) Q &%'8 5 D

˜

˜ ˜

, )    !P@yC q D

 v  Uu %v ‘ c  %v ‘ d 

 #&4m&"L c X#3  %'8&5& :H""I&"L Ig 97#&W    K:P&#5 # =?  :Œ",DŠm)  9¡  >?!J" 4  X & $# NR d   :*>? D)   &# ) d 5 4N@  $#&  2J" 4  D9J " (, -j; 7#& D%'"4 ) P ) D#4& $#kKg) 7 Q7#&"wl"A#Q4# 9mJ #&%' 4m&N( l"m & " K1 & &4 NRQ) ! & $#& 7Ÿ f *#+$ 73%')  Q 8I: &I: Z# *%  $*,-/ l  c) !  $#& 7Ÿ _ ;%') (:"NR&J #&%' 4&&: ! c7Ÿ Q “ %')  #& '  ! d ŸX  T3%') h%1 '83# 4D‰J"  I ') 

& $# 7Ÿ ‚ %'9) 'J" ":"#& 6# K0) m%') "d) 9K J" 4*";#Z#4'9J 4  7' 4 >?=&"L #=  $#&  2& ;#4& $#Z  9Na&P7# 9)

 %'8  ' h) 6r   &:=#& Cr >?V%') "ˆj^„ 1&}5F#& *O^„ ƒ 1?„_"€‡:")*#+m8& I# *' *' = ›:c„&_|[9: ) #m 4#& m# %'& Z>? f ') !  i  &›A`&‚{ @: )*#+8BfNR!#& >? Nl % ) 2&  "Qi   :(# *D>?Q 25N/5;9J › # *W] ]^[9:)*#+=>?P# 6  m>? 7:>?5r =5P#& ) &5 #+ :* 9)  9B#& I   #=) ; 7#& $) ;5NA  #K:*#& *0)  8&;#& k " ">  7,;Šm) 2%')  ) 7 ) 5=#& 9*#&4*i 5%' d47 —  I) & &)I) ;&"L f) %'4>? )*#7>?jJ #& 45KO) ‰#%'‰J" 4 & 7i 5%' :;  &: #& ‰%') ",kŠm) c44 $#c) 7?@) m  /  %' 49J14 $B@i 571K!) m%0#+J"%0#44K

& " = & :>  c) &  )c) f)K" c" V%0#& $#& 

& " K2?45K:") Q&34>?4Œ9>?   4D8;  4!) 7#& 7 : c)*#+#&44Œ5P%')  =J" "Q D%2"*#4(9J 4  ,AQ7

?4/  $#& 91?   0%') 2 *#%': — ) &f%')  A ) 9 57;>l#  :  H#4"r* 7;4 #&445K1K 2&}h˜(#A *#%'7 Kk#    3#V %' ,0Šm) Z!%'4l#+!I   j&  jt?#7> # &Qn"%0#44$#4B : &f r J" c*#! 4#&%'9)  m?) 7#  :/  0#+c) 6  0N %'> 2#&44Œ    KV 6) Q &%'8 5 (, 4. –U W) DISCUSSION ;  j?3  : ) 5$#  := 7#&" 4 $B8:#& *h  %' # 45LKh8 5r 7# 0œ #& ‹ %'I&N! " 9J 89%' m? :A52%'9)  !%0#KW86 7#44 Nl % 5f7

?d  9A> K %' 4K6œ ?ZK3 4#  6#& W#& 9J y W#1) V$#2&Nfc r 5 ,jSf C# >?V  7Ÿ  9J 4  h  $#& 0#& 45K‰W8)g) 0) 7#& c & $#& 7 ? '  — )*#+'#+ 47#&Z& 1)"7# X&#"Ÿ A| 58]$‚„65 } +[`;B?9K" " *#4H  91# *3 &%'8 5 :Œ#& X #& 45UKk#& *3) 17#& &NP ) 5$#& V#0 #$#V &  ZNl % ) V# *#4/%'" 44  ,‹£"c# "?#& $)CX 6NR#7>? "c#X  %'8&  *#7 #&  #& $):?l"*#4 &%'8  @%0#KZ8= 72&#' 4#&;%' 4%' f#V> KD #& 9J 4  3 & $#& 7: ? m7i 5  ;#f&4&*#4*#& #&45K",AŠm) =#4& $#;# *!5A%'"4H&N8 ?5NaK6)*#) 9K3#!  7,fŠm)   4A#4D#&44+   D&N2    ‹ & 

L ;K" 9)" #+& X 3%'f&Nd  %' # 45LK64# )   — #0 7M -mEA5¡ 41o Ž&žqa˜c$#) 9V) #& ‹J" 4  (, Šm) KM# & I) #'  %'*#+ 4UKC4# )  0%0#&B 6K" $) & #&

 $# 27#&c3 *"$#& (:@8 l#44Kg? 4>?Q ) 5$#&  : 8 7#& Z#& D%'"LK08 r 7#& %' 4P &4!)"7# "769J    (: ? ˆX& VJ" 4 & M4#  #V%'4l#+45Kh    ) 7‰ #4# 46Na&V-=n P›A#+'#3%'& ) %1 464> 4f& V#4& $#j#&4‰%' 4c9r* %' c ‹%' &N  Z ‰) 0%0#  '%'"4‡,k-=n .:H#Z? :@k5c%0#B?Z 03$#&4B‰&Nf45NaJ" 4 & :A)*#+c: J" 4 & D &5 *9J >?&,

H#)WEHJ " co5v 7&qd#+2>&## Q 3& 4#!9J "  & V&N1#‰K"%š#V   ) 4K‹)  #&%'14>?4@&Nm#& $#&  !#&;& !#4& $#, (B?1) 2>&#    ! 7#&4  4‡:H) 7?97:Œ #)j9J " Q$#&B?'#‹yL  

 7"X>"  ; 7#& 4 $BQ5N"#& !  9 = 4#& 76KV#& 6 $#& ;&NH#1 "LK"8 ,H–U 6  $#&7:  "#&45   $#1%'"4/& 45K') f   — $#4$˜/J" 4  6  $#&  8U&##& 4A?D7" * #& 6J" 4  O &  $# ,AEHJ" Q "%'#+ A#+=  $#&445Kc #&72& 2   5NlK  c V 5 7#4Œ &  —  $)D#Pt?#7> #Z4 9B:ovp": : ": u7qa˜!# *X)  k%'+>" V) cK" $)  # ‰+>?9) 7#& QNa&% ) 2 Q  ,1S4)    )3) ! $) li Q#+ci 529Na Na >? : ) KV& 45KV  #& #!  $#& =)*#P7i   4 )"7# "  ,.–L Z  $#&7:&) =#4 "$# 7#& 18m Z" #&?#+

 $# 6)*#D#&447< %2 455w) 7#&  ‰)"   )F &%'8 5 &"L  —  9)X#f) Z7#& w K'o5v7Ž+q " Œ) m H Z%'&m"$#&4 ) #& D #& ;89%'= =) &, Š@K"  7#&445K:A#&Z gŠ.S£ o Ž 8+qm&ZQ™fSf•;£;_£ E o 8+qw:@K" $)  # & j; "7XKX8&47#& ‰$#+c   7# — 1&_ {‚`&|˜#&4 %0#& 

25

Š3 %'%0# :ŒJ" 4  jJ"  2#+V#&!%' 40#& —  " % /J"">?/)*# 8˜() /J" 4 & c &  9.&N8%'&H $#  '  7#4. &&$#%'%' c4#&  *# ,P–U D & $#7:*8 #& !) 9KVNa&

 ! ‰9J 4  j$#+) ;) #& j) 2NR 44A?#%2"!&N=$#+*#& K" 9)" #+& : J" 4  D9J " f#+;%' 4 — #& 64 & 9$#&4l˜)*#& k) cK" 9)" #+& ‰ &  9;&N= & "  &"L & 7! &&$#%'%' m7#+ 9)!K"%':+ $)!#&.Š.S£ UK"42 *#+$ :&;& 4#!9J " W*#&W   4! $)W#&

H &4.&  4#LK"8,d–UP) f%' 4 5LK0) #f#&447.z [9‚{&€‡}5*1 |$€U[ :1|:*>?&4 %'2v7p1&N*.[]€‡_‚[@?;„&€U[9|;}5AA„ :z*_€U[9‚ 8]}[ 5*]9[9: *#  ,*vž?u,n  &Bd94l# : x/4 :v ,7 , o5v,87qZSZ, SZ,*-/)  (: eZ,8n8, ™7 "K:"t , A4>K#B : # *Dt , Q&4K, –-=- Yœ #c- T"#&4 PNR)  )I89NR&%0#  *#$#444Œ &%'    ,"–L 4 7 @8/" Cm‚„7]$[[`}5*1&|:Hv p, o5v7p+qZt , U1,8-/)  ‡: W,*• "$#":*W,8n$#&  :D1,*-f,8n7 ) #7: #& *In ,*I B5¡H,*E@ 7#&8!# *#4K"PNR&t?#7>&#", –L E" 5*/ =‚„7]9[[`&}5 1&|:8*# !v# v ",*S-=W: v , o5v 7q!2,8-/4#+B? : t , .7:*# *6t 9, Ef  4 ,*£f

5LK: nK  K:8v , o upq!2, &4%': t"9, E& 4 : #& It , .&7, Sf8 9N K" $) & # (,*–U 8)* C{ ]} / ] &: *#&&fu, v 7 : v ,  o u +q1•1,D$; 7#&4: t", #&%'   : SZ, I *") B&#7: -f,8D#&7 #": -f,!Z, 8:8t , LW, (  7:8# *Dt , –U,-.?

Abbreviation

@BA-C?DFE2AG H c H dJIKIKI H ~ @BA-C?D3LM(@2N GBAOE2AGPH c H dJIKIKI H ~ 6 Qic=Q%dRIIKI2Q ”

H c+* H d,*3IKII* H ~

A.2 TcH.7i Equivalence >&#&4 .^Tdd5¡cand ) KQ)*Algebra #7>?d) /#%'Laws  58{ :0[9|/#& *;z"{&}R‚$|,

 c(S  d N TU=. c VW8,-. d JC?XYDZ !#"K c :V3!4". d  x/) wy U 3# *O y W@6 8$#+&Z#'# #>?0# *W  %'%2"$# >? :"