Last update: Thu Apr 12 03:37:15 MDT 2012
Top |
Symbols |
Numbers |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Bershad:1992:FME,
author = "Brian N. Bershad and David D. Redell and John R.
Ellis",
title = "Fast mutual exclusion for uniprocessors",
journal = j-SIGPLAN,
volume = "27",
number = "9",
pages = "223--233",
month = sep,
year = "1992",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:16:26 MST 2003",
bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/toc/",
URL = "http://www.acm.org:80/pubs/citations/proceedings/asplos/143365/p223-bershad/",
abstract = "In this paper we describe restartable atomic
sequences, an {\em optimistic\/} mechanism for
implementing simple atomic operations (such as {\em
Test-And-Set\/}) on a uniprocessor. A thread that is
suspended within a restartable atomic sequence is
resumed by the operating system at the beginning of the
sequence, rather than at the point of suspension. This
guarantees that the thread eventually executes the
sequence {\em atomically\/}. A restartable atomic
sequence has significantly less overhead than other
software-based synchronization mechanisms, such as
kernel emulation or software reservation. Consequently,
it is an attractive alternative for use on
uniprocessors that do no support atomic operations.
Even on processors that do support atomic operations in
hardware, restartable atomic sequences can have lower
overhead. We describe different implementations of
restartable atomic sequences for the Mach 3.0 and Taos
operating systems. These systems' thread management
packages rely on atomic operations to implement
higher-level mutual exclusion facilities. We show that
improving the performance of low-level atomic
operations, and therefore mutual exclusion mechanisms,
improves application performance.",
acknowledgement = ack-nhfb,
keywords = "design; languages; measurement; performance",
subject = "{\bf D.4.1} Software, OPERATING SYSTEMS, Process
Management, Mutual exclusion.",
}
Related entries
- alternative,
25(11)80,
27(4)17,
27(7)106,
27(7)283,
27(7)341,
28(6)278,
28(7)83,
28(7)92,
28(7)239,
29(1)46,
29(6)302,
29(8)35,
29(8)94,
29(8)129,
29(11)2,
29(11)76-1,
29(11)308,
30(8)68,
31(2)35,
33(7)19
- atomic,
28(3)359,
28(12)32,
33(6)48,
34(9)48
- attractive,
29(11)12,
29(11)196,
29(11)308,
33(7)1,
33(7)67
- based, software-,
29(11)132-1,
30(11)125
- beginning,
27(7)300,
28(3)209
- Bershad, Brian N.,
26(4)108,
26(7)114,
27(9)124,
29(11)158,
31(5)149,
31(9)150,
34(3)118
- Consequently,
29(8)1,
29(11)110,
30(8)207
- D.4.1,
27(9)38,
27(9)51,
27(9)162,
27(9)238,
27(9)262,
29(11)12,
29(11)25,
29(11)183,
30(11)7,
30(11)20-1,
30(11)50,
30(11)79,
31(5)79,
32(5)71,
33(11)24,
33(11)46,
33(11)58,
33(11)127,
33(11)262,
33(11)272,
34(3)166
- different,
25(4)59,
25(6)1,
25(6)296,
25(12)85,
27(7)1,
27(7)82,
27(7)152,
27(7)162,
27(7)188-1,
27(7)212,
27(7)311,
27(12)20,
28(3)97,
28(3)177,
28(3)365,
28(3)367,
28(6)13,
28(6)90,
28(6)197,
28(6)278,
28(7)13,
28(7)179,
28(7)198,
29(6)36,
29(6)97,
29(6)266,
29(8)1,
29(8)94,
29(8)101,
29(8)119,
29(11)25,
29(11)61,
29(11)76-1,
30(3)23,
30(3)111,
30(8)112,
30(8)199,
33(7)11,
33(7)67
- even,
25(6)78,
25(6)112,
27(7)249,
27(9)262,
28(3)231,
28(3)359,
28(3)361,
28(6)187,
28(6)197,
28(7)44,
28(7)179,
29(6)24,
29(6)49,
29(6)135,
29(6)290,
29(8)74,
29(11)2,
29(11)61,
29(11)76-1,
29(11)242,
29(11)252,
29(11)286,
30(3)62,
30(4)13,
30(6)32,
30(6)151,
30(6)218,
30(8)58,
30(8)123,
30(8)199,
30(11)50,
33(7)59
- eventually,
28(3)231
- exclusion,
30(8)68,
30(8)199
- execute,
25(6)174,
26(4)132,
26(4)290,
27(7)44,
30(6)218,
30(6)246,
30(8)217,
30(11)20-1
- facility,
25(6)78,
26(8)101,
27(7)128,
27(10)235,
28(3)299,
28(3)359,
28(3)363,
28(6)1,
28(6)156,
29(2)39-1,
29(6)13,
29(9)91,
29(11)219,
30(2)12,
30(11)117
- fast,
24(3)34,
25(6)9,
25(6)78,
26(8)145,
27(4)68,
27(9)10,
28(6)177,
28(7)149,
29(6)107,
29(11)252,
29(11)319,
30(3)1,
30(3)35,
30(3)111,
30(6)130,
30(8)102,
30(8)189,
30(11)41,
30(11)125,
31(5)108,
31(5)149,
31(5)160,
31(10)324,
32(5)109,
33(5)280,
33(11)283,
34(5)169,
34(8)119,
34(9)28
- guarantee,
28(6)156
- higher-level,
29(11)51,
29(11)208
- implement,
25(1)59,
25(6)16,
27(7)55,
27(7)200,
28(3)231,
28(3)299,
28(6)227,
28(7)198,
29(8)94,
29(11)208,
29(11)274,
29(11)319,
30(3)119,
30(11)79,
31(10)359,
34(3)37
- implementing,
6(4)77,
25(3)197,
25(4)20,
26(2)64,
26(6)338,
27(7)55,
28(1)56,
28(6)227,
28(7)54-1,
28(7)169,
28(7)208,
28(7)218,
29(9)22,
29(9)22-1,
29(10)259,
29(11)25,
29(11)51,
29(11)242,
29(12)87,
30(5)29,
31(1)36,
31(10)150,
32(5)320,
32(5)320-1,
32(8)239,
32(8)239,
33(11)252,
34(1)313,
34(1)348,
34(10)207,
34(10)314,
34(10)314-1
- improve,
25(6)53,
25(6)337,
26(6)145,
26(6)177,
26(6)177-1,
27(7)106,
27(7)116,
27(7)162,
27(7)188-1,
27(7)249,
28(3)201,
28(6)100,
28(6)187,
28(6)268,
28(6)300,
29(6)36,
29(6)49,
29(6)97,
29(6)159,
29(6)206,
29(6)257,
29(6)257-1,
29(11)171,
29(11)208,
29(11)219,
29(11)232,
29(11)242,
29(11)252,
30(6)13,
30(6)56,
30(6)93,
30(6)116,
30(6)151,
30(6)174,
30(6)186,
30(6)196,
30(6)205,
30(6)279,
30(8)29,
30(8)80-1,
30(8)166,
30(8)189,
30(8)199,
33(5)97,
33(7)51,
34(5)215
- improving,
25(6)53,
26(7)133,
27(7)249,
27(9)76,
28(6)177,
28(7)83,
28(7)129,
29(6)49,
29(6)97,
29(6)257,
29(6)257-1,
29(11)158,
29(11)232,
29(11)242,
29(11)252,
30(6)93,
30(6)151,
30(6)174,
31(9)268,
31(9)279,
32(7)252,
33(5)72,
33(5)130,
34(5)229
- kernel,
25(3)99,
25(10)269,
26(11)247,
27(7)188-1,
28(6)1,
29(11)132-1,
29(11)145,
29(11)171,
29(11)252,
30(8)58,
30(11)134,
31(6)134
- less,
25(5)60,
27(7)152,
27(11)15,
28(7)83,
29(6)13,
29(11)171,
29(11)232,
29(11)308,
30(3)111,
30(6)246,
30(8)144,
33(7)51
- level, higher-,
29(11)51,
29(11)208
- level, low-,
26(6)145,
28(7)112,
29(11)76-1,
30(6)1,
30(8)48,
30(11)41,
30(11)134
- low-level,
26(6)145,
28(7)112,
29(11)76-1,
30(6)1,
30(8)48,
30(10)385,
30(11)41,
30(11)134
- lower,
28(6)126,
28(6)258,
28(8)90,
29(11)86,
29(11)158,
29(11)274,
30(8)19,
30(8)102
- Mach,
27(7)44,
29(10)129
- mutual,
30(8)68,
30(8)199
- optimistic,
26(7)155,
28(3)97,
28(6)278,
30(6)151,
30(8)217,
32(7)112,
32(7)112
- overhead,
25(6)16,
25(6)66,
25(6)174,
25(6)272,
25(6)322,
27(7)106,
27(7)116,
27(7)188-1,
27(7)200,
27(7)273,
28(6)1,
28(6)187,
28(6)207-1,
28(7)64,
28(7)83,
28(7)149,
28(7)229,
29(6)36,
29(6)290,
29(6)349,
29(6)349-1,
29(9)135,
29(10)341,
29(11)38,
29(11)51,
29(11)171,
29(11)286,
30(6)93,
30(6)103,
30(6)270,
30(6)315,
30(8)144,
30(8)189,
30(8)217,
30(11)134,
31(9)174,
31(9)198,
34(7)10
- package,
25(10)278,
28(3)347,
28(7)198,
28(8)90,
29(3)33,
29(6)13,
30(8)217,
30(11)146-1,
33(7)19,
33(7)43,
33(7)51
- point,
25(1)59,
25(6)92,
25(6)112,
25(10)312,
25(12)85,
26(4)28,
26(4)290,
26(6)219,
27(7)32,
27(7)224,
27(7)235,
28(3)69,
28(6)68,
28(6)197,
29(6)1,
29(6)61,
29(6)121,
29(6)349,
29(6)349-1,
29(8)59,
29(10)85,
29(11)12,
29(11)98,
29(11)122,
29(11)208,
31(1)9,
31(1)9-1,
31(3)6,
31(3)6-1,
33(9)103
- rather,
25(6)223,
25(6)234,
25(6)272,
25(6)296,
27(9)285,
28(3)271,
28(3)361,
29(6)135,
29(6)349,
29(6)349-1,
29(8)119,
29(11)86,
29(11)110,
30(3)111,
30(6)13,
30(6)151,
30(6)174,
30(11)20-1,
30(11)88,
33(7)19
- rely,
25(6)311,
25(6)322,
27(7)55,
28(6)26,
28(6)290,
28(6)300,
29(6)1,
30(6)79-1,
30(6)246,
30(8)189,
30(11)88
- reservation,
29(11)171
- sequence,
27(3)71,
27(7)224,
27(7)322,
27(7)341,
27(8)83,
28(6)13,
28(6)26,
28(6)36,
28(7)119,
28(7)149,
28(8)77,
28(8)77-1,
28(12)32,
29(2)33,
29(6)61,
29(9)64,
29(11)274,
29(11)286,
30(8)102,
30(8)134,
30(11)20-1,
30(11)41,
30(11)99,
31(5)249
- significantly,
25(6)66,
25(6)272,
27(7)106,
27(7)188-1,
27(7)200,
28(6)177,
28(6)187,
28(6)197,
29(6)186,
29(11)145,
29(11)252,
30(6)67,
30(6)93,
30(6)174,
30(6)205,
30(8)68,
30(11)1,
31(5)108,
33(7)67
- software-based,
29(11)132-1,
30(11)125
- synchronization,
25(3)21,
25(3)89,
26(4)269,
26(7)106,
27(9)162,
27(9)262,
28(6)100,
28(7)54-1,
28(7)64,
28(7)64-1,
28(7)73,
28(7)129,
28(7)159,
28(7)187,
28(7)187,
28(7)198,
28(7)229,
28(10)109,
29(7)61,
29(11)25,
29(11)38,
29(11)61,
29(12)87,
30(6)196,
30(8)144,
30(8)166,
30(8)199,
30(11)50,
30(11)79,
31(6)157,
31(9)26,
32(5)71,
32(7)112,
32(7)112,
33(5)258,
33(11)58,
34(3)166,
34(10)35,
34(10)207
- therefore,
25(6)174,
25(6)246,
27(7)1,
27(7)55,
28(6)278,
28(7)13,
29(6)206,
29(6)278,
29(11)12,
29(11)145,
30(6)32,
30(6)93,
30(6)151
- thread,
25(10)278,
27(7)44,
27(7)55,
27(12)81,
28(7)73,
28(7)198,
28(7)239,
29(6)24,
29(7)61,
29(11)328,
30(8)217,
31(6)42,
31(9)50,
31(9)50-1,
31(9)60,
32(10)229,
33(11)127
- uniprocessor,
29(11)145,
29(11)308,
29(11)328,
30(11)7