Le calcul intensif en géographie : une tradition bien ancrée

Sébastien Rey-Coyrehourcq (UMR IDEES)

Arnaud Banos (UMR IDEES)

Le cas de la simulation

16 avril 2019 - Paris

@reyman64

Aperçu des pratiques historiques ...

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"

Simulation 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

A monte carlo simulation of diffusion

Washington University IBM 650
& Northwestern's Vogelback computing center CDC 3400/ 6400

[ex Hager III and Hager IV Fortran program]

Simulation en géographie

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."

Simulation en géographie

[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)

Simulation en géographie

1950

1980

Hägerstrand, Marble, Pitts, etc.

 

Pumain, Sanders, etc.

Guermond, Langlois, etc.

Chamussy, Le Berre, Uvietta, etc.

 

Forrester

pioneers

turning point

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]

 ~ 1980 in France

Agent Based Modelling

[Rey-Coyrehourcq 2015]

Cellular
Automata

Non Linear Dynamical
Systems

Modèles dynamiques

Systèmes dynamiques

Automates
Cellulaires

Modèles multi-agent

jeu de la vie

fourmis

proie prédateur

Couplage possible de ces trois approches

Modèle multi-agents

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]

Modèle multi-agents

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]

Une variété de pratiques

Une diversité d'acteurs ...

Gama

Miss-ABMS

Systèmes
Complexes

IGN

Idees

Théma

CNRS

CIRAD

INRA

Espace

Géographie-cités

LabEx

... pour la simulation en géographie

UMR / UPS

Instituts

Réseaux et outils

IRIT

IRD

IP-Erasmus

Isc-Pif

Besoins en "calcul" ?
Quelles solutions pour la simulation

Espace des paramètres

dimensions

=

couverture à nb points égal

... curse dimensionality ...

Accès aux ressources

( dès juin 2010 )

workflow

distribue 

rapatrie

plan

d'expérience

... de nombreux aller retours entre modèles et résultats ...

discussions hyp.

OpenMOLE


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

Exemples 

4 exemples

KISS

KIDS

Stylisé

Particulier

SimpopLocal

H24

MicMac

M03

& une grande diversité de besoins en calculs : Grille & HPC !

épidémiologie

archéologie

santé

épidémiologie

SimpopLocal

[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

SimpopLocal

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 ?

+ interactions
+ innovations
+ ressources

Mécanismes du modèles

SimpopLocal

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

MicMac

[Banos et al. 2015]

~ 5/10 minutes d'exécution
1 simulation par CPU

agents = personnes & avion & villes ; couplage avec ODE

stochastique
4 stratégies à explorer
2 objectifs à minimiser

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 ?

MicMac

[Banos et al. 2015]

h24

[Cottineau et al. 2017]

~ 25 minutes d'exécution
3 Go ram par simulation
1 core, mais multithreading possible
test :
100000 execution
calibrage: 200000 execution

 

% personnes en bonne santé

2002

2008

steps

years

3 déplacements / jour (breakfast, lunch, diner)

1996

simulated

data

agents: personnes / 8.16 M agents mobiles, en interaction
résolution: 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

 Etudier l'effet de la segregation sociale dans l'évolution des comportements de santé sur une journée type de 24h.

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

\Delta(SI_{random},SI_{mobility})

Obj. 2 : MSE sum Scenario 4

\sum\nolimits_{i \in(2002,2008)}{MSE_i}

Question :  Arrive-t-on à reproduire de façon cohérente les données et l'inégalité de comportement de santé fonction des groupes sociaux avec un scénario qui ne tient pas compte de la mobilité ?!

=> progression par falsification

h24

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 :

Mo

[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

Couplage de 3 modèles en 1; travail en cours

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.
 

Questions ?

OpenMOLE

  • passage à uDocker
  • Amélioration de la documentation
  • 2 session coding-camp en 2019 : dev & utilisateurs
  • cap des 10.000 commits
  • création d'une SCIC "Trampoline" adossée à l'isc-pif

Coding Camp OpenMOLE

27/05/2018 - 01/06/2018
 

  • Ouverture à de nouvelles méthodes :
    • méthodes d'exploration OSE
    • générateur de grilles spatiales
    • 2 nvx cas d'utilisation (santé, éco)
  • x 2 participants en 2018
  • gestion et déploiement multi-utilisateurs !!
  • etc.
  • attraction de nouvelles communautées scientifique

Journée Calcul Scientifique et SHS BIS

By sebastien rey coyrehourcq

Journée Calcul Scientifique et SHS BIS

  • 1,268