ORCA: Ordering-free Regions for Consistency and Atomicity

Writing correct synchronization is one of the main difficulties of multithreaded programming. Incorrect synchronization causes many subtle concurrency errors such as data races and atomicity violations. Previous work has proposed stronger memory consistency models to rule out certain classes of conc...

Full description

Bibliographic Details
Main Authors: DeLozier, Christian, Peng, Yuanfeng, Eizenberg, Ariel, Lucia, Brandon, Devietti, Joe
Format: Text
Language:unknown
Published: ScholarlyCommons 2016
Subjects:
Online Access:https://repository.upenn.edu/cis_reports/1013
https://repository.upenn.edu/cgi/viewcontent.cgi?article=2060&context=cis_reports
id ftunivpenn:oai:repository.upenn.edu:cis_reports-2060
record_format openpolar
spelling ftunivpenn:oai:repository.upenn.edu:cis_reports-2060 2023-05-15T17:53:01+02:00 ORCA: Ordering-free Regions for Consistency and Atomicity DeLozier, Christian Peng, Yuanfeng Eizenberg, Ariel Lucia, Brandon Devietti, Joe 2016-04-28T07:00:00Z application/pdf https://repository.upenn.edu/cis_reports/1013 https://repository.upenn.edu/cgi/viewcontent.cgi?article=2060&context=cis_reports unknown ScholarlyCommons https://repository.upenn.edu/cis_reports/1013 https://repository.upenn.edu/cgi/viewcontent.cgi?article=2060&context=cis_reports Technical Reports (CIS) Computer Engineering Computer Sciences text 2016 ftunivpenn 2021-01-05T06:54:23Z Writing correct synchronization is one of the main difficulties of multithreaded programming. Incorrect synchronization causes many subtle concurrency errors such as data races and atomicity violations. Previous work has proposed stronger memory consistency models to rule out certain classes of concurrency bugs. However, these approaches are limited by a program’s original (and possibly incorrect) synchronization. In this work, we provide stronger guarantees than previous memory consistency models by punctuating atomicity only at ordering constructs like barriers, but not at lock operations. We describe the Ordering-free Regions for Consistency and Atomicity (ORCA) system which enforces atomicity at the granularity of ordering-free regions (OFRs). While many atomicity violations occur at finer granularity, in an empirical study of many large multithreaded workloads we find no examples of code that requires atomicity coarser than OFRs. Thus, we believe OFRs are a conservative approximation of the atomicity requirements of many programs. ORCA assists programmers by throwing an exception when OFR atomicity is threatened, and, in exception-free executions, guaranteeing that all OFRs execute atomically. In our evaluation, we show that ORCA automatically prevents real concurrency bugs. A user-study of ORCA demonstrates that synchronizing a program with ORCA is easier than using a data race detector. We evaluate modest hardware support that allows ORCA to run with just 18% slowdown on average over pthreads, with very similar scalability. Text Orca University of Pennsylvania: ScholaryCommons@Penn
institution Open Polar
collection University of Pennsylvania: ScholaryCommons@Penn
op_collection_id ftunivpenn
language unknown
topic Computer Engineering
Computer Sciences
spellingShingle Computer Engineering
Computer Sciences
DeLozier, Christian
Peng, Yuanfeng
Eizenberg, Ariel
Lucia, Brandon
Devietti, Joe
ORCA: Ordering-free Regions for Consistency and Atomicity
topic_facet Computer Engineering
Computer Sciences
description Writing correct synchronization is one of the main difficulties of multithreaded programming. Incorrect synchronization causes many subtle concurrency errors such as data races and atomicity violations. Previous work has proposed stronger memory consistency models to rule out certain classes of concurrency bugs. However, these approaches are limited by a program’s original (and possibly incorrect) synchronization. In this work, we provide stronger guarantees than previous memory consistency models by punctuating atomicity only at ordering constructs like barriers, but not at lock operations. We describe the Ordering-free Regions for Consistency and Atomicity (ORCA) system which enforces atomicity at the granularity of ordering-free regions (OFRs). While many atomicity violations occur at finer granularity, in an empirical study of many large multithreaded workloads we find no examples of code that requires atomicity coarser than OFRs. Thus, we believe OFRs are a conservative approximation of the atomicity requirements of many programs. ORCA assists programmers by throwing an exception when OFR atomicity is threatened, and, in exception-free executions, guaranteeing that all OFRs execute atomically. In our evaluation, we show that ORCA automatically prevents real concurrency bugs. A user-study of ORCA demonstrates that synchronizing a program with ORCA is easier than using a data race detector. We evaluate modest hardware support that allows ORCA to run with just 18% slowdown on average over pthreads, with very similar scalability.
format Text
author DeLozier, Christian
Peng, Yuanfeng
Eizenberg, Ariel
Lucia, Brandon
Devietti, Joe
author_facet DeLozier, Christian
Peng, Yuanfeng
Eizenberg, Ariel
Lucia, Brandon
Devietti, Joe
author_sort DeLozier, Christian
title ORCA: Ordering-free Regions for Consistency and Atomicity
title_short ORCA: Ordering-free Regions for Consistency and Atomicity
title_full ORCA: Ordering-free Regions for Consistency and Atomicity
title_fullStr ORCA: Ordering-free Regions for Consistency and Atomicity
title_full_unstemmed ORCA: Ordering-free Regions for Consistency and Atomicity
title_sort orca: ordering-free regions for consistency and atomicity
publisher ScholarlyCommons
publishDate 2016
url https://repository.upenn.edu/cis_reports/1013
https://repository.upenn.edu/cgi/viewcontent.cgi?article=2060&context=cis_reports
genre Orca
genre_facet Orca
op_source Technical Reports (CIS)
op_relation https://repository.upenn.edu/cis_reports/1013
https://repository.upenn.edu/cgi/viewcontent.cgi?article=2060&context=cis_reports
_version_ 1766160761805078528