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{Wallach:1995:OAM,
author = "Deborah A. Wallach and Wilson C. Hsieh and Kirk L.
Johnson and M. Frans Kaashoek and William E. Weihl",
title = "Optimistic active messages: a mechanism for scheduling
communication with computation",
journal = j-SIGPLAN,
volume = "30",
number = "8",
pages = "217--226",
month = aug,
year = "1995",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160 (electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:17:08 MST 2003",
bibsource = "http://portal.acm.org/",
abstract = "Low-overhead message passing is critical to the
performance of many applications. Active messages (AMs)
reduce the software overhead for message handling:
messages are run as handlers instead of as threads,
which avoids the overhead of thread management and the
unnecessary data copying of other communication models.
Scheduling the execution of AMs is typically done by
disabling and enabling interrupts or by polling the
network. This primitive scheduling control puts severe
restrictions on the code that can be run in a message
handler. This paper describes a new software mechanism,
optimistic active messages (OAM), that eliminates these
restrictions; OAMs allow arbitrary user code to execute
in handlers, and also allow handlers to block. Despite
this gain in expressiveness, OAMs perform as well as
AMs. We used OAM as the base for a remote procedure
calling (RPC) system, Optimistic RPC (ORPC), for the
CM-5 multiprocessor; it consists of an optimized thread
package and a stub compiler that hides communication
details from the programmer. ORPC is 1.5 to 5 times
faster than traditional RPC (TRPC) for small messages
and performs as well as AMs. Applications that
primarily communicate using large data transfers or are
fairly coarse-grained perform equally well. For
applications that send many short messages, however,
the ORPC and AM implementations are up to 3 times
faster than the TRPC implementations. Using ORPC,
programmers obtain the benefits of well-proven
programming abstractions, do not have to be concerned
with communication details, and yet obtain nearly the
performance of hand-coded AM programs.",
acknowledgement = ack-nhfb,
affiliation = "Lab. for Comput. Sci., MIT, Cambridge, MA, USA",
classification = "C6150N (Distributed systems software)",
keywords = "Application performance; Arbitrary user code;
Blocking; CM-5 multiprocessor; Coarse-grained
applications; Communication detail hiding;
Communication scheduling; Computation scheduling;
Expressiveness; Large data transfers; Low-overhead
message passing; Message handlers; Optimistic active
messages; Optimistic remote procedure calls; Optimized
thread package; Programming abstractions; Software
overhead; Stub compiler",
thesaurus = "Message passing; Remote procedure calls; Scheduling",
}
Related entries
- abstraction,
25(5)25,
25(6)1,
25(6)102,
25(6)127-1,
25(6)165,
26(5)25,
27(7)22,
27(7)249,
27(7)261,
28(1)40,
28(3)133,
28(3)351,
28(6)156,
28(7)229,
28(12)85,
29(5)17-1,
29(6)13,
29(8)1,
29(8)84,
29(8)119,
29(9)81,
29(10)212,
29(10)272,
29(12)104,
30(3)71,
30(3)83,
30(8)11,
31(10)214,
32(6)53,
32(6)53,
32(8)75,
34(1)337,
34(8)183
- active,
26(11)97,
27(7)44,
28(10)1,
28(10)338,
29(9)105,
29(10)113,
29(11)51,
30(8)189,
33(11)81,
34(1)86
- allow,
25(4)20,
25(4)51,
25(6)66,
25(6)85-1,
25(6)272,
25(6)296,
26(6)145,
27(7)94,
27(7)116,
27(7)140,
27(7)162,
27(7)235,
27(9)238,
28(3)363,
28(6)139-1,
28(6)207-1,
28(6)290,
28(7)92,
28(7)102,
28(7)208,
28(7)239,
29(6)73,
29(6)135,
29(6)242,
29(6)242-1,
29(8)35,
29(8)119,
29(11)25,
29(11)132-1,
29(11)263,
29(11)274,
29(11)319,
30(3)50,
30(3)94,
30(4)13,
30(6)196,
30(6)246,
30(8)1,
30(8)102,
30(11)70,
30(11)79
- arbitrary,
25(6)234,
25(10)237,
26(5)59,
27(5)z,
27(7)235,
28(3)359,
28(6)197,
29(6)61,
29(6)135,
29(6)171,
29(8)111,
29(11)51,
30(3)1,
30(8)58,
30(8)92,
30(11)41,
33(11)228
- avoid,
25(6)92,
26(9)321,
27(7)322,
27(9)262,
29(6)73,
30(6)56,
30(6)130
- base,
27(7)311,
28(3)355,
29(11)171,
30(6)79-1,
30(8)19,
30(8)68,
33(12)66
- benefit,
25(6)66,
25(6)78,
26(2)35,
27(7)106,
27(7)300,
27(7)322,
28(6)177,
29(6)49,
29(11)2,
29(11)12,
29(11)110,
29(11)219,
29(11)308,
30(3)62,
30(4)13,
30(6)13,
30(6)93,
30(6)103,
30(6)151,
30(6)246,
30(6)270,
30(8)189,
32(1)77,
33(10)134
- block,
26(9)106,
27(7)12,
27(7)82,
27(7)212,
27(7)322,
27(8)83,
27(9)285,
28(3)363,
28(4)45,
28(5)9,
28(11)52,
29(6)36,
29(6)85,
29(6)196,
29(11)219,
29(11)232,
29(11)242,
29(11)286,
29(11)297,
30(3)35,
30(6)56,
30(6)246,
32(4)47,
32(12)90,
32(12)90
- blocking,
28(7)64,
28(7)208,
32(5)346,
32(5)346-1
- C6150N,
28(7)23,
28(7)64,
28(7)73,
29(5)41-1,
29(6)36,
29(6)107,
29(8)119,
29(10)113,
29(10)301,
29(11)2,
29(11)12,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)183,
29(11)232,
29(11)286,
29(11)319,
29(11)328,
29(12)48,
29(12)66,
30(3)83,
30(3)103,
30(3)111,
30(6)13,
30(6)23,
30(6)67,
30(6)139,
30(6)151,
30(6)163-1,
30(8)1,
30(8)11,
30(8)29,
30(8)39,
30(8)68,
30(8)102,
30(8)134,
30(8)156,
30(8)179,
30(8)189,
30(8)199,
30(8)207,
30(11)1,
30(11)50,
30(11)60,
30(11)70,
30(11)108,
30(11)134
- calling,
28(3)359,
28(8)77,
28(8)77-1,
29(4)49,
29(6)49,
29(6)242,
29(6)242-1,
30(6)1,
31(5)249,
34(8)60,
34(9)114
- CM-5,
28(7)1,
29(11)51,
29(11)297,
30(6)196,
30(8)29,
30(8)68
- coarse-grained,
28(6)100
- coded, hand-,
27(7)94
- communicate,
28(3)367,
30(6)196
- concerned,
28(3)177,
29(11)242,
30(6)291
- consist,
25(6)337,
28(3)359,
28(7)239,
29(6)337,
29(6)337-1,
29(8)22,
29(8)94,
29(11)158,
30(8)166,
30(11)79
- copying,
25(6)66,
28(6)217,
28(7)73,
29(4)58,
29(5)27,
32(8)292
- critical,
26(12)85,
28(6)207-1,
28(7)229,
29(3)18,
29(3)18-1,
29(6)24,
30(8)166,
30(8)207,
30(11)7,
30(11)31,
30(11)41,
33(12)72,
34(2)1
- despite,
25(6)283,
27(7)82,
27(7)322,
28(6)139-1,
29(11)51,
29(11)86,
30(8)179,
33(7)75
- detail,
25(6)137,
27(7)1,
27(7)311,
28(3)37,
28(3)209,
28(3)347,
28(6)177,
29(6)196,
29(11)263,
30(6)291,
30(8)19
- done,
25(6)85-1,
26(4)28,
27(7)152,
27(7)300,
27(12)47,
28(3)69,
28(6)207-1,
29(6)49,
29(11)12,
29(11)86,
29(11)132-1,
30(3)71,
30(3)103
- eliminate,
27(7)140,
27(9)248,
28(6)1,
28(6)207-1,
29(11)2,
29(11)232,
29(12)112,
30(6)279,
30(8)144,
30(8)179,
32(8)164,
33(7)75
- enabling,
27(7)128,
28(3)97,
29(8)1,
29(10)427,
30(3)50
- equally,
29(11)145
- execute,
25(6)174,
26(4)132,
26(4)290,
27(7)44,
27(9)223,
30(6)218,
30(6)246,
30(11)20-1
- expressiveness,
29(6)290,
29(8)22,
34(9)90
- fairly,
27(7)152,
28(6)197,
28(7)179
- faster,
25(4)59,
25(6)9,
25(6)66,
25(6)112,
27(1)95,
27(9)285,
29(6)36,
29(6)266,
29(11)252,
29(11)297,
30(3)1,
30(6)151,
30(8)39,
30(8)68,
30(8)123,
31(5)108,
31(6)1
- gain,
28(6)177,
29(6)1,
29(6)85,
29(11)25,
29(11)219,
30(6)116,
30(11)146-1
- grained, Coarse-,
28(6)100
- grained, coarse-,
28(6)100
- hand-coded,
27(7)94
- handler,
28(6)147,
29(11)110
- handling,
17(9)18,
25(6)28,
25(10)116,
25(10)322,
27(4)77,
27(7)128,
27(12)61,
28(3)133,
28(6)13,
28(6)26,
28(6)147,
28(7)33,
28(10)271,
28(10)271-1,
28(10)288,
29(2)13,
29(3)23,
29(5)31,
29(6)242,
29(6)242-1,
29(6)349-1,
29(9)64,
29(9)68,
29(9)159,
29(10)191,
29(10)259,
29(10)388,
29(11)51,
29(11)110,
29(11)208,
29(12)104,
30(8)80-1,
30(8)112,
30(11)50,
30(11)79,
33(8)40,
33(11)151
- hide,
29(11)308,
30(6)151
- hiding,
29(6)107,
29(10)453,
29(11)308,
30(6)151,
31(9)198
- however,
25(6)66,
25(6)85-1,
25(6)234,
27(7)311,
28(3)351,
28(3)363,
28(6)68,
28(6)147,
28(7)54-1,
29(6)1,
29(6)85,
29(6)218,
29(6)302,
29(6)337,
29(6)337-1,
29(8)1,
29(11)12,
29(11)51,
29(11)86,
29(11)110,
29(11)171,
29(11)183,
29(11)252,
29(11)274,
29(11)308,
29(11)328,
30(3)23,
30(3)62,
30(3)94,
30(6)279,
30(6)291,
30(6)301,
30(8)48,
30(11)134,
33(7)67
- Hsieh, Wilson C.,
28(1)80,
28(7)239
- instead,
25(6)102,
25(6)137,
27(7)1,
28(3)69,
28(7)112,
29(6)107,
29(6)196,
29(11)132-1
- interrupt,
27(7)32,
34(9)48
- Johnson, Kirk L.,
28(1)84,
28(7)54-1
- Kaashoek, M. Frans,
28(10)162,
32(5)109
- large,
6(4)191,
6(4)213,
26(7)167,
26(8)86,
27(7)82,
27(7)200,
27(7)212,
27(7)341,
27(10)178,
28(3)69,
28(3)299,
28(3)343,
28(6)100,
28(6)126,
28(6)177,
28(6)278,
28(6)300,
28(7)44,
28(7)112,
28(7)218,
28(10)374,
28(10)374-1,
29(5)31,
29(6)1,
29(6)36,
29(6)49,
29(6)73,
29(6)326,
29(8)22,
29(8)35,
29(8)94,
29(8)101,
29(8)119,
29(10)205,
29(11)86,
29(11)158,
29(11)171,
29(11)252,
29(11)274,
29(11)308,
30(6)93,
30(6)279,
30(8)199,
30(11)88,
31(9)26,
31(9)37,
32(7)264,
33(7)27,
33(7)43,
33(7)51,
33(7)59,
34(3)138,
34(8)151,
34(11)1
- low-overhead,
30(8)39
- many,
25(1)59,
25(6)112,
25(6)137,
25(6)189,
25(6)283,
27(1)95,
27(5)z,
27(7)68,
27(7)82,
27(7)116,
27(7)188-1,
27(9)285,
28(3)69,
28(3)343,
28(3)345,
28(3)347,
28(6)100,
28(6)187,
28(6)237,
28(6)258,
28(6)300,
28(7)13,
28(7)33,
28(7)54-1,
29(6)1,
29(6)36,
29(6)49,
29(6)73,
29(6)85,
29(6)171,
29(6)206,
29(6)302,
29(8)94,
29(8)101,
29(11)145,
29(11)171,
29(11)196,
29(11)219,
29(11)252,
29(11)328,
30(3)13,
30(3)94,
30(3)119,
30(6)1,
30(6)67,
30(6)103,
30(6)291,
30(8)68,
30(8)134,
30(11)20-1,
30(11)134,
33(7)19,
33(7)27
- message,
25(6)150,
25(10)116,
26(11)129,
27(9)285,
28(1)85,
28(3)69,
28(3)367,
28(6)126,
28(7)23,
28(7)218,
28(12)118,
29(6)121,
29(9)105,
29(10)1,
29(10)176,
29(11)2,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)297,
29(12)48,
30(6)93,
30(6)196,
30(7)41,
30(8)39,
30(8)189,
30(11)79,
32(9)61,
32(9)61-1
- nearly,
25(6)311,
27(7)44,
28(7)83,
29(6)49,
29(11)158,
30(8)80-1
- network,
25(7)11,
26(7)167,
27(7)22,
27(9)98,
27(9)111,
28(1)60,
28(7)218,
29(5)17-1,
29(8)101,
29(10)113,
29(11)2,
29(11)25,
29(11)38,
29(11)51,
29(11)183,
29(11)286,
29(11)297,
30(6)79-1,
30(7)7,
30(8)207,
30(10)358,
30(10)358-1,
30(11)79,
30(11)108,
30(11)134,
31(6)226,
31(9)160,
31(9)210,
31(9)222-1,
31(9)258,
32(5)320-1,
33(11)71,
33(11)92,
33(11)159,
33(11)193,
33(11)205,
34(1)86,
34(8)119,
34(8)163
- obtain,
26(6)219,
28(7)64,
29(6)36,
29(6)121,
29(6)337,
29(6)337-1,
29(11)286,
30(6)1,
30(6)270,
30(11)31
- optimistic,
26(7)155,
27(9)223,
28(3)97,
28(6)278,
30(6)151,
32(7)112,
32(7)112
- optimized,
27(7)1,
27(7)32,
27(7)224,
27(7)273,
28(4)39,
29(6)278,
29(6)349,
29(6)349-1,
29(11)86,
29(11)274,
29(11)328,
30(6)205,
30(6)315,
31(5)33,
33(7)19,
34(5)181
- 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,
27(9)223,
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(11)134,
31(9)174,
31(9)198,
34(7)10
- overhead, Low-,
30(8)39
- package,
25(10)278,
27(9)223,
28(3)347,
28(7)198,
28(8)90,
29(3)33,
29(6)13,
30(11)146-1,
33(7)19,
33(7)43,
33(7)51
- passing,
26(11)129,
28(1)85,
28(7)218,
28(12)118,
29(5)31,
29(9)105,
29(11)2,
29(11)25,
29(11)38,
29(11)51,
29(11)61,
29(11)297,
29(12)48,
30(3)13,
30(4)80,
30(8)39
- perform,
26(6)219,
27(7)12,
27(7)32,
27(7)82,
27(7)200,
28(6)156,
28(6)177,
28(6)237,
28(6)300,
28(8)90,
29(6)49,
29(6)206,
29(11)25,
29(11)145,
29(11)158,
29(11)171,
29(11)319,
30(3)94,
30(6)151,
30(6)163-1,
30(6)186,
30(6)205,
30(8)48,
30(8)80-1,
30(8)123,
30(11)7,
30(11)20-1
- primarily,
28(3)53,
28(3)345,
28(3)349,
28(3)361,
29(11)86,
30(8)48
- primitive,
25(5)29,
25(6)66,
25(6)337,
26(4)96,
26(6)241,
26(11)230,
27(5)z,
27(7)12,
28(3)363,
28(6)78-1,
28(6)139-1,
28(6)147,
28(7)129,
28(7)229,
29(6)171,
29(6)266,
29(6)302,
30(6)32,
30(6)47,
30(6)56,
30(6)130,
30(6)205,
30(6)291,
30(8)11,
30(8)123,
30(11)31,
31(5)99,
32(6)23,
32(6)23,
32(7)112,
32(7)112,
33(5)1,
33(5)72,
33(5)85-1,
33(5)97,
33(5)174
- programmer,
25(6)102,
25(6)283,
27(6)10,
27(7)188-1,
27(8)14,
27(9)262,
27(9)285,
28(3)177,
28(6)1,
28(6)156,
28(6)177,
28(7)13,
28(7)33,
28(7)208,
28(7)239,
29(1)53,
29(8)1,
30(4)13,
30(6)67,
30(8)11,
30(8)29,
30(8)179,
30(8)207,
30(11)20-1,
30(11)99,
30(11)108,
31(1)6,
31(1)6-1,
31(3)5,
31(3)5-1,
31(3)6,
31(3)6-1,
31(3)8,
31(3)8-1,
33(7)59,
33(7)75,
34(1)338
- put,
25(6)283,
28(6)237,
28(7)239,
29(8)1,
30(6)32,
30(6)67
- reduce,
25(6)1,
25(6)16,
25(6)85-1,
25(6)102,
25(6)272,
27(7)200,
27(7)212,
28(6)177,
28(7)83,
28(7)208,
28(7)218,
29(6)257,
29(6)257-1,
29(6)349,
29(6)349-1,
29(11)2,
29(11)110,
29(11)145,
29(11)242,
29(11)286,
30(6)93,
30(6)103,
30(6)116,
30(6)130,
30(6)174,
30(6)270,
30(6)279,
30(6)315,
30(8)156,
30(8)179,
32(10)342,
32(10)342-1,
33(7)67
- remote,
27(9)285,
28(7)239,
28(7)249,
29(4)49,
29(11)2,
29(11)274,
30(6)196,
30(8)39,
30(11)146-1,
32(1)117,
32(1)117-1,
32(4)32,
32(4)32-1,
33(10)284,
34(8)173
- restriction,
27(7)188-1,
28(6)68,
30(6)233
- RPC,
28(7)239,
29(11)2,
32(12)116
- run,
25(6)9,
25(6)85-1,
27(7)32,
27(9)85,
27(9)285,
28(3)353,
28(6)126,
28(7)83,
28(7)102,
28(7)239,
29(6)36,
29(6)186,
29(6)196,
29(10)191,
30(3)1,
30(6)1,
30(6)218,
30(6)270,
30(8)123,
30(8)207,
30(11)88,
34(5)229
- send,
28(6)126,
29(10)355,
30(6)93
- severe,
28(7)44,
29(6)13,
33(3)57
- short,
25(4)51,
25(5)95,
25(12)85,
26(2)11,
28(3)355,
28(3)367,
28(6)147,
33(7)1,
34(9)249
- small,
17(9)18,
25(5)124,
25(6)66,
25(6)174,
27(7)1,
27(7)212,
27(7)273,
27(7)322,
27(7)331,
27(9)285,
27(12)61,
28(3)231,
28(3)357,
28(6)126,
28(6)217,
28(7)119,
28(7)208,
28(7)229,
28(8)53,
28(8)90,
29(6)337,
29(6)337-1,
29(6)349,
29(6)349-1,
29(8)94,
29(11)2,
29(11)76-1,
29(11)86,
29(11)242,
29(11)252,
29(11)274,
29(11)328,
30(3)111,
30(3)119,
32(10)125
- stub,
29(8)59,
29(8)94
- thread,
25(10)278,
27(7)44,
27(7)55,
27(9)223,
27(12)81,
28(7)73,
28(7)198,
28(7)239,
29(6)24,
29(7)61,
29(11)328,
31(6)42,
31(9)50,
31(9)50-1,
31(9)60,
32(10)229,
33(11)127
- traditional,
27(7)12,
28(3)177,
28(6)68,
28(6)100,
28(6)139-1,
28(6)278,
29(1)53,
29(6)206,
29(6)302,
29(6)349,
29(6)349-1,
29(11)2,
29(11)12,
29(11)76-1,
29(11)319,
30(6)151,
30(6)258,
30(11)1,
30(11)60,
30(11)70
- transfer,
25(6)78,
27(9)285,
28(6)147,
28(7)139,
28(10)437,
29(9)125,
29(11)2,
29(11)38,
29(11)86,
29(11)219,
30(6)1,
30(8)39,
30(8)68,
33(11)159,
34(10)276,
34(11)94
- typically,
25(6)189,
26(4)290,
27(7)116,
28(6)197,
28(7)187,
29(6)206,
29(6)290,
29(11)2,
29(11)252,
29(11)263,
30(3)62,
30(3)71,
30(6)186,
30(11)88
- unnecessary,
25(6)137,
27(7)224,
29(6)73,
29(11)2,
34(10)35
- Weihl, William E.,
25(10)212,
28(1)80,
28(7)239,
28(12)158
- well,
25(6)28,
25(6)40,
27(1)95,
27(7)22,
27(9)285,
28(3)359,
28(6)36,
28(6)46,
28(6)166,
28(6)177,
28(6)187,
28(6)227,
28(6)300,
28(7)13,
28(7)102,
29(6)186,
29(6)206,
29(6)218,
29(6)266,
29(11)2,
29(11)122,
29(11)145,
29(11)158,
29(11)308,
30(6)32,
30(8)39,
30(8)48,
30(8)80-1,
30(8)123,
30(11)60,
33(7)1,
33(7)35,
33(7)75
- yet,
28(6)156,
28(6)177,
28(6)300,
29(6)186,
29(11)252,
30(3)71,
30(3)111,
30(6)13,
32(10)345-3,
33(6)24,
33(6)24,
33(7)19,
33(7)27,
34(1)117