Skip to main content

On Scheduling in Distributed Transactional Memory: Techniques and Tradeoffs

  • Chapter
  • First Online:
Handbook on Data Centers

Abstract

Data centers have been increasingly employed in distributed services to support a vast of amount of consumer requests. The requests range from web services to gaming for computation intensive applications. In order to process these requests, the data centers exploit in-memory data for high performance and ensure transactional properties for concurrent requests such as atomicity, consistency, and isolation. Traditionally lock-based synchronization has been used for the consistency of data, but is inherently error-prone. For example, coarse-grained locking, in which a large data structure is protected using a single lock is simple and easy to use, but permits little concurrency. In contrast, with fine-grained locking, in which each component of a data structure (e.g., a hash table bucket) is protected by a lock, programmers must acquire only necessary and sufficient locks to obtain maximum concurrency without compromising safety, and must avoid deadlocks when acquiring multiple locks. Both these situations are highly prone to programmer errors.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Hagit Attiya and Alessia Milani. Transactional scheduling for read-dominated workloads. In Proceedings of the 13th International Conference on Principles of Distributed Systems, OPODIS '09, pages 3–17, Berlin, Heidelberg, 2009. Springer-Verlag.

    Google Scholar 

  2. Philip A. Bernstein and Nathan Goodman. Multiversion concurrency control—theory and algorithms. ACM Trans. Database Syst., 8:465–483, December 1983.

    Google Scholar 

  3. A. Bieniusa and T. Fuhrmann. Consistency in hindsight: A fully decentralized stm algorithm. In Parallel Distributed Processing (IPDPS), 2010 IEEE International Symposium on, pages 1–12, 2010.

    Google Scholar 

  4. Geoffrey Blake, Ronald G. Dreslinski, and Trevor Mudge. Proactive transaction scheduling for contention management. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 42, pages 156–167, New York, NY, USA, 2009. ACM.

    Google Scholar 

  5. Robert L. Bocchino, Vikram S. Adve, and Bradford L. Chamberlain. Software transactional memory for large scale clusters. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, PPoPP ’08, pages 247–258, New York, NY, USA, 2008. ACM.

    Google Scholar 

  6. N. Carvalho, P. Romano, and L. Rodrigues. A generic framework for replicated software transactional memories. In Network Computing and Applications (NCA), 2011 10th IEEE International Symposium on, pages 271–274, aug. 2011.

    Google Scholar 

  7. Maria Couceiro, Paolo Romano, Nuno Carvalho, and Luís Rodrigues. D2STM: Dependable distributed software transactional memory. In Proceedings of the 2009 15th IEEE Pacific Rim International Symposium on Dependable Computing, PRDC '09, pages 307–313, Washington, DC, USA, 2009. IEEE Computer Society.

    Google Scholar 

  8. Michael J. Demmer and Maurice Herlihy. The arrow distributed directory protocol. In Proceedings of the 12th International Symposium on Distributed Computing, DISC '98, pages 119–133, London, UK, UK, 1998. Springer-Verlag.

    Google Scholar 

  9. David Dice, Ori Shalev, and Nir Shavit. Transactional locking II. In DISC, 2006.

    Google Scholar 

  10. Shlomi Dolev, Danny Hendler, and Adi Suissa. CAR-STM: scheduling-based collision avoidance and resolution for software transactional memory. In Proceedings of the twenty-seventh ACM symposium on Principles of distributed computing, PODC '08, pages 125–134, New York, NY, USA, 2008. ACM.

    Google Scholar 

  11. Rachid Guerraoui, Michal Kapalka, and Jan Vitek. STMBench7: a benchmark for software transactional memory. SIGOPS Oper. Syst. Rev., 41(3):315–324, 2007.

    Google Scholar 

  12. Maurice Herlihy and Ye Sun. Distributed transactional memory for metric-space networks. In Proceedings of the 19th international conference on Distributed Computing, DISC'05, pages 324–338, Berlin, Heidelberg, 2005. Springer-Verlag.

    Google Scholar 

  13. George Karypis and Vipin Kumar. A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput., 20:359–392, 1998.

    Google Scholar 

  14. Junwhan Kim and Binoy Ravindran. On transactional scheduling in distributed transactional memory ystems. In Proceedings of the 12th international conference on Stabilization, safety, and security of distributed systems, SSS'10, pages 347–361, Berlin, Heidelberg, 2010. Springer-Verlag.

    Google Scholar 

  15. Junwhan Kim and Binoy Ravindran. Scheduling closed-nested transactions in distributed transactional memory. In Parallel Distributed Processing Symposium (IPDPS), 2012 IEEE 26th International, pages 179–188, 2012.

    Google Scholar 

  16. Junwhan Kim and Binoy Ravindran. Scheduling transactions in replicated distribute software transactional memory. In Proceedings of the 2013 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCgrid 2013), CCGRID ’13, Delft, The Netherlands, 2013. IEEE Computer Society.

    Google Scholar 

  17. Christos Kotselidis, Mohammad Ansari, Kim Jarvis, Mikel Luján, Chris Kirkham, and Ian Watson. DiSTM: A software transactional memory framework for clusters. In Proceedings of the 2008 37th International Conference on Parallel Processing, ICPP '08, pages 51–58, Washington, DC, USA, 2008. IEEE Computer Society.

    Google Scholar 

  18. Chi Cao Minh, Jaewoong Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford transactional applications for multi-processing. In Workload Characterization, 2008. IISWC 2008. IEEE International Symposium on, pages 35–46, 2008.

    Google Scholar 

  19. Daniel J. Rosenkrantz, Richard Edwin Stearns, and Philip M. Lewis II. An analysis of several heuristics for the traveling salesman problem. SIAM J. Comput., 6(3):563–581, 1977.

    Google Scholar 

  20. M.M. Saad and B. Ravindran. Transactional forwarding: Supporting highly-concurrent stm in asynchronous distributed systems. In Computer Architecture and High Performance Computing (SBAC-PAD), 2012 IEEE 24th International Symposium on, pages 219–226, 2012.

    Google Scholar 

  21. Mohamed M. Saad and Binoy Ravindran. Supporting STM in distributed systems: Mechanisms and a Java framework. In Sixth ACM SIGPLAN workshop on Transactional Computing, 2011.

    Google Scholar 

  22. N. Schiper, P. Sutra, and F. Pedone. P-store: Genuine partial replication in wide area networks. In Reliable Distributed Systems, 2010 29th IEEE Symposium on, pages 214–224, 2010.

    Google Scholar 

  23. Richard M. Yoo and Hsien-Hsin S. Lee. Adaptive transaction scheduling for transactional memory systems. In Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures, SPAA '08, pages 169–178, New York, NY, USA, 2008. ACM.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Junwhan Kim .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer Science+Business Media New York

About this chapter

Cite this chapter

Kim, J., Palmieri, R., Ravindran, B. (2015). On Scheduling in Distributed Transactional Memory: Techniques and Tradeoffs. In: Khan, S., Zomaya, A. (eds) Handbook on Data Centers. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2092-1_44

Download citation

  • DOI: https://doi.org/10.1007/978-1-4939-2092-1_44

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4939-2091-4

  • Online ISBN: 978-1-4939-2092-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics