Le calcul intensif en Java : 3 exemples d utilisation en SHS

Documents pareils
Infrastructure de calcul du CRRI

Infrastructures Parallèles de Calcul

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Quantification d incertitude et Tendances en HPC

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Master Informatique Aix-Marseille Université

HADOOP ET SON ÉCOSYSTÈME

Machines virtuelles Cours 1 : Introduction

Les environnements de calcul distribué

TerrOïko : JEU en collaboration avec la SEEM

4D v11 SQL Release 5 (11.5) ADDENDUM

Catalogue des stages Ercom 2013

Rapport d activité. Mathieu Souchaud Juin 2007

Architecture des ordinateurs

Atelier Pivoting KHOULOUD GATTOUSSI (RT3) ASMA LAHBIB (RT3) KHAOULA BLEL (RT3) KARIMA MAALAOUI (RT3)

Environnements de développement (intégrés)

Éléments de programmation et introduction à Java

WEA Un Gérant d'objets Persistants pour des environnements distribués

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

CORBA haute performance

Les mésocentres HPC àportée de clic des utilisateurs industriels

Solution logicielle pour le pilotage et l ERM. Journées d études IARD 26 mars mars 2010

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

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

Le cloud computing au service des applications cartographiques à haute disponibilité

Annexe : La Programmation Informatique

Rencontre sur la thématique du Calcul Haute Performance - 13 juin Better Match, Faster Innovation

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

Outils pour les réseaux de neurones et contenu du CD-Rom

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

Journée Scientifique Onera

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Les outils actuels permettent-ils d automatiser la production de cartes? De quels outils dispose-t-on?

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

DG-ADAJ: Une plateforme Desktop Grid

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

SysFera. Benjamin Depardon

IRL : Simulation distribuée pour les systèmes embarqués

Initiation au HPC - Généralités

Chapitre 2 : Abstraction et Virtualisation

Évaluation et implémentation des langages

Java - la plateforme

Colloque Calcul IN2P3

Le projet Gaïa, le Big Data au service du traitement de données satellitaires CRIP - 16/10/2013 Pierre-Marie Brunet

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

La gestion des données en écologie des communautés végétales : l exemple de Phytobase

Les technologies du Big Data

Bases de données documentaires et distribuées Cours NFE04

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

et de suivi de la corpulence des enfants

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

as Architecture des Systèmes d Information

ECM ENTERPRISE CONTENT MANAGEMENT POUR

Semestre HPC. Violaine Louvet. Institut Camille Jordan - CNRS louvet@math.univ-lyon1.fr. Labex MILyon, Printemps 2016

Programmation C. Apprendre à développer des programmes simples dans le langage C

Technologie SDS (Software-Defined Storage) de DataCore

GPC Computer Science

Le data center moderne virtualisé

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Fiche technique rue de Londres Paris Tél. : Mail : contact@omnikles.com

Etude d Algorithmes Parallèles de Data Mining

Protection des données avec les solutions de stockage NETGEAR

2015 // des formations. programme. Retrouvez toutes ces informations sur enseirb-matmeca.bordeaux-inp.fr

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Exigences système Commercial & Digital Printing

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche

Reproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application"

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Portage d applications sur le Cloud IaaS Portage d application

Exigences système Commercial & Digital Printing

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

BIG DATA en Sciences et Industries de l Environnement

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

Communauté d Universités et Établissements. Stratégie Territoriale et Initiative d Excellence. Université Côte d Azur (UCA) - page 1

La technologie Java Card TM

Traitement numérique de l'image. Raphaël Isdant

SQL Server 2012 et SQL Server 2014

Environnements et Outils de Développement Cours 1 Introduction

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

11/01/2014. Le Big Data Mining enjeux et approches techniques. Plan. Introduction. Introduction. Quelques exemples d applications

Soutenance de stage Laboratoire des Signaux et Systèmes

e-biogenouest CNRS UMR 6074 IRISA-INRIA / Plateforme de Bioinformatique GenOuest yvan.le_bras@irisa.fr Programme fédérateur Biogenouest co-financé

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

Les services de la PLM Mathrice. Et quelques outils de web-conférence

Transcription:

Le calcul intensif en Java : 3 exemples d utilisation en SHS 4ème journée Mésochallenges Gilles Vuidel 13/10/2016 - IHP Laboratoire ThéMA - CNRS - Université de Franche-Comté

Laboratoire ThéMA - UMR 6049 Théoriser et modéliser pour aménager Laboratoire de géographie théorique et quantitative, qui s attache à observer, modéliser et simuler les processus à l œuvre dans l espace géographique. 1

Historique Avant 2010 Développement d outils principalement en C et en Java. Exécutés en local et en séquentiel sous Windows. Depuis 2010 Arrivé d un calculateur 48 coeurs à la MSHE Ledoux puis du mésocentre de l Université de Franche Comté. Montée en puissance du HPC : 1. Adaptation des codes pour parallélisation par thread 2. Création d une bibliothèque d abstraction pour MPI avec OpenMPI 3. Ajout de code spécifique GPU avec JCUDA 2

Pourquoi Java? Le choix du langage Java a été effectué avant l utilisation du HPC. Pourquoi Java? bonne gestion des données géographiques avec GeoTools réellement multi-plateforme : 1 seul packaging facilité de mise en oeuvre d une interface graphique : RAD utilisation dans le milieu académique mais aussi socio-économique 3

Utilisation Les logiciels sont diffusés auprès de la communauté scientifique mais aussi dans le monde socio-économique Support d exécution sur des postes de travail sous Windows, Mac ou Linux sur des calculateurs distants sous Windows ou Linux sur un cluster (mésocentre de l UFC) sur cloud (Amazon) Java un seul code et un seul packaging : code once run anywhere performance proche des langages compilés 4

Projet MobiSim Objectif Plate-forme de simulation individu-centré des mobilités urbaines pour le test de scénarios de développement urbain 5

Projet MobiSim 6

Projet MobiSim 7

Projet MobiSim Parallélisation complexe Pas un traitement à paralléliser mais une multitude 2 modules orientés agent MQ et MR 3 autres modules ED, EL et DR pré traitements spatiaux en cache pour optimiser l exécution entrées/sorties Dépendances multiples dépendances entre modules dépendances entre agents 8

Projet MobiSim Test de stabilité et de sensibilité 2 parallélisations en parallèle : Parallélisation au sein d une simulation sur 1 machine par les thread Exécution en parallèle de plusieurs simulations sur plusieurs machines avec SGE et les tableaux de taches. Sur la ville de Besançon Une simulation sur la ville de Besançon : 80h sur 1 coeur, 8h sur 12 coeurs Test de stabilité : 100x 8 000h, 80h sur 10x12coeurs Test de sensibilité : 1500x 120 000h, 1200h sur 10x12coeurs 9

Projet Graphab Objectif Modéliser les réseaux écologiques par les graphes paysagers pour le maintient de la biodiversité animale 10

Projet Graphab Fonctionnalités Création de graphes spatiaux à partir de données géographiques Calcul de métriques mesurant la connectivité du graphe Test d ajout/suppression d éléments sur le graphe Complexité La complexité des algorithmes varient entre N log N et N 6. parallélisation par thread ne suffit plus passage à MPI 11

Projet Graphab Passage MPI OpenMPI contient un wrapper pour Java Création d une bibliothèque d abstraction thread/mpi (uniquement pour map/reduce) Difficultés une machine virtuelle (JVM) lancée pour chaque coeur gestion mémoire délicate : impossible de contraindre de manière sûre la mémoire utilisée par la JVM. 12

Projet Graphab Exemple Ou cre er des nouvelles taches d habitat pour maximiser la connectivite du re seau e cologique de la rainette arboricole? 10 jours sur 300 coeurs 70 000h 13

Projet PixScape Objectif Modéliser le paysage visible et calculer des indicateurs paysagers pour analyser l esthétique paysagère. 14

Projet PixScape Principe 1. A partir de données matricielles en 2D et demi, calculer le bassin de visibilité d un point. 2. Synthétiser son bassin de visibilité par un ou plusieurs indicateurs. 3. Répéter le traitement pour chaque pixel de l image 15

Projet PixScape Composition colorée pour 3 groupes de jugement esthétique 81 millions de pixels 60 000h Y. Sahraoui (2016) 16

Projet PixScape Améliorer les performances Complexité : N 2 Réduire la complexité de l algorithme par approximation successive : N log N en cours Optimiser le code Java réalisé en continu Traduire en code C testé Utiliser des GPU implémenté 17

Projet PixScape - Optimisation Optimisation code C Calcul du bassin de visibilité traduit en C Temps de calcul (en s.) et gains (en %) pour un calcul de bassin de visibilité d une image de 100M de pixels 18

Projet PixScape - Optimisation Gain avec le code C GCC 5.1 -O3 : entre -10% et 10% ICC 15 -fast : entre 10% et 30% Taille de l exécutable Pour 100 lignes de code C : GCC 10 ko ICC 1 Mo! 19

Projet PixScape - Optimisation Accélération GPU Calcul à priori propice à l accélération GPU. Accès à 4x Nvidia Tesla K40 au Mésocentre de l UFC Utilisation de CUDA et de son wrapper Java JCuda Réécriture du calcul de bassin de visibilité en langage C/CUDA ainsi que de plusieurs métriques 20

Projet PixScape - Optimisation Accélération GPU Comparaison des temps d exécution du calcul de 200 000 bassins de visibilité et de plusieurs métriques sur une image de 81M de pixels Temps de calcul pour 3 métriques : A, S, IJI Métrique IJI non implémentée en CUDA 21

Projet PixScape - Optimisation 22

Synthèse Thread Facile à implémenter en Java, encore plus avec Java 8 et les closure, fonctionne partout. Limites : matérielles (nb de coeurs) et gestion mémoire par le Garbage Collector limiter la création d objets temporaires MPI Facile à implémenter avec OpenMPI pour parallélisation simple (map/reduce) Limite : gestion mémoire, 1 machine virtuelle par coeur. Pour map/reduce, Spark sûrement plus intéressant GPU Gain potentiellement important à moindre coût (matériel) Pas de parallélisation automatique code spécifique, 23

Synthèse Java pur Un seul packaging simple à distribuer Parfait pour les thread, plus délicat pour MPI Intéressant pour cluster hétérogène, grille, Spark,... Java + code natif (PixScape) Code C : gain de 0 à 30% GPU CUDA : gain de 600% (Tesla K40 vs Xeon E5-2660 8 coeurs) Java + CUDA : une alternative intéressante à Java + C Java + GPU OpenCL pour s abstraire de CUDA GPU en code Java : Rootbeer 24

Merci de votre attention 25