Impossibility Results for Distributed Transactional Memory Paper - - PowerPoint PPT Presentation

impossibility results for distributed transactional memory
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Impossibility Results for Distributed Transactional Memory

Paper Reading Group Costas Bunsch Maurice Herlihy Miroslav Popovic Gokarna Sharma Presents: Maksym Planeta 12.11.2015

slide-2
SLIDE 2

Table of Contents

Introduction

slide-3
SLIDE 3

Table of Contents

Introduction

slide-4
SLIDE 4

Distributed transctional memory

◮ Distributed system ◮ Set of objects ◮ Gather all objects

slide-5
SLIDE 5

Types of transactional memory

◮ Data-flow ◮ Control-flow ◮ Hybrid-flow

slide-6
SLIDE 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

slide-7
SLIDE 7

Transactions and objects

1 2 3 4 5 a b c

slide-8
SLIDE 8

Several transactions on the same objects

1 2 3 4 5 ab c

slide-9
SLIDE 9

Evaluated network

a c 𝐶1,1 𝐶1 𝒑𝟔 𝒑𝟔 𝒑𝟔 𝒓𝟐,𝟑 d d d d 𝐶1,2 𝐶1,3 𝐶1,4 𝒓𝟐,𝟑 𝒓𝟐,𝟑 𝒓𝟐,𝟑 𝐶2 𝐶3 𝐶4 b

Figure 1: The graph G for the time-communication impossibility result, with a = c = 16, b = 64, d = 4, and γ = δ = 4. 211

slide-10
SLIDE 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.

slide-11
SLIDE 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

slide-12
SLIDE 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 .

slide-13
SLIDE 13

Impossibility Result

in this instance it is impossible to simultaneously

  • ptimize execution time and communication cost

If one optimizes for lower communication costs, one pays with higher execution time. And vice versa.

slide-14
SLIDE 14

Positive result

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

slide-15
SLIDE 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.

slide-16
SLIDE 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.

slide-17
SLIDE 17

Small execution time algorithm

We construct G to be isomorphic with H such that each edge in G has weight 1.

slide-18
SLIDE 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.

slide-19
SLIDE 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 transaction. For each edge ǫ = (u, v) in H we create a new object in G to be used only by the respective transactions in the adjacent nodes in G.

slide-20
SLIDE 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 transaction. For each edge ǫ = (u, v) in H we create a 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.

slide-21
SLIDE 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 transaction. For each edge ǫ = (u, v) in H we create a 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.

slide-22
SLIDE 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 transaction. For each edge ǫ = (u, v) in H we create a 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.