Presentation is loading. Please wait.

Presentation is loading. Please wait.

ProActive components and legacy code Matthieu MOREL.

Similar presentations


Presentation on theme: "ProActive components and legacy code Matthieu MOREL."— Presentation transcript:

1 ProActive components and legacy code Matthieu MOREL

2 Objective : a framework for Grid components  Facilitating the design and implementation of complex distributed systems  Leveraging the ProActive library ProActive components benefit from underlying features  Allowing reuse of legacy components (e.g. MPI)  Providing tools for defining, assembling and monitoring distributed components

3 Overview  Component-based programming  Fractal component model  Towards Grid components  On-going and future works

4 Overview  Component-based programming  Fractal component model  Towards Grid components  On-going and future works

5 A CORBA Component My Business Component Component interface Facets Event sources Event sinks Attributes Receptacles OFFERED REQUIRED

6 Component based programming  Component = software unit, deployment unit  Industrial acceptance : EJBs, CCM, COM …  3 key concepts :  1. Encapsulation  Black boxes, offered and required services, configuration  2. Composition  Design of complex systems  Hierarchical organization into sub-systems  3. Description  ADL  Logical and geographical composition  Tools REUSABILITY CUSTOMIZATION COMPLEXITY HANDLING HIGH ABSTRACTION LEVEL

7 Overview  Component-based programming  Fractal component model  Features for Grid computing  On-going and future works

8 Fractal component model  Defined by Bruneton, Coupaye, Stefani, INRIA & FT  Key features :  Lightweight and extensible  Recursive  Dynamic  Reference implementation : Julia (FT)  New implementation based on active objects  Standard tools in the community (ADL, GUI)

9 Content Cell analogy CONTROLLER CONTENT

10 Content Interface = access point

11 Content Hierarchical model

12 Content Binding = interaction

13 Content Binding = interaction

14 SUPERBINDINGLIFE CYCLECONTENT Content Controllers : non-functional properties

15 Overview  Component-based programming  Fractal component model  Towards Grid components  On-going and future works

16 An activity, a process, … potentially in its own JVM Primitive Composite: Hierarchical, and Distributed over machines Parallel: Composite + Multicast (group) Components for the GRID

17 Distributed Components  1 component can be distributed over several hosts

18 Components vs. Activities and JVMs Activity JVM Component Components orthogonal to activities and JVMs : contain activities, span across several JVMs A way to globally manipulate distributed and running activities

19 Group proxy Multicast on client interface Multicast on inner server interface Groups in components

20 Migration capabilities of composites  Migrate sets of components, including composites

21 Migration capabilities of composites  Migrate sets of components, including composites

22 Co-allocation, re-distribution  e.g. upon communication intensive phase

23 Co-allocation, re-distribution  e.g. upon communication intensive phase

24 Co-allocation, re-distribution  e.g. upon communication intensive phase  At runtime or design time (ADL)

25 getA() getB() getAandB() First Class Futures  1 : Synchronous method calls getA() getB() getAandB() getB() getA()getAandB()

26 getA() getB() getAandB()getA() getB() getAandB() getB() getA()getAandB() First Class Futures  2 : Asynchronous method calls, full-fledge wait-by-necessity Non-blocking method calls value of A value of B Process flow is not blocked by asynchronous computations

27 Overview  Component-based programming  Fractal component model  Towards Grid components  On-going and future works

28 On-going work : optimizations Dynamic shortcuts for distributed bindings (through tensioning) 1 remote call

29 On-going work : GUI

30 Perspective : legacy code wrappers MPI Code (C/Fortran) method calls  messages on tags messages on tags  method calls

31 Perspective : MxN communications M components N components GATHERING SCATTERING REDISTRIBUTION from M to N

32 Conclusion

33 Conclusion : ProActive Components  Encapsulation :  Formed from one (or several) Active Object  Executing on one or several JVMs  Server ports: Java Interfaces  Client ports: Java Attributes  Composition :  Composite components : hierarchical  Point-to-point or Group communication between components  Parallel component : multicast of calls in composites, redistribution  Description :  XML definition of primitive and composite (ADL)  Virtual nodes capture the deployment capacities and needs

34 Merci! Questions? Contact : Matthieu Morel


Download ppt "ProActive components and legacy code Matthieu MOREL."

Similar presentations


Ads by Google