12
1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

Embed Size (px)

DESCRIPTION

3/12 Clusters – The Plurix project DSM with transactional consistency = DTM Data exchange between nodes through DTM not through message passing Almost everything stored in the DTM  Application data and code  Including kernel and drivers data and code (except driver buffers)  Smart buffers for device access within transactions Distributed Transactional Memory for Clusters Transactional Distributed Shared Memory

Citation preview

Page 1: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

1/12

Distributed TransactionalMemory for Clusters and Grids

EuroTM, Paris, May 20th, 2011

Michael Schöttner

Page 2: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

2/12Clu

ster

s

Plurix project (1996-2004) at Ulm University with Prof. Peter Schulthess

http://www.plurix.de

Distributed Operating System for PC-based clusters

Language-based approach using Java Everything (including kernel and drivers) written in Java

Distributed Transactional Memory for ClustersThe Plurix Operating System

Page 3: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

3/12Clu

ster

s –

The

Plu

rix p

roje

ct

DSM with transactional consistency = DTM

Data exchange between nodes

through DTM not through message passing

Almost everything stored in the DTM Application data and code

Including kernel and drivers data and code (except driver buffers)

Smart buffers for device access within transactions

Distributed Transactional Memory for ClustersTransactional Distributed Shared Memory

Page 4: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

4/12Clu

ster

s –

The

Plu

rix p

roje

ct

MMU-based memory access detection Automatic shadow copy creation

Restartable transaction with optimistic synchronization First wins strategy

Serializazion implemented by a token

Write sets send to other nodes forward validation

Commit numbers stored in token used to

recover from missed commits

Distributed Transactional Memory for ClustersTransactional Distributed Shared Memory

Page 5: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

5/12Clu

ster

s –

The

Plu

rix p

roje

ct

Event-driven architecture

implicit transactions Programs provide commands

Users execute commands

System automatically

inserts BOT and EOT

Explicit transactions For parallel computations

Reduce conflict probability

Distributed Transactional Memory for ClustersProgramming Model

My_Tool_Text

PraesentationDuesseldorf.Open Sources.DisplayDir RayTracer.Configure 16 SpaceStation.Rotate 180 *.edit *.run *.compile . . .

Invoke

Page 6: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

6/12Grid

s

XtreemOS Project (2006-2010)

EU FP6 project

Linux-based Operating System for grids

Object Sharing Service Includes a DTM

Implemented in C (shared library)

Objective: Simplify distributed state management

Distributed Transactional Memory for GridsObject Sharing Service

Page 7: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

7/12Grid

s –

Obj

ect S

harin

g S

ervi

ce

Replica management Shared objects are automatically replicated

Update vs invalidate (adaptive approach)

Consistency management Supporting different consistency models

Including a distributed transactional memory

Distributed Transactional Memory for GridsObject Sharing Service

Page 8: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

8/12Grid

s –

Obj

ect S

harin

g S

ervi

ce

Shared objects explicitly allocated (PGAS-model)

Speculative transactions defined by the programmer

MMU-based access detection

(millipages avoiding false conflicts)

Deferred abort when in transaction-unsafe code

Distributed Transactional Memory for GridsProgramming model

Page 9: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

9/12Grid

s –

Obj

ect S

harin

g S

ervi

ce

P2P-based commit protocol Using a token, first wins strategy & forward validation

but optimized by request queue and holder prediction

Coordinated commit protocol Backward validation on coordinator

Combined with forward validation on clients

Super-peer-based commit protocol Allowing group-local commits,

If data is not replicated outside groups

Distributed Transactional Memory for GridsCommit protocols

Page 10: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

10/12Clu

ster

s an

d gr

ids

Evaluation performed on clusters and grids Up to 128 nodes on the Grid‘5000 platform

Parallel benchmarks (SOR, ray tracing, pi, ...)

MMVE: Wissenheim http://www.wissenheim.de

Unfortunately, conflicts are not seldom Requires programer to reason about access patterns,

transaction boundaries, local and shared data, ...

False conflicts Reduce conflict unit size bulk network transfers

Distributed Transactional Memory for Clusters and GridsLessons learned

Page 11: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

11/12Clo

uds

Even if there are no conflicts we have the commit overhead Local commits help (partially)

Difficult to adapt existing applications/algorithms

It is easier to write new transactional apps but ...

Non-transparent optimizations, e.g. allowing to read old

versions make development harder

Same story as for consistency models in DSM systems?

Distributed Transactional Memory for CloudsLessons learned

Page 12: 1/12 Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner

12/12Clo

uds

DTM useful for distributed applications running

in data centers where strong consistency is required

Server-based MMVEs

Extended MapReduce applications

Transactional caches for Web applications

(see CloudTM, TxCache, CumuloNimbo)

Distributed Transactional Memory for CloudsDTM perspectives for cloud applications