Loading…

ISOLATOR: dynamically ensuring isolation in comcurrent programs

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 threa...

Full description

Saved in:
Bibliographic Details
Published in:Computer architecture news 2009-03, Vol.37 (1), p.181-192
Main Authors: Rajamani, Sriram, Ramalingam, G., Ranganath, Venkatesh Prasad, Vaswani, Kapil
Format: Article
Language:English
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites cdi_FETCH-crossref_primary_10_1145_2528521_15082663
container_end_page 192
container_issue 1
container_start_page 181
container_title Computer architecture news
container_volume 37
creator Rajamani, Sriram
Ramalingam, G.
Ranganath, Venkatesh Prasad
Vaswani, Kapil
description 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 isolation. 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_str_mv 10.1145/2528521.1508266
format article
fullrecord <record><control><sourceid>crossref</sourceid><recordid>TN_cdi_crossref_primary_10_1145_2528521_1508266</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>10_1145_2528521_1508266</sourcerecordid><originalsourceid>FETCH-crossref_primary_10_1145_2528521_15082663</originalsourceid><addsrcrecordid>eNpjYBA3NNAzNDQx1TcyNbIwNTLUMzQ1sDAyM2Nh4DQwNDPWNbU0M-Fg4CouzjIA8s2NDTgZODyD_X0cQ_yDeBhY0xJzilN5oTQ3g76ba4izh25yUX5xcVFqWnxBUWZuYlFlvKFBPMiSeKgl8VBLjEnXAQA5BiyQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>ISOLATOR: dynamically ensuring isolation in comcurrent programs</title><source>Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)</source><creator>Rajamani, Sriram ; Ramalingam, G. ; Ranganath, Venkatesh Prasad ; Vaswani, Kapil</creator><creatorcontrib>Rajamani, Sriram ; Ramalingam, G. ; Ranganath, Venkatesh Prasad ; Vaswani, Kapil</creatorcontrib><description>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 isolation. 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.</description><identifier>ISSN: 0163-5964</identifier><identifier>DOI: 10.1145/2528521.1508266</identifier><language>eng</language><ispartof>Computer architecture news, 2009-03, Vol.37 (1), p.181-192</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-crossref_primary_10_1145_2528521_15082663</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Rajamani, Sriram</creatorcontrib><creatorcontrib>Ramalingam, G.</creatorcontrib><creatorcontrib>Ranganath, Venkatesh Prasad</creatorcontrib><creatorcontrib>Vaswani, Kapil</creatorcontrib><title>ISOLATOR: dynamically ensuring isolation in comcurrent programs</title><title>Computer architecture news</title><description>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 isolation. 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.</description><issn>0163-5964</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2009</creationdate><recordtype>article</recordtype><recordid>eNpjYBA3NNAzNDQx1TcyNbIwNTLUMzQ1sDAyM2Nh4DQwNDPWNbU0M-Fg4CouzjIA8s2NDTgZODyD_X0cQ_yDeBhY0xJzilN5oTQ3g76ba4izh25yUX5xcVFqWnxBUWZuYlFlvKFBPMiSeKgl8VBLjEnXAQA5BiyQ</recordid><startdate>200903</startdate><enddate>200903</enddate><creator>Rajamani, Sriram</creator><creator>Ramalingam, G.</creator><creator>Ranganath, Venkatesh Prasad</creator><creator>Vaswani, Kapil</creator><scope>AAYXX</scope><scope>CITATION</scope></search><sort><creationdate>200903</creationdate><title>ISOLATOR</title><author>Rajamani, Sriram ; Ramalingam, G. ; Ranganath, Venkatesh Prasad ; Vaswani, Kapil</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-crossref_primary_10_1145_2528521_15082663</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2009</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Rajamani, Sriram</creatorcontrib><creatorcontrib>Ramalingam, G.</creatorcontrib><creatorcontrib>Ranganath, Venkatesh Prasad</creatorcontrib><creatorcontrib>Vaswani, Kapil</creatorcontrib><collection>CrossRef</collection><jtitle>Computer architecture news</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Rajamani, Sriram</au><au>Ramalingam, G.</au><au>Ranganath, Venkatesh Prasad</au><au>Vaswani, Kapil</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>ISOLATOR: dynamically ensuring isolation in comcurrent programs</atitle><jtitle>Computer architecture news</jtitle><date>2009-03</date><risdate>2009</risdate><volume>37</volume><issue>1</issue><spage>181</spage><epage>192</epage><pages>181-192</pages><issn>0163-5964</issn><abstract>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 isolation. 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.</abstract><doi>10.1145/2528521.1508266</doi></addata></record>
fulltext fulltext
identifier ISSN: 0163-5964
ispartof Computer architecture news, 2009-03, Vol.37 (1), p.181-192
issn 0163-5964
language eng
recordid cdi_crossref_primary_10_1145_2528521_1508266
source Association for Computing Machinery:Jisc Collections:ACM OPEN Journals 2023-2025 (reading list)
title ISOLATOR: dynamically ensuring isolation in comcurrent programs
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-07T19%3A46%3A58IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-crossref&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=ISOLATOR:%20dynamically%20ensuring%20isolation%20in%20comcurrent%20programs&rft.jtitle=Computer%20architecture%20news&rft.au=Rajamani,%20Sriram&rft.date=2009-03&rft.volume=37&rft.issue=1&rft.spage=181&rft.epage=192&rft.pages=181-192&rft.issn=0163-5964&rft_id=info:doi/10.1145/2528521.1508266&rft_dat=%3Ccrossref%3E10_1145_2528521_1508266%3C/crossref%3E%3Cgrp_id%3Ecdi_FETCH-crossref_primary_10_1145_2528521_15082663%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true