Lightweight asynchrony using parasitic threads

9 years 5 months ago
Lightweight asynchrony using parasitic threads
Message-passing is an attractive thread coordination mechanism because it cleanly delineates points in an execution when threads communicate, and unifies synchronization and communication: a sender is allowed to proceed only when a receiver willing to accept the data being sent is available and vice versa. To enable greater performance, however, asynchronous or non-blocking extensions are usually provided that allow senders and receivers to proceed even if a matching partner is unavailable. Lightweight threads with synchronous message-passing can be used to encapsulate asynchronous message-passing operations, although such implementations have greater thread management costs that can negatively impact scalability and performance. This paper introduces parasitic threads, a novel mechanism for expressing asynchronous computation, that combines the efficiency of a non-declarative solution with the ease of use provided by languages with first-class channels and lightweight threads. A p...
K. C. Sivaramakrishnan, Lukasz Ziarek, Raghavendra
Added 17 May 2010
Updated 17 May 2010
Type Conference
Year 2010
Where POPL
Authors K. C. Sivaramakrishnan, Lukasz Ziarek, Raghavendra Prasad, Suresh Jagannathan
Comments (0)