Sciweavers

ASPLOS
2006
ACM

Atomicity and visibility in tiny embedded systems

14 years 6 months ago
Atomicity and visibility in tiny embedded systems
Visibility is a property of a programming language’s memory model that determines when values stored by one concurrent computation become visible to other computations. Our work exploits the insight that in nesC, a C-like language with explicit atomicity, the traditional way of ensuring timely visibility—volatile variables—can be entirely avoided. This is advantageous because the volatile qualifier is a notorious source of programming errors and misunderstandings. Furthermore, the volatile qualifier hurts performance by inhibiting many more optimizations than are necessary to ensure visibility. In this paper we extend the semantics of nesC’s atomic statements to include a visibility guarantee, we show two ways that these semantics can be implemented, and we also show that our better implementation has no drawbacks in terms of resource usage.
John Regehr, Nathan Cooprider, David Gay
Added 13 Jun 2010
Updated 13 Jun 2010
Type Conference
Year 2006
Where ASPLOS
Authors John Regehr, Nathan Cooprider, David Gay
Comments (0)