Académique Documents
Professionnel Documents
Culture Documents
Structures
Maurice Herlihy
Victor Luchangco
mph@cs.brown.edu
victor.luchangco@sun.com
Mark Moir
mark.moir@sun.com
scherer@cs.rochester.edu
!" #$%&#
/
' ()*$++, -
.
0
1
0
3
2
5
4
6
7
8
9
2
6
ABSTRACT
1. INTRODUCTION
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.
PODC 2003, July 1316, 2003, Boston, Massachusetts, USA.
Copyright 2003 Sun Microsystems, Inc. All rights reserved.
1-58113-661-7/03/0006 ... 5.00.
#' (
&8
&
2
-'#"
'
#
5F
=
5
5
A'(+=$='G=!!A$+#"
HIJ
8
2
F
K
E
RQOQPQ
SJ ,<(=-'&
D
HOPQ
T
T
E
C
F
K
F
K
KC
1
WX
C
E
7UU
VV
2
V
.
2
C6LYZ[Z\]^_`\abca]ddec^HQJ
4
T
N
3
F
3
4
!"
1
J
*
'
#
#
$
%&
(
$++H
)
6
A'+A
&/
QQJ
1
H
0
6
T
5
2
.
C
E
&
'
#
#
(
+(
(-=(=
+$
4
3
2
0
5
2
C
C
2
C
2
12
.
J
H
0TF
0
E
5
O
E
T
P
S
2
7
C
C
7
2
H
J
C
E
2
C
'
#
#
1 #
$=("=&#'
(=
A!+&#"
$
=("=&
("
! $#K"11
&
--'#"=V
K
K
+('(
7 K
K
K
E
5/
K
K
7
V
6
2
deZ
d]c
VE
deZ
K
Yea^
^
b]c
ed
Yea^
8
b]c^Yeaedab]c
^^^edYea^ cece b]c^Yeaed^ab]c
^ed
K
1
K
`
`
bceZ
e
K
2
F
K
a `bce
C
KK C
K
a
`bce
e_c
dZcZa
^_bc
=&#'+
.
1
bec8
b]c^b]cedab]c
^^edYea^\bec !
^
ed
ab]c^ed\_ca"" _cadeec^^eab]c^ed
becK
&
<
b
ec
#
V K
KL +$"
L'a(`bce
/
K
C
L
$
#
K
b\`Zcec\Yea
^
YZ[Z
2
b]c^ed
2. OVERVIEW AND EXAMPLES
1_^dZcZa
#
^_
ab
bc
$
%+
^1dZc Za^_
Z bd
bc
A'(+=$'G=!A
+8
2
.
L
K
K2
92
K
K
F
5
E
2
5
C
K=A',=#'(
K
E
bec
2
ec_
e
8becT
K
2
K
52
C
F
2
0
C
c7^e^
2
_ced^
e`e^e eed
9
,+"
T
c
^e^
2
/
9
_
^
ed
c
#$%+
E
T
*=A"+
.
2
2.1 Extended Example
]_c`_^aa[Z``]eZ_^
Yea^ ce^
`Z c^e^
]`__aa
d [Z^e Yea^ _d^
^^e^_^
]`_
_^a c_dce
^_d_^\__d^^\ce_^ce^c^eedYea\^
_d^_^
_ _ ^ `
a]dd
Z\[Z
]e
[
`^
`
e
de
]
e`e`^ ^
de]_^\ced]e^
b_^e\ce^
ce
de[
_
^
^
e
de[
c
ce
\
_
aZ^^a ec_e_^
^_
ab
deZ
`^
dZcZa bc
\
^
de
]dcde
]
\\\
E
4
1
4
3
3
F
E
1/
C
e 2
5
F
_
ec
!
!
!
!
! !
K
1
P
c^e
K
^
92
eed
.
_ced^
T
C
C
.
K
7K
_^`_^ _^ cbe\bec!
T
_ced^
E
3
!
4
K
#!
##
$
K
C
5
`
de
eZ
e
K
C
A
K
$+
+
="+
`
!
eZ
e bec /
de
!
.K
ec!
de`eZeK .
K K
b
K
!
F
K
/
!
K
K
4
!
3
K
F
F
/
K
/
7
K
5
2
c^e
E
^
2
9
!1
C
#
$
=("=&
)
1
T
K
'
#
^_
^
^
(
Za
bc
Z
dZc
]
de[ 1
!
!
T
4
3
!
!
/
71
*
A
'
71 = "
2.2 Conflict Reduction
3. IMPLEMENTATION
.K 6
.K 6
6LYZ[Z\]^_`\abca]ddec^HQJ
V
Yea^
KK
$
+$
)
T
K
"Q'(^dZc6Za
^_bc
8
K
!
/
b`Yea^
A, !+&#+$"' (/OceYea^
(+?
!
+&# +$"' ( &%$$+(#
K
K
!
E
K
KE
K
KE
K
K
L
.
/
K
!
!
!
K
/
K
T
Yea^
TbaZ^^Zdbd^K
baZ ^bd
K
T
9
O
^
^_
8
Za
bc
dZc
baZ
`
Yea^
ce
Yea
^
^bd Kb
baZ
^bd
^Zd^
T
K
2
!
6
Yea^
K^dZc
Za^_bc
!
K
b`Yea
^
baZ
bd
L
^T
2
a
bce
KL ^Zd^T
L
3.1 Opening a Transactional Object
6
.K 6
6
# #
$ ""
K
E
KL^Zd ^T
2
9
Lb`Yea^T b`Yea^
9
S
K
L
^Zd^
Yea^ T
baZ^bd
b `
L ^Z^]
T
!
L ^Z^]
T
!
! !
5
%$
11
H
Q
J
V
^bd
K
&
7
baZ
&
7
8
2
T
5
$
K
2
baZ
E
K
^2
bd
,
A
!A
#
$+=
(
<
=
+
)
bec! de`
eZ
e
!
E K
de
`
eZe
K
b
ec
1
C
F
8
L
Q 9
T
!
! dZcZa^_bc
U
E
K
F
Q
8
b
ec
F
C
8
b
ec K
1
K
/
K
F
K
C
K
K
U
K
K
1
3.3 Costs
K
8
K
K
K
U
.
.(
#
2
2
.
5F
E
'
(-=(=
+$
#
#
&
(
+(
E
5
F
E
F0
F
F
T
T
F8
1
E
F
7
F
(#
F
T
bc
^ec^_bc
ZcZed
T
$ C
(
#'
&=
#' (
T
*++,!=&
4. CONTENTION MANAGEMENT
K
_^
^^
^
/
b
ec d e e
K C
9
.
b]`
^
bd
K
C
`bd^
b]
K
2
E
L
5
2
F
bc^ec^_bc
ZcZ
ed
2
T
2
2
_
1
S
de
[e
5
b`_^
e
T
T
b]`
bd^
K
*=A"F
b]
`bd^
K
+
b]`
bd ^
2
#
$
%+
5
5
.
F
C
WX
2
9
QSE
QRSR D1$7
E
2
RQ
S
T
2
E
2
2
2
9
2
2
2
Q
4.1 Examples
5. RESULTS
2
S2
.
2
2
T
9
C
3
6
4
O
T
/
2
F
9
2
5
2
C
9
Q
9
de_[e
E
T
1
E b`_^
e
5
R
1
+
-=(=
=',
9
1
9
de_[e
5
F
5
1
K
E
2
F
2
2
9
2
0 .
T
C
C
J
1
F
H
9
T
operations/millisecond
50
45
40
35
30
25
20
15
10
5
0
Simple Locking
IntSetSimple/Aggressive
IntSetSimple/Polite
IntSetRelease/Aggressive
IntSetRelease/Polite
RBTree/Aggressive
RBTree/Polite
100
200
300
400
500
operations/millisecond
100
Simple Locking
IntSetSimple/Aggressive
IntSetSimple/Polite
IntSetRelease/Aggressive
IntSetRelease/Polite
RBTree/Aggressive
RBTree/Polite
80
60
40
20
0
10
20
30
40
50
60
70
" "
2
2
5
e
b `_^
T
T
T
9
K
K
2
9
F
C
.
K
!
7
3
5K
4
4
3
T
C
6. CONCLUDING REMARKS
92
C
V
.
/
1
4
5
T
3
D
2
5
F
2
E
1
C
4 K
3
T
5
E
0
2
/
5
#
!
$6
9
\]^_`
C 6
YZ[Z
Q\Sabca]ddec
^
2
&
V
V
C
2
6
HQJ =>
7. REFERENCES
HPJ &
E
$&++
,'(
"*#+ '*#
1
((%=
A #%$+"B><
"'%- (=$=A +A A $'#-"=(,
'
Q
RQIIO
#
$&
+&
I
HSJ $
&
#=7
*
'
I
#
(
$-=
&
=
8
$Q
QQ
6
6
HJ (#$7
7
$
$'#-"&
QIIR
6A
HJ .,%&
#
'( #
E
$&++
8,'(C " *#+$,
F2
*
A
!
,
><"(#+$(=
;'
'
'
#
#
#
(=
(
+$+(&+
(
"
$
%
+
%#'(
RRO
#
8
HMJ 1
+-"
V
><
"'%-'(E
*
,'
A
'
#
#
#
#
$-&++
%#+$( "$&'#++&#%$+
(
+$(=
(=
MIORRQIIO
V
6
HIJ
K,
B
8@$=("=&
1#'("
'
(Q O$8P $=-(
=( %= +"=( ><"#+-"
O
I
PQ6IIR$
C
K
HQRJ 1
E
((%=
(
"* # +
A
,'
B
E($$
#
&++
><
"'%-
'
'
(
&
A+" *;'"#$'!%#+, -
%#'(
S
R
QIIP
6Q
HQQJ QQ
'%-E($=$=&++,'A +(A "$&*#'#+&%$+"=(
+ # ,
B
><((%=
A
JHQ
A
$'#-"
RRO
*
A
A
A
,
%$(=
=$=
+
=(
QIIM
"#$'!
%#+,
-
%#'(
SQQ8Q
OHQJ ;'
(#+$(=#' (=A
*
,'
E
#
#
$
&++
(
"
+
II$"
(;'"#$'!%#+,A $'#-" ORSOQI
Q
C
HQPJ
,
;'
'!
#
#
"
$
%
+
%#'(
E
R
I
I
II
8C
QQQ
D
HQSJV
6
Q8
)>
B;E)>$&++@"<,'( "
*"#'%++-A+(+(#
B>
@
$'(&'
A+" *,=#=!="+"<"#+-"
Q
QII