skip to main content
10.1145/1508244.1508266acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article

ISOLATOR: dynamically ensuring isolation in comcurrent programs

Published:07 March 2009Publication History

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.

References

  1. Linux memory protection. http://linux.about.com/library/cmd/blcmdl2 mprotect.htm, March 2008.Google ScholarGoogle Scholar
  2. Memory protection Windows. http://msdn2.microsoft.com/enus/library/aa366785(VS.85).aspx, March 2008.Google ScholarGoogle Scholar
  3. A. W. Appel and K. Li. Virtual Memory Primitives for User Programs. In Proc. of ASPLOS, pages 96--107, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Baugh, N. Neelakanthan, and C. Zilles. Using Hardware Memory Protection to build a high-performance, strongly atomic Hybrid Transactional Memory. In Proc of ISCA, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Engler and K. Ashcraft. Racerx: Effective, Static Detection of Race Conditions and Deadlocks. In Proc. of SOSP, pages 237--252, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Flanagan and S. N. Freund. Automatic Synchronization Correction. In Electronic Proc. of SCOOL, 2005.Google ScholarGoogle Scholar
  7. B. Krena, Z. Letko, R. Tzoref, S. Ur, and T. Vojnar. Healing Data Races on-the-fly. In Proc. of PADTAD, pages 54--64, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. V. B. Lvin, G. Novark, E. D. Berger, and B. G. Zorn. Archipelago: trading address space for reliability and security. In Proc. of ASPLOS, pages 115--124, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. Ratanaworabhan, M. Burtscher, D. Kirovski, R. Nagpal, K. Pattabiraman, and B. Zorn Detecting and Tolerating Asymmetric Races. In Proc. of PPoPP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Naik, A. Aiken, and J. Whaley. Effective Static Race Detection for Java In Proc. of PLDI, pages 308--319, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. Pozniansky and A. Schuster. Efficient on-the-fly data Race Detection in Multithreaded C++ Programs. In Proc. of PPoPP, pages 179--190, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. Pratikakis, J. S. Foster, and M. Hicks. Locksmith: Context sensitive Correlation Analysis for Race Detection. In Proc. of PLDI, pages 320--331, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. Anderson. Eraser: A Dynamic Data Race Detector for Multithreaded Programs. ACM Transactions on Computer Systems (TOCS), 15(4):391--411, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. T. Shpeisman, V. Menon, A.-R. Adl-Tabatabai, S. Balensiefer, D. Grossman, R. L. Hudson, K. F. Moore, and B. Saha. Enforcing Isolation and Ordering in STM In Proc. of PLDI, pages 78--88, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. Witchel, J. Cates, and K. Asanovi. Mondrian memory protection. In Proc. of ASPLOS, pages 304--316, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y. Yu, T. Rodeheffer, and W. Chen. RaceTrack: Efficient Detection of Data race Conditions via Adaptive Tracking. In Proc. of SOSP, pages 221--234, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Zhou, F. Qin, W. Liu, Y. Zhou, and J. Torrellas. iWatcher: Efficient Architectural Support for Software Debugging. In Proc. of ISCA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S Rajamani, G. Ramalingam, V. P. Ranganath and K. Vaswani. Isolator: Dynamically Ensuring Isolation in Concurrent Programs. Technical Report MSR-TR-2008-91, Microsoft Research, 2008.Google ScholarGoogle Scholar
  19. M. Abadi, T. Harris, M. Mehrara. Transactional Memory with Strong Atomicity using off-the-shelf Memory Protection Hardware. In Proc. of PPoPP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. ISOLATOR: dynamically ensuring isolation in comcurrent programs

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          ASPLOS XIV: Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
          March 2009
          358 pages
          ISBN:9781605584065
          DOI:10.1145/1508244
          • cover image ACM SIGARCH Computer Architecture News
            ACM SIGARCH Computer Architecture News  Volume 37, Issue 1
            ASPLOS 2009
            March 2009
            346 pages
            ISSN:0163-5964
            DOI:10.1145/2528521
            Issue’s Table of Contents
          • cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 44, Issue 3
            ASPLOS 2009
            March 2009
            346 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/1508284
            Issue’s Table of Contents

          Copyright © 2009 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 7 March 2009

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate535of2,713submissions,20%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader