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

Slides:



Advertisements
Similar presentations
Technology from seed Cloud-TM: A distributed transactional memory platform for the Cloud Paolo Romano INESC ID Lisbon, Portugal 1st Plenary EuroTM Meeting,
Advertisements

Relaxed Consistency Models. Outline Lazy Release Consistency TreadMarks DSM system.
Exploiting Distributed Version Concurrency in a Transactional Memory Cluster Kaloian Manassiev, Madalin Mihailescu and Cristiana Amza University of Toronto,
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
The Multikernel: A new OS architecture for scalable multicore systems Andrew Baumann et al CS530 Graduate Operating System Presented by.
November 1, 2005Sebastian Niezgoda TreadMarks Sebastian Niezgoda.
Distributed Processing, Client/Server, and Clusters
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
1 I/O Management in Representative Operating Systems.
4/25/ Application Server Issues for the Project CSEP 545 Transaction Processing for E-Commerce Philip A. Bernstein Copyright ©2003 Philip A. Bernstein.
Distributed DBMSPage © 1998 M. Tamer Özsu & Patrick Valduriez Outline Introduction Background Distributed DBMS Architecture Distributed Database.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
AN OPTIMISTIC CONCURRENCY CONTROL ALGORITHM FOR MOBILE AD-HOC NETWORK DATABASES Brendan Walker.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
Distributed Shared Memory Systems and Programming
Distributed Shared Memory: A Survey of Issues and Algorithms B,. Nitzberg and V. Lo University of Oregon.
MapReduce: Simplified Data Processing on Large Clusters Jeffrey Dean and Sanjay Ghemawat.
1 Moshe Shadmon ScaleDB Scaling MySQL in the Cloud.
Peer-to-Peer Distributed Shared Memory? Gabriel Antoniu, Luc Bougé, Mathieu Jan IRISA / INRIA & ENS Cachan/Bretagne France Dagstuhl seminar, October 2003.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
TECHNIQUES FOR REDUCING CONSISTENCY- RELATED COMMUNICATION IN DISTRIBUTED SHARED-MEMORY SYSTEMS J. B. Carter University of Utah J. K. Bennett and W. Zwaenepoel.
JuxMem: An Adaptive Supportive Platform for Data Sharing on the Grid Gabriel Antoniu, Luc Bougé, Mathieu Jan IRISA / INRIA & ENS Cachan, France Grid Data.
Preventive Replication in Database Cluster Esther Pacitti, Cedric Coulon, Patrick Valduriez, M. Tamer Özsu* LINA / INRIA – Atlas Group University of Nantes.
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
Databases Illuminated
Example: Rumor Performance Evaluation Andy Wang CIS 5930 Computer Systems Performance Analysis.
Ronny Krashinsky Erik Machnicki Software Cache Coherent Shared Memory under Split-C.
Geo-distributed Messaging with RabbitMQ
A Multiversion Update-Serializable Protocol for Genuine Partial Data Replication Sebastiano Peluso, Pedro Ruivo, Paolo Romano, Francesco Quaglia and Luís.
HADOOP DISTRIBUTED FILE SYSTEM HDFS Reliability Based on “The Hadoop Distributed File System” K. Shvachko et al., MSST 2010 Michael Tsitrin 26/05/13.
A N I N - MEMORY F RAMEWORK FOR E XTENDED M AP R EDUCE 2011 Third IEEE International Conference on Coud Computing Technology and Science.
1 March 17, 2006Zhiyi’s RSL VODCA: View-Oriented, Distributed, Cluster-based Approach to parallel computing Dr Zhiyi Huang Dept of Computer Science University.
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Next Generation of Apache Hadoop MapReduce Owen
CMSC 611: Advanced Computer Architecture Shared Memory Most slides adapted from David Patterson. Some from Mohomed Younis.
Region-Based Software Distributed Shared Memory Song Li, Yu Lin, and Michael Walker CS Operating Systems May 1, 2000.
6. Application Server Issues for the Project
A Parallel Communication Infrastructure for STAPL

TensorFlow– A system for large-scale machine learning
Introduction to Distributed Platforms
Minh, Trautmann, Chung, McDonald, Bronson, Casper, Kozyrakis, Olukotun
The University of Adelaide, School of Computer Science
The University of Adelaide, School of Computer Science
Task Scheduling for Multicore CPUs and NUMA Systems
MapReduce Computing Paradigm Basics Fall 2013 Elke A. Rundensteiner
Replication Middleware for Cloud Based Storage Service
The University of Adelaide, School of Computer Science
CMSC 611: Advanced Computer Architecture
Lecture 19: Transactional Memories III
The University of Adelaide, School of Computer Science
Chapter 2: System Structures
RELIABILITY.
Outline Midterm results summary Distributed file systems – continued
Shared Memory Programming
Outline Introduction Background Distributed DBMS Architecture
Chapter 2: Operating-System Structures
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
The University of Adelaide, School of Computer Science
Lecture 17 Multiprocessors and Thread-Level Parallelism
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Distributed Availability Groups
Distributed Resource Management: Distributed Shared Memory
Lecture 17 Multiprocessors and Thread-Level Parallelism
Chapter 2: Operating-System Structures
The University of Adelaide, School of Computer Science
Lecture 17 Multiprocessors and Thread-Level Parallelism
Presentation transcript:

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

2/12 Clusters Plurix project ( ) at Ulm University  with Prof. Peter Schulthess  Distributed Operating System for PC-based clusters Language-based approach using Java  Everything (including kernel and drivers) written in Java Distributed Transactional Memory for Clusters The Plurix Operating System

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

4/12 Clusters – The Plurix project 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 Clusters Transactional Distributed Shared Memory

5/12 Clusters – The Plurix project 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 Clusters Programming Model

6/12 Grids XtreemOS Project ( ) 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 Grids Object Sharing Service

7/12 Grids – Object Sharing Service 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 Grids Object Sharing Service

8/12 Grids – Object Sharing Service 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 Grids Programming model

9/12 Grids – Object Sharing Service 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 Grids Commit protocols

10/12 Clusters and grids Evaluation performed on clusters and grids  Up to 128 nodes on the Grid‘5000 platform  Parallel benchmarks (SOR, ray tracing, pi,...)  MMVE: Wissenheim  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 Grids Lessons learned

11/12 Clouds 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 Clouds Lessons learned

12/12 Clouds 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 Clouds DTM perspectives for cloud applications