DocumentCode
2075099
Title
Views: object-inspired concurrency control
Author
Demsky, Brian ; Lam, Patrick
Author_Institution
Univ. of California, Irvine, CA, USA
Volume
1
fYear
2010
fDate
2-8 May 2010
Firstpage
395
Lastpage
404
Abstract
We present views, a new approach to controlling concurrency. Fine-grained locking is often necessary to increase concurrency. Correctly implementing fine-grained locking with today´s concurrency primitives can be challenging---race conditions often plague programs with sophisticated locking schemes. Views ease the task of implementing sophisticated locking schemes and provide static checks to automatically detect many data races. Views consist of view declarations that describe which views of an object may be simultaneously held by different threads, which object fields may be accessed through a given view, and which methods can be called through a given view. A set of view annotations specify which code regions hold a view of an object. Our view compiler performs simple static checks which eliminate many data races. We have ported three benchmark applications to use views: portions of Vuze, a BitTorrent client; Mailpuccino, a graphical e-mail client; and TupleSoup, a database. Our experience indicates that views are easy to use, make implementing sophisticated locking schemes simple, and can help eliminate concurrency bugs.
Keywords
concurrency control; program compilers; program debugging; concurrency bugs; data races; fine-grained locking; object-inspired concurrency control; sophisticated locking schemes; view compiler; Arrays; Concurrent computing; Greedy algorithms; Java; Message systems; Resource management; Vectors; concurrency; language design; static verification;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2010 ACM/IEEE 32nd International Conference on
Conference_Location
Cape Town
ISSN
0270-5257
Print_ISBN
978-1-60558-719-6
Type
conf
DOI
10.1145/1806799.1806858
Filename
6062107
Link To Document