AHA Algorithmes Hybrides et Adaptatifs

Slides:



Advertisements
Présentations similaires
Candidature à une allocation de recherche en informatique
Advertisements

Placement de Motifs Architecture Application Contraintes: - Charge
Fabrice Lauri, François Charpillet, Daniel Szer
Architecture de machines Le microprocesseur
« Systèmes électroniques »
Résolution de problèmes et logiciel de calcul symbolique
A NETWORK-AWARE DISTRIBUTED STORAGE CACHE FOR DATA INTENSIVE ENVIRONMENTS Brian L. TIERNEY, Jason LEE, Brian CROWLEY, Mason HOLDING Computing Sciences.
Master de recherche informatique Université de Montpellier 2
SIMBIO vers des outils logiciels collaboratifs pour réussir le grenelle dans le bâtiment.
CLUSTERING Grappe d'ordinateurs.
Cours n° 8 Conception et Programmation à Objets
PLAN du COURS Introduction Structure des Systèmes Informatiques
Equipe optimisation TempoSoft
Objectif de l’exposé.
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Journées Composants 2005 Gestion de la qualité de service de la conception à l’exécution dans les applications distribuées multimédias Sophie Laplace.
Modèle de coût algorithmique intégrant des mécanismes de tolérance aux pannes Samir Jafar, Thierry Gautier, Jean Louis Roch Laboratoire ID-IMAG Equipe.
Un modèle pour ladaptation dynamique des programmes parallèles Jérémy Buisson RenPar 2005 vendredi 8 avril 2005.
Informatique parallèle hautes performances
1 ACI DADDI - Réunion de lancement IRISA - Projet ADEPT Michel Hurfin Jean-Pierre Le Narzul Frédéric Tronel 23 mai 2005.
Ordonnancement des mouvements de deux robots
Architecture de machines Principes généraux
Application à la méthode des
Sélection automatique d’index et de vues matérialisées
Séminaire national 26 septembre 2012
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
MIAGE MASTER 1 Cours de gestion de projet
Architecture de grille générique, multi-
Application des algorithmes génétiques
Les Systèmes Multi-Agents pour la Gestion de Production
1. Spécialisation de GeoConcept
Aide à la décision et à la négociation dans un problème de gestion de production distribuée Jean-Pierre Camalot et Patrick Esquirol LAAS-CNRS 7, avenue.
DEA Intelligence Artificielle et Optimisation Combinatoire
Chaire UNESCO - Calcul numérique intensif
Rennes, le 18 septembre 2006 Support du paradigme maître-travailleur dans les applications à base de composants Tâche 2.2 Hinde Bouziane Réunion LEGO.
SCIENCES DE L ’INGENIEUR
Tous droits réservés - 15 novembre 2004 Présentation du PEI Étude de marché des éditeurs de logiciels dans le domaine de la géographie.
IGL301 - Spécification et vérification des exgiences 1 Chapitre 1 Introduction (ref : Bray chapitre 1)
Universté de la Manouba
Projet région Thématique prioritaire n°10 Calculs Scientifiques Logiciels Rhône-Alpes : Grille pour le Traitement dInformations Médicales (RAGTIME ?)
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
P. David, V. Idasiak, F. Kratz PRISME / L.V.R
LSIIT-ICPS Illkirch, le 11 décembre 2001
GPA750 – Gestion de Projets
L’adaptativité pour un solveur de l’équation de Vlasov
I MAGIS est un projet commun CNRS - INPG - INRIA - UJF iMAGIS-GRAVIR / IMAG Optimisation à base de flot de graphe pour l'acquisition d'informations 3D.
Soutenance de stage 16 Mai au 5 Août 2011
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
Supports de formation au SQ Unifié
Plate-forme MIRAGE Méso-Informatique Répartie pour des Applications en Géophysique et Environnement.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Les systèmes mono-puce
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Régulation de charge Jean-Louis Roch Projet APACHE Laboratoire ID - IMAG École ParDi Oujda - Octobre 1999.
Étude d’un protocole de partage de travail entre systèmes Pair à Pair
Initiation à la conception des systèmes d'informations
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
Optimisation pour la Conception de Systèmes Embarqués
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
1 Logiciels de confection automatique d’horaires.
30/11/2007Architecture logicielle pour l’adaptation dynamique; Application à la réplication de données1 Architecture logicielle pour l’adaptation dynamique.
Ordonnancement en présence d’agents individualistes
Proposition de possibilité d’évolution de nos spécialités Deux projets (liés) : Projet 1 : Informatique Computationnelle – Etudiants 4 e et 5 e IR Projet.
Algorithmes parallèles
LE PROJET EN TERMINALE.
Transcription de la présentation:

AHA Algorithmes Hybrides et Adaptatifs MOAIS / ID-IMAG Algorithmique, programmation parallèle, ordonnancement GILCO Optimisation combinatoire: gestion production, transport LMC-IMAG Algorithmique calcul exact ARENAIRE Algorithmique calcul fiable MOVI Vision et interaction, reconstruction 3D

Adaptabilité Les données varient Les ressources varient Application 2 slides : Contexte: données et machine varient Adaptatbilite: repteter le schema puis ajouiter une bulle adptatbilite - combiner plusieurs algorithmes - recuperer des mesures Projet algorithmique:. Lors de l’exécution d’un algorithme, le contexte d’exécution varie: - au niveau des données manipulées au niveau de l’architecture d’exécution Pour s’adapter Approche hiérarchique : Première distribution prenant en compte l’architecture globale : Volume global de calculs Hétérogénéité inter-clusters Adaptation à la machine locale de l’application Pré-calibrage Équilibrage dynamique Nécessité d’adaptation pour les applications: => chgt de degré de //isme, chgt d’algo Retrait/Ajout de clusters/gros nœuds (lourd) Surcharge/sous-charge au sein d’un cluster/nœud SMP => Vision générique, intégrée d’une application adaptable Faire un dessin : et 2 slides ou une animation : bien le faire passer ! Ce qui varie : Ressources Données Ce que peut faire l’ordonnancement : Planification a priori : scheduling Load-balancing : redistribution Ce que peut faire l’algorithme : Pré-paramétrage en fonction de caractéristiques connues Réaction à l’environnement : hétérogène dynamique AHA: avoir une vision globale d’un algorithme adaptatif qui est basé sur une combinaison de plusieurs algorithmes possibles qui calculent la même chose avec des performances différentes Nécessité d’adaptation pour améliorer la performance

Adaptabilité Les données varient Les ressources varient Adaptations Mesures sur les ressources Mesures sur les données Adaptations Choix algorithme séquentiels/parallèle(s) approché/exact en mémoire / out of core Ordonnancement planification (scheduling) volume calculs / hétérogénéité redistribution (load-balancing) Calibrage pré-paramétrage taille de blocs / cache choix d’instructions gestion de priorités 2 slides : Contexte: données et machine varient Adaptatbilite: repteter le schema puis ajouiter une bulle adptatbilite - combiner plusieurs algorithmes - recuperer des mesures Projet algorithmique:. Lors de l’exécution d’un algorithme, le contexte d’exécution varie: - au niveau des données manipulées au niveau de l’architecture d’exécution Pour s’adapter Approche hiérarchique : Première distribution prenant en compte l’architecture globale : Volume global de calculs Hétérogénéité inter-clusters Adaptation à la machine locale de l’application Pré-calibrage Équilibrage dynamique Nécessité d’adaptation pour les applications: => chgt de degré de //isme, chgt d’algo Retrait/Ajout de clusters/gros nœuds (lourd) Surcharge/sous-charge au sein d’un cluster/nœud SMP => Vision générique, intégrée d’une application adaptable Faire un dessin : et 2 slides ou une animation : bien le faire passer ! Ce qui varie : Ressources Données Ce que peut faire l’ordonnancement : Planification a priori : scheduling Load-balancing : redistribution Ce que peut faire l’algorithme : Pré-paramétrage en fonction de caractéristiques connues Réaction à l’environnement : hétérogène dynamique AHA: avoir une vision globale d’un algorithme adaptatif qui est basé sur une combinaison de plusieurs algorithmes possibles qui calculent la même chose avec des performances différentes Objectif de AHA : vision intégrée de l’adaptation Approche algorithmique : combinaison auto-adaptative d’algorithmes avec comportement global justifié d’un point de vue théorique

Contexte applicatif Calcul fiable (LMC, ARENAIRE) : FFLAS (exact), MPIF (intervalles) => Adaptation : ressources: hiérarchie mémoire, unités de calcul (flottantes / entiéres), hybridation arithmétique approchée / intervalles / exacte utilisés par LinBox (www.linalg.org) Vision artificielle (MOVI) : reconstruction 3D multi-caméras Adaptation : ressources hétérogènes (mono-pro / bipro) niveau de détail Optimisation combinatoire (GILCO) : conception de réseaux pour le transport => Adaptation : ressources disponibles sur une grille hybridation méthodes exactes / méthodes approchées Grimage (MOVI, MOAIS) Grâce à l’exploitation automatique de ces architectures, relever des défis applicatifs Besoin d’adaptation dans chaque applicatif Differentes cibles privilégiées : SMPs, clusters heterogenes, grille Insister : sur la transversalité e l’adpatation mais sur un seul: citer les autres mais pas les edetailler Detailler une :

Verrou scientifique Existant : Algorithmes qui intègrent une forme d’adaptabilité restreinte Verrou : comment construire une combinaison d’algorithmes qui s’adapte automatiquement à l’ensemble du contexte d’exécution ? Clef : trouver la combinaison qui permet de garantir la meilleure performance globale : technique algorithmique classique en parallélisme «  Cascading Divide&Conquer » (1991) Aller plus loin : « poly-algorithme »

Approche scientifique de AHA Problème à résoudre : f Plusieurs algorithmes (adaptifs) possibles: algo_f1, algo_f2(taille_bloc), … algo_fk Chaque algorithme algo_fk est récursif : algo_fi ( n, … ) { …. f ( n - 1, … ) ; // appels à des …. // f ( n / 2, … ) ; // sous-problèmes … } Adaptation choix de algo_fj pour chaque appel à f Etre large : integrer ordt, calibrage, algos Auto-adaptation : le calcul progresse tout en permettant de remettre en cause des choix non pertinents. Maîtriser le surcoût dû au choix (Work-first principle)

Un exemple : calcul des préfixes Entrées : P-1, a0, an-1 Sorties : P-1*a0, P-1*a0*a1, …, P-1*a0*a1*…*an-1 Problèmes d’adaptation sur deux machines M1 et M2 : Algorithme séquentiel M1, M2 / Algorithme parallèle M1, M1+M2, … Tseq = n / T = log(n) mais T1 > 1.5 n Taille de blocs : dépend machine Adaptation aux données: opération * de coût variable Contrainte de temps sur les résultats : * à précision adaptable Comment peut-on les résoudre par combinaison récursive auto-calibration à l’installation : taille de blocs; pré-distribution des données Adaptation inactivité aux ressources Etre large : integrer ordt, calibrage, algos

Préfixe(Pm-1*Ru-1, au, an-1) bloc Pm-1 = Préfixe(P-1, a0, am-1) M1 Préfixe(Pm-1*Ru-1, au, an-1) M2 bloc Ru-1 = Préfixe(1, am, au-1) Prédistribution Exécution séquentielle par défaut pour chaque algorithme

Préfixe(Pm-1*Ru-1, au, an-1) bloc Pm-1 = Préfixe(P-1, a0, am-1) M1 Préfixe(Pm-1*Ru-1, au, an-1) M2 Ru-1 = Préfixe(1, am, au-1) Algorithme auto-adaptatif : s’adapte au contexte (données+machine)) T = n + log(n) en pire cas, donc proche du temps séquentiel T = log(n) en meilleur cas ; 0.75n sur deux machines idéales Dans tous les cas, activité utile des ressources

Conclusion Approche algorithmique de l'adaptabilité Clef pour l’exploitation de ressources mutualisées Forte composante théorique avec validation expérimentale pour relever des défis applicatifs

Questions ?

Organisation de AHA 1 fourniture transversale : AdSynth Description générique d’un algorithme adaptatif Synthèse théorique des algorithmes adaptatifs / hybrides Analyse, classification, complexité Spécification d’un schéma générique Défi : efficacité de l'adaptabilité sur des exemples simples Validation : Plateforme d’expérimentation Plateformes disponibles: serveurs(bi-procs), clusters (grimage, icluster2), grilles (ciment, grid5000) Pas de multi-processeurs (bi-processeurs insuffisants) : SMP = premier cadre d’utilisation: essentiel pour transférer la technologie Valider l’approche : reproductibilité des expérimentations participation à l’acquisition d’un SMP (quadri-processeurs au moins) 3 fournitures dans chaque domaine applicatif Calcul fiable adaptatif Optimisation combinatoire Reconstruction 3D Combinaison théorique: mécanisme de haut-)niveau: self-scheduling (work-stealing, …) - pré- calibration - etc : hiérarchique

Justifications Technologique Politique Sociétale : Disponibilité des architectures fédératives Grimage, Ciment, … Grid’5000 Visibilité du pôle Grenoblois sur ces plateformes Fédérer les développements logiciels [ROXANE] Vision intégrée de l’adptabilité Politique Concrétiser les relations existantes autour d’une problématique émergente: les algorithmes adaptatifs Algorithmique LMC, ARENAIRE, MOAIS, GILCO Grimage : MOVI / MOAIS Pas de moyens pour de gros clusters : on doit exploiter des ressources hétérogènes, non-uniformes (ex: CERN) Sociétale : Indirecte : à travers les défis applicatifs : Reconstruction 3D temps réel : environnements de travail collaboratif Optimisation : gestion de production, stockage, transport Adaptabilité = clef pour la mutualisation de ressources sinon vacantes donc polluantes

Contexte scientifique (1/2) Mécanismes d’adaptation exploités effectivement et prouvés Atlas [2001] bibliothèque algèbre linéaire dense (FFLAS) Choix entre algorithmes par bloc ou scalaire ? Auto-calibration de la taille des blocs à l’installation sur la machine FFTW (1998, … ) = algorithme récursif adaptatif Choix de la meilleure découpe possible à chaque appel récursif ? Pré-calcul de la découpe optimale pour la taille n du vecteur sur la machine Cilk (1998, …) Athapascan (2000, …) : parallélisme récursif Choix entre exécution parallèle ou séquentielle pour chaque appel récursif ? « Work-first principle » : Exécution séquentielle optimisée sauf si inactivité Au niveau du contexte scientifique, il y a depuis quelques années un regain d’interet pour l’adaptation. D’une part elle est exploitée dans des logiciels Atlas qui est la bibliothèque de référence en algebre lineaire dense; dans Atlas, Dans Atlas, il y a 2 types des algorithmes: par blocs, et déroulés au sein d’un bloc. Le seuill entre les 2 algorithmes est calculé à l’installation du logiciel sur lamachine. Atlas est utilisée par FFLAS Utilisée pour le calcul exact dans les corps finis (FFLAS, 2004) Exploitation des unités flottantes + garantie exactitude du résultat Le matrices sont découpéees par blocs, chaque bloc étant Ordonnancement multi-critère avec garantie [Trystram&al 2004] Optimiser un critère en relâchant l’autre tout en garantissant une approximation pour chaque facteur Tâche « moldable » Minsum / makspan (2004 ) : construction récursive Dans FFT, logiciel référence pour les calculs de FFT efficace et portables

Contexte scientifique (2/2) Résultats théoriques récents : combinaison d’algorithmes avec justification théorique Tâches moldables : Ordonnancement bi-critère avec garantie [Trystram&al 2004] Combinaison récursive alternatiive d’approximation pour chaque critère Auto-adaptation avec performance garantie pour chaque critère Algorithmes « Cache-Oblivious » [Bender&al 2004] Découpe récursive par bloc qui minimise les défauts de page Auto-adaptation à la hiérarchie mémoire (B-tree) Algorithmes « Processor-Oblivious » [Roch&al 2005] Combinaison récursive de 2 algorithmes séquentiel et parallèle Auto-adaptation à l’inactivité des ressources Au niveau du contexte scientifique, il y a depuis quelques années un regain d’interet pour l’adaptation. D’une part elle est exploitée dans des logiciels Atlas qui est la bibliothèque de référence en algebre lineaire dense; dans Atlas, Dans Atlas, il y a 2 types des algorithmes: par blocs, et déroulés au sein d’un bloc. Le seuill entre les 2 algorithmes est calculé à l’installation du logiciel sur lamachine. Atlas est utilisée par FFLAS Utilisée pour le calcul exact dans les corps finis (FFLAS, 2004) Exploitation des unités flottantes + garantie exactitude du résultat Le matrices sont découpéees par blocs, chaque bloc étant Ordonnancement multi-critère avec garantie [Trystram&al 2004] Optimiser un critère en relâchant l’autre tout en garantissant une approximation pour chaque facteur Tâche « moldable » Minsum / makspan (2004 ) : construction récursive Dans FFT, logiciel référence pour les calculs de FFT efficace et portables

Collaborations LinBox (UD, NCSU, UWO) Transports : A.Barra, R.Balassiano (UFRJ/PUC, Rio), F.Loureiro (UF de Ceara, Fortaleza) Reconstruction 3D / Grimage : MOVI / Brown university Algorithmes « oblivious », adaptatifs : M. Bender Stony Brook C. Leiserson MIT (AtomicCilk)

Questions ?

Contexte technologique Disponibilité effective d’architectures agglomérant des ressources hétérogènes, non-uniformes Machines (hiérarchie mémoire, SMP UMA/NUMA) Clusters : nœuds de calcul (x86, IA64, PowerPC,…) , I/O (caméras, projecteurs, …) Grille : locale [CIMENT] nationale [Grid5000]

Bilan financier

Approche scientifique (1/4) Description générique d’un algorithme adaptatif Synthèse théorique des algorithmes adaptatifs / hybrides Analyse, classification, complexité Plateforme d’expérimentation Machine SMP quadri-processeurs Modèles de perturbation / Reproductibilité Défi: rendre, grâce à l’adaptabilité, le calcul sur processeurs non uniformes aussi efficace que sur processeur uniforme Fourniture AdSynth: Investissement 8k€ / Fnct 6k€ / Missions 12 k€ = 26k€

Approche scientifique (2/4) Calcul fiable adaptatif Calcul exact d’un signe (arithmétique exacte/flottante/intervalles) Existant : FFLAS / MPFI Utilisant Atlas / BLAS (calculs flottants avec garantie) Adaptabilité : Exploitation de ressources parallèles Hybridation arithmétique exacte / intervalles/ flottante Calcul flottant avec garantie d’erreur ou d’exactitude : Calcul exact d’un signe Résolution de système par pré-conditionnement flottant (arithmétique exacte/flottante/intervalles) Défi: Rendre le calcul exact aussi efficace que le numérique Fourniture AdCalc: Investissement 8k€ / Fnct 6k€ / Missions 6 k€ = 20k€

Approche scientifique (3/4) Optimisation combinatoire adaptative: problème de transport à Fortalerza, Brésil Adaptabilité : parallélisme adaptatif + méthodes hybrides (approchées-exactes) Méthode exacte (PLNE+CPLEX) Méthodes approchées (Recherche Tabou) solutions de meilleure qualité Défi: Transport urbain avec #villes = 1OOO Fourniture AdOpt: Investissement 3k€ / Vacations 10k€ / Missions 5k€ = 18k€ Critères: compromis entre qualité de services clients (temps de transport,fréquence des bus, # de transferts, % de satisfaction) et coûts de l’opérateur de transport (couverture, # de lignes, # de bus, # de conducteurs)

Approche scientifique (4/4) Reconstruction 3D multi-caméras temps réel Adaptabilité : en fonction des ressources: Changement de contexte (arrivée de nouvelle personne, …) : niveau de détail (oct-tree, … ), redéploiement Ajout/retrait/ déplacement de quelques caméras : auto-calibration dynamique, … Défi: Précision, fluidité et latence (interaction mondes réel / virtuel) Fourniture AdOpt: Vacations 9k€ / Missions 6k€ = 15k€ 6 caméras 12 caméras 25 caméras