Post on 04-Apr-2015
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é
€
7 3 6
0 1 8
0 0 5
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
Les données varientLes ressources varient
Application
Nécessité d’adaptation pour améliorer la performance
Adaptabilité
€
7 3 6
0 1 8
0 0 5
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
Les données varientLes ressources varient
Adaptations
Ordonnancement• planification (scheduling) volume calculs / hétérogénéité• redistribution (load-balancing)
Objectif de AHA : vision intégrée de l’adaptation Approche algorithmique :
combinaison auto-adaptative d’algorithmesavec comportement global justifié d’un point de vue théorique
Mesures sur lesressources
Mesures sur lesdonnées
Choix algorithme • séquentiels/parallèle(s) • approché/exact• en mémoire / out of core
Calibrage • pré-paramétrage taille de blocs / cache choix d’instructions• gestion de priorités
– 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
Contexte applicatif
Grimage (MOVI, MOAIS)
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 :
Adaptationchoix de algo_fj
pour chaque appel à f
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)
bloc Ru-1 = Préfixe(1, am, au-1)
M1
M2
Préfixe(Pm-1*Ru-1, au, an-1)
PrédistributionExécution séquentielle par défaut pour chaque algorithme
bloc Pm-1 = Préfixe(P-1, a0, am-1)
Ru-1 = Préfixe(1, am, au-1)
M1
M2
Préfixe(Pm-1*Ru-1, au, an-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éalesDans 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
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é
• 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
Contexte scientifique (2/2)
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 ?
• 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]
Contexte technologique
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)
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)
• 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€
• 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€
Approche scientifique (4/4)
25 caméras6 caméras 12 caméras