ORNLKohl/2000-1 Mux and MxN: A Revelation… (a.k.a. “Collective” is Dead? :-o) James Arthur Kohl David E. Bernholdt Oak Ridge National Laboratory Thursday,

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

Database Architectures and the Web
OO Crash Course NVCFUG March 2015 Presented by Denard Springle.
A DAPT IST Replication Framework: Progress Report Vance Maverick University of Bologna Dec. 11, 2003.
Remote Object Invocation
Reference: Message Passing Fundamentals.
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
Persistent State Service 1 Performance, Scalability and Management  Topic  Refining the object model  Threading models  Distributed callbacks  Iterators.
CS533 Concepts of Operating Systems Class 6 The Duality of Threads and Events.
Scheduler Activations Effective Kernel Support for the User-Level Management of Parallelism.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
1 Optimizing Utility in Cloud Computing through Autonomic Workload Execution Reporter : Lin Kelly Date : 2010/11/24.
Multithreading in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Multithreading.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
Center for Component Technology for Terascale Simulation Software 122 June 2002Workshop on Performance Optimization via High Level Languages and Libraries.
A Hybrid Decomposition Scheme for Building Scientific Workflows Wei Lu Indiana University.
1 Designing a Data Exchange - Best Practices Data Exchange Scenarios –Sender vs. Receiver-initiated exchanges –Node Design Best Practices: –Handling Large.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
1 CCA Meeting, Januray 25th 2007 Supporting the Master-Worker Paradigm in the Common Component Architecture Hinde Lilia Bouziane, Christian Pérez, Thierry.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Support for Debugging Automatically Parallelized Programs Robert Hood Gabriele Jost CSC/MRJ Technology Solutions NASA.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
Presented by An Overview of the Common Component Architecture (CCA) The CCA Forum and the Center for Technology for Advanced Scientific Component Software.
1 Threads Chapter 11 from the book: Inter-process Communications in Linux: The Nooks & Crannies by John Shapley Gray Publisher: Prentice Hall Pub Date:
Tammy Dahlgren, Tom Epperly, Scott Kohn, & Gary Kumfert.
CS333 Intro to Operating Systems Jonathan Walpole.
Copyright 2006 Oxford Consulting, Ltd1 February Polymorphism Polymorphism Polymorphism is a major strength of an object centered paradigm Same.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Multithreading in Java Sameer Singh Chauhan Lecturer, I. T. Dept., SVIT, Vasad.
Update on CORBA Support for Babel RMI Nanbor Wang and Roopa Pundaleeka Tech-X Corporation Boulder, CO Funded by DOE OASCR SBIR.
ARCH-11: Building your Presentation with Classes John Sadd Fellow and OpenEdge Evangelist Sasha Kraljevic Principal TSE.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING | SCHOOL OF COMPUTER SCIENCE | GEORGIA INSTITUTE OF TECHNOLOGY MANIFOLD Manifold Execution Model and System.
CSC480 Software Engineering Lecture 10 September 25, 2002.
Processes CS 6560: Operating Systems Design. 2 Von Neuman Model Both text (program) and data reside in memory Execution cycle Fetch instruction Decode.
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
Concurrency, Processes, and System calls Benefits and issues of concurrency The basic concept of process System calls.
Integrating Distributed End-User Experiences Business Scenarios and Use Cases Embedded Consumer.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
1 Distributed Systems Distributed Object-Based Systems Chapter 10.
.NET Mobile Application Development XML Web Services.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
Nguyen Thi Thanh Nha HMCL by Roelof Kemp, Nicholas Palmer, Thilo Kielmann, and Henri Bal MOBICASE 2010, LNICST 2012 Cuckoo: A Computation Offloading Framework.
CCA Common Component Architecture CCA Forum Tutorial Working Group Common Component Architecture.
7/9/ Realizing Concurrency using Posix Threads (pthreads) B. Ramamurthy.
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
A Parallel Communication Infrastructure for STAPL
James “Jeeembo” Kohl, M.C. Oak Ridge National Laboratory
Module 9: Memory and Resource Management
Advanced Topics in Concurrency and Reactive Programming: Asynchronous Programming Majeed Kassis.
Realizing Concurrency using the thread model
Dynamic Proxy Proxy: Addition to the Java 1.3 reflection package:
Delegates and Events 14: Delegates and Events
CS399 New Beginnings Jonathan Walpole.
Distribution and components
Realizing Concurrency using the thread model
Operating Systems : Overview
Operating Systems : Overview
Realizing Concurrency using the thread model
Operating Systems : Overview
Chapter 4: Threads.
Operating Systems : Overview
Parallel programming in Java
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

ORNLKohl/ Mux and MxN: A Revelation… (a.k.a. “Collective” is Dead? :-o) James Arthur Kohl David E. Bernholdt Oak Ridge National Laboratory Thursday, December 7, 2000 (a date which will live in infamy…?)

ORNLKohl/ The Often Overlooked Duality… What is “Collective” Really?  Dealing with Parallel Components  Coupling Disparate Parallel Models  Interfacing to Serial Components Two Sides:  Parallel Data Exchange  Parallel Method Invocation DistinctThese are Distinct Issues  Need to be Handled Separately

ORNLKohl/ The Big Picture Interfacing Parallel Components:  Exchanging and Extracting Data  MxN Data Translation  Other Convolutions: Grid, Temporal, Units… *Outside of Parallel Paradigm, But Required & Related…  Invoking Methods on Parallel Components  Selective / Multiple Invocations  Passing Arguments / Returning Value(s)… Common Issues  Synchronization & Scheduling

ORNLKohl/ Parallel Port Interface MxN Port: Parallel Data Exchange getData( A, B ); getDataNB( A, B ); waitData( A, B ); Mux Port: Parallel Method Invocation invoke( “foo”, arg1, arg2, … results??? );

Kohl/ coupleDataFields Integrated MxN Port Interface (No More coupleDataFields( )…) class MxN : Port { virtual void registerData( Data A ); virtual void unregisterData( Data A ); // (Data Properties: synch) virtual int getData( Data A, Data B ); virtual int getDataNonBlocking( A, B ); virtual void waitData( A, B ); virtual void releaseData( A, B ); // Port Properties: freq, init_synch, run_synch… }

ORNLKohl/ MxN Port Properties Freq ~ Data Exchange Frequency  0: one-shot, send/receive model (PAWS)  > 0: persistent conn, loose synch (CUMULVS) Init_Synch ~ Override Initial Default Synch  Parallel Data Object Sets “synch” Required Run_Synch ~ Optimize Run-Time Synch  Maintain Synch with All Parallel Tasks, versus  Just Maintain Synch with Relevant Tasks  Trade Off (Re)Attachment vs. Persistent Overhead…

ORNLKohl/ What About “DataFields”? Leave it to the Data Object Interfaces… MxN can use generic info from:  Distributed Data Decompositions  Processor Topology & Allocation  Mesh / Grid Type  Data Field Times & Periods  setReady( )

ORNLKohl/ Parallel Invocation Multiplexer (MUX) Coordinates Invocations of Methods on Parallel Components  Intermediary Component Schedules Calls MUX foo( ) i

ORNLKohl/ Possible MUX Interfaces… invokeAll( “foo”, args, …, results??? );  Call Method on Each Parallel Instance  Pass Scalar or Parallel (Indexed) Arguments?  Vector of Results Collected & Returned? invokeOne( “foo”, … );  Select One Instance to Execute Method  Use Port Properties for Selection Policy?

ORNLKohl/ invokeAll( ) MUX Synchronization (invokeAll( ) Only) Does the Parallel Invocation Cooperate?  Require Full / Loose Synchronization Among Parallel Instances?  Communication Among Instances in “foo( )” ?  Data Consistency Across Invocations? Invocation Order / Servicing Multiple Requests  Interleave Different Invocations? Policy… Results Reductions  Produce Single Result from Many ~ Voting?

ORNLKohl/ One More Can of Worms…! Explicit versus Implicit Parallel Port Handling  Both Approaches Desirable  Both Interfaces Utilize the Same Underlying Implementation Several Approaches:  SIDL / Babel (next up – Gary )  Pluggable Framework Services…

ORNLKohl/ Pluggable Framework Services Instantiate Alternate “Handlers” at Run Time Implicit MxN / MUX:  Need “Method Invocation Handler” Interface  Intercept Invocations on Ports  Insert Automatic MxN Data Extraction for Arguments  Event-Based or Not?  Services  addHandler( “Invocation”, MxN  handle( ) ); Likely Other Uses / Pluggable Services  Improves Portability / Eases Framework Dvlpmt

ORNLKohl/ Summary Separate Concerns:  MxN Interface ~ Parallel Data Exchange  MUX Interface ~ Parallel Method Invocation Simplify Interfaces  Rely on Data Objects Pluggable Framework Services?