présentation du projet

publicité
AHA
Algorithmes Hybrides et Adaptatifs
MOAIS / ID-IMAG
GILCO
LMC-IMAG
ARENAIRE
MOVI
Algorithmique, programmation parallèle, ordonnancement
Optimisation combinatoire: gestion production, transport
Algorithmique calcul exact
Algorithmique calcul fiable
Vision et interaction, reconstruction 3D
Adaptabilité
Les données varient
Les ressources varient
7 3 6


0 1 8

0 0 5


Application
Nécessité d’adaptation pour améliorer la performance
Adaptabilité
Les données varient
Les ressources varient
7 3 6


0 1 8

0 0 5


Mesures sur les
ressources
Mesures sur les
données
Adaptations
Ordonnancement
• planification (scheduling)
volume calculs / hétérogénéité
• redistribution (load-balancing)
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
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
Grimage (MOVI, MOAIS)
– 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 »
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 :
Adaptation
choix de algo_fj
pour chaque appel à f
algo_fi ( n, … )
{
….
f ( n - 1, … ) ;
….
f ( n / 2, … ) ;
…
}
// appels à des
//
// 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
M1
bloc
Pm-1 = Préfixe(P-1, a0, am-1)
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
M1
Pm-1 = Préfixe(P-1, a0, am-1)
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
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)
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
•
–
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:
–
•
Utilisant Atlas / BLAS (calculs flottants avec garantie)
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
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)
•
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 €
Approche scientifique (4/4)
•
Reconstruction 3D multi-caméras temps réel
•
6 caméras
Adaptabilité : en fonction des ressources:
•
•
•
•
25 caméras
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:
–
12 caméras
Précision, fluidité et latence (interaction mondes réel / virtuel)
Fourniture AdOpt: Vacations 9k € / Missions 6k € = 15k €
Téléchargement