Parallélisation d'un logiciel de simulation de croissance des plantes dans un environnement Java



Documents pareils
CORBA haute performance

DG-ADAJ: Une plateforme Desktop Grid

Prise en compte des ressources dans les composants logiciels parallèles

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

Conception des systèmes répartis

RMI le langage Java XII-1 JMF

Remote Method Invocation (RMI)

Projet IGGI. Infrastructure pour Grappe, Grille et Intranet. Fabrice Dupros. CASCIMODOT - Novembre Systèmes et Technologies de l Information

Les environnements de calcul distribué

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

GEI 465 : Systèmes répartis

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Derrière toi Une machine virtuelle!

JOnAS Day 5.1. Clustering

Objets et Programmation. origine des langages orientés-objet

Rapport d activité. Mathieu Souchaud Juin 2007

Calcul Parallèle. Cours 5 - JAVA RMI

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation en Java (RMI)

as Architecture des Systèmes d Information

Patrons de Conception (Design Patterns)

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Java - RMI Remote Method Invocation. Java - RMI

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Plan. Department of Informatics

NFP111 Systèmes et Applications Réparties

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Architectures n-tiers Intergiciels à objets et services web

Android 4 Les fondamentaux du développement d'applications Java

4 Exemples de problèmes MapReduce incrémentaux

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Tout bénéfice! Marier CAO et Intranet pour le meilleur de la performance à moindre coût. Andreas Blaszczyk, Harsh Karandikar, Giovanni Palli

Automatisation de l administration système

Synchro et Threads Java TM

Programmation par composants (1/3) Programmation par composants (2/3)

Java RMI. Arnaud Labourel Courriel: Université de Provence. 8 mars 2011

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Etude de l ENT de l Université de Paris 5. Mise en place d outils de suivi de la charge de l ENT (monitoring)

2 Chapitre 1 Introduction

INITIATION AU LANGAGE JAVA

Introduction au Déploiement

Communications performantes par passage de message entre machines virtuelles co-hébergées

JOnAS 5. Serveur d application d

Exploitation d un calculateur

Administration d'infrastructures logicielles avec Jade

Innover. dans les usages distanciels avec les logiciels libres

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

I-JVM: une machine virtuelle Java pour l isolation de composants dans OSGi

Modélisation multi-agents - Agents réactifs

HPC by OVH.COM. Le bon calcul pour l innovation OVH.COM

Prototyper un site web avec Awestruct et Boostrap

Intergiciel - concepts de base

Threads. Threads. USTL routier 1

Analyse de performance, monitoring

«Les projets collaboratifs pour les nuls»

Module 0 : Présentation de Windows 2000

Introduction aux applications réparties

Projet Active Object

Java Licence Professionnelle CISII,

Cours de Génie Logiciel

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Initiation à JAVA et à la programmation objet.

Formation Symantec Veritas Cluster Server 6.x pour Unix

Développement Logiciel

PLAN DE SITUATION C'est le plan qui localise votre terrain PCMI 1. SAINT DENIS - Bellepierre Parcelle AY 592. Ech : 1/ 2000 ème

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Architecture d un service de partage de données modifiables sur une infrastructure pair-à-pair

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

Master IAC Philippe Caillou DÉVELOPPEMENT DE SMA. Cours 1b

Séminaire RGE REIMS 17 février 2011

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Une interface moderne et multi devices avec Drupal Focus sur Omega

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

Architecture des ordinateurs

Tests de SlipStream sur les plateformes et : vers la. Vers la fédération du Cloud computing

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Solutions de gestion de la sécurité Livre blanc

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Machine virtuelle Java pour Palm TX

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Clusters de PCs Linux

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

Plan. Patrons de conception. Motivations. Design Pattern : principe. Philippe Collet

<Insert Picture Here> Solaris pour la base de donnés Oracle

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Software Engineering and Middleware A Roadmap

Pour les entreprises de taille moyenne. Descriptif Produit Oracle Real Application Clusters (RAC)

Moderniser. le système d information et le portefeuille applicatif.

Architecture et Extensions d ArcGIS Server

Plan du cours. Historique du langage Nouveautés de Java 7

Sébastien Geiger IPHC Strasbourg

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Parallélisme et Répartition

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Système de Gestion de Fichiers

INENTECH nos expertises. Automatisation / informatique industrielle. Systèmes de conduite automatisée. Informatique de production.

Transcription:

Parallélisation d'un logiciel de simulation de croissance des plantes dans un environnement Java Pascale Launay VALORIA, Vannes Pascale.Launay@univ-ubs.fr

Contexte Le projet Concerto Objectif : définir une infrastructure répartie qui inclut la description globale d'une application et permet sa reconfiguration dynamique. Applications visées : simulation numérique (croissance des plantes, mécanique des fluides Contexte : parallélisme et distribution aspects dynamiques grappes, grilles Pascale Launay 1

Contexte Le projet Concerto Besoins particuliers : exploitation des réseaux haut débits besoins d adaptation interconnexion Moyens : description du parallélisme, aspects dynamiques exécutif adapté aux réseaux haut-débit mécanismes d observation et d adaptation Travaux préliminaires : Do! Expresso Projet RASC Pascale Launay 2

Contexte Action de validation applicative ihperf 98 «Parallélisation d'un logiciel de simulation de croissance des plantes dans un environnement Java» Objectif : évaluer la faisabilité de l'exécution sur une grappe de PCs d'un code de simulation de la croissance des plantes, en utilisant notre plateforme Moyens : environnement Do! : description du parallélisme ; accès transparent aux objets exécutif Expresso : transfert de graphes d objets Pascale Launay 3

Plan de la présentation Présentation de l application L environnement Do! L exécutif Expresso Points-clé du développement Perspectives Pascale Launay 4

AMAPpara Simulation de croissance des plantes Logiciel AMAPpara, conçu par le CIRAD, Montpellier Modélisation de phénomènes de croissance des arbres de manière très fine : étudier le développement d'un arbre ou d'une forêt en fonction de l'environnement. Applications : étudier les meilleures conditions de plantation pour optimiser le rendement ou la qualité du bois prévoir l'aspect visuel d'un arbre pour des applications de paysagisme. Pascale Launay 5

AMAPpara Simulation de croissance des plantes Particularités : complexité de la structure (arbre) couplage : simulation de plusieurs phénomènes physiques différents (éclairement, contraintes mécaniques,...) Exécution : temps de calcul importants espace mémoire très grand Objectif : augmenter la taille des problèmes traités Pascale Launay 6

AMAPpara Simulation de croissance des plantes moteur de croissance (physiologie) conditions du milieu lumière, vent hygrométrie, compétition, simulation mécanique 7

AMAPpara Exemple : croissance d un Pinus Pascale Launay 8

Do! Description du parallélisme et de la distribution Cadre unifié pour l expression du parallélisme et de la distribution par l utilisation de collections Constructeurs parallèles appliqués à des collections d objets actifs (tâches) ou passifs (données) DATAPAR PAR SHAREDPAR objets actifs objets passifs Pascale Launay 9

Do! Description du parallélisme Parcours des collections : itérateurs robustes Traitement sur les collections : opérateurs réactifs Collection Itérateur Opérateur Array ArrayIterator Start Join Pascale Launay 10

Do! Description de la distribution Collection distribuée : regroupe des éléments placés sur des nœuds distincts Gestion de la distribution : DLM (Distribution Layout Manager) transformation de clés nœud propriétaire d un élément collection distribuée itérateur non distribué opérateur non distribué DLM accès distant Pascale Launay 11

Do! Accès transparent aux objets accès distant collection distribuée Accès aux éléments distants placement : créations distantes accès : RMI (invocations de méthodes à distance) Transformations de code (objets accessibles) localisation transparente des objets (placement et accès uniformes) Pascale Launay 12

Expresso Expresso Objectif : étude de l impact des réseaux à haute performance sur les supports d exécution pour systèmes à objets mises en œuvre classiques mal adaptées aux réseaux à haute performance Prototype de support pour Java (Kaffe) brique de base : transfert de graphe d objet (avec partages et cycles) réseau local de type Myrinet mise en œuvre originale performance de la sérialisation faible Pascale Launay 13

Expresso Bibliothèque Expresso Caractéristiques : regroupement d objets (clusters d objets) contrôle de l allocation mémoire par la JVM transfert direct de zones mémoire (1 cluster = 1 message) Modèle : création des objets dans des clusters communication de clusters utilisation transparente des objets émis et reçus Interface : package Java clusters iso-adresse (pas d empaquetage / dépaquetage) clusters relogeables (plus souple) Pascale Launay 14

Expresso Exemple : envoi - réception d un arbre Cluster.init(argv); if (Cluster.myNode == NODE0) { ClusterISO clu = new ClusterISO(3); clu.setcurrent(); Btree arbre = (Btree)Cluster.newObject(Btree.class); arbre.fg = (Btree)Cluster.newObject(Btree.class); arbre.fd = (Btree)Cluster.newObject(Btree.class);... clu.setrootobject(arbre); clu.send(node1); } else { ClusterISO clu = new ClusterISO(3); clu = ClusterISO.recv(NODE0,3); arbre Btree = (Btree)clu.getRootObject(); arbre.affiche(); } Cluster.quit(); Pascale Launay 15

Expresso Mise en oeuvre JVM Kaffe, JNI Communication sur GM-MPICH Transfert zéro-copie Surcoût d empaquetage / dépaquetage faible, voire nul Amélioration drastique des performances / sérialisation Nbre d'objets Serializable Externalizable ClusterRELOC ClusterISO 29 25 3 0,30 0,28 355 145 25 1,07 0,81 1760 3479 1384 210 683 4,30 8,75 Temps de transfert d un graphe (carte routière) en ms 2,82 5,77 Pascale Launay 16

Points-clé Portage de l application Réécriture de l application en Java code structures de données Découpage et parallélisation Adaptation à l environnement Do! Distribution Pascale Launay 17

Points-clé Adaptation de Do! à Expresso Support de communication actuel : RMI Java particulièrement inefficace Objets accessibles : le schéma de transformation ne dépend pas du support exécutif Modifier le préprocesseur pour générer du code pour Expresso invocation de méthodes : send/recv création des objets : Expresso doit pouvoir en contrôler l'allocation. Pascale Launay 18

Points-clé Adaptation d Expresso à Do! Extension de la bibliothèque Expresso : services de communication de base appel de méthode à distance création d'objets à distance prise en compte des threads Pascale Launay 19

Conclusion Perspectives Action ihperf : évaluer la faisabilité de l'exécution sur une grappe de PCs d'un code de simulation finaliser et valider l environnement Do! et l exécutif Expresso en réalisant leur interconnexion Construction d une plateforme répartie plus générale support exécutif adapté aux réseaux haut-débit grappes et grilles encapsulation du parallélisme et de la distribution au sein de composants parallèles mécanismes d expression des besoins, d observation et d adaptation Pascale Launay 20