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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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.
Philip A. Bernstein and Nathan Goodman. Multiversion concurrency control—theory and algorithms. ACM Trans. Database Syst., 8:465–483, December 1983.
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.
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.
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.
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.
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.
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.
David Dice, Ori Shalev, and Nir Shavit. Transactional locking II. In DISC, 2006.
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.
Rachid Guerraoui, Michal Kapalka, and Jan Vitek. STMBench7: a benchmark for software transactional memory. SIGOPS Oper. Syst. Rev., 41(3):315–324, 2007.
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.
George Karypis and Vipin Kumar. A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM J. Sci. Comput., 20:359–392, 1998.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)