a case study in componentising a scientific application for the grid
DESCRIPTION
A Case Study in Componentising a Scientific Application for the Grid. Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel, Vladimir Getov INRIA Sophia Antipolis (F) University of Westminster (UK). - PowerPoint PPT PresentationTRANSCRIPT
Managed by
A Case Study in Componentising a Scientific
Application for the Grid
Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet,
Denis Caromel, Vladimir Getov
INRIA Sophia Antipolis (F)University of Westminster (UK)
Component-based development simplifies building and evolving Grid applications.
Questions
• What are the real costs and benefits of component-based development?
• How do we support Grid application developers?
Summary
• Re-engineered a complex, scientific application into a component-based Grid application
distributed object-based system (ProActive)
component-based system (Fractal/ProActive, GCM)
• Showed that componentisation has increased modifiability and reusability no adverse effect on performance
• Proposed a general, architecture-based componentisation process
Outline
Background on Jem3D
Jem3D overview
ProActive library
Jem3D architecture
Approach
Componentisation process
Component model
Componentising Jem3D
Architecture
Evaluation
Conclusion
Jem3D
Numerical solver for the 3D Maxwell’s equations
finite volume method on unstructured tetrahedral meshes
Follows typical “geometric decomposition” parallelisation
Distributed object application using ProActive library
ProActive library
Java distributed object middleware for parallel and concurrent programming
Main features
• Active objects
• Asynchronous method invocation
• Group communications
• Descriptor-based deployment
Jem3D architecture
Jem3D problems
Limited modifiability and reusability
No architectural documentation Difficult to understand and evolve system
Hard-wired, hidden dependencies Limited reusability of parts Limited run-time variability
Outline
Background on Jem3D
Jem3D overview
ProActive library
Jem3D architecture
Approach
Componentisation process
Component model
Componentising Jem3D
Architecture
Evaluation
Conclusion
Componentisation process
General, architecture-based process
• Object-based system Component-based system
Assumes that the target component platform
• allows connecting components via provided/required interfaces
• supports (or can be extended to support) same interaction styles as object platform
Componentisation process
Recover Original Architecture
Design Component Architecture
Restructure Original System
Implement Component-based System
Original Architecture
Component Architecture
RestructuredSystem
Component -based System
Source code,Documentation
Artefact Flow
Fractal/ProActive
Parallel and distributed component model targeting Grid applications
Inherits Fractal features hierarchical composition declarative architecture description extensible reflective facilities
Extends Fractal with distributed components multicast interfaces configurable deployment on the Grid
Componentising Jem3D
• Recovery of original architecture dominated effort
• Restructured, interface-based version simplified migration to component platform
Component-based Jem3D
MainCollector
:SubDomainFactory
SteeringAgent
Activator
:SubDomain[*]
*
*
Domain
*
*
Multicast interfaces
Client
Server
Initial configuration in ADL
Component ConsoleSteeringAgent definition = SteeringAgentImpl
Component MainCollector definition = MainCollectorImpl
Component Activator definition = ActivatorImpl
Component DomainInterface …Component SubDomainFactory
definition =FactoryImpl (SubDomainImpl)Binding This to SubDomainFactoryBinding SubDomainFactory to This
Binding ConsoleSteeringAgent to MainCollector
Binding MainCollector to ConsoleSteeringAgent …
Qualitative evaluation
Improved modifiability and reusability
Reliable architectural documentation
Configuration after development time
Reusable implementation of geometrical decomposition
Performance evaluation
Comparison object- / component-based versions
Component based vs Object based
0
2
4
6
8
10
12
14
16
18
1 2 3 4 5 6 7
Experiment
Tim
e (
min
)
"component based - initialization time"
component based - computation time
"object based - initialization time
object based - computation time
• experiments on Grid’5000
using up to 308 processors, allocated on up to 3 clusters
• execution times of two versions are similar
Conclusion
Case study in re-engineering a scientific application into a component-based application
• improved modifiability and reusability
• no adverse effect on performance
Componentisation process
Future work
• add support for dynamic reconfiguration to Jem3D
• apply approach to diverse applications