We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byJacob Ballard
Modified over 2 years ago
Proposal (More) Flexible RMA Synchronization for MPI-3 Hubert Ritzdorf NEC–IT Research Division
© NEC Europe Ltd 2008 The Problem Process (I)Process J MPI_Puts MPI_Gets How can Process J decide that Process (I) has finished RMA transfer so that Process J can access/change the data ? and others Shared Memory: Atomic counters, ready flags, semaphores, … Its not necessarily defined, which process provides the data, decrements the counter, sets the flag, … MPI-2: Collective approach (Fence, Complete/Wait) on Windows The group has to be clear in advance; not very flexible New Proposal
© NEC Europe Ltd 2008 Idea Window: Large amount of (shared) memory Atomic counter (synchronization counters): To independently handle parts of the (shared) memory New MPI Type MPI_Sync: MPI Synchronization counter Special Allocate: MPI_Win_Sync_alloc_objects (n_sync, sync_counters, win, info) MPI_Win_Sync_free_objects (n_sync, sync_counters, win) to be performed by the owner of the window win
© NEC Europe Ltd 2008 Problem How to transfer the info on MPI_Sync counters Every process (in win comm) should be able to get access Access to counter may change in run-time Processes must have required info to ``attach to the counter Idea: New MPI Datatype MPI_Handle_sync Transfer data via MPI pt2pt and collectives Possible alternative : Create n_sync counters in MPI_Win_create Pro: User doesnt see them; Contra: libraries, less flexibility, scalability
© NEC Europe Ltd 2008 Usage MPI_Win_sync_ops_init (target_rank, sync_mode, sync_counter, win, info, req) Init wait for completion of RMA operations corresponding to sync_mode : Bit vector or of MPI_MODE_WIN_PUT, MPI_MODE_WIN_GET, MPI_MODE_WIN_ACCUMULATE increment/decrement counter sync_counter on process target_rank On processes which perform RMA operations
© NEC Europe Ltd 2008 Usage MPI_Win_sync_object_init (sync_counter, count, win, info, req) On process where counter is located Init wait for count completions (atomic increments) of requests created by MPI_Win_sync_ops_init Designed as persistent request for frequent re-use All possibilities of MPI Test/Wait functions Works on cache coherent and non cache coherent systems Can be implemented by pt2pt functions
© NEC Europe Ltd 2008 Example MPI_Win_sync_object_init (sync_counter, 8, win, info, req); MPI_Start (req) MPI_Win_sync_ops_init (target_rank MPI_MODE_PUT, sync_counter, win, info, req); MPI_Start (req) 8 neighboursTarget MPI_Put (target, …) MPI_Wait (req, …)
© NEC Europe Ltd 2008 Wait for completion of which RMA ops ? With current MPI-2 Interface: Wait for completion of all RMA requests since last synchronization Additional functions for MPI-3 interface (useful for threads and several synchronization counters) Add synchronization counter request to RMA functions for example: MPI_Iput (…, win, req), MPI_Iget (…, win, req), … Not really save programming style. Difficult for threads or several counters
© NEC Europe Ltd 2008 Window as Shared Memory More dynamic usage of window required (for example for dynamic process spawning) MPI_Win_change_comm (new_comm, peer_rank, win) Allow processes to join or leave an already existing window.
© NEC Europe Ltd 2008 Possible Extensions Synchronization counters == atomic counters Wait/Test that counter completed on remote node Change final counter value (increment, decrement) Automatic restart of request if final counter value is reached and test/wait function was executed
RMA Considerations for MPI-3.1 (or MPI-3 Errata).
RMA Working Group Update. Status Three proposals submitted over They will be discussed in the working group meeting on Wednesday,
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
1 Goal and MPI-3 rule To produce new versions of the MPI standard that better serves the needs of the parallel computing user community Additions to the.
Chapter 4 1 Threads Threads are a subdivision of processes Since there is less information associated with a thread than there is info associated with.
File Concept A file is a named collection of related information that is recorded on secondary storage. A file has a define structure, which we must know.
OS Organization Continued Andy Wang COP 5611 Advanced Operating Systems.
MPI Message Passing Interface. Outline Background Message Passing MPI Group and Context Communication Modes Blocking/Non-blocking Features Programming.
Höchstleistungsrechenzentrum Stuttgart MPI 2.1 Slide 1 MPI 2.1 at MPI Forum Chicago, March 10-12, 2008 Ballot 4 Rolf Rabenseifner
MPI-3 Persistent WG (Point-to-point Persistent Channels) February 8, 2011 Tony Skjellum, Coordinator MPI Forum.
Y. Chen 89 Mutexes: Mutually Exclusive Another mechanism to prevent simultaneous access to shared resources. Mutex myMutex = new Mutex();// lib class …
Cache & SpinLocks Udi & Haim. Agenda Caching background –Why do we need caching? –Caching in modern desktop. –Cache writing. –Cache coherence. –Cache.
MPI3 RMA William Gropp Rajeev Thakur. 2 MPI-3 RMA Presented an overview of some of the issues and constraints at last meeting Homework - read Bonachea's.
Operating Systems Semaphores II. Producer/Consumer Problem Consumer must wait for producer to fill buffers, if none full –(scheduling constraint) Producer.
Computer-System Structures Er.Harsimran Singh
Generalized Requests. The current definition They are defined in MPI 2 under the hood of the chapter 8 (External Interfaces) Page 166 line 16 The objective.
1 Computer Science, University of Warwick Distributed Shared Memory Distributed Shared Memory (DSM) Systems build the shared memory abstract on top of.
User Level Failure Mitigation Fault Tolerance Plenary December 2013, MPI Forum Meeting Chicago, IL USA.
Persistence Working Group More Performance, Predictability, Predictability June 16, 2010 Tony Skjellum, UAB.
MPI 2.2 William Gropp. 2 Scope of MPI 2.2 Small changes to the standard. A small change is defined as one that does not break existing correct MPI 2.0.
Multiprocessing and NUMA. What we sort of assumed so far… Northbridge connects CPU and memory to rest of system – Memory controller implemented in Northbridge.
What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals: Execute.
UNIT – IV VIRTUAL MEMORY MANAGEMENT Handled by K. Venkatesh & Razia Sultana.
Debugging Tools Towards better use of system tools to weed the nasty critters out of your programs.
CSCI 8150 Advanced Computer Architecture Hwang, Chapter 7 Multiprocessors and Multicomputers 7.2 Cache Coherence & Synchronization.
1 Symbian Client Server Architecture. 2 Client, who (a software module) needs service from service provider (another software module) Server, who provide.
Threads, SMP, and Microkernels Chapter 4 1. Process Resource ownership - process includes a virtual address space to hold the process image Scheduling/execution-
1 Copyright © 2010, Elsevier Inc. All rights Reserved Chapter 6 Parallel Program Development An Introduction to Parallel Programming Peter Pacheco.
Chapter 7: Deadlocks. The Deadlock Problem System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance.
Chapter 3 1 Process Description and Control Chapter 3.
© 2016 SlidePlayer.com Inc. All rights reserved.