ISOLATOR

Sriram Rajamani, G. Ramalingam, Venkatesh Prasad Ranganath, Kapil Vaswani
2009 Proceeding of the 14th international conference on Architectural support for programming languages and operating systems - ASPLOS '09  
In this paper, we focus on concurrent programs that use locks to achieve isolation of data accessed by critical sections of code. We present ISOLATOR, an algorithm that guarantees isolation for well-behaved threads of a program that obey a locking discipline even in the presence of ill-behaved threads that disobey the locking discipline. ISOLATOR uses code instrumentation, data replication, and virtual memory protection to detect isolation violations and delays ill-behaved threads to ensure
more » ... ation. Our instrumentation scheme requires access only to the code of well-behaved threads. We have evaluated ISOLATOR on several benchmark programs and found that ISOLATOR can ensure isolation with reasonable runtime overheads. In addition, we present three general desiderata -safety, isolation, and permissiveness -for any scheme that attempts to ensure isolation, and formally prove that ISOLATOR satisfies all of these desiderata.
doi:10.1145/1508244.1508266 dblp:conf/asplos/RajamaniRRV09 fatcat:gxqtxhjddvekrfvqlzvpamt3ny