Fast Scheduling in Distributed Transactional Memory

We investigate scheduling algorithms for distributed transactional memory systems where transactions residing at nodes of a communication graph operate on shared, mobile objects. A transaction requests the objects it needs, executes once those objects have been assembled, and then possibly forwards those objects to other waiting transactions. Minimizing execution time in this model is known to be NP-hard for arbitrary communication graphs, and also hard to approximate within any factor smaller than the size of the graph. Nevertheless, networks on chips, multi-core systems, and clusters are not arbitrary. Here, we explore efficient execution schedules in specialized graphs likely to arise in practice: Clique, Line, Grid, Cluster, Hypercube, Butterfly, and Star. In most cases, when individual transactions request k objects, we obtain solutions close to a factor O ( k ) from optimal, yielding near-optimal solutions for constant k . These execution times approximate the TSP tour lengths of the objects in the graph. We show that for general networks, even for two objects ( k = 2), it is impossible to obtain execution time close to the objects’ optimal TSP tour lengths, which is why it is useful to consider more realistic network models. To our knowledge, this is the first attempt to obtain provably fast schedules for distributed transactional memory.

[1]  Henri Casanova,et al.  Parallel Algorithms , 2019, Design and Analysis of Algorithms.

[2]  Jie Wu,et al.  Towards the Tradeoffs in Designing Data Center Network Architectures , 2017, IEEE Transactions on Parallel and Distributed Systems.

[3]  Hitesh Ballani,et al.  R2C2: A Network Stack for Rack-scale Computers , 2015, Comput. Commun. Rev..

[4]  Maurice Herlihy,et al.  Impossibility Results for Distributed Transactional Memory , 2015, PODC.

[5]  Quantitative comparison of hardware transactional memory for Blue Gene/Q, zEnterprise EC12, Intel Core, and POWER8 , 2015 .

[6]  Maged M. Michael,et al.  Quantitative comparison of Hardware Transactional Memory for Blue Gene/Q, zEnterprise EC12, Intel Core, and POWER8 , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[7]  Lukasz Orlowski,et al.  Creating interconnect topologies by algorithmic edge removal: MOD and SMOD graphs , 2015, Supercomput. Front. Innov..

[8]  Roberto Palmieri,et al.  Transaction Execution Models in Partially Replicated Transactional Memory: The Case for Data-Flow and Control-Flow , 2015, Transactional Memory.

[9]  Roberto Palmieri,et al.  Distributed Transactional Contention Management as the Traveling Salesman Problem , 2014, SIROCCO.

[10]  Roberto Palmieri,et al.  On speculative replication of transactional systems , 2014, J. Comput. Syst. Sci..

[11]  Danny Hendler,et al.  Exploiting Locality in Lease-Based Replicated Transactional Memory via Task Migration , 2013, DISC.

[12]  Maged M. Michael,et al.  Robust architectural support for transactional memory in the power architecture , 2013, ISCA.

[13]  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.

[14]  IBM Blue Gene team,et al.  Design of the IBM Blue Gene/Q Compute chip , 2013, IBM J. Res. Dev..

[15]  Murali Annavaram,et al.  Parallel Computer Organization and Design , 2012 .

[16]  Luís E. T. Rodrigues,et al.  When Scalability Meets Consistency: Genuine Multiversion Update-Serializable Partial Data Replication , 2012, 2012 IEEE 32nd International Conference on Distributed Computing Systems.

[17]  Gokarna Sharma,et al.  Distributed transactional memory for general networks , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[18]  Michael Gschwind,et al.  The IBM Blue Gene/Q Compute Chip , 2012, IEEE Micro.

[19]  Gokarna Sharma,et al.  Window-based greedy contention management for transactional memory: theory and practice , 2012, Distributed Computing.

[20]  Andrew Brownsword,et al.  Hardware transactional memory for GPU architectures , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[21]  Binoy Ravindran,et al.  Snake: Control Flow Distributed Software Transactional Memory , 2011, SSS.

[22]  Gokarna Sharma,et al.  A Competitive Analysis for Balanced Transactional Memory Workloads , 2010, Algorithmica.

[23]  Håkan Grahn,et al.  Transactional memory , 2010, J. Parallel Distributed Comput..

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

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

[26]  Rachid Guerraoui,et al.  Preventing versus curing: avoiding conflicts in transactional memories , 2009, PODC '09.

[27]  Hagit Attiya,et al.  Transactional Contention Management as a Non-Clairvoyant Scheduling Problem , 2010, Algorithmica.

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

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

[30]  Nikil Dutt,et al.  On-Chip Communication Architectures: System on Chip Interconnect , 2008 .

[31]  Ye Sun,et al.  Distributed transactional memory for metric-space networks , 2005, Distributed Computing.

[32]  Madalin Mihailescu,et al.  Exploiting distributed version concurrency in a transactional memory cluster , 2006, PPoPP '06.

[33]  William N. Scherer,et al.  Advanced contention management for dynamic software transactional memory , 2005, PODC '05.

[34]  Rachid Guerraoui,et al.  Toward a theory of transactional contention managers , 2005, PODC '05.

[35]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.

[36]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[37]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .

[38]  M. Y. Chan,et al.  Embedding of d-dimensional grids into optimal hypercubes , 1989, SPAA '89.