A Case Study in Componentising a Scientific Application for the Grid Nikos Parlavantzas, Matthieu...

18
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)
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    1

Transcript of A Case Study in Componentising a Scientific Application for the Grid Nikos Parlavantzas, Matthieu...

Page 1: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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)

Page 2: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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?

Page 3: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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

Page 4: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

Outline

Background on Jem3D

Jem3D overview

ProActive library

Jem3D architecture

Approach

Componentisation process

Component model

Componentising Jem3D

Architecture

Evaluation

Conclusion

Page 5: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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

Page 6: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

ProActive library

Java distributed object middleware for parallel and concurrent programming

Main features

• Active objects

• Asynchronous method invocation

• Group communications

• Descriptor-based deployment

Page 7: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

Jem3D architecture

Page 8: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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

Page 9: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

Outline

Background on Jem3D

Jem3D overview

ProActive library

Jem3D architecture

Approach

Componentisation process

Component model

Componentising Jem3D

Architecture

Evaluation

Conclusion

Page 10: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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

Page 11: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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

Page 12: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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

Page 13: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

Componentising Jem3D

• Recovery of original architecture dominated effort

• Restructured, interface-based version simplified migration to component platform

Page 14: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

Component-based Jem3D

MainCollector

:SubDomainFactory

SteeringAgent

Activator

:SubDomain[*]

*

*

Domain

*

*

Multicast interfaces

Client

Server

Page 15: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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 …

Page 16: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

Qualitative evaluation

Improved modifiability and reusability

Reliable architectural documentation

Configuration after development time

Reusable implementation of geometrical decomposition

Page 17: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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

Page 18: A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

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