FLAME GPU 2: A framework for flexible and performant agent based simulation on GPUs

Agent based modelling (ABM) offers a powerful ion for scientific study in a broad range of domains. The use of agent based simulators encourages good software engineering design such as separation of concerns, that is, the uncoupling of the model description from its implementation detail. A major l...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Software, practice & experience practice & experience, 2023-08, Vol.53 (8), p.1659-1680
Hauptverfasser: Richmond, Paul, Chisholm, Robert, Heywood, Peter, Chimeh, Mozhgan Kabiri, Leach, Matthew
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 1680
container_issue 8
container_start_page 1659
container_title Software, practice & experience
container_volume 53
creator Richmond, Paul
Chisholm, Robert
Heywood, Peter
Chimeh, Mozhgan Kabiri
Leach, Matthew
description Agent based modelling (ABM) offers a powerful ion for scientific study in a broad range of domains. The use of agent based simulators encourages good software engineering design such as separation of concerns, that is, the uncoupling of the model description from its implementation detail. A major limitation in current approaches to ABM simulation is that of the trade off between simulator flexibility and performance. It is common that highly optimised simulations, such as those which target graphics processing units (GPU) hardware, are implemented as standalone software. This work presents a software framework (FLAME GPU 2) which balances flexibility with performance for general purpose ABM. Methods for ensuring high computational efficacy are demonstrated by, minimising data movement, and ensuring high device utilisation by exploiting opportunities for concurrent code execution within a model and through the use of ensembles of simulations. A novel hierarchical sub‐modelling approach is also presented which can be used to model certain types of recursive behaviours. This feature is shown to be essential in providing a mechanism to resolve competition for resources between agents within a parallel environment which would otherwise introduce race conditions. To understand the performance characteristics of the software, a benchmark model with millions of agents is used to explore the use of simulation ensembles and to parametrically investigate concurrent code execution within a model. Performance speedups are demonstrated of 3.5×$$ \times $$ and 10×$$ \times $$ respectively over a baseline GPU implementation. Our hierarchical sub‐modelling approach is used to demonstrate the implementation of a recursive algorithm to resolve competition of agent movement which occurs as a result of agent desire to simultaneously occupy discrete areas high in a ‘resource’. The algorithm is used to implement a classical socio‐economics model, Sugarscape, with populations of up to 16M agents.
doi_str_mv 10.1002/spe.3207
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2833742253</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2833742253</sourcerecordid><originalsourceid>FETCH-LOGICAL-c3277-a07384b50c5132d5ef97ffc0225ce12c73378d05688187241d7a50d201538a93</originalsourceid><addsrcrecordid>eNp1kE1LAzEQhoMoWKvgTwh48bJ1Mtk0qbdS2ipULLSCt5DuJrJ1v0y21P57U-tVGGZgeOYZeAm5ZTBgAPgQWjvgCPKM9BiMZAKYvp-THgBXCQzT9JJchbAFYEzgsEdWs8X4ZUrnyzeKj3RMnTeV3Tf-k7rGU1fa72JTWmrqnLbWx11l6o6aDxv7xgSb01BUu9J0RVPTWFEUrsmFM2WwN3-zT9az6XrylCxe58-T8SLJOEqZGJBcpRsBmWAcc2HdSDqXAaLILMNMci5VDmKoFFMSU5ZLIyBHYIIrM-J9cnfStr752tnQ6W2z83X8qFHF2zSKeKTuT1TmmxC8dbr1RWX8QTPQx8R0TEwfE4tockL3RWkP_3J6tZz-8j-7RWkf</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2833742253</pqid></control><display><type>article</type><title>FLAME GPU 2: A framework for flexible and performant agent based simulation on GPUs</title><source>Wiley Online Library Journals Frontfile Complete</source><creator>Richmond, Paul ; Chisholm, Robert ; Heywood, Peter ; Chimeh, Mozhgan Kabiri ; Leach, Matthew</creator><creatorcontrib>Richmond, Paul ; Chisholm, Robert ; Heywood, Peter ; Chimeh, Mozhgan Kabiri ; Leach, Matthew</creatorcontrib><description>Agent based modelling (ABM) offers a powerful ion for scientific study in a broad range of domains. The use of agent based simulators encourages good software engineering design such as separation of concerns, that is, the uncoupling of the model description from its implementation detail. A major limitation in current approaches to ABM simulation is that of the trade off between simulator flexibility and performance. It is common that highly optimised simulations, such as those which target graphics processing units (GPU) hardware, are implemented as standalone software. This work presents a software framework (FLAME GPU 2) which balances flexibility with performance for general purpose ABM. Methods for ensuring high computational efficacy are demonstrated by, minimising data movement, and ensuring high device utilisation by exploiting opportunities for concurrent code execution within a model and through the use of ensembles of simulations. A novel hierarchical sub‐modelling approach is also presented which can be used to model certain types of recursive behaviours. This feature is shown to be essential in providing a mechanism to resolve competition for resources between agents within a parallel environment which would otherwise introduce race conditions. To understand the performance characteristics of the software, a benchmark model with millions of agents is used to explore the use of simulation ensembles and to parametrically investigate concurrent code execution within a model. Performance speedups are demonstrated of 3.5×$$ \times $$ and 10×$$ \times $$ respectively over a baseline GPU implementation. Our hierarchical sub‐modelling approach is used to demonstrate the implementation of a recursive algorithm to resolve competition of agent movement which occurs as a result of agent desire to simultaneously occupy discrete areas high in a ‘resource’. The algorithm is used to implement a classical socio‐economics model, Sugarscape, with populations of up to 16M agents.</description><identifier>ISSN: 0038-0644</identifier><identifier>EISSN: 1097-024X</identifier><identifier>DOI: 10.1002/spe.3207</identifier><language>eng</language><publisher>Bognor Regis: Wiley Subscription Services, Inc</publisher><subject>agent based modelling ; Agent-based models ; Algorithms ; Competition ; Design engineering ; Economic models ; Flexibility ; GPUs ; Graphics processing units ; large scale simulation ; Microbalances ; Modelling ; Simulation ; Simulators ; Software engineering</subject><ispartof>Software, practice &amp; experience, 2023-08, Vol.53 (8), p.1659-1680</ispartof><rights>2023 The Authors. published by John Wiley &amp; Sons Ltd.</rights><rights>2023. This article is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><lds50>peer_reviewed</lds50><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c3277-a07384b50c5132d5ef97ffc0225ce12c73378d05688187241d7a50d201538a93</citedby><cites>FETCH-LOGICAL-c3277-a07384b50c5132d5ef97ffc0225ce12c73378d05688187241d7a50d201538a93</cites><orcidid>0000-0003-3379-9042 ; 0000-0002-2561-7926 ; 0000-0002-4657-5518 ; 0000-0001-9277-8394 ; 0000-0002-8901-5609</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktopdf>$$Uhttps://onlinelibrary.wiley.com/doi/pdf/10.1002%2Fspe.3207$$EPDF$$P50$$Gwiley$$Hfree_for_read</linktopdf><linktohtml>$$Uhttps://onlinelibrary.wiley.com/doi/full/10.1002%2Fspe.3207$$EHTML$$P50$$Gwiley$$Hfree_for_read</linktohtml><link.rule.ids>314,777,781,1412,27905,27906,45555,45556</link.rule.ids></links><search><creatorcontrib>Richmond, Paul</creatorcontrib><creatorcontrib>Chisholm, Robert</creatorcontrib><creatorcontrib>Heywood, Peter</creatorcontrib><creatorcontrib>Chimeh, Mozhgan Kabiri</creatorcontrib><creatorcontrib>Leach, Matthew</creatorcontrib><title>FLAME GPU 2: A framework for flexible and performant agent based simulation on GPUs</title><title>Software, practice &amp; experience</title><description>Agent based modelling (ABM) offers a powerful ion for scientific study in a broad range of domains. The use of agent based simulators encourages good software engineering design such as separation of concerns, that is, the uncoupling of the model description from its implementation detail. A major limitation in current approaches to ABM simulation is that of the trade off between simulator flexibility and performance. It is common that highly optimised simulations, such as those which target graphics processing units (GPU) hardware, are implemented as standalone software. This work presents a software framework (FLAME GPU 2) which balances flexibility with performance for general purpose ABM. Methods for ensuring high computational efficacy are demonstrated by, minimising data movement, and ensuring high device utilisation by exploiting opportunities for concurrent code execution within a model and through the use of ensembles of simulations. A novel hierarchical sub‐modelling approach is also presented which can be used to model certain types of recursive behaviours. This feature is shown to be essential in providing a mechanism to resolve competition for resources between agents within a parallel environment which would otherwise introduce race conditions. To understand the performance characteristics of the software, a benchmark model with millions of agents is used to explore the use of simulation ensembles and to parametrically investigate concurrent code execution within a model. Performance speedups are demonstrated of 3.5×$$ \times $$ and 10×$$ \times $$ respectively over a baseline GPU implementation. Our hierarchical sub‐modelling approach is used to demonstrate the implementation of a recursive algorithm to resolve competition of agent movement which occurs as a result of agent desire to simultaneously occupy discrete areas high in a ‘resource’. The algorithm is used to implement a classical socio‐economics model, Sugarscape, with populations of up to 16M agents.</description><subject>agent based modelling</subject><subject>Agent-based models</subject><subject>Algorithms</subject><subject>Competition</subject><subject>Design engineering</subject><subject>Economic models</subject><subject>Flexibility</subject><subject>GPUs</subject><subject>Graphics processing units</subject><subject>large scale simulation</subject><subject>Microbalances</subject><subject>Modelling</subject><subject>Simulation</subject><subject>Simulators</subject><subject>Software engineering</subject><issn>0038-0644</issn><issn>1097-024X</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2023</creationdate><recordtype>article</recordtype><sourceid>24P</sourceid><sourceid>WIN</sourceid><recordid>eNp1kE1LAzEQhoMoWKvgTwh48bJ1Mtk0qbdS2ipULLSCt5DuJrJ1v0y21P57U-tVGGZgeOYZeAm5ZTBgAPgQWjvgCPKM9BiMZAKYvp-THgBXCQzT9JJchbAFYEzgsEdWs8X4ZUrnyzeKj3RMnTeV3Tf-k7rGU1fa72JTWmrqnLbWx11l6o6aDxv7xgSb01BUu9J0RVPTWFEUrsmFM2WwN3-zT9az6XrylCxe58-T8SLJOEqZGJBcpRsBmWAcc2HdSDqXAaLILMNMci5VDmKoFFMSU5ZLIyBHYIIrM-J9cnfStr752tnQ6W2z83X8qFHF2zSKeKTuT1TmmxC8dbr1RWX8QTPQx8R0TEwfE4tockL3RWkP_3J6tZz-8j-7RWkf</recordid><startdate>202308</startdate><enddate>202308</enddate><creator>Richmond, Paul</creator><creator>Chisholm, Robert</creator><creator>Heywood, Peter</creator><creator>Chimeh, Mozhgan Kabiri</creator><creator>Leach, Matthew</creator><general>Wiley Subscription Services, Inc</general><scope>24P</scope><scope>WIN</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>F28</scope><scope>FR3</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><orcidid>https://orcid.org/0000-0003-3379-9042</orcidid><orcidid>https://orcid.org/0000-0002-2561-7926</orcidid><orcidid>https://orcid.org/0000-0002-4657-5518</orcidid><orcidid>https://orcid.org/0000-0001-9277-8394</orcidid><orcidid>https://orcid.org/0000-0002-8901-5609</orcidid></search><sort><creationdate>202308</creationdate><title>FLAME GPU 2: A framework for flexible and performant agent based simulation on GPUs</title><author>Richmond, Paul ; Chisholm, Robert ; Heywood, Peter ; Chimeh, Mozhgan Kabiri ; Leach, Matthew</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c3277-a07384b50c5132d5ef97ffc0225ce12c73378d05688187241d7a50d201538a93</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2023</creationdate><topic>agent based modelling</topic><topic>Agent-based models</topic><topic>Algorithms</topic><topic>Competition</topic><topic>Design engineering</topic><topic>Economic models</topic><topic>Flexibility</topic><topic>GPUs</topic><topic>Graphics processing units</topic><topic>large scale simulation</topic><topic>Microbalances</topic><topic>Modelling</topic><topic>Simulation</topic><topic>Simulators</topic><topic>Software engineering</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Richmond, Paul</creatorcontrib><creatorcontrib>Chisholm, Robert</creatorcontrib><creatorcontrib>Heywood, Peter</creatorcontrib><creatorcontrib>Chimeh, Mozhgan Kabiri</creatorcontrib><creatorcontrib>Leach, Matthew</creatorcontrib><collection>Wiley-Blackwell Open Access Titles</collection><collection>Wiley Free Content</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ANTE: Abstracts in New Technology &amp; Engineering</collection><collection>Engineering Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Software, practice &amp; experience</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Richmond, Paul</au><au>Chisholm, Robert</au><au>Heywood, Peter</au><au>Chimeh, Mozhgan Kabiri</au><au>Leach, Matthew</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>FLAME GPU 2: A framework for flexible and performant agent based simulation on GPUs</atitle><jtitle>Software, practice &amp; experience</jtitle><date>2023-08</date><risdate>2023</risdate><volume>53</volume><issue>8</issue><spage>1659</spage><epage>1680</epage><pages>1659-1680</pages><issn>0038-0644</issn><eissn>1097-024X</eissn><abstract>Agent based modelling (ABM) offers a powerful ion for scientific study in a broad range of domains. The use of agent based simulators encourages good software engineering design such as separation of concerns, that is, the uncoupling of the model description from its implementation detail. A major limitation in current approaches to ABM simulation is that of the trade off between simulator flexibility and performance. It is common that highly optimised simulations, such as those which target graphics processing units (GPU) hardware, are implemented as standalone software. This work presents a software framework (FLAME GPU 2) which balances flexibility with performance for general purpose ABM. Methods for ensuring high computational efficacy are demonstrated by, minimising data movement, and ensuring high device utilisation by exploiting opportunities for concurrent code execution within a model and through the use of ensembles of simulations. A novel hierarchical sub‐modelling approach is also presented which can be used to model certain types of recursive behaviours. This feature is shown to be essential in providing a mechanism to resolve competition for resources between agents within a parallel environment which would otherwise introduce race conditions. To understand the performance characteristics of the software, a benchmark model with millions of agents is used to explore the use of simulation ensembles and to parametrically investigate concurrent code execution within a model. Performance speedups are demonstrated of 3.5×$$ \times $$ and 10×$$ \times $$ respectively over a baseline GPU implementation. Our hierarchical sub‐modelling approach is used to demonstrate the implementation of a recursive algorithm to resolve competition of agent movement which occurs as a result of agent desire to simultaneously occupy discrete areas high in a ‘resource’. The algorithm is used to implement a classical socio‐economics model, Sugarscape, with populations of up to 16M agents.</abstract><cop>Bognor Regis</cop><pub>Wiley Subscription Services, Inc</pub><doi>10.1002/spe.3207</doi><tpages>22</tpages><orcidid>https://orcid.org/0000-0003-3379-9042</orcidid><orcidid>https://orcid.org/0000-0002-2561-7926</orcidid><orcidid>https://orcid.org/0000-0002-4657-5518</orcidid><orcidid>https://orcid.org/0000-0001-9277-8394</orcidid><orcidid>https://orcid.org/0000-0002-8901-5609</orcidid><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0038-0644
ispartof Software, practice & experience, 2023-08, Vol.53 (8), p.1659-1680
issn 0038-0644
1097-024X
language eng
recordid cdi_proquest_journals_2833742253
source Wiley Online Library Journals Frontfile Complete
subjects agent based modelling
Agent-based models
Algorithms
Competition
Design engineering
Economic models
Flexibility
GPUs
Graphics processing units
large scale simulation
Microbalances
Modelling
Simulation
Simulators
Software engineering
title FLAME GPU 2: A framework for flexible and performant agent based simulation on GPUs
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-19T21%3A26%3A38IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=FLAME%20GPU%202:%20A%20framework%20for%20flexible%20and%20performant%20agent%20based%20simulation%20on%20GPUs&rft.jtitle=Software,%20practice%20&%20experience&rft.au=Richmond,%20Paul&rft.date=2023-08&rft.volume=53&rft.issue=8&rft.spage=1659&rft.epage=1680&rft.pages=1659-1680&rft.issn=0038-0644&rft.eissn=1097-024X&rft_id=info:doi/10.1002/spe.3207&rft_dat=%3Cproquest_cross%3E2833742253%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2833742253&rft_id=info:pmid/&rfr_iscdi=true