TY - JOUR

T1 - Fast Scheduling in Distributed Transactional Memory

AU - Busch, Costas

AU - Herlihy, Maurice

AU - Popovic, Miroslav

AU - Sharma, Gokarna

N1 - Funding Information:
This work is supported by the National Science Foundation grants 1320835, 1420673, and 1936450 and partly supported by the Serbian Ministry of Education & Science, through grants No. III 44009, and TR 32031.

PY - 2020

Y1 - 2020

N2 - 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.

AB - 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.

KW - Approximation

KW - Contention

KW - Data-flow model

KW - Distributed systems

KW - Execution time

KW - Scheduling

KW - Transactional memory

UR - http://www.scopus.com/inward/record.url?scp=85093958200&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85093958200&partnerID=8YFLogxK

U2 - 10.1007/s00224-020-10008-7

DO - 10.1007/s00224-020-10008-7

M3 - Article

AN - SCOPUS:85093958200

JO - Theory of Computing Systems

JF - Theory of Computing Systems

SN - 1432-4350

ER -