Implementation of Page Management in Mome, a User-Level DSM Yvon Jégou Paris Project, IRISA/INRIA FRANCE.

Slides:



Advertisements
Similar presentations
The Effect of Network Total Order, Broadcast, and Remote-Write on Network- Based Shared Memory Computing Robert Stets, Sandhya Dwarkadas, Leonidas Kontothanassis,
Advertisements

More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Piccolo: Building fast distributed programs with partitioned tables Russell Power Jinyang Li New York University.
Relaxed Consistency Models. Outline Lazy Release Consistency TreadMarks DSM system.
Multiple-Writer Distributed Memory. The Sequential Consistency Memory Model P1P2 P3 switch randomly set after each memory op ensures some serial order.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
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
November 1, 2005Sebastian Niezgoda TreadMarks Sebastian Niezgoda.
Piccolo – Paper Discussion Big Data Reading Group 9/20/2010.
Distributed Operating Systems CS551 Colorado State University at Lockheed-Martin Lecture 4 -- Spring 2001.
Scheduler Activations Effective Kernel Support for the User-Level Management of Parallelism.
Distributed Resource Management: Distributed Shared Memory
Threads Chapter 4. Modern Process & Thread –Process is an infrastructure in which execution takes place  (address space + resources) –Thread is a program.
The Mach System "Operating Systems Concepts, Sixth Edition" by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne Presentation by Jonathan Walpole.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Shared Memory.
Replay Debugging for Distributed Systems Dennis Geels, Gautam Altekar, Ion Stoica, Scott Shenker.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Self Adaptivity in Grid Computing Reporter : Po - Jen Lo Sathish S. Vadhiyar and Jack J. Dongarra.
Distributed Shared Memory Systems and Programming
JuxMem: An Adaptive Supportive Platform for Data Sharing on the Grid Gabriel Antoniu, Luc Bougé, Mathieu Jan IRISA / INRIA & ENS Cachan, France Workshop.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
TreadMarks Distributed Shared Memory on Standard Workstations and Operating Systems Pete Keleher, Alan Cox, Sandhya Dwarkadas, Willy Zwaenepoel.
Distributed Shared Memory: A Survey of Issues and Algorithms B,. Nitzberg and V. Lo University of Oregon.
Distributed Shared Memory (DSM)
Lazy Release Consistency for Software Distributed Shared Memory Pete Keleher Alan L. Cox Willy Z.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Tekin Bicer Gagan Agrawal 1.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
 2004 Deitel & Associates, Inc. All rights reserved. 1 Chapter 4 – Thread Concepts Outline 4.1 Introduction 4.2Definition of Thread 4.3Motivation for.
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Seungweon Park.
TECHNIQUES FOR REDUCING CONSISTENCY- RELATED COMMUNICATION IN DISTRIBUTED SHARED-MEMORY SYSTEMS J. B. Carter University of Utah J. K. Bennett and W. Zwaenepoel.
1 Lecture 12: Hardware/Software Trade-Offs Topics: COMA, Software Virtual Memory.
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
Cache Coherence Protocols 1 Cache Coherence Protocols in Shared Memory Multiprocessors Mehmet Şenvar.
Distributed Shared Memory Presentation by Deepthi Reddy.
A summary by Nick Rayner for PSU CS533, Spring 2006
Distributed Shared Memory (part 1). Distributed Shared Memory (DSM) mem0 proc0 mem1 proc1 mem2 proc2 memN procN network... shared memory.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
The Performance of μ-Kernel-Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presenter: Sunita Marathe.
Implementation and Performance of Munin (Distributed Shared Memory System) Dongying Li Department of Electrical and Computer Engineering University of.
DISTRIBUTED COMPUTING
Page 1 Distributed Shared Memory Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
Design Issues of Prefetching Strategies for Heterogeneous Software DSM Author :Ssu-Hsuan Lu, Chien-Lung Chou, Kuang-Jui Wang, Hsiao-Hsi Wang, and Kuan-Ching.
Processes and Virtual Memory
The Mach System Silberschatz et al Presented By Anjana Venkat.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Processes and Threads.
Making a DSM Consistency Protocol Hierarchy-Aware: An Efficient Synchronization Scheme Gabriel Antoniu, Luc Bougé, Sébastien Lacour IRISA / INRIA & ENS.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
OpenMP for Networks of SMPs Y. Charlie Hu, Honghui Lu, Alan L. Cox, Willy Zwaenepoel ECE1747 – Parallel Programming Vicky Tsang.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
An Asymmetric Distributed Shared Memory Model for Heterogeneous Parallel Systems Isaac Gelado, Javier Cabezas. John Stone, Sanjay Patel, Nacho Navarro.
The University of Adelaide, School of Computer Science
Processes Chapter 3. Processes in Distributed Systems Processes and threads –Introduction to threads –Distinction between threads and processes Threads.
Implementation and Performance of Munin (Distributed Shared Memory System) Dongying Li Department of Electrical and Computer Engineering University of.
1 Chapter 5: Threads Overview Multithreading Models & Issues Read Chapter 5 pages
TensorFlow– A system for large-scale machine learning
The University of Adelaide, School of Computer Science
Review.
Introduction to Operating Systems
The University of Adelaide, School of Computer Science
Outline Midterm results summary Distributed file systems – continued
Distributed Shared Memory
Implementing an OpenMP Execution Environment on InfiniBand Clusters
The University of Adelaide, School of Computer Science
Distributed Resource Management: Distributed Shared Memory
The University of Adelaide, School of Computer Science
An Implementation of User-level Distributed Shared Memory
Presentation transcript:

Implementation of Page Management in Mome, a User-Level DSM Yvon Jégou Paris Project, IRISA/INRIA FRANCE

Overview Mome memory model Consistency management Multiple writers Node page management

Run-time systems for parallel languages Object-sharing between parallel programs Parallel code coupling Persistent data repository Checkpointing Background

Mome memory model Posix memory model Posix mmap Mome MomeMMap single node multiple nodes Process 1 Process 2 Mome space

Mome memory model Process 1 Process 2 Mome space

F77 common block sharing double precision tab(n,m) common /arrays/tab.. call MomeMMap(tab(1,1), sz(tab), WRITE, FIXED, seg1, 0).. tab(i, j)= … …= tab(k, l)…

Mome page management Directory-based –Directory records status of page in each node –No page home (asynchronous) directory migration or redistribution

Mome page consistency call MomeConsistency(tab(1,1),sz(tab),STRONG) Each process selects the consistency model at page level –Strong consistency model –Release consistency model (under development) –Weak consistency model Weak consistency: pages made consistent only on explicit request –Example: integrate all writes before last barrier

Weak consistency management Based on a scalar (Lamport) distributed clock –Page manager: valid-before date –Each node: Valid-before date Consistency-constraint date Consistency request: updates the consistency- constraint date –Example: date of last barrier call MomeSyncMem(tab(1,j), n, lastbarrierdate())

Weak consistency management Valid-before < Consistency-constraint –Accesses to page are invalidated –Access: page fault Page fault: request sent to manager –Manager: new Valid-before date –Manager: new version of page Clock: shifted on –Synchronization requests –Program request

Consistency management All requests from node to manager contain (date, contract) –Contract: consistency model in use during request As long as the page is valid on the node, the manager guarantees the last contract –Strong: no other writers –Release: no other writer before last synchronization –Weak consistency: no restriction Manager invalidates the page if the contract cannot be graranteed anymore

Multiple consistency modes Consistency at (page/node) level –Heterogeneous application on same DSM –Code coupling (application/coupling library) Code optimization: optimized code in weak consistency No global synchronization for consistency management

Multiple writers in Mome Mome favors the single writer case (most frequent case) –No twin on the first writer Twinning requested on second writer Merging modifications: when some consistency request is not satisfied –Modified pages sent to one node with twin –Result: exclusive OR of modified pages and twin –It is possible to send diffs

Multiple mappings The same page can be mapped multiple time on the same node –By the same process (synchronous) –By different processes of the same node (asynchronous): persistent data repository –By a distant process (no shared memory) Hierarchical DSM (work in progress) Experimented on Mach micro-kernel

Internal node page management On each node: Mome memory is mapped on the DSM file (temp file) Application pages made accessible through aliasing on Mome memory (temp file mmap ) Mome Memory DSM file

Internal node page management Mome Memory DSM file Application space

Internal node page management Page fault: page made available in Mome memory Mome Memory DSM file Application space

Internal node page management Page fault:application page is aliased with page in Mome memory Mome Memory DSM file Application space

Internal node page management Application process can read/write the page Mome Memory DSM file Application space mmap

DSM memory management Each page: reference counter –Mapping references –Communication layer references –Copy-on-write (refcount 1) Free page list DSM memory management thread –Free unused pages –Distant page-out (swapping)

Conclusion Same DSM kernel for –Parallel run-time library (HPF, OpenMP…) OpenMP: all shared / explicit sharing –Library for code coupling –Persistent data repository Close to a well-known memory model (Posix) Coupling OpenMP programs

DSM-based run-time systems for parallel languages Run-time library for F77+explicit parallel loops HPF (SPMD execution model) On-going work on OpenMP – all shared – explicitly shared

Object sharing Two parallel applications running on the same DSM Independent adress-spaces D S M Application 1 Application 2

Dynamic coupling between clusters Application 1Application 2

Dynamic coupling Application 1Application 2

Dynamic coupling Application 1Application 2 Communication threads

Persistent data repository DSM-based data repository

Persistent data repository DSM-based data repository Application 1

Persistent data repository DSM-based data repository Application 2 Checkpointing of DSM repository