Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar:...

67
::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: Software for agent based social simulation ✭✭ ❤❤ with raster inputs in distributed HPC environments Sergiy Gogolenko Oct 11, WSSP’17 1/26 :: Sergiy Gogolenko :: Software for agent based social simulation ✭✭ ❤❤ with raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Transcript of Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar:...

Page 1: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software for agent based social simulation((((((((

(hhhhhhhhhwith raster inputs indistributed HPC environments

Sergiy Gogolenko

Oct 11, WSSP’17

1/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 2: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

HPCsoftware · platforms

GSSscientific evidence to supportpolicy-making · public action · civic society

pilots:grean growthhealth habits

urban planning

⊕ → LESSONS

GG bridge. Photo from c©pixabay.com

Deliver a stack of HPC compliant software for GSS usersI creating realistic synthetic populationsI network reconstruction (creating synthetic social networks, etc)I parallel and distributed multi-agent systems simulation (for GSS only)I analytics: basic data and graph analytics, sensitivity analysis, parameter sweep, etcI other related software2/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((

((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 3: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Agent-based modeling and simulation

Annual Workshops on HPC ForumsI 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations

(PADABS)I 2016 – IPDPS: IEEE Workshop on Parallel and Distributed Processing for

Computational Social Systems (ParSocial)

ABMS in a Nutshell

I bottom-up approachI individual-based simulation→ tendency

I componentsI agents: discrete autonomous entityI environment: GIS, relationships, etcI actions and interactions Environment

Agent1attributesrules of b.

Agentiattributesrules of b.

Agentnattributesrules of b.

3/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 4: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Agent-based modeling and simulation

Annual Workshops on HPC ForumsI 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations

(PADABS)I 2016 – IPDPS: IEEE Workshop on Parallel and Distributed Processing for

Computational Social Systems (ParSocial)

ABMS in a Nutshell

I bottom-up approachI individual-based simulation→ tendency

I componentsI agents: discrete autonomous entityI environment: GIS, relationships, etcI actions and interactions Environment

Agent1attributesrules of b.

Agentiattributesrules of b.

Agentnattributesrules of b.

3/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 5: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 1. Agents

“molecular dynamics society”

real society is heterogeneous

The Simpsons : Treehouse of Horror XIII (Season 27) [from c©fxx.com]

4/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 6: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 1. Agents

“molecular dynamics society”

real society is heterogeneous

The Simpsons : Treehouse of Horror XIII (Season 27) [from c©fxx.com]

4/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 7: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 1. Agents

I heterogeneous

I serializable(introspection)

I I/OI data exchangeI checkpointing

I mobile

The Simpsons c©[from c©fxx.com]

5/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 8: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 1. Agents

I heterogeneous

I serializable(introspection)

I I/OI data exchangeI checkpointing

I mobile

The Simpsons c©[from c©fxx.com]

5/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 9: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 1. Agents

I heterogeneousI serializable

(introspection)I I/OI data exchangeI checkpointing

I mobile

The Simpsons c©[from c©fxx.com]

5/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 10: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 2. Environment

Border fence Tijuana-San Diego. Photo from c©wikimedia.org

6/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 11: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 2. Environment

obstacles imposed by nature

Border fence Tijuana-San Diego. Photo from c©wikimedia.org

6/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 12: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 2. Environment

obstacles imposed by nature

urbanization

Border fence Tijuana-San Diego. Photo from c©wikimedia.org

6/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 13: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 2. Environment

obstacles imposed by nature

urbanization

other concerns

Border fence Tijuana-San Diego. Photo from c©wikimedia.org

6/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 14: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 2. Environment

Earth at Night. Photo by NASA c©wikimedia.org

7/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 15: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 2. Environment

sparse 2D

Earth at Night. Photo by NASA c©wikimedia.org

7/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 16: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 3. Interactions

I short distance (spatialproximity)

I metric: halo (area of interest –AOI)

I halo size: agent typeindependent

I BC: von Neumann, Moore,periodic

ha��ZZe ll o

c©The Walt Disney Company [img from youtube.com]

I long distance (socialrelationships)

I undirected graphsI dynamic (evolving)I might be weighted

I might need several graphs

Social Network Tree by c©pixabay.com

8/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 17: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 3. Interactions

I short distance (spatialproximity)

I metric: halo (area of interest –AOI)

I halo size: agent typeindependent

I BC: von Neumann, Moore,periodic

ha��ZZe ll o

c©The Walt Disney Company [img from youtube.com]

I long distance (socialrelationships)

I undirected graphsI dynamic (evolving)I might be weighted

I might need several graphs

Social Network Tree by c©pixabay.com

8/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 18: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 3. Interactions

I short distance (spatialproximity)

I metric: halo (area of interest –AOI)

I halo size: agent typeindependent

I BC: von Neumann, Moore,periodic

ha��ZZe ll o

c©The Walt Disney Company [img from youtube.com]

I long distance (socialrelationships)

I undirected graphsI dynamic (evolving)I might be weighted

I might need several graphs

Social Network Tree by c©pixabay.com8/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((

((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 19: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 3. Interactions

scientific collaboration network ( c©Olivier H. Beauchesne)

9/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 20: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 3. Interactions

social relationships may dominate

scientific collaboration network ( c©Olivier H. Beauchesne)

9/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 21: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 4. Users

Technical���XXXtraits background of average GSS modelerI Python and/or RI minimum boilerplatesI spend time on mastering low level parallel APIs (MPI, OpenMP, CUDA,...)

Embeded DSLsI linear algebra

Eigen ...

I CFD

FEniCS ...

10/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 22: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

MAS in GSS : Lesson 4. Users

Technical���XXXtraits background of average GSS modelerI Python and/or RI minimum boilerplatesI spend time on mastering low level parallel APIs (MPI, OpenMP, CUDA,...)

Embeded DSLsI linear algebra

Eigen ...

I CFD

FEniCS ...

10/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 23: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Formalization

rastersconvey

GIS env. input

Collection of sites:

map : position → struct

raster 1

raster 2

raster 3

sites

(loci of interaction)

are pixel positions spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

never settled

agents

(with soc. nets)

settlesites

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

11/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 24: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Formalization

rastersconvey

GIS env. input

Collection of sites:

map : position → struct

raster 1

raster 2

raster 3

sites

(loci of interaction)

are pixel positions

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

never settled

agents

(with soc. nets)

settlesites

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

11/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 25: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Formalization

rastersconvey

GIS env. input

Collection of sites:

map : position → struct

raster 1

raster 2

raster 3

sites

(loci of interaction)

are pixel positions

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

never settled

agents

(with soc. nets)

settlesites

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

11/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 26: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Formalization

rastersconvey

GIS env. input

Collection of sites:

map : position → struct

raster 1

raster 2

raster 3

sites

(loci of interaction)

are pixel positions spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

never settled

agents

(with soc. nets)

settlesites

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

11/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 27: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Formalization

rastersconvey

GIS env. input

Collection of sites:

map : position → struct

raster 1

raster 2

raster 3

sites

(loci of interaction)

are pixel positions spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

never settled

agents

(with soc. nets)

settlesites

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

11/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 28: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Formalization

rastersconvey

GIS env. input

Collection of sites:

map : position → struct

raster 1

raster 2

raster 3

sites

(loci of interaction)

are pixel positions spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

never settled

agents

(with soc. nets)

settlesites

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

11/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 29: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Basic domain decomposition

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

Computational graph

1. vertex weight: wi = #agentsi

2. SDC-edge weight: wij = wi + wj

3. LDC-edge weight: wij = #linksij

1

3 24

51

→ partitioner (ParMETIS, PT-Scotch, etc)

12/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 30: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Basic domain decomposition

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

Computational graph1. vertex weight: wi = #agentsi

2. SDC-edge weight: wij = wi + wj

3. LDC-edge weight: wij = #linksij

1

3 2

451

→ partitioner (ParMETIS, PT-Scotch, etc)

12/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 31: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Basic domain decomposition

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

Computational graph1. vertex weight: wi = #agentsi

2. SDC-edge weight: wij = wi + wj

3. LDC-edge weight: wij = #linksij

1

3 24

5

1

→ partitioner (ParMETIS, PT-Scotch, etc)

12/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 32: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Basic domain decomposition

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

Computational graph1. vertex weight: wi = #agentsi

2. SDC-edge weight: wij = wi + wj

3. LDC-edge weight: wij = #linksij

1

3 24

51

→ partitioner (ParMETIS, PT-Scotch, etc)

12/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 33: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Basic domain decomposition

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

Computational graph1. vertex weight: wi = #agentsi

2. SDC-edge weight: wij = wi + wj

3. LDC-edge weight: wij = #linksij

1

3 24

51

→ partitioner (ParMETIS, PT-Scotch, etc)

12/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 34: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Workaround

But what if rasters have very high resolution?

Issue with mapping of sites to processesI need it for agent move operation

Inverse of Spain at Night from c©wikimedia.orgc©wikimedia.org

Computational graph-coarsening

I uniform meshI bound min chunk width: w ≥ 2 · haloI disadvantages: disbalanced weights,

highly skewed degree distributionI multi-scale mesh

I quad-tree(like in Barnes-Hut algorithm)

I vector GIS informationI (local) administrative units ≡ unstr. tree

13/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 35: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Workaround

But what if rasters have very high resolution?Issue with mapping of sites to processes

I need it for agent move operation

Inverse of Spain at Night from c©wikimedia.org

c©wikimedia.org

Computational graph-coarsening

I uniform meshI bound min chunk width: w ≥ 2 · haloI disadvantages: disbalanced weights,

highly skewed degree distributionI multi-scale mesh

I quad-tree(like in Barnes-Hut algorithm)

I vector GIS informationI (local) administrative units ≡ unstr. tree

13/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 36: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Workaround

But what if rasters have very high resolution?Issue with mapping of sites to processes

I need it for agent move operation

Inverse of Spain at Night from c©wikimedia.org

c©wikimedia.org

Computational graph-coarseningI uniform mesh

I bound min chunk width: w ≥ 2 · haloI disadvantages: disbalanced weights,

highly skewed degree distribution

I multi-scale meshI quad-tree

(like in Barnes-Hut algorithm)I vector GIS information

I (local) administrative units ≡ unstr. tree

13/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 37: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Workaround

But what if rasters have very high resolution?Issue with mapping of sites to processes

I need it for agent move operation

Inverse of Spain at Night from c©wikimedia.org

c©wikimedia.org

Computational graph-coarseningI uniform mesh

I bound min chunk width: w ≥ 2 · haloI disadvantages: disbalanced weights,

highly skewed degree distributionI multi-scale mesh

I quad-tree(like in Barnes-Hut algorithm)

I vector GIS informationI (local) administrative units ≡ unstr. tree

13/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 38: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Model : Workaround

But what if rasters have very high resolution?Issue with mapping of sites to processes

I need it for agent move operation

Inverse of Spain at Night from c©wikimedia.org

c©wikimedia.org

Computational graph-coarseningI uniform mesh

I bound min chunk width: w ≥ 2 · haloI disadvantages: disbalanced weights,

highly skewed degree distributionI multi-scale mesh

I quad-tree(like in Barnes-Hut algorithm)

I vector GIS informationI (local) administrative units ≡ unstr. tree

13/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 39: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : ABMS Frameworks

parallel12.5%

acceptable

37.5%

50%

I 24 popular frameworksI 3 have parallel facilities (only RepastHPC in C++)

... rather pessimistic paper(seems like RepastHPC is the only choice)

14/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 40: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Distributed ABMS Frameworks for HPC

C/C++60%

Java40%

I 10 open source ABMS frameworks for HPCI some in Jave

I D-MASON, Jade, MACE3J, SWAGESI 6 out of 10 in C/C++ (Charm++)

I recent: RepastHPC, FlameHPC, Pandoraoldies: EcoLab, PDES-MAS, ABM++

I beyon the paper scope: EpiSemdemics, FluTE, ...

... we need another tool though!

15/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 41: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Distributed ABMS Frameworks for HPC

C/C++60%

Java40%

I 10 open source ABMS frameworks for HPCI some in Jave

I D-MASON, Jade, MACE3J, SWAGESI 6 out of 10 in C/C++ (Charm++)

I recent: RepastHPC, FlameHPC, Pandoraoldies: EcoLab, PDES-MAS, ABM++

I beyon the paper scope: EpiSemdemics, FluTE, ...

... we need another tool though!

15/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 42: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Distributed ABMS Frameworks for HPC

C/C++60%

Java40%

I 10 open source ABMS frameworks for HPCI some in Jave

I D-MASON, Jade, MACE3J, SWAGESI 6 out of 10 in C/C++ (Charm++)

I recent: RepastHPC, FlameHPC, Pandoraoldies: EcoLab, PDES-MAS, ABM++

I beyon the paper scope: EpiSemdemics, FluTE, ...

... we need another tool though!

15/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 43: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

Munch, Edvard. The Scream c©wikimedia.org

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

What?Yet another ABMS framework?

Maybe we can reuse something from existing...Munch, Edvard. The Scream c©wikimedia.org;

16/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 44: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Building blocks (Primitives)

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

I agents (& synthetic population)I type introspectionI heterogeneous container

(fast heterogeneous hash table)

I social relationshipsI evolving undirected graphsI with and without edge weights

I spatial informationI map: position→ pixel info

I distribution (domain decomposition)I graph coarsening support

I map: position→ coarse pieceI graph partitionerI communication layer

I I/O and checkpointingI serialization in HPC compliant format

(HDF5, NetCDF)I GIS support

17/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 45: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Building blocks (Primitives)

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

I agents (& synthetic population)I type introspectionI heterogeneous container

(fast heterogeneous hash table)I social relationships

I evolving undirected graphsI with and without edge weights

I spatial informationI map: position→ pixel info

I distribution (domain decomposition)I graph coarsening support

I map: position→ coarse pieceI graph partitionerI communication layer

I I/O and checkpointingI serialization in HPC compliant format

(HDF5, NetCDF)I GIS support

17/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 46: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Building blocks (Primitives)

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

I agents (& synthetic population)I type introspectionI heterogeneous container

(fast heterogeneous hash table)

I social relationshipsI evolving undirected graphsI with and without edge weights

I spatial informationI map: position→ pixel info

I distribution (domain decomposition)I graph coarsening support

I map: position→ coarse pieceI graph partitionerI communication layer

I I/O and checkpointingI serialization in HPC compliant format

(HDF5, NetCDF)I GIS support

17/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 47: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Building blocks (Primitives)

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

I agents (& synthetic population)I type introspectionI heterogeneous container

(fast heterogeneous hash table)I social relationships

I evolving undirected graphsI with and without edge weights

I spatial informationI map: position→ pixel info

I distribution (domain decomposition)I graph coarsening support

I map: position→ coarse pieceI graph partitionerI communication layer

I I/O and checkpointingI serialization in HPC compliant format

(HDF5, NetCDF)I GIS support

17/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 48: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Building blocks (Primitives)

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

I agents (& synthetic population)I type introspectionI heterogeneous container

(fast heterogeneous hash table)I social relationships

I evolving undirected graphsI with and without edge weights

I spatial informationI map: position→ pixel info

I distribution (domain decomposition)I graph coarsening support

I map: position→ coarse pieceI graph partitionerI communication layer

I I/O and checkpointingI serialization in HPC compliant format

(HDF5, NetCDF)I GIS support

17/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 49: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Building blocks (Primitives)

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

I agents (& synthetic population)I type introspectionI heterogeneous container

(fast heterogeneous hash table)I social relationships

I evolving undirected graphsI with and without edge weights

I spatial informationI map: position→ pixel info

I distribution (domain decomposition)I graph coarsening support

I map: position→ coarse pieceI graph partitionerI communication layer

I I/O and checkpointingI serialization in HPC compliant format

(HDF5, NetCDF)I GIS support

17/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 50: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Building blocks (Primitives)

Processes

proc 00

proc 01proc 10

proc 11proc 20

proc 21

spatialgraph

v 0v 1

v 2

v 3

v 4 v 5

social

graphs (nets)

I agents (& synthetic population)I type introspectionI heterogeneous container

(fast heterogeneous hash table)I social relationships

I evolving undirected graphsI with and without edge weights

I spatial informationI map: position→ pixel info

I distribution (domain decomposition)I graph coarsening support

I map: position→ coarse pieceI graph partitionerI communication layer

I I/O and checkpointingI serialization in HPC compliant format

(HDF5, NetCDF)I GIS support

17/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 51: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Pandora & RepastHPC

Pandora HPC

I

I version: 1I commits: 630; Jun 17, 2016I since 2013

I

I version: 2.2.0I commits: 249; last Sep 30, 2016I since 2008

18/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 52: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Environment Representation

Pandora RepastHPC

social relationships representationevolving social graphs +edge weights +multiplicity +implementation native (ptrs)

spatial component representationformat std::map of dense matri-

cesgrid projector + vector ofdense matrices (val layers)

boundary conditions von Neumann von Neumann, MooreGIS support rasters with GDAL -

19/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 53: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Domain Decomposition

“naı̈ve” uniform rectangular mesh

proc00

proc01

proc10

proc11

proc20

proc21

a

aRepastHPC allows to own partitioners written from scratch if one uses network projectors only (e.g., see chiSIM

project by N.Collier et al.)

20/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 54: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Container for Agents

std::map (world)links

idagent →

links

idagent →

links

idagent →

links

idagent →

links

idagent →

links∅

ProblemsI std::map: O(ln n)

, non-contiguous

I std::unordered map?

Can we do better?

I Sure! (e.g., google::dense hash map)see, e.g., tessil benchmark of major hash maps

std::unordered map (shared context)

c©http://codecapsule.com

21/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 55: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Container for Agents

std::map (world)links

idagent →

links

idagent →

links

idagent →

links

idagent →

links

idagent →

links∅

ProblemsI std::map: O(ln n), non-contiguousI std::unordered map: non-contiguous

Can we do better?

I Sure! (e.g., google::dense hash map)see, e.g., tessil benchmark of major hash maps

std::unordered map (shared context)

c©http://codecapsule.com

21/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 56: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Container for Agents

std::map (world)links

idagent →

links

idagent →

links

idagent →

links

idagent →

links

idagent →

links∅

ProblemsI std::map: O(ln n), non-contiguousI std::unordered map: non-contiguous

Can we do better?I Sure! (e.g., google::dense hash map)

see, e.g., tessil benchmark of major hash maps

std::unordered map (shared context)

c©http://codecapsule.com

21/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 57: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Agent Types and Introspection

Compile-time introspection substitutesPandora

I code generation (+ some boilerplates)I error-prone pseudo-parsing with Python

RepastHPC

I boilerplatesI Package pattern

Do some work at run-time

Why? Can we do better?I compile-time introspection was a headache in C++ up to C++14 standard

I Boost::HANA (by Louis Dionne)→ improved Boost::FusionI Apache Thrift (and its Facebook brench)

I since C++17 we can convert POD-struct→std::tuple non-intrusively withoutmacro and external tooling (A. Polukhin. CppCon, 2016)

I since C++20 reflection might be part of standard

22/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 58: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Agent Types and Introspection

Compile-time introspection substitutesPandora

I code generation (+ some boilerplates)I error-prone pseudo-parsing with Python

RepastHPC

I boilerplatesI Package pattern

Do some work at run-time

Why? Can we do better?I compile-time introspection was a headache in C++ up to C++14 standard

I Boost::HANA (by Louis Dionne)→ improved Boost::FusionI Apache Thrift (and its Facebook brench)

I since C++17 we can convert POD-struct→std::tuple non-intrusively withoutmacro and external tooling (A. Polukhin. CppCon, 2016)

I since C++20 reflection might be part of standard

22/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 59: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Software : Agent Types and Introspection

Compile-time introspection substitutesPandora

I code generation (+ some boilerplates)I error-prone pseudo-parsing with Python

RepastHPC

I boilerplatesI Package pattern

Do some work at run-time

Why? Can we do better?I compile-time introspection was a headache in C++ up to C++14 standard

I Boost::HANA (by Louis Dionne)→ improved Boost::FusionI Apache Thrift (and its Facebook brench)

I since C++17 we can convert POD-struct→std::tuple non-intrusively withoutmacro and external tooling (A. Polukhin. CppCon, 2016)

I since C++20 reflection might be part of standard

22/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 60: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

No more destruction!Brullov, Karl. The Last Day of Pompeii c©wikimedia.org

23/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 61: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Let’s construct...

What do we have?I RepastHPC is a good tool

for years 2008-2013I ... though we can do a way better with modern C++ (since C++14) and third-parties

I compile-time introspection, lambdas + std::function, std::tuple, ...

I recently we started to work on a new frameworkI prepare “state-of-the-art” HPC compliant primitives for GSS usersI strive both user-friendliness (EDSL like API) and performance

I advances in this development... modest so farI prototype with run-time heterogeneity mechanicms and introspectionI use SNAP graph library for dealing with social relationshipsI graph coarsening with uniform meshesI HDF5 I/O format and its implementation (Rafal Lichwala, PSNC)

What do we plan and work on?I shift to extensive use of compile-time: templates, introspection, tuples, CRT, etcI more third parties: hash tables, graph librariesI graph coarsening with multi-scale meshes

24/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 62: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Let’s construct...

What do we have?I RepastHPC is a good tool for years 2008-2013I ... though we can do a way better with modern C++ (since C++14) and third-parties

I compile-time introspection, lambdas + std::function, std::tuple, ...

I recently we started to work on a new frameworkI prepare “state-of-the-art” HPC compliant primitives for GSS usersI strive both user-friendliness (EDSL like API) and performance

I advances in this development... modest so farI prototype with run-time heterogeneity mechanicms and introspectionI use SNAP graph library for dealing with social relationshipsI graph coarsening with uniform meshesI HDF5 I/O format and its implementation (Rafal Lichwala, PSNC)

What do we plan and work on?I shift to extensive use of compile-time: templates, introspection, tuples, CRT, etcI more third parties: hash tables, graph librariesI graph coarsening with multi-scale meshes

24/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 63: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Let’s construct...

What do we have?I RepastHPC is a good tool for years 2008-2013I ... though we can do a way better with modern C++ (since C++14) and third-parties

I compile-time introspection, lambdas + std::function, std::tuple, ...

I recently we started to work on a new frameworkI prepare “state-of-the-art” HPC compliant primitives for GSS usersI strive both user-friendliness (EDSL like API) and performance

I advances in this development... modest so farI prototype with run-time heterogeneity mechanicms and introspectionI use SNAP graph library for dealing with social relationshipsI graph coarsening with uniform meshesI HDF5 I/O format and its implementation (Rafal Lichwala, PSNC)

What do we plan and work on?I shift to extensive use of compile-time: templates, introspection, tuples, CRT, etcI more third parties: hash tables, graph librariesI graph coarsening with multi-scale meshes

24/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 64: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Let’s construct...

What do we have?I RepastHPC is a good tool for years 2008-2013I ... though we can do a way better with modern C++ (since C++14) and third-parties

I compile-time introspection, lambdas + std::function, std::tuple, ...

I recently we started to work on a new frameworkI prepare “state-of-the-art” HPC compliant primitives for GSS usersI strive both user-friendliness (EDSL like API) and performance

I advances in this development... modest so farI prototype with run-time heterogeneity mechanicms and introspectionI use SNAP graph library for dealing with social relationshipsI graph coarsening with uniform meshesI HDF5 I/O format and its implementation (Rafal Lichwala, PSNC)

What do we plan and work on?I shift to extensive use of compile-time: templates, introspection, tuples, CRT, etcI more third parties: hash tables, graph librariesI graph coarsening with multi-scale meshes

24/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 65: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Let’s construct...

What do we have?I RepastHPC is a good tool for years 2008-2013I ... though we can do a way better with modern C++ (since C++14) and third-parties

I compile-time introspection, lambdas + std::function, std::tuple, ...

I recently we started to work on a new frameworkI prepare “state-of-the-art” HPC compliant primitives for GSS usersI strive both user-friendliness (EDSL like API) and performance

I advances in this development... modest so farI prototype with run-time heterogeneity mechanicms and introspectionI use SNAP graph library for dealing with social relationshipsI graph coarsening with uniform meshesI HDF5 I/O format and its implementation (Rafal Lichwala, PSNC)

What do we plan and work on?I shift to extensive use of compile-time: templates, introspection, tuples, CRT, etcI more third parties: hash tables, graph librariesI graph coarsening with multi-scale meshes

24/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 66: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Thank you for

your patience!

26/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::

Page 67: Software for agent based social simulation (((((( with raster inputs ... · I 2012 – EuroPar: Workshop on Parallel and Distributed Agent-Based Simulations (PADABS) I 2016 – IPDPS:

::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: ::::: :::::

Don’t blame me only! Don’t cheer me only!

Michael Gienger Ralf Schneider Bastian Koller

26/26 :: Sergiy Gogolenko :: Software for agent based social simulation(((((hhhhhwith raster inputs in distributed HPC environments :: Oct 11, WSSP’17 ::