On Scheduling in Distributed Transactional Memory: Techniques and Tradeoffs

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.

[1]  Philip A. Bernstein,et al.  Categories and Subject Descriptors: H.2.4 [Database Management]: Systems. , 2022 .

[2]  Kunle Olukotun,et al.  STAMP: Stanford Transactional Applications for Multi-Processing , 2008, 2008 IEEE International Symposium on Workload Characterization.

[3]  Ronald G. Dreslinski,et al.  Proactive transaction scheduling for contention management , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[4]  Danny Hendler,et al.  CAR-STM: scheduling-based collision avoidance and resolution for software transactional memory , 2008, PODC '08.

[5]  Annette Bieniusa,et al.  Consistency in hindsight: A fully decentralized STM algorithm , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[6]  Fernando Pedone,et al.  P-Store: Genuine Partial Replication in Wide Area Networks , 2010, 2010 29th IEEE Symposium on Reliable Distributed Systems.

[7]  A BernsteinPhilip,et al.  Multiversion concurrency controltheory and algorithms , 1983 .

[8]  Nir Shavit,et al.  Transactional Locking II , 2006, DISC.

[9]  Mikel Luján,et al.  DiSTM: A Software Transactional Memory Framework for Clusters , 2008, 2008 37th International Conference on Parallel Processing.

[10]  Binoy Ravindran,et al.  Scheduling Transactions in Replicated Distributed Software Transactional Memory , 2013, 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing.

[11]  Binoy Ravindran,et al.  Transactional Forwarding: Supporting Highly-Concurrent STM in Asynchronous Distributed Systems , 2012, 2012 IEEE 24th International Symposium on Computer Architecture and High Performance Computing.

[12]  Ye Sun,et al.  Distributed Transactional Memory for Metric-Space Networks , 2005, DISC.

[13]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[14]  Maurice Herlihy,et al.  The Arrow Distributed Directory Protocol , 1998, DISC.

[15]  Luís E. T. Rodrigues,et al.  D2STM: Dependable Distributed Software Transactional Memory , 2009, 2009 15th IEEE Pacific Rim International Symposium on Dependable Computing.

[16]  Bradford L. Chamberlain,et al.  Software transactional memory for large scale clusters , 2008, PPoPP.

[17]  Hagit Attiya,et al.  Transactional Scheduling for Read-Dominated Workloads , 2009, OPODIS.

[18]  Luís E. T. Rodrigues,et al.  A Generic Framework for Replicated Software Transactional Memories , 2011, 2011 IEEE 10th International Symposium on Network Computing and Applications.

[19]  Binoy Ravindran,et al.  Scheduling Closed-Nested Transactions in Distributed Transactional Memory , 2012, IPDPS.

[20]  Daniel J. Rosenkrantz,et al.  An analysis of several heuristics for the traveling salesman problem , 2013, Fundamental Problems in Computing.

[21]  Hsien-Hsin S. Lee,et al.  Adaptive transaction scheduling for transactional memory systems , 2008, SPAA '08.

[22]  Binoy Ravindran,et al.  On Transactional Scheduling in Distributed Transactional Memory Systems , 2010, SSS.

[23]  Jan Vitek,et al.  STMBench7: a benchmark for software transactional memory , 2007, EuroSys '07.