Download presentation
Presentation is loading. Please wait.
Published byBarbara Drusilla Booker Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.