120 likes | 238 Views
Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner. Distributed Transactional Memory for Clusters The Plurix Operating System. Plurix project (1996-2004) at Ulm University with Prof. Peter Schulthess http:// www.plurix.de
E N D
Distributed Transactional Memory for Clusters and Grids EuroTM, Paris, May 20th, 2011 Michael Schöttner
Distributed Transactional Memory for Clusters The Plurix Operating System • Plurixproject (1996-2004) at Ulm University • with Prof. Peter Schulthess • http://www.plurix.de • Distributed Operating System for PC-basedclusters • Language-basedapproachusing Java • Everything (includingkernelanddrivers) written in Java Clusters
Distributed Transactional Memory for Clusters Transactional Distributed Shared Memory • DSM withtransactionalconsistency = DTM • Data exchangebetweennodesthrough DTM not throughmessagepassing • Almosteverythingstored in the DTM • Applicationdataandcode • Includingkernelanddriversdataandcode (exceptdriverbuffers) • Smart buffersfordeviceaccesswithintransactions Clusters – The Plurix project
Distributed Transactional Memory for Clusters Transactional Distributed Shared Memory • MMU-basedmemoryaccessdetection • Automaticshadowcopycreation • Restartabletransactionwithoptimisticsynchronization • First winsstrategy • Serializazionimplementedby a token • Write sets send toothernodes forwardvalidation • Commit numbersstored in tokenusedtorecoverfrommissedcommits Clusters – The Plurix project
Distributed Transactional Memory for Clusters Programming Model • Event-drivenarchitecture implicittransactions • Programsprovidecommands • Users executecommands • System automaticallyinserts BOT and EOT • Explicit transactions • For parallel computations • Reduceconflictprobability Clusters – The Plurix project
Distributed Transactional Memory forGrids Object Sharing Service • XtreemOS Project (2006-2010) EU FP6 project • Linux-based Operating System forgrids • Object Sharing Service • Includes a DTM • Implemented in C (sharedlibrary) • Objective: Simplifydistributedstatemanagement Grids
Distributed Transactional Memory forGrids Object Sharing Service • Replicamanagement • Sharedobjectsareautomaticallyreplicated • Update vsinvalidate (adaptive approach) • Consistencymanagement • Supporting different consistencymodels • Including a distributedtransactionalmemory Grids – Object Sharing Service
Distributed Transactional Memory forGrids Programmingmodel • Sharedobjectsexplicitlyallocated (PGAS-model) • Speculativetransactionsdefinedbytheprogrammer • MMU-basedaccessdetection(millipagesavoidingfalseconflicts) • Deferredabortwhen in transaction-unsafecode Grids – Object Sharing Service
Distributed Transactional Memory forGrids Commit protocols • P2P-based commitprotocol • Using a token, firstwinsstrategy & forwardvalidation • but optimizedbyrequestqueueand holder prediction • Coordinatedcommitprotocol • Backwardvalidation on coordinator • Combinedwithforwardvalidation on clients • Super-peer-basedcommitprotocol • Allowinggroup-localcommits, • Ifdatais not replicated outside groups Grids – Object Sharing Service
Distributed Transactional Memory for Clusters andGrids Lessonslearned • 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 Clusters andgrids
Distributed Transactional Memory forClouds Lessonslearned • Even iftherearenoconflictswehavethecommitoverhead • Localcommitshelp (partially) • Difficulttoadaptexistingapplications/algorithms • Itiseasiertowritenewtransactionalapps but ... • Non-transparent optimizations, e.g. allowingtoreadoldversionsmakedevelopmentharder Same storyasforconsistencymodels in DSM systems? Clouds
Distributed Transactional Memory forClouds DTM perspectivesforcloudapplications • DTM usefulfordistributedapplicationsrunningin datacenterswhere strong consistencyisrequired • Server-basedMMVEs • Extended MapReduceapplications • Transactionalcachesfor Web applications(seeCloudTM, TxCache, CumuloNimbo) Clouds