240 likes | 446 Views
AHA Algorithmes Hybrides et Adaptatifs. MOAIS / ID-IMAG Algorithmique, programmation parallèle, ordonnancement GILCO Optimisation combinatoire: gestion production, transport LMC-IMAG Algorithmique calcul exact A RENAIRE Algorithmique calcul fiable
E N D
AHAAlgorithmes 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 Nécessité d’adaptation pour améliorer la performance
Adaptabilité Les données varient Les ressources varient 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 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
Grimage (MOVI, MOAIS) 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
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 »
Adaptationchoix de algo_fjpour chaque appel à f 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 … } • 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
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
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
Organisation de AHA • 1 fourniture transversale : AdSynthDescription 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
Justifications • Technologique • 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é
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
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)
Contexte technologique • Disponibilité effective d’architectures agglomérant des ressourceshé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]
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