loading...
Efficient Adaptations of the Non-Blocking Buffer for Event Message Communication between Real-Time Threads
Santorini Island, Greece May 07-May 09
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ISORC.2007.3110th IEEE International Symposium on ...
 This Article 
 
PDF
HTML
 
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
K.H. Kim, University of California, Irvine, USA
Juan A. Colmenares, University of California, Irvine, USA
Kee-Wook Rim, Sunmoon University, Korea
Enabling message communication among concurrent computing threads without relying on mutual exclusion (i.e., locking) is highly desirable in real-time computing systems. This paper presents a refined version of the Non- Blocking Buffer (NBB), which is a lock-free interaction mechanism that enables efficient event-message communication between a single producer thread and a single consumer thread. The NBB scheme presented here contains improvements over the previous version in two aspects. First, application designers now have the flexibility of choosing the consumer?s retry strategy for the case when the buffer is empty but the producer is in the middle of inserting an item. Second, in the refined version the producer inserts pointers to data items into the buffer whereas the consumer obtains copies of the items. This design is consistent with the fact that shared heap management must be avoided to enable fully lock-free interaction between the producer and the consumer. This paper also discusses the approaches based on the NBB mechanism for supporting all conceivable producer-consumer scenarios.
Index Terms:
non-blocking algorithms, event message communication, producer-consumer, concurrent programming, real-time computing systems.
Citation:
K.H. Kim, Juan A. Colmenares, Kee-Wook Rim, "Efficient Adaptations of the Non-Blocking Buffer for Event Message Communication between Real-Time Threads," isorc, pp.29-40, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07), 2007
Usage of this product signifies your acceptance of the Terms of Use.