1 Typed Groups for the Grid Laurent Baduel. 2 Outline Context and Objectives Typed groups Application: Jem3D Object-Oriented SPMD Group extensions and.

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

1 A B C
Design and Evaluation of an Autonomic Workflow Engine Thomas Heinis, Cesare Pautasso, Gustavo Alsonso Dept. of Computer Science Swiss Federal Institute.
Network Layer Delivery Forwarding and Routing
Angstrom Care 培苗社 Quadratic Equation II
AP STUDY SESSION 2.
1
Distributed Systems Architectures
Chapter 7 System Models.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
Processes and Operating Systems
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Myra Shields Training Manager Introduction to OvidSP.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
RXQ Customer Enrollment Using a Registration Agent (RA) Process Flow Diagram (Move-In) Customer Supplier Customer authorizes Enrollment ( )
1 Hyades Command Routing Message flow and data translation.
David Burdett May 11, 2004 Package Binding for WS CDL.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination. Introduction to the Business.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
Local Customization Chapter 2. Local Customization 2-2 Objectives Customization Considerations Types of Data Elements Location for Locally Defined Data.
Custom Statutory Programs Chapter 3. Customary Statutory Programs and Titles 3-2 Objectives Add Local Statutory Programs Create Customer Application For.
CALENDAR.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt BlendsDigraphsShort.
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Auto-scaling Axis2 Web Services on Amazon EC2 By Afkham Azeez.
Break Time Remaining 10:00.
Turing Machines.
Anything But Typical Learning to Love JavaScript Prototypes Page 1 © 2010 Razorfish. All rights reserved. Dan Nichols March 14, 2010.
Table 12.1: Cash Flows to a Cash and Carry Trading Strategy.
PP Test Review Sections 6-1 to 6-6
Bright Futures Guidelines Priorities and Screening Tables
EIS Bridge Tool and Staging Tables September 1, 2009 Instructor: Way Poteat Slide: 1.
Bellwork Do the following problem on a ½ sheet of paper and turn in.
CS 6143 COMPUTER ARCHITECTURE II SPRING 2014 ACM Principles and Practice of Parallel Programming, PPoPP, 2006 Panel Presentations Parallel Processing is.
Exarte Bezoek aan de Mediacampus Bachelor in de grafische en digitale media April 2014.
IONA Technologies Position Paper Constraints and Capabilities for Web Services
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
Adding Up In Chunks.
Copyright © 2013 by John Wiley & Sons. All rights reserved. HOW TO CREATE LINKED LISTS FROM SCRATCH CHAPTER Slides by Rick Giles 16 Only Linked List Part.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.
Essential Cell Biology
Converting a Fraction to %
ANSC644 Bioinformatics-Database Mining 1 ANSC644 Bioinformatics §Carl J. Schmidt §051 Townsend Hall §
Clock will move after 1 minute
PSSA Preparation.
Essential Cell Biology
The DDS Benchmarking Environment James Edmondson Vanderbilt University Nashville, TN.
Immunobiology: The Immune System in Health & Disease Sixth Edition
 2003 Prentice Hall, Inc. All rights reserved. 1 Chapter 13 - Exception Handling Outline 13.1 Introduction 13.2 Exception-Handling Overview 13.3 Other.
Physics for Scientists & Engineers, 3rd Edition
Energy Generation in Mitochondria and Chlorplasts
Select a time to count down from the clock above
Introduction Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September 9, 2010.
1 Decidability continued…. 2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the.
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.
A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije.
ProActive components and legacy code Matthieu MOREL.
Typed Group Communication & Object-Oriented SPMD Laurent Baduel.
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

1 Typed Groups for the Grid Laurent Baduel

2 Outline Context and Objectives Typed groups Application: Jem3D Object-Oriented SPMD Group extensions and usage Conclusion and Perspectives

3 Introduction Traditional uses of group communication Fault tolerance, Replication Applicative groups, Parallelism Our objectives: Applicative groups Efficient communication Collaborative applications Easy structuring Object-oriented programming

4 Analysis of related works 3 projects close to our concerns: JGroups Centered on low layers of communication Socket programming style Object Group Service CORBA focused Group communication return only one result (by default) Group Method Invocation Group members have to implement and extend a class and an interface

5 Analysis of related works Lack of transparency Specific interface for functional calls Inheritance from specific classes and interfaces Sometimes too application/domain-specific We want to address those problems !

6 Communication model RMI + important new features Active object: A single thread serves requests with a FIFO service Asynchronous method call Rendez-vous Transparent futures Wait-by-necessity Automatic wait upon a strict operation on a future First class futures

7 JVM Active object A a = PA.newActive(A, […], VirtualNode); V v1 = a.foo (param); V v2 = a.bar (param); … v1.gee(); a bar v1 v2 foo Java object Active object Request queue FutureThread // Wait-By-Necessity

8 Context and Objectives Typed groups Application: Jem3D Object-Oriented SPMD Group extensions and usage Conclusion and Perspectives

9 Typed group communications Idea / goal Manipulate groups as plain Java objects Maintain the dot notation Code reusability Creation of a typed group Group members have a common type ancestor public class A { … } A ag = (A) ProActiveG.newGroup(A, params, node) ;

10 Group communications Remote method invocation on a group Multi-unicast approach Replication of N single communications Based on the standard communication mechanism Each communication is adapted to the callee Adapt the rendez-vous to group communications Adapt the Wait-by-Necessity mechanism

11 Result of a group communication Result is dynamically built and updated V vg = ag.foo(); Immediately operable vg.gee(); Rank property Synchronization primitive ProActiveGroup.waitOne(vg); ProActiveGroup.waitAll(vg); Object o = ProActiveGroup.waitAndGetOne(vg);

12 Group call JVM ag vg A ag = PAG.newGroup(A,…,vn) ; V vg = ag.foo(param) ; … vg.gee() ; … // Wait-By-Necessity

13 Two representations Management operations: add, remove, etc. Two representations of a same group Typed group (type of the members) Group of objects (extends Collection ) Ability to switch between them Group groupA = ProActive.getGroup(ag); groupA.add(new A()); groupA.add(new B()); // B extends A A ag2 = (A) groupA.getTypedGroup();

14 Two representations schema Management of the group Functional use of the group Group of objects groupA getGroup static method of class ProActive getTypedGroup method of class Group Typed group gA Single Java Representation (Transparent) (Explicit)

15 Broadcast or scatter Broadcast is the default behavior Scatter is also possible Scatter uses a group as parameter Distribution relies on rank ag.bar(cg); // broadcast cg ProActive.setScatterGroup(cg); ag.bar(cg); // scatter cg One call may scatter and broadcast

16 Broadcast or scatter JVM ag cg ag.bar(cg); // broadcast cg ProActive.setScatterGroup(cg) ; ag.bar(cg); // scatter cg c1 c2 c3 c1 c2 c3 c1 c2 c3 c1 c2 c3 c1 c2 c3 c1 c2 c3 s c1 c2 c3 s

17 Static Dispatch Group JVM ag cg c1 c2 c3 c4 c5 c6 c7 c8c0 c9c1 c2 c3 c4 c5 c6 c7 c8c0 c9 c1 c2 c3 c4 c5 c6 c7 c8c0 c9 Slowest Fastest empty queue ag.bar(cg);

18 Dynamic Dispatch Group JVM ag cg c1 c2 c3 c4 c5 c6 c7 c8c0 c9c1 c2 c3 c4 c5 c6 c7 c8c0 c9 c1 c2 c3 c4 c5 c6 c7 c8c0 c9 Slowest Fastest ag.bar(cg);

19 Performances and Optimizations Common operation Single reification Single serialization Parallel calls (adaptive thread pool)

20 Error management Using Java exceptions Common way to express failure in Java A group may produce several exceptions during one communication Result group is used to store exceptions The ExceptionList is an exception that contains raised exceptions associated with a reference to the object that produced them

21 Error interception JVM ag vg V vg = ag.foo (param) ; Group groupV = PAG.getGroup(vg); groupV.getExceptionList(); vg.gee(); failure Except. List

22 Active and hierarchical groups Active group: a group service A group becomes remotely accessible Modifiable service policy Hierarchical group A group of groups Dynamically built Achieves scalability

23 grid frontal cluster Grid deployment Asynchronous call Synchronous call

24 Grid method calls Grid5000

25 Context and Objectives Typed groups Application: Jem3D Object-Oriented SPMD Group extensions and usage Conclusion and Perspectives

26 Jem3D Translation of a FORTRAN application: EM3D Solves 3D Maxwell equations Relies on finite volume approximation method Works on unstructured tetrahedral discretization of the computation domain

27 Communication based on groups Groups allow sub-domains communication

28 Algorithm of Jem3D Initialization Compute mag. field, and update elec. field Compute elec. field, and update mag. field Calculation of the discrete electromagnetic energy Solution Saving t < t max t = t max Intensive group communications

29 Jem3D Computation of the propagation of an electromagnetic wave in a cubic metallic cavity (standard test case) INRIA Sophias clusterDAS-2

30 Context and Objectives Typed groups Application: Jem3D Object-Oriented SPMD Group extensions and usage Conclusion and Perspectives

31 Main MPI problems for the Grid Too static in design Too complex interface (API) More than 200 primitives and 80 constants Too many specific primitives to be adaptive Send, Bsend, Rsend, Ssend, Ibsend, etc. Typeless (message passing) Manual management of complex data structures

32 Object-Oriented SPMD Motivation Cluster / Grid programming SPMD programming widely used Already able to express most of the MPIs collective communications Broadcast Scatter Different barriers Topologies Gather Reduce (Single Program Multiple Data) All scatter All gather

33 JVM SPMD group Creation A ag = ProActive.newSPMDGroup(A, … );

34 SPMD Group SPMD Group is a typed group where members get: Local reference to the SPMD group they belongs to Membership Access to their rank

35 Topologies Topologies are groups of objects P lan plan = new Plan(groupSPMD, dimensions) ; Open API Neighborhood Creation by extraction Line line = plan.getLine(0);

36 The Jacobi iterations example Solve a linear system of equations Typical SPMD program Algorithm loops on: Exchange data Wait for data Compute Loop (until exit condition is satisfied)

37 Jacobi algorithm JVM … …

38 Global barrier Involves all group members ProActive.barrier(barrierID); JVM

39 Neighbor-based barrier Involves only the caller and its neighbors ProActive.barrier(barrierID, neighbors); JVM

40 Method-based barrier Involves only the caller (no additional messages) ProActive.barrier({foo, bar, gee}); JVM

41 OO SPMD model A simple communication model Small API No explicit receive: data flow synchronization No message passing: asynchronous RPC Complex data structures (Objects) SPMD groups are dynamic Dedicated barriers Topologies

42 Context and Objectives Typed groups Application: Jem3D Object-Oriented SPMD Group extensions and usage Conclusion and Perspectives

43 Group behavior manager Definition of a group behavior Request mapping Parameters distribution Results gathering Synchronization semantic Dynamic configuration and binding IP Multicast library Bindings to multicast transport protocol TRAM, included in JRMS 1.1 In collaboration with University of Sannio – Benevento (Italy)

44 Groups in the component framework Implementation of the Fractal component model Collective ports Composite components Typed group At binding, on client interface At composition, on composite inner server interface Typed group Parallel Component

45 Context and Objectives Typed groups Application: Jem3D Object-Oriented SPMD Group extensions and usage Conclusion and Perspectives

46 Conclusion High level, Efficient, Transparent, Typed Group Communication No dedicated inheritance requirement Dynamic handling of results High level synchronization Tested with a real size application Object-Oriented model for SPMD Programming More flexible Easier to use

47 Perspectives Exception handling Improvement of the adaptive thread pool Integrate other group semantics MxN redistribution for components Further development of the OO SPMD model

48 Thank you for your attention ? ? ? Questions ? ? ?