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...
Gespeichert in:
Veröffentlicht in: | Software, practice & experience practice & experience, 2023-08, Vol.53 (8), p.1659-1680 |
---|---|
Hauptverfasser: | , , , , |
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 & experience, 2023-08, Vol.53 (8), p.1659-1680</ispartof><rights>2023 The Authors. published by John Wiley & 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 & 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 & 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 & 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 & 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 |