Cosenza, B., Popov, N., Juurlink, B. et al. (5 more authors) (2018) OpenABL: A domain-specific language for parallel and distributed agent-based simulations. In: Aldinucci, M., Padovani, L. and Torquati, M., (eds.) Euro-Par 2018: Parallel Processing. 24th International Conference on Parallel and Distributed Computing, 27-31 Aug 2018, Turin, Italy. Lecture Notes in Computer Science, 11014 . Springer, Cham , pp. 505-518. ISBN 9783319969824
Abstract
Agent-based simulations are becoming widespread among scientists from different areas, who use them to model increasingly complex problems. To cope with the growing computational complexity, parallel and distributed implementations have been developed for a wide range of platforms. However, it is difficult to have simulations that are portable to different platforms while still achieving high performance. We present OpenABL, a domain-specific language for portable, high-performance, parallel agent modeling. It comprises an easy-to-program language that relies on high-level abstractions for programmability and explicitly exploits agent parallelism to deliver high performance. A source-to-source compiler translates the input code to a high-level intermediate representation exposing parallelism, locality and synchronization, and, thanks to an architecture based on pluggable backends, generates target code for multi-core CPUs, GPUs, large clusters and cloud systems. OpenABL has been evaluated on six applications from various fields such as ecology, animation, and social sciences. The generated code scales to large clusters and performs similarly to hand-written target-specific code, while requiring significantly fewer lines of codes.
Metadata
Item Type: | Proceedings Paper |
---|---|
Authors/Creators: |
|
Editors: |
|
Copyright, Publisher and Additional Information: | © 2018, Springer International Publishing AG, part of Springer Nature. This is an author-produced version of a paper subsequently published in Aldinucci M., Padovani L., Torquati M. (eds) Euro-Par 2018: Parallel Processing. Euro-Par 2018. Lecture Notes in Computer Science, vol 11014. Uploaded in accordance with the publisher's self-archiving policy. |
Dates: |
|
Institution: | The University of Sheffield |
Academic Units: | The University of Sheffield > Faculty of Engineering (Sheffield) > Department of Computer Science (Sheffield) |
Depositing User: | Symplectic Sheffield |
Date Deposited: | 22 May 2019 16:03 |
Last Modified: | 23 May 2019 05:29 |
Status: | Published |
Publisher: | Springer, Cham |
Series Name: | Lecture Notes in Computer Science |
Refereed: | Yes |
Identification Number: | 10.1007/978-3-319-96983-1_36 |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:142529 |