Towards Consistency Oblivious Programming

  • Yehuda Afek
  • Hillel Avni
  • Nir Shavit
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7109)


It is well known that guaranteeing program consistency when accessing shared data comes at the price of degraded performance and scalability.

This paper initiates the investigation of consistency oblivious programming (COP). In COP, sections of concurrent code that meet certain criteria are executed without checking for consistency. However, checkpoints are added before any shared data modification to verify the algorithm was on the right track, and if not, it is re-executed in a more conservative and expensive consistent way. We show empirically that the COP approach can enhance a software transactional memory (STM) framework to deliver more efficient concurrent data structures from serial source code. In some cases the COP code delivers performance comparable to that of more complex fine-grained structures.


Transactional Memory Binary Search Tree Acceptance Rule Serial Algorithm Software Transactional Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Heller, S., Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N., Shavit, N.: A lazy concurrent list-based set algorithm. Parallel Processing Letters 17(4), 411–424 (2007)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Herlihy, M.P., Lev, Y., Luchangco, V., Shavit, N.N.: A Simple Optimistic Skiplist Algorithm. In: Prencipe, G., Zaks, S. (eds.) SIROCCO 2007. LNCS, vol. 4474, pp. 124–138. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Lea, D.: The java.util.concurrent synchronizer framework. Science of Computer Programming 58(3), 293–309 (2005); Special Issue on Concurrency and synchonization in Java programsMathSciNetCrossRefGoogle Scholar
  4. 4.
    Shavit, N., Touitou, D.: Software transactional memory. Distributed Computing 10(2), 99–116 (1997)CrossRefGoogle Scholar
  5. 5.
    Dice, D., Shalev, O., Shavit, N.: Transactional Locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Dalessandro, L., Spear, M.F., Scott, M.L.: Norec: streamlining stm by abolishing ownership records. In: PPOPP, pp. 67–78 (2010)Google Scholar
  7. 7.
    Riegel, T., Fetzer, C., Felber, P.: Time-based transactional memory with scalable time bases. In: SPAA, pp. 221–228 (2007)Google Scholar
  8. 8.
    Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the Twenty-Second Annual Symposium on Principles of Distributed Computing, PODC 2003, pp. 92–101. ACM, New York (2003)CrossRefGoogle Scholar
  9. 9.
    Afek, Y., Morrison, A., Tzafrir, M.: Brief announcement: view transactions: transactional model with relaxed consistency checks. In: PODC, pp. 65–66 (2010)Google Scholar
  10. 10.
    Rinard, M.C.: Acceptability-oriented computing. In: OOPSLA Companion, pp. 221–239 (2003)Google Scholar
  11. 11.
    Shpeisman, T., Menon, V., Adl-Tabatabai, A.R., Balensiefer, S., Grossman, D., Hudson, R.L., Moore, K.F., Saha, B.: Enforcing isolation and ordering in stm. SIGPLAN Not. 42, 78–88 (2007)CrossRefGoogle Scholar
  12. 12.
    Matveev, A., Shavit, N.: Implicit privatization using private transaction. Transact. (2010)Google Scholar
  13. 13.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. The MIT Press and McGraw-Hill Book Company (2001)Google Scholar
  14. 14.
    Scott, M.L., Spear, M.F., Dalessandro, L., Marathe, V.J.: Delaunay triangulation with transactions and barriers. In: Proceedings of the 2007 IEEE 10th International Symposium on Workload Characterization, IISWC 2007, pp. 107–113. IEEE Computer Society, Washington, DC (2007)Google Scholar
  15. 15.
    Golan-Gueta, G., Bronson, N., Aiken, A., Ramalingam, G., Sagiv, M., Yahav, E.: Automatic fine-grain locking using shape properties. In: SPLASH, pp. 194–208 (2011)Google Scholar
  16. 16.
    Schrijvers, T., Frühwirth, T.: Optimal union-find in constraint handling rules. Theory Pract. Log. Program. 6, 213–224 (2006)CrossRefzbMATHGoogle Scholar
  17. 17.
    Felber, P., Gramoli, V., Guerraoui, R.: Elastic Transactions. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 93–107. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  18. 18.
    Hanke, S.: The Performance of Concurrent Red-Black Tree Agorithms. In: Vitter, J.S., Zaroliagis, C.D. (eds.) WAE 1999. LNCS, vol. 1668, p. 287. Springer, Heidelberg (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Yehuda Afek
    • 1
  • Hillel Avni
    • 1
  • Nir Shavit
    • 1
    • 2
  1. 1.Tel-Aviv UniversityTel-AvivIsrael
  2. 2.MITCambridgeUSA

Personalised recommendations