ProActive components and legacy code Matthieu MOREL.
-
Upload
barbara-drusilla-booker -
Category
Documents
-
view
220 -
download
3
Transcript of ProActive components and legacy code Matthieu MOREL.
![Page 1: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/1.jpg)
ProActive components and legacy code
Matthieu MOREL
![Page 2: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/2.jpg)
Objective : a framework for Grid components
Facilitating the design and implementation of complex distributed systems
Leveraging the ProActive libraryProActive components benefit from underlying features
Allowing reuse of legacy components (e.g. MPI)
Providing tools for defining, assembling and monitoring distributed components
![Page 3: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/3.jpg)
Overview
Component-based programmingFractal component modelTowards Grid componentsOn-going and future works
![Page 4: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/4.jpg)
Overview
Component-based programmingFractal component modelTowards Grid componentsOn-going and future works
![Page 5: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/5.jpg)
A CORBA Component
MyBusinessComponent
Component interface
Facets
Eventsources
Eventsinks
Attributes
Receptacles
OF
FE
RE
DR
EQ
UIR
ED
![Page 6: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/6.jpg)
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
REUSABILITYCUSTOMIZATION
COMPLEXITY HANDLING
HIGH ABSTRACTION LEVEL
![Page 7: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/7.jpg)
Overview
Component-based programmingFractal component modelFeatures for Grid computingOn-going and future works
![Page 8: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/8.jpg)
Fractal component model
Defined by Bruneton, Coupaye, Stefani, INRIA & FTKey features :
Lightweight and extensible Recursive Dynamic
Reference implementation : Julia (FT)New implementation based on active objectsStandard tools in the community (ADL, GUI)
![Page 9: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/9.jpg)
Content
Cell analogy
CONTROLLER
CONTENT
![Page 10: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/10.jpg)
Content
Interface = access point
![Page 11: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/11.jpg)
Content
Hierarchical model
![Page 12: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/12.jpg)
Content
Binding = interaction
![Page 13: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/13.jpg)
Content
Binding = interaction
![Page 14: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/14.jpg)
SUPER BINDING LIFE CYCLE CONTENT
Content
Controllers : non-functional properties
![Page 15: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/15.jpg)
Overview
Component-based programmingFractal component modelTowards Grid componentsOn-going and future works
![Page 16: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/16.jpg)
An activity, a process, …potentially in its own JVM
Primitive
Composite: Hierarchical, and
Distributed over machines
Parallel: Composite
+ Multicast (group)
Components for the GRID
![Page 17: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/17.jpg)
Distributed Components
1 component can be distributed over several hosts
![Page 18: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/18.jpg)
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
![Page 19: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/19.jpg)
Group proxyGroup proxy
Multicaston client interface
Multicast on inner server interface
Groups in components
![Page 20: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/20.jpg)
Migration capabilities of composites
Migrate sets of components, including composites
![Page 21: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/21.jpg)
Migration capabilities of composites
Migrate sets of components, including composites
![Page 22: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/22.jpg)
Co-allocation, re-distribution
e.g. upon communication intensive phase
![Page 23: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/23.jpg)
Co-allocation, re-distribution
e.g. upon communication intensive phase
![Page 24: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/24.jpg)
Co-allocation, re-distribution
e.g. upon communication intensive phase
At runtime or design time (ADL)
![Page 25: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/25.jpg)
getA()
getB()
getAandB()
First Class Futures
1 : Synchronous method calls
getA()
getB()
getAandB()
getB()
getA()getAandB()
![Page 26: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/26.jpg)
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
![Page 27: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/27.jpg)
Overview
Component-based programmingFractal component modelTowards Grid componentsOn-going and future works
![Page 28: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/28.jpg)
On-going work : optimizations
Dynamic shortcuts for distributed bindings
(through tensioning)
1 remote call
![Page 29: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/29.jpg)
On-going work : GUI
![Page 30: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/30.jpg)
Perspective : legacy code wrappers
MPI Code (C/Fortran)method calls
messages on tags
messages on tags
method calls
![Page 31: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/31.jpg)
Perspective : MxN communications
M components
N components
GATHERING
SCATTERING
REDISTRIBUTION from M to N
![Page 32: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/32.jpg)
Conclusion
![Page 33: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/33.jpg)
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
![Page 34: ProActive components and legacy code Matthieu MOREL.](https://reader036.fdocuments.us/reader036/viewer/2022070413/5697bf991a28abf838c91d47/html5/thumbnails/34.jpg)
Merci!
Questions?
Contact : Matthieu Morel