{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,12,8]],"date-time":"2023-12-08T00:32:15Z","timestamp":1701995535008},"reference-count":52,"publisher":"Association for Computing Machinery (ACM)","issue":"2","funder":[{"DOI":"10.13039\/501100000266","name":"EPSRC","doi-asserted-by":"crossref","award":["EP\/N031768\/1"],"id":[{"id":"10.13039\/501100000266","id-type":"DOI","asserted-by":"crossref"}]},{"name":"Swiss Governments ETH Board of the Swiss Federal Institutes of Technology"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Parallel Comput."],"published-print":{"date-parts":[[2023,6,30]]},"abstract":"HPC clusters have become ever more expensive, both in terms of capital cost and energy consumption; some estimates suggest that competitive installations at the end of the next decade will require their own power station. One way around this looming problem is to design bespoke computing engines, but while the performance benefits are good, the design costs are huge and cannot easily be amortized. Partially Ordered Event Triggered System (POETS)\u2014the focus of this article\u2014seeks to exploit a middle way: The architecture is tuned to a specific algorithmic pattern but, within that constraint, is fully programmable. POETS software is quasi-imperative: The user defines a set of sequential event handlers, defines the topology of a (typically large) concurrent ensemble of these, and lets them interact. The \u201csolution\u201d may be exfiltrated from the emergent behaviour of the ensemble. In this article, we describe (briefly) the architecture, and an example computational chemistry application, dissipative particle dynamics (DPD). The DPD algorithm is traditionally implemented using parallel computational techniques, but we re-cast it as a concurrent compute problem that is then ideally suited to POETS. Our prototype system is realised on a cluster of 48 FPGAs providing 50K concurrent hardware threads, and we report performance speedups of over two orders of magnitude better than a single thread baseline comparator and scaling behaviour that is almost constant. The results are validated against a \u201cconventional\u201d implementation.<\/jats:p>","DOI":"10.1145\/3580372","type":"journal-article","created":{"date-parts":[[2023,2,20]],"date-time":"2023-02-20T12:08:29Z","timestamp":1676894909000},"page":"1-32","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["POETS: An Event-driven Approach to Dissipative Particle Dynamics"],"prefix":"10.1145","volume":"10","author":[{"ORCID":"http:\/\/orcid.org\/0000-0002-0700-9433","authenticated-orcid":false,"given":"Andrew D.","family":"Brown","sequence":"first","affiliation":[{"name":"Department of Electronics and Computer Science, University of Southampton, UK"}]},{"ORCID":"http:\/\/orcid.org\/0000-0002-1217-8725","authenticated-orcid":false,"given":"Jonathan R.","family":"Beaumont","sequence":"additional","affiliation":[{"name":"Department of Electronic Engineering, Imperial College London, South Kensington Campus, London, UK"}]},{"ORCID":"http:\/\/orcid.org\/0000-0002-9671-0917","authenticated-orcid":false,"given":"David B.","family":"Thomas","sequence":"additional","affiliation":[{"name":"Department of Electronics and Computer Science, University of Southampton, UK"}]},{"ORCID":"http:\/\/orcid.org\/0000-0002-7885-735X","authenticated-orcid":false,"given":"Julian C.","family":"Shillcock","sequence":"additional","affiliation":[{"name":"Blue Brain Project, Ecole Polytechnique Federale Lausanne, Lausanne, Switzerland"}]},{"ORCID":"http:\/\/orcid.org\/0000-0001-9827-8497","authenticated-orcid":false,"given":"Matthew F.","family":"Naylor","sequence":"additional","affiliation":[{"name":"Computer Laboratory, University of Cambridge, UK"}]},{"ORCID":"http:\/\/orcid.org\/0000-0002-5201-7977","authenticated-orcid":false,"given":"Graeme M.","family":"Bragg","sequence":"additional","affiliation":[{"name":"Department of Electronics and Computer Science, University of Southampton, UK"}]},{"ORCID":"http:\/\/orcid.org\/0000-0002-6552-5831","authenticated-orcid":false,"given":"Mark L.","family":"Vousden","sequence":"additional","affiliation":[{"name":"Department of Electronics and Computer Science, University of Southampton, UK"}]},{"ORCID":"http:\/\/orcid.org\/0000-0002-2806-495X","authenticated-orcid":false,"given":"Simon W.","family":"Moore","sequence":"additional","affiliation":[{"name":"Computer Laboratory, University of Cambridge, UK"}]},{"ORCID":"http:\/\/orcid.org\/0000-0002-3224-278X","authenticated-orcid":false,"given":"Shane T.","family":"Fleming","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Swansea, UK"}]}],"member":"320","published-online":{"date-parts":[[2023,6,20]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1109\/DAC.1984.1585816"},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1504\/IJHPSA.2011.038057"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1057\/palgrave.jors.2602128"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.5555\/917964"},{"key":"e_1_3_2_6_2","first-page":"1133","volume-title":"SC Companion: High Performance Computing, Networking Storage and Analysis","author":"Membarth Richard","year":"2012","unstructured":"Richard Membarth, Frank Hannig, J\u00fcrgen Teich, and Harald K\u00f6stler. 2012. Towards domain-specific computing for stencil codes in HPC. In SC Companion: High Performance Computing, Networking Storage and Analysis. IEEE, 1133\u20131138."},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2018.2862896"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1063\/1.474784"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2019.00066"},{"key":"e_1_3_2_10_2","volume-title":"Proceedings of the International Conference on Parallel Computing (ParCo'19)","author":"Brown Andrew D.","unstructured":"Andrew D. Brown, Mark L. Vousden, Alexander D. Rast, Graeme M. Bragg, David B. Thomas, Jonny R. Beaumont, Matthew F. Naylor, and Andrey M. Mokhov. POETS: Distributed event-based computing-scaling behaviour. In Proceedings of the International Conference on Parallel Computing (ParCo'19)."},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1209\/0295-5075\/19\/3\/001"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1209\/0295-5075\/30\/4\/001"},{"key":"e_1_3_2_13_2","volume-title":"Proceedings of the IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP'16)","author":"Brown Andrew D.","year":"2016","unstructured":"Andrew D. Brown. 2016. Event-driven computing. In Proceedings of the IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP'16)."},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2012.142"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2014.2329686"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1049\/iet-cdt.2014.0110"},{"issue":"5","key":"e_1_3_2_17_2","first-page":"1987","article-title":"A study on setting processor or CPU affinity in multi-core architectures for parallel computing","volume":"4","author":"Shambharker Saroj A.","year":"2015","unstructured":"Saroj A. Shambharker. 2015. A study on setting processor or CPU affinity in multi-core architectures for parallel computing. Int. J. Sci. Res. 4, 5 (2015), 1987\u20131990.","journal-title":"Int. J. Sci. Res."},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1970.tb01770.x"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.5555\/2046379"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1209\/0295-5075\/30\/4\/001"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.5555\/62815"},{"key":"e_1_3_2_22_2","volume-title":"Understanding Molecular Simulation","author":"Frenkel Daan","year":"2002","unstructured":"Daan Frenkel and Berend Smit. 2002. Understanding Molecular Simulation. Academic Press."},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/MDT.2007.164"},{"issue":"22","key":"e_1_3_2_24_2","article-title":"TestU01: A software library in ANSI C for empirical testing of random number generators","volume":"33","author":"L'Ecuyer Pierre","year":"2007","unstructured":"Pierre L'Ecuyer and Richard Simard. 2007. TestU01: A software library in ANSI C for empirical testing of random number generators. ACM Trans. Math. Softw. 33, 22 (2007).","journal-title":"ACM Trans. Math. Softw."},{"key":"e_1_3_2_25_2","volume-title":"Introduction to Computational Chemistry","author":"Jensen Frank","year":"2017","unstructured":"Frank Jensen. 2017. Introduction to Computational Chemistry. Wiley."},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1103\/PhysRevE.59.3733"},{"issue":"2","key":"e_1_3_2_27_2","first-page":"33","article-title":"GPU accelerated dissipative particle dynamics with parallel cell-list updating","volume":"1","author":"Wu Hao","year":"2011","unstructured":"Hao Wu, Junbo Xu, Shengfei Zhang, and Hao Wen. 2011. GPU accelerated dissipative particle dynamics with parallel cell-list updating. IEIT J. Adapt. Dynam. Comput. 1, 2 (2011), 33\u201342.","journal-title":"IEIT J. Adapt. Dynam. Comput."},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1080\/1539445X.2013.858359"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1073\/pnas.0712231105"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1063\/1.1574800"},{"key":"e_1_3_2_31_2","volume-title":"Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica","author":"Pemmaraju Sriram","unstructured":"Sriram Pemmaraju and Steven Skiena. 2003. Computational Discrete Mathematics: Combinatorics and Graph Theory with Mathematica. Cambridge University Press, Cambridge."},{"key":"e_1_3_2_32_2","volume-title":"Le\u00e9ons sur la r\u00e9solution alg\u00e9brique des \u00e9quations","author":"Vogt Henri","year":"1895","unstructured":"Henri Vogt. 1895. Le\u00e9ons sur la r\u00e9solution alg\u00e9brique des \u00e9quations. Nony, Paris."},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/TVLSI.2004.832944"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1049\/ip-cdt:20040241"},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1049\/iet-cdt.2012.0006"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1038\/nmat1333"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1063\/1.1498463"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.cpc.2020.107159"},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/PDP52278.2021.00028"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.3390\/membranes12010017"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-65303-6_6"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1109\/IJCNN48605.2020.9206708"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.18178\/ijmlc.2021.11.4.1048"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISTM54910.2022.00020"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISTM54910.2022.00018"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1049\/cdt2.12041"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/3477145.3477151"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1049\/cdt2.12051"},{"key":"e_1_3_2_49_2","doi-asserted-by":"crossref","unstructured":"Jordan Morris Ashur Rafiev Graeme Bragg Mark Vousden David Thomas Alex Yakovlev and Andrew Brown. 2022. An event driven approach to genotype imputation on a RISC-V FPGA cluster. (unpublished).","DOI":"10.1109\/TCBB.2023.3328714"},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1109\/PDP52278.2021.00028"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASAP49362.2020.00012"},{"key":"e_1_3_2_52_2","doi-asserted-by":"publisher","DOI":"10.1137\/S1064827595287997"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2022.07.001"}],"container-title":["ACM Transactions on Parallel Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3580372","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,12,7]],"date-time":"2023-12-07T06:33:12Z","timestamp":1701930792000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3580372"}},"subtitle":["Implementing a Massively Compute-intensive Problem on a Novel Hard\/Software Architecture."],"short-title":[],"issued":{"date-parts":[[2023,6,20]]},"references-count":52,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2023,6,30]]}},"alternative-id":["10.1145\/3580372"],"URL":"https:\/\/doi.org\/10.1145\/3580372","relation":{},"ISSN":["2329-4949","2329-4957"],"issn-type":[{"value":"2329-4949","type":"print"},{"value":"2329-4957","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,6,20]]},"assertion":[{"value":"2022-03-21","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-01-12","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-06-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}