impossibility results for distributed transactional memory
play

Impossibility Results for Distributed Transactional Memory Paper - PowerPoint PPT Presentation

Impossibility Results for Distributed Transactional Memory Paper Reading Group Costas Bunsch Maurice Herlihy Miroslav Popovic Gokarna Sharma Presents: Maksym Planeta 12.11.2015 Table of Contents Introduction Table of Contents


  1. Impossibility Results for Distributed Transactional Memory Paper Reading Group Costas Bunsch Maurice Herlihy Miroslav Popovic Gokarna Sharma Presents: Maksym Planeta 12.11.2015

  2. Table of Contents Introduction

  3. Table of Contents Introduction

  4. Distributed transctional memory ◮ Distributed system ◮ Set of objects ◮ Gather all objects

  5. Types of transactional memory ◮ Data-flow ◮ Control-flow ◮ Hybrid-flow

  6. System model ◮ Data-flow based implementation ◮ Network graph ◮ Instantaneous transaction ◮ Atomic receive-compute-send ◮ All delays are equal ◮ Single copies ◮ One transaction per node

  7. Transactions and objects b 2 3 c 1 4 a 5

  8. Several transactions on the same objects 2 3 c 1 ab 4 5

  9. Evaluated network 𝐶 1 𝐶 2 𝐶 3 𝐶 4 𝐶 1,2 𝐶 1,3 𝐶 1,4 𝐶 1,1 𝒑 𝟔 𝒑 𝟔 𝒑 𝟔 a 𝒓 𝟐,𝟑 𝒓 𝟐,𝟑 𝒓 𝟐,𝟑 𝒓 𝟐,𝟑 d d d d c b Figure 1: The graph G for the time-communication impossibility result, with a = c = 16, b = 64, d = 4, and γ = δ = 4. 211

  10. Transaction scheduling In this schedule the transactions in G execute sequentially, one after another, in a column by column way starting from the leftmost column of G up to the rightmost column. All transactions in column j finish execution before the transactions in column j + 1 start execution.

  11. Communication costs For a set of transactions T in graph G, the communication cost of an execution E is the sum of the traversed path lengths of all messages sent during E . The communication cost of scheduling algorithm A is the maximum communication cost over all possible executions for T

  12. Execution time For a set of transactions T in graph G , the time of an execution E is the time elapsed until the last transaction finishes its execution in E . The execution time of scheduling algorithm A is the maximum time over all possible executions for T .

  13. Impossibility Result in this instance it is impossible to simultaneously optimize execution time and communication cost If one optimizes for lower communication costs, one pays with higher execution time. And vice versa.

  14. Positive result We give algorithms which minimize independently the communication cost or execution time in an arbitrary graph G.

  15. Small communication costs The problem of minimizing the communication cost is NP-hard, by a reduction from graph TSP. Given a graph G, we can approximate the optimal communication cost using a universal TSP tour.

  16. Small execution time We will reduce the vertex coloring problem to this problem. The coloring problem aims at finding the chromatic number χ ( H ) of a graph H, and it is an NP-hard problem.

  17. Small execution time algorithm We construct G to be isomorphic with H such that each edge in G has weight 1.

  18. Small execution time algorithm We construct G to be isomorphic with H such that each edge in G has weight 1. Each node in G holds a transaction.

  19. Small execution time algorithm We construct G to be isomorphic with H such that each edge in G has weight 1. Each node in G holds a For each edge ǫ = ( u , v ) in H we create a transaction. new object in G to be used only by the respective transactions in the adjacent nodes in G.

  20. Small execution time algorithm We construct G to be isomorphic with H such that each edge in G has weight 1. Each node in G holds a For each edge ǫ = ( u , v ) in H we create a transaction. new object in G to be used only by the respective transactions in the adjacent nodes in G. Objects can be initially placed in any of the nodes with transactions that request them.

  21. Small execution time algorithm We construct G to be isomorphic with H such that each edge in G has weight 1. Each node in G holds a For each edge ǫ = ( u , v ) in H we create a transaction. new object in G to be used only by the respective transactions in the adjacent nodes in G. Objects can be initially placed in any of the nodes with transactions that request them. Given a transaction execution schedule in G, we can find a valid vertex coloring in H by simply converting the time step that each transaction executes to a color.

  22. Small execution time algorithm We construct G to be isomorphic with H such that each edge in G has weight 1. Each node in G holds a For each edge ǫ = ( u , v ) in H we create a transaction. new object in G to be used only by the respective transactions in the adjacent nodes in G. Objects can be initially placed in any of the nodes with transactions that request them. Given a transaction execution schedule in G, we can find a valid vertex coloring in H by simply converting the time step that each transaction executes to a color. Therefore, an execution schedule in G has duration χ time steps if and only if H has a valid coloring with χ colors.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend