Page 1 CompFrame 2003 Workshop A development platform for parallel applications E-Mail :...

Preview:

Citation preview

Page 1

CompFrame 2003 Workshop

A development platform for parallel applications

E-Mail :

palm@cerfacs.fr

Page 2

Plan

• Origin and concepts

• Building a PALM application

• Supervision tools

• Some applications using PALM

Page 3

Plan

• Origin and concepts

• Building a PALM application

• Supervision tools

• Some applications using PALM

Page 4

Origin

buis:

-> C’est le but de palm

buis:

-> C’est le but de palm

buis: projet créé dans le milieu des annees 90 à partir d’un constat ou pour répondre a un problème précis

-> exemple : en NWP : modele de plus en plus complexe prenant en compte de plus en plus de composants physique mais aussi des composants mathematique : assimilation de donnees, desfois aussi avec des resolution ou des dommaines differents, le tout gere avec cle CPP, …

buis: projet créé dans le milieu des annees 90 à partir d’un constat ou pour répondre a un problème précis

-> exemple : en NWP : modele de plus en plus complexe prenant en compte de plus en plus de composants physique mais aussi des composants mathematique : assimilation de donnees, desfois aussi avec des resolution ou des dommaines differents, le tout gere avec cle CPP, …

Scientific computing applications

Scientific research

Supercomputer technology

Scientific computing applications

Scientific computing applications

Scientific computing applications

Scientific computing applications

Page 5

Origin

buis:

-> C’est le but de palm

buis:

-> C’est le but de palm

buis: projet créé dans le milieu des annees 90 à partir d’un constat ou pour répondre a un problème précis

-> exemple : en NWP : modele de plus en plus complexe prenant en compte de plus en plus de composants physique mais aussi des composants mathematique : assimilation de donnees, desfois aussi avec des resolution ou des dommaines differents, le tout gere avec cle CPP, …

buis: projet créé dans le milieu des annees 90 à partir d’un constat ou pour répondre a un problème précis

-> exemple : en NWP : modele de plus en plus complexe prenant en compte de plus en plus de composants physique mais aussi des composants mathematique : assimilation de donnees, desfois aussi avec des resolution ou des dommaines differents, le tout gere avec cle CPP, …

modular

parallel performant

evolutive &

maintainable

Page 6

Concepts

Source code library Applications

INTEGRATION

UNIT BRANCHOBJECTS COMMUNICATION

buis:

-> l’idée de PALM c’est de pouvoir construire des applications a partir de briques de bases indépendante entre elles (code source avec donnees qu’elles consomme et produise) et indépendante de l’application.

Subroutine fortran pour 1ere version PALM, exe C, fort C++ pour MP

-> a partir d’un jeu d’unites, les assembler en sequences pour créer des appli modulaire et facilement evolutive (integration de nouveaux composants, …) sans changer le code source.

buis:

-> l’idée de PALM c’est de pouvoir construire des applications a partir de briques de bases indépendante entre elles (code source avec donnees qu’elles consomme et produise) et indépendante de l’application.

Subroutine fortran pour 1ere version PALM, exe C, fort C++ pour MP

-> a partir d’un jeu d’unites, les assembler en sequences pour créer des appli modulaire et facilement evolutive (integration de nouveaux composants, …) sans changer le code source.

buis:

1) Unites indep

2) Integration de l’appli -> facilement modifiable, extensible, …

3) Voc PALM

buis:

1) Unites indep

2) Integration de l’appli -> facilement modifiable, extensible, …

3) Voc PALM

Page 7

How PALM ensures the independency between the units ?

• end-point communication scheme

• automatic remapping during the communications

• no reference to the application algorithm in the units : the description of the application algorithm is made in the GUI, during the integration phase

A same framework can be used for several applications by changing the units, and the same units can be used in several applications without any modification

buis:

Faire animation remapping

buis:

Faire animation remapping

Page 8

How PALM ensures the performance of the applications

• 2 levels of parallelism

Sequences: branches

Distributed components:units

Page 9

How PALM ensures the performance of the application

• High performance communication mechanism

memory copies

MPI messages

Page 10

Plan

• Origin and concepts

• Building a PALM application

• Supervision tools

• Some applications using PALM

Page 11

On units side

• Unit’s instrumentation:

Source end-point

CALL PALM_Put (‘space1’, ‘obj1’, time, tag , array, error)

Target end-point

CALL PALM_Get (‘space2’, ‘obj2’, time, tag , array, error)

• Unit’s IDCARD: !PALM_UNIT -sub create\!!PALM_SPACE –name space1\! -shape (10,10)\! -element_size PL_DOUBLE_PRECISION\!!PALM_OBJECT -name obj1\! -space space1\! -intent OUT\

Page 12

Definition of the algorithm in PrePALM

•Launch units

•Conditional execution

•DO, While loops

•Communications

Page 13

Definition of the communication scheme

control structuresphysic

algebra

task parallelismdata parallelism

buis:

General overview of the application

Algorithm : components decomposition, control structure,

Data flux

Parallelism : branches, units

Physics, algebra

Mettre des fleches ???

buis:

General overview of the application

Algorithm : components decomposition, control structure,

Data flux

Parallelism : branches, units

Physics, algebra

Mettre des fleches ???

componentsdata flux

Page 15

Plan

• Origin and concepts

• Building a PALM application

• Supervision tools

• Some applications using PALM

Page 16

Supervision tools

• debug functions can be called during PALM_PUT and PALM_GET to verify the objects values

buis:

Faire une animation pour passer de graphical stat a l’image, …

buis:

Faire une animation pour passer de graphical stat a l’image, …

• an output file per processes of the application containing information about the run with several levels of verbosity per message category

• performance analyser with graphical statistic summaries

• graphical animation

Page 17

Performance analyser

Page 18

Graphical animation

Page 19

Plan

• Origin and concepts

• Building a PALM application

• Supervision tools

• Some applications using PALM

Page 20

• French contribution to the international experiment GODAE (Global Ocean Data Assimilation Experiment).

• Partners:

• Aim: implement an operational oceanic forecast system able to simulate the global ocean with a high resolution model by assimilating in-situ and satellite data

• Strategy: from regional to global model

from simple (OI) to complex (SEEK, 4DVAR) assimilation method

Page 21

The operational system

1 RHHBHBK TfTfOI

XXX fa

Page 22

HIGH RESOLUTIONREGIONAL PROTOTYPE

1/15° Mediterranean-North-Atlantic model assimilating altimeter data

The MERCATOR bulletin

• 4D description of the ocean: Temperature, Salinity, Currents, SSH, movements of water masses…

• Each Wednesday (analyses and 7 days and 14 days forecast).

Page 23

The MERCATOR website

http://www.mercator.com.fr global

mappings

sections

moorings

Gulf Stream

Gulf of Mexicoand Carribean

North Brazil

Tropics

Northern Europe

Eastern North Atlantic

POMMEcampaign area

Med SeaOutflow

8 Regional Zooms

Page 24

ASSET: Assimilation of Envisat Data

• a European project to exploit and develop earth observation data from Envisat satellite using data assimilation

(January 2003 December 2005)

• aims: o develop a European capability for chemical and UV

forecastingo provide analyses for coupled climate / chemistry

studies

• partners: , ….

Page 25

Data AssimilationMethods

buis:

Rajouter PALM dans le schema

buis:

Rajouter PALM dans le schema

assimilation of retrieved Envisat data into a coupled NWP/chemistry system

ASSET: Assimilation of Envisat Data

Data Model

Page 26

A Fluid – structure coupling application

elsA: an ONERA – AIRBUS – CERFACS oriented object compressible flows simulation software

Page 27

Information and Documentations

A website:http://www.cerfacs.fr/~palm

A software:PALM_Research: already available and freePALM_MP: beta version in April

A course:A 3 days free course is regularly organised

An email: palm@cerfacs.fr

Recommended