Download presentation
Presentation is loading. Please wait.
Published byWilla Haynes Modified over 9 years ago
2
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) From Theory to Practice in Distributed Component Systems Denis Caromel, + GridCOMP + OASIS members GridCOMP Scientific Coordinator, INRIA-Nice Univ.-CNRS, OASIS Team Contents: 1.GridCOMP: Practice 2.ProActive: Practice 3.ASP: Theory 4.GCM Component: Practice 5.VerCors Model Checking: Theory Practice
3
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) 1. Practice:
4
Grid programming with components: an advanced COMPonent platform for an effective invisible grid Objectives + Structuring of GridCOMP Project “GRID PROGRAMMING WITH COMPONENTS: Parallel, Distributed, Concurrent AN ADVANCED COMPONENT PLATFORM a lot of money is needed FOR AN EFFECTIVE INVISIBLE GRID” Mang. Of Non Functional aspects Grid for the D.
5
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 4 GCM: Grid Component Model GCM Being defined in the NoE CoreGRID (42 institutions) Open Source ObjectWeb ProActive implements a preliminary version of GCM Service Oriented: NESSI relation GridCOMP takes: GCM as a first specification, ProActive as a starting point, and Open Source reference implementation. The vision: GCM to be the GRID GSM
6
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 5 GCM Partners
7
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) Scopes and Objectives: Grid Codes that Compose and Deploy No programming, No Scripting, … No Pain Innovation: Composite Components Multicast and GatherCast MultiCast GatherCast
8
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) 2. Practice:
9
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 8 Objectives Parallelism + Concurrency Multi-Core to Distributed
10
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 9 ProActive’s Framework in a nutshell Open Source Active Objects
11
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 10 A ProActive : Active objects Proxy Java Object A ag = newActive (“A”, […], VirtualNode) V v1 = ag.foo (param); V v2 = ag.bar (param);... v1.bar(); //Wait-By-Necessity V Wait-By-Necessity is a Dataflow Synchronization JVM A Active Object Future Object Request Req. Queue Thread v1 v2 ag WBN!
12
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 11 First-Class Futures Update
13
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 12 Wait-By-Necessity: First Class Futures ba Futures are Global Single-Assignment Variables V= b.bar () c c c.gee (V) v v b
14
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 13 A Creating AO and Groups Typed Group Java or Active Object A ag = newActiveGroup (“A”, […], VirtualNode) V v = ag.foo(param);... v.bar(); //Wait-by-necessity V Group, Type, and Asynchrony are crucial for Cpt. and GRID JVM
15
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 14 Broadcast and 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 Broadcast is the default behavior Use a group as parameter, Scattered depends on rankings
16
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 15 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);
17
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 16 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);
18
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) 3.Theory: ASP Asynchronous Sequential Processes
19
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 18 A Theory of Distributed Objects D. Caromel, L. Henrio, Springer 2005, Monograph A Calculus: ASP: Asynchronous Sequential Processes Based on Sigma-Calculus (Abadi-Cardelli) Formal Proofs of determinism: in an asynchronous model Releases a few important implementation constraints
20
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 19 Local Creating an Activity Sending a Request Sending a Reply Service ASP
21
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 20 Denis Caromel 20 Standard system at Runtime: Dynamic Topology, Asynchrony, Wait-by-Necessity,... but no sharing Proofs of Determinism
22
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 21 Diagram of Properties
23
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 22 ASP theory: Summary and Results ASP Confluence and Determinacy Proved Properties: Future updates can occur at any time, in any order Asynchronous FIFO point-to-point is enough for Requests Execution characterized by the order of request senders Applications: Determinacy of programs based on a dynamic property (DON) Determinacy of programs communicating over Trees Deterministic Components, …
24
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) 4. Practice: GCM Component
25
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 24 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface ("interfaceName"); V v = a.foo(param); V A Example of component instance JVM Truly Distributed Components
26
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 25 Content Controller Using The Fractal model: Hierarchical Component Orange & INRIA (E. Bruneton, T. Coupaye, J.B. Stefani)
27
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 26 Content Controller The Fractal model: Hierarchical Components Common component model of the ObjectWeb consortium
28
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 27 Content Controller Interfaces = Provided and Required Provided, Server Interfaces Required, Client Interfaces
29
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 28 Content Controller Hierarchical model : Composites encapsulate Primitives, Primitives encapsulate Code
30
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 29 Content Controller Binding = in an external file (XML ADL), Not in programs
31
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 30 Content Controller Binding = in an external file (XML ADL), Not in programs
32
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 31 Migration Capability of composites Migrate sets of components, including composites
33
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 32 Migration Capability of composites Migrate sets of components, including composites
34
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 33 Collective Interfaces
35
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 34 Collective Interfaces Simplify the design and configuration of component systems Expose the collective nature of interfaces Cardinality attribute Multicast, Gathercast, gather-multicast The framework handles collective behaviour at the level of the interface Based on ObjectWeb Fractal API : Dedicated controller Interface typing Verifications
36
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 35 Multicast interfaces Transform a single invocation into a list of invocations Multiple invocations Parallelism Asynchronism Dispatch Data redistribution (invocation parameters) Parameterizable distribution function Broadcast, scattering Dynamic redistribution (dynamic dispatch) Result = list of results
37
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 36
38
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 37 Multicast interfaces Results as lists of results Invocation parameters may also be distributed from lists
39
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 38 Gathercast interfaces Transform a list of invocations into a single invocation Synchronization of incoming invocations ~ “join” invocations Timeout / Drop policy Data gathering Aggregation of parameters into lists Result: redistribution of results Redistribution function
40
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 39 Environment
41
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 40 On-going work : GUI for Components
42
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 41 ProActive / GCM Environment
43
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 42 Current GCM experiments in ProActive JEM3D: 3D electromagnetic application: a single Cp on 300+ CPUs on Grid Vibro-Acoustic application with EADS (legacy MPI coupling)
44
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) 4. Theory: VerCors Behavioral Specification and Model Checking Eric Madelaine, OASIS
45
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 44 Formal verification and model checking Principles of the VERCORS platform Behaviour of Primitive Components Specificatio n of the Architecture Parameterized Model Tree of Finite LTSs Parameterized LTS Synchronisation networks + controllers Model Checkin g Finite Abstraction of parameter domains
46
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 45 Behaviour of Primitives Functional behaviour Given by the user Static source code analysis (with ProActive primitives) Currently supported languages: FC2 and LOTOS Usage Parameterized LTS encoding the behaviour specification
47
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 46 Vercors Status and Relation to GCM-ProActive Current state of tools Functional behaviour: Ready and available (ADL2N) NF controllers and ProActive's semantics To be released in ADL2N v1 Current state of model Functional and Non-Functional distributed components Extensions still needed: Exception handling is mandatory Collective interfaces A few other features of ProActive Future Work Modeling and Specification Language and GUI for ProActive community: TTools+
48
Grid programming with components: an advanced COMPonent platform for an effective invisible grid TTool+ for ProActive Design model of hierarchical components for ProActive: High Level Design Tool mapped on a formal semantics, Easy to understand, easy to use TTool+ : An extension of TTool: Developed by Ludovic Apvrille, ENST, LabSoC)
49
Producer-Consumer System in TTool+ : a. First Level Component Design
50
b. Adding Subcomponents
51
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) c. Binding components through Interfaces
52
d. Adding a new client (consumer)
53
e. Defining behavior using State Machine Diagrams
54
Grid programming with components: an advanced COMPonent platform for an effective invisible grid TTool+ for ProActive Alpha Version Provides: User design of distributed components with asynchronous calls Interactions between distributed components: build behavior models ( use model checkers) Future work: High Level Design of ProActive components: automatic generation of controllers of component management GCM: Generation of multiple instances of components and managing Group Communications Generation of ADL files, ProActive Template Code
55
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) CONCLUSIONS
56
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 55 A few Key Aspects Distributed Objects : Active Objects Asynchronous Method Calls First-Class Futures Groups Calculus: ASP Confluence (very General and Dynamic) Determinism only based on Request-Sender Reception Order Dist. Component Specification: GCM Hierarchical and Runtime (Fractal) Distributed (VN, …), Multicast, Gathercast Middleware: ProActive Programming, Composing, Deploying + GUI Model Checking: VerCors Hierarchical, Parameterized, Practical (Multi. Source for Information, Checking vs. Telling)
57
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 56 Conclusion: Why does it scale? Thanks to a few key features: Asynchrony: Connection-less Messages rather than long-living interactions RMI+JMS unified
58
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 57 Conclusion: Why does it Compose? Thanks to a few key features: Because it Scales: asynchrony ! Thanks to First Class Futures Because it is Typed: RMI with interfaces ! No unstructured Call Backs and Ports
59
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006-2007 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442) Perspectives
60
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 59 Perspectives Putting everything together: ASP, ProActive/GCM, Vercors Still a lot of work ! Collaborations Welcome! Behavioral specification of component composition (ongoing) Specify and Study Non-Functional Aspects More Specifically: Life-Cycle, Reconfiguration in distributed environments
61
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 60 Example of a Perspective: Components in the membrane: GCM to express reconfiguration strategy AO to implement the Cp (Groups, Futures) Model Checking to prove the strategy using ASP properties
62
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 61 Perspectives Putting everything together: ASP, ProActive/GCM, Vercors Still a lot of work ! Collaborations Welcome! Behavioral specification of component composition (ongoing) Specify and Study Non-Functional Aspects More Specifically: Life-Cycle, Reconfiguration in distributed environments GridCOMP.ercim.org ProActive.ObjectWeb.org inria.fr/oasis/Vercors VerCors
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.