Le calcul intensif en géographie : une tradition bien ancrée
Sébastien Rey-Coyrehourcq (IGR UMR IDEES) *
Arnaud Banos (DR UMR IDEES)
Juste Raimbault (Post Doc CASA)
Le cas de la simulation
9 oct. 2019 - Toulouse
https://slides.com/sebastienreycoyrehourcq/jcad2019
@reyman64
JCAD 2019
chapitre de thèse [Rey-Coyrehourcq 2015]
simulation & centre de calculs
stage 4 mois 2019 : "Pérénisation & valorisation code sources des pionniers de la quantitative en géographie"
Les pionniers Américains et Suédois
1956 / SMIL at Lund
Univ. Washington
(Marble, Pitts, Tobler, etc.)
T. Hagerstrand
1950's - 1960's
Simulation de diffusion par Monte-Carlo
Washington University IBM 650
& Northwestern's
Vogelback CDC 3400/ 6400
[ex Hager III and Hager IV Fortran program / 1967]
transfert (1957)
[Varenne2017, Rey-Coyrehourcq 2015]
H. Couclelis
M. Batty
A. Wilson
...
Equipe de Leeds
Les pionniers au Royaume-Uni
1970's & 1980's
S. Openshaw
R. Abrahart
I. Turton
...
pratiques
peu documentées
M. Batty 1976
Urban Modelling
HPC & Geocomputation - 2000
GeoComputation is [...] meant to imply the adoption of a large-scale computationally intensive scientific paradigm as a tool for doing all manner of geographical research."
HPC and the Art of Parallel Programming - 1999
[Rey-Coyrehourcq 2015]
[Rey-Coyrehourcq 2015]
P880 / 1970
Sorbonne
CIRCE CNRS 1969
CCSC 1968
CNSUC 1981
Maison de la géo.
ex. RA CNRS 1972
- 15% SHS
- 3.25% de 2500H
Unité LISH - Paris / 1975
Les pionniers en France
1970's - 1990's
CURRI 1994
Montpellier
Paris
Strasbourg
IGA
Grenoble
CICG 1972
Calculateurs
Géographes
Jussieu
Connections
Déplacements
(calculs & simulation)
MTG
Rouen
1950
1980
Hägerstrand, Marble, Pitts, etc.
Pumain, Sanders, etc.
Guermond, Langlois, etc.
Chamussy, Le Berre, Uvietta, etc.
Forrester
pionniers
charnière
1970
Wilson
Batty
Ackerman, Chorley, Hagget, Berry, etc .
Prigogine, Allen,
Sanglier, Haken, etc..
conceptual
technical
1990
Couclelis,
Tobler,etc.
Epstein, Doran, etc.
Influences répétées du projet systémique (Von Bertallanfy et cie.)
open systems, retro-action, self-organization, equifinality, bifurcation, etc.
[Pouvreau 2013]
Agent Based Modelling
[Rey-Coyrehourcq 2015]
Cellular
Automata
Non Linear Dynamical
Systems
France
Systèmes dynamiques
Automates
Cellulaires
Modèles multi-agent
jeu de la vie
fourmis
proie prédateur
Couplage possible de ces trois approches
Echangent des messages
Réflechissent ...
Bougent et perçoivent
Evoluent dans un environnement
Agissent sur l'environnement
(plus ou moins ...)
[Ferber 1999, Drogoul 2009]
ville
fourmis
moustique
individu
arbre
[Drogoul Treuil 2008]
Un méta-modèle plus qu'un modèle
flexibilité de représentation & emboitement d'échelle !
KISS
KIDS
Stylisé
Particulier
[Sanders & Banos 2011, 2013, Banos 2013]
peu de règles
beaucoup de règles
espace simplifié
espace réaliste
MAPS
Gama
Miss-ABMS
Systèmes
Complexes
IGN
Idees
Théma
CNRS
CIRAD
INRA
Espace
Géographie-cités
LabEx
UMR / UPS
Instituts
Réseaux et outils
IRIT
IRD
IP-Erasmus
Isc-Pif
LaSTIG
Pactes
... curse dimensionality ...
... non linéarité ...
... stochasticité ...
Les quatre cavaliers de l'apocalypse
... équifinalité ...
Une exploration directe est impossible
diversité de formes et d'évolutions
un résultat n'est jamais sûr
un état final est atteignable de
1000 façon différentes
par 1000 personnes différentes
[chapron, exmodelo 2019 ]
Important en shs,
"cumulativité des connaissances"
[pumain 2005 ]
( dès juin 2010 )
workflow
distribue
rapatrie
plan
d'expérience
... de nombreux aller retours entre modèles et résultats ...
discussions hyp.
val i = Val[Double]
val res = Val[Double]
val exploration =
ExplorationTask(i in (0.0 to 100.0 by 1.0))
val model =
ScalaTask("val res = i * 2") set (
inputs += i,
outputs += (i, res)
)
val env = LocalEnvironment(4)
exploration -< (model on env hook ToStringHook())Plusieurs types de plan d'expériences : optimisation & exploration.
Ecosystème riche: simulation, etc.
Support de multiples technologies HPC & Grilles
Créer des "chaînes de traitements"
parallélisables, reproductibles, simples (ou complexes) sans aucune connaissance des technologies HPC
Langage de scripts (DSL) simple et flexible pour composer les workflow
Une plateforme et une communauté en expansion
GAMA (gaml)
Netlogo (logo)
plateformes SMA
ou java/scala
KISS
KIDS
Stylisé
Particulier
MicMac
& une grande diversité de besoins en calculs : Grille & HPC !
"épidémiologie"
[Banos et al. 2015]
agents = personnes & avion & villes ; couplage avec ODE
4 stratégies à explorer
2 objectifs à minimiser (écon. vs épi.)
pas de données
Question : Quel est la combinaison de stratégies (quarantaine, évitement, responsabilisation ind., protection ind.) qui permet de limiter à la fois les pertes économiques, et la diffusion de l'épidémie dans un tel système ?
~ 5/10 minutes d'exécution
1 simulation par CPU
KISS
KIDS
Stylisé
Particulier
M03
épidémiologie
MicMac
[Maneerat et al. 2017]
3
agents = moustiques & nids
résolution inf. 1m
exécution : + 12 heures
+ 50 paramètres
1 simulation = 1 cpu
16 Go Ram
DOE : LHS sur grille EGI
500000 sim, ~20 ans calculs
Objectif : Comprendre et lutter contre l'émergence et la diffusion de la Dengue dans les milieux urbains
Moma
Mode
Momos
Micro
Macro
[Misslin 2017]
résolution 30m,
ville entière
[Daudé et al. 2017]
[Cebeillac et al. 2017]
résolution inf. 1m, quartier 10km²
paysage synthétique
agent: individu mobile avec agenda
résolution 30m,
ville entière
données: twitter
modèle
surrogate
exploration
exploration
indice env.
2011 & 2019
ou ?
comment ?
quand ?
KISS
KIDS
Stylisé
Particulier
5AD
géo. santé
MicMac
M03
[Cottineau et al. 2020, à paraitre]
~ 25 minutes d'exécution
~ 3 Go ram par simulation
1 core, mais multithreading possible
test : 100.000 execution
calibrage: 200.000 executions
% personnes en bonne santé
agents: personnes / 8.16 M agents mobiles, en interaction
espace: IDF à 1km x 1km
données: nombreuses, et à différentes dates (NPPS, CSP 18 catégories, OD, baromètre santé, etc.)
mesure d'inégalité entre les extrême des groupe d'éducation à sexe et âge égal
1 modèle changement d'opinion
5 paramètres
3 objectifs à minimiser
4 scénarii de mobilité (random, données, etc.)
Etudier l'effet de la segregation sociale dans l'évolution des comportements de santé sur une journée type de 24h.
Question : Arrive-t-on à reproduire de façon cohérente les données et l'inégalité de comportement de santé en fonction des groupes sociaux ?
via 3 objectifs à minimiser :
Obj 1. : MSE sum Scenario 1
Obj. 3 : Le delta sur la mesure d'inégalité (SI) entre S1 et S4
Obj. 2 : MSE sum Scenario 4
| Attribution résidence aléatoire | Attribution résidence & mobilité via les données | |
| pas de mobilité (résidence) | Scenario 1 | Scenario 2 |
| mobilité journalière (nuit,matin,soir) | Scenario 3 | Scenario 4 |
2 scénarii à comparer :
KISS
KIDS
Stylisé
Particulier
SimpopLocal
MicMac
archéologie
5AD
M03
[Schmitt 2014, Schmitt et al. 2015]
Question : La production et la diffusion de l'innovation
est il un mécanisme nécessaire pour produire une hiérarchisation crédible du système de peuplement en 4000 ans au néolithique ?
agents: villes & innovations
7 paramètres libres
4 mécanismes
très peu de données en entrée/sorties
1 loi empirique à reproduire
Espace
système de peuplements
1 simulation = 1 coeur
1 Go Ram
~ 5/10 minutes d'exécution
500 millions de simulation
eq. 20 ans de calculs
4000 cpu EGI Biomed
Calibration
Analyse de sensibilité
NSGA 2 - Ilôts
CP-Profile
1 simulation = 1 coeur
1 Go Ram
~ 1/2 minutes d'exécution
eq. 12 ans calcul par profil
15 jours de calculs (profil x 6)
4000 cpu EGI Biomed
[Schmitt et al. 2015]
[Reuillon et al. 2015]
réécriture modèle
1 objectif : f = max(01,02,03)
3 objectifs : (temps, forme, taille)
obj. f est impossible si 0 innovations
KISS
KIDS
Stylisé
Particulier
SimpopLocal
MicMac
ATP
5AD
M03
archéologie
1 simulation = 1 coeur
1 Go Ram
~ 20 minutes d'exécution
... campagne en cours ...
Objectif : Simuler pour mieux comprendre les règles de circulation des archéomatériaux (craies) depuis les carrières jusqu'aux sites de construction, en Normandie, entre le 11ème - 15ème siècle
agents: carrières et sites
espace :
données : très peu, fait stylisés & ordre de grandeurs
observable : volume par type de matériaux par type de batiments
processus
ordre de grandeurs
acteurs / objets
modèle(s)
simulation(s)
interdisciplinarité
KISS
KIDS
Stylisé
Particulier
SimpopLocal
MicMac
ATP
5AD
M03
ESCAPE
risques & santé
Objectif : Le projet ESCAPE a pour objectif de développer un système d’aide à la modélisation et à la simulation d’évacuation de villes afin d’évaluer des scénarios de gestion de crise.
[Daudé et al. 2019]
2016
Trois démonstrateurs :
Rouen (risque tech),
Hanoï et val d’Authion (risque nat)
agents: automobiles, bus, piétons, organisations, etc.
mécanismes: pop synthétique, agenda, multimodalité, arbres décisions, etc.
données : traffic (voiture, transports en communs), Insee, EMD, etc.
1 simulation = 1 coeur
~ 8/16 Go Ram
+30 minutes
https://slides.com/sebastienreycoyrehourcq/jcad2019
Quelques chiffres pour les autres laboratoires de géographie quanti. (hors GPU)
UMR LaSTIG : Laboratoire en Sciences et technologies de l'information géographique
4 laboratoires de quantitatives (avec simulation) en géographie
discussions avec Julien Perret / DR LaSTIG STRUDEL
UMR Géographie-cités / Equipe P.a.r.i.s
discussions avec Romain Reuillon / CR Géographie-cités
UMR IDEES : Identité & Différenciation des Territoires
Sébastien Rey-Coyrehourcq / IGR Université
UMR Théma : Théoriser et modéliser pour aménager
Gilles Vuidel / IGR CNRS
| Cluster | Grid | Cloud | Autres | Outil | |
|---|---|---|---|---|---|
| Simurbapy | via cloud | EGI VO ISCPIF | LAL SLURM | OpenMole | |
| ArtiScales | via cloud | EGI VO ISCPIF | LAL SLURM | OpenMole | |
| SoDuCo | HUMANUM (vm) | (OpenMole) | |||
| HIATUS | Zebulon (SSH) | MicMac IGN | |||
| IQmulus | via cloud | LAL SPARK | OpenMole | ||
| Alegoria | LAC DC/OS | LAL (vm) | spark/mesos | ||
| Anatole G. | CNES | ||||
| 5ad | EGI VO ISCPIF | LAL (vm) | OpenMole | ||
| ... |
ex des projets aux LaSTIG
Référents / Interface moyen de calculs
| GRID | Cluster | Cloud | Openmole | |
|---|---|---|---|---|
| Quoc-Dinh NGUYEN | X | |||
| Laurent Caraffa & Mathieu Brédif | via cloud | X (SPARK) | ||
| Paul Chapron & Julien Perret | X (EGI VO ISCPIF) | via cloud | X (SLURM LAL) | X |
| Didier Richard* | X | X |
* gestion et/ou achats des machines
| Cluster | Grid | Cloud | Autres | Outil | |
|---|---|---|---|---|---|
| 5Ad | EGI VO ISCPIF | LAL (vm) | OpenMole | ||
| World3 | EGI VO ISCPIF | LAL (vm) | OpenMole | ||
| Escape | SLURM méso CRIANN | EGI VO ISCPIF | DSI UR (vm) | OpenMole | |
| SimFéodal | WS (12cpu) | BASH / SSH | |||
| Mo3 | SLURM méso CRIANN | EGI VO ISCPIF | DSI UR (vm) | OpenMole | |
| ... |
ex des projets HPC à Géographie-cités ( via ISCPIF )
Référents / Interface moyen de calculs
| GRID | Cluster | Cloud | Autre | Openmole | |
|---|---|---|---|---|---|
| Mathieu Leclaire* | X ( EGI / VO ISCPIF) | X | X | ||
| Romain Reuillon* | X (EGI / VO ISCPIF) | X (LAL) | X (Zebulon) | X | |
| Maziyar PANAHI* | X (LAL) | X (Zebulon) | X | ||
| Robin Cura | X |
* gestion et/ou achats des machines
| Cluster | Grid | Cloud | Autres | Outil | |
|---|---|---|---|---|---|
| Mo3 | SLURM CRIANN | EGI VO ISCPIF | DSI UR (vm) | WS (12 cpu) | OpenMole |
| Escape | SLURM CRIANN | DSI UR (vm) | WS (12 cpu) | OpenMole | |
| ATP | SLURM CRIANN | EGI VO ISCPIF | DSI UR (vm) | OpenMole | |
| 5Ad | EGI VO ISCPIF | LAL (vm) | OpenMole | ||
| ... |
ex des projets HPC à IDEES
Référents / Interface moyen de calculs
| GRID | Cluster | Cloud | Autre | Openmole | |
|---|---|---|---|---|---|
| Sébastien R.C. * | X ( EGI / VO ISCPIF) | X (SLURM CRIANN) | X (DSI) | X (WS) | X |
* gestion et/ou achats des machines
| Cluster | Grid | Cloud | Autres | Outil | |
|---|---|---|---|---|---|
| Pixscape | (48 cpu en MSH) | MPI / Cuda | |||
| MobiSim | méso UFC | (48 cpu en MSH) | MPI | ||
| Graphab | méso UFC | MPI | |||
| ArtiScales | via cloud | EGI VO ISCPIF | LAL SLURM | OpenMOLE | |
| ... |
ex des projets HPC à Théma
Référents / Interface moyen de calculs
| GRID | Cluster | Cloud | Autre | Openmole | |
|---|---|---|---|---|---|
| Gilles Vuidel | ? | méso UFC | ? | ? |
* gestion et/ou achats des machines
| IDEES | THEMA | Géographie-Cité | LASTIG | |
|---|---|---|---|---|
| Référents | 1 | 1 | 3 | 6 |
| Projets* | 4 (3) | 4 (1) | 5 (3) | 8 (2) |
* non exhaustif
( ) communs entre les laboratoires
Complémentarité des approches / IMHO géographe
| Grille | Cluster | |
|---|---|---|
| Accès | certificats | comptes |
| Attribution | accès au fil de l'eau | dépôt de projet via campagne : évaluation shs ? quantification ? |
| Tarification | gratuit | ?? variable selon méso ?? |
| Quota | pas de limite nb/h | plafond nb/h |
| Performance | +/++/+++ variable | +++ |
| Résilience | ++ (sauf webdav...) | ++ |
| Stockage | + | +++ |
| Environnement | open bar | assez stricte |
| Accompagnement | ?? | utilisateurs & équipe régionale (formation, support) |
| Participation financière ? | Noeuds via DIRAC | ?? variable selon méso ?? |
| Diversité CPU/GPU | ?? | CPU/GPU |
| Mémoire | 3Go | presque open bar |
Réflexions sur le HPC en Géo (et en SHS?)
a) Enjeux multiples autour des données, nbx acteurs en jeu
Volumétrie, Vitesse, Variété
- techniques d'acquisition évoluent
et se banalise (capteurs, imagerie air/sol, gps, etc.)
- multiplications des producteurs de données spatiales étatiques (ETALab, etc.), +/- commerciales (API) , individuelles (Scrapping), citoyennes (OpenStreetMap), etc.
Ethique
Juridique
Infra.
Théorie
Méthodologie
Scientifique
Géographes & Géomatique
Outils
(Acq./Prod. Trait. Visu.) données spatiales
Réflexions sur le HPC en Géo (et en SHS?)
b) Enjeux formations & valorisations (géo / shs ?)
Géographie
T. Q.
Simulation
HPC
Intégrer le HPC et l'accès aux HPC dans les formations & écoles d'été => dédramatiser
Formations internes SHS adaptés pour favoriser autonomie (outils, méthodes)
Inventaire des projets/formations HPC SHS
Groupe de travail ?
Issue d'une discussion par mail avec Stéphane Pouyllau / IGR Directeur Technique TGIR HumaNum
S'appuyer sur les réflexions existantes : TGIR Humanum, RMSH, GDR Magis
"demande marginale"
"accompagnement encore limité"
"chercheurs pas assez solide (méthodes, calcul)
mais progression ... "