Title (eng)
Benchmarking a parallelized agent-based simulation in economics
Parallel title (deu)
Benchmarken einer parallelisierten agentenbasierten Simulation aus der Ökonomie
Author
Oliver Reiter
Advisor
Wilfried Gansterer
Assessor
Wilfried Gansterer
Abstract (deu)
Agenten basierte Simulationen erfreuen sich steigender Beliebtheit in the Sozialwissenschaften. Auch in der Ökonomie sind sie auf dem Vormarsch. Das Wachsen der Modelle in Größe und Umfang macht es notwendig, die Simulationen in parallel und möglichst effizient auszuführen. Wir werden die Performance Eigenschaften des sogenannten “Benchmark” Modells von Caiani et al. (2016) untersuchen, welches mithilfe des FLAME frameworks implementiert wurde. Wir testen die Performance auf drei ver- schiedenen Maschinen: auf einen gewöhnlichen Laptop, auf eine Multicore Maschine und am Vienna Scientific Cluster 2 . Die Resultate zeigen, dass die Performance der Simulation einerseits schlecht ist, speziell wenn die erreichten MFLOPS pro Sekunde herangezogen wer- den dass aber andererseits auch super-lineare Speedups möglich sind. Un- sere Untersuchungen zeigen, dass sich beide Ergebnisse auf ein ineffizientes Design auf die Art und Weise wie Daten der Agenten geladen und gespe- ichert werden zurückführen lassen. Da eine stark überhöhte Menge an Daten transferiert wird, ist diese Applikation I/O bound was zur enttäuschenden Performance führt. Wenn dieser Datentransfer dann auf mehrere Prozesse aufgeteilt wird, kommt es zu den super-linearen Speedups.
Abstract (eng)
Agent-based simulations are gaining popularity in the social sciences, also in economics. As such simulation models grow in size and features, there is a growing need that these simulations are executed in parallel. We will study the performance behaviour of a parallelized agent-based model, the so called “benchmark” model by Caiani et al. (2016), implemented in the FLAME framework. The parallel performance of the model is tested on a commodity hardware laptop, a multicore machine and the Vienna Scientific Cluster 1 . We find that the performance of the simulation is a) poor, especially when MFLOPS per second are used as benchmark but also that b) super-linear speedups are possible. We trace both these finding back to an inefficient design of how the agent’s data is read and stored. An exaggerated amount of data is transferred to the CPU, which makes the application I/O bound and leads to the observed poor performance. Furthermore, when the simulation is executed on more processes, data transfers are better distributed leading to the super-linear speedups.
Keywords (eng)
Agent-based simulationhigh performance computingparallelism
Keywords (deu)
Agentenbasierte SimulationVienna Scientific ClusterHigh Performance Computing
Type (deu)
Extent (deu)
iii, 64 Seiten : Illustrationen, Diagramme
Number of pages
72
Study plan
Masterstudium Scientific Computing
[UA]
[066]
[940]
Association (deu)
Members (1)
Title (eng)
Benchmarking a parallelized agent-based simulation in economics
Parallel title (deu)
Benchmarken einer parallelisierten agentenbasierten Simulation aus der Ökonomie
Author
Oliver Reiter
Abstract (deu)
Agenten basierte Simulationen erfreuen sich steigender Beliebtheit in the Sozialwissenschaften. Auch in der Ökonomie sind sie auf dem Vormarsch. Das Wachsen der Modelle in Größe und Umfang macht es notwendig, die Simulationen in parallel und möglichst effizient auszuführen. Wir werden die Performance Eigenschaften des sogenannten “Benchmark” Modells von Caiani et al. (2016) untersuchen, welches mithilfe des FLAME frameworks implementiert wurde. Wir testen die Performance auf drei ver- schiedenen Maschinen: auf einen gewöhnlichen Laptop, auf eine Multicore Maschine und am Vienna Scientific Cluster 2 . Die Resultate zeigen, dass die Performance der Simulation einerseits schlecht ist, speziell wenn die erreichten MFLOPS pro Sekunde herangezogen wer- den dass aber andererseits auch super-lineare Speedups möglich sind. Un- sere Untersuchungen zeigen, dass sich beide Ergebnisse auf ein ineffizientes Design auf die Art und Weise wie Daten der Agenten geladen und gespe- ichert werden zurückführen lassen. Da eine stark überhöhte Menge an Daten transferiert wird, ist diese Applikation I/O bound was zur enttäuschenden Performance führt. Wenn dieser Datentransfer dann auf mehrere Prozesse aufgeteilt wird, kommt es zu den super-linearen Speedups.
Abstract (eng)
Agent-based simulations are gaining popularity in the social sciences, also in economics. As such simulation models grow in size and features, there is a growing need that these simulations are executed in parallel. We will study the performance behaviour of a parallelized agent-based model, the so called “benchmark” model by Caiani et al. (2016), implemented in the FLAME framework. The parallel performance of the model is tested on a commodity hardware laptop, a multicore machine and the Vienna Scientific Cluster 1 . We find that the performance of the simulation is a) poor, especially when MFLOPS per second are used as benchmark but also that b) super-linear speedups are possible. We trace both these finding back to an inefficient design of how the agent’s data is read and stored. An exaggerated amount of data is transferred to the CPU, which makes the application I/O bound and leads to the observed poor performance. Furthermore, when the simulation is executed on more processes, data transfers are better distributed leading to the super-linear speedups.
Keywords (eng)
Agent-based simulationhigh performance computingparallelism
Keywords (deu)
Agentenbasierte SimulationVienna Scientific ClusterHigh Performance Computing
Type (deu)
Number of pages
72
Association (deu)