{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,19]],"date-time":"2026-01-19T02:35:44Z","timestamp":1768790144407,"version":"3.49.0"},"reference-count":70,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2018,4,30]],"date-time":"2018-04-30T00:00:00Z","timestamp":1525046400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nc\/4.0\/"}],"funder":[{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["1409847"],"award-info":[{"award-number":["1409847"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2018,4,30]]},"abstract":"<jats:p>Distributing a simulation across many machines can drastically speed up computations and increase detail. The computing cloud provides tremendous computing resources, but weak service guarantees force programs to manage significant system complexity: nodes, networks, and storage occasionally perform poorly or fail.<\/jats:p>\n          <jats:p>We describe Nimbus, a system that automatically distributes grid-based and hybrid simulations across cloud computing nodes. The main simulation loop is sequential code and launches distributed computations across many cores. The simulation on each core runs as if it is stand-alone: Nimbus automatically stitches these simulations into a single, larger one. To do this efficiently, Nimbus introduces a four-layer data model that translates between the contiguous, geometric objects used by simulation libraries and the replicated, fine-grain objects managed by its underlying cloud computing runtime.<\/jats:p>\n          <jats:p>\n            Using PhysBAM particle-level set fluid simulations, we demonstrate that Nimbus can run higher detail simulations faster, distribute simulations on up to 512 cores, and run enormous simulations (1024\n            <jats:sup>3<\/jats:sup>\n            cells). Nimbus automatically manages these distributed simulations, balancing load across nodes and recovering from failures. Implementations of PhysBAM water and smoke simulations as well as an open source heat-diffusion simulation show that Nimbus is general and can support complex simulations.\n          <\/jats:p>\n          <jats:p>Nimbus can be downloaded from https:\/\/nimbus.stanford.edu.<\/jats:p>","DOI":"10.1145\/3173551","type":"journal-article","created":{"date-parts":[[2018,6,22]],"date-time":"2018-06-22T12:07:56Z","timestamp":1529669276000},"page":"1-14","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["Automatically Distributing Eulerian and Hybrid Fluid Simulations in the Cloud"],"prefix":"10.1145","volume":"37","author":[{"given":"Omid","family":"Mashayekhi","sequence":"first","affiliation":[{"name":"Stanford University, Stanford, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chinmayee","family":"Shah","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hang","family":"Qu","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrew","family":"Lim","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Philip","family":"Levis","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2018,6,22]]},"reference":[{"key":"e_1_2_2_1_1","volume-title":"Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201916)","author":"Abadi Mart\u00edn","year":"2016"},{"key":"e_1_2_2_2_1","volume-title":"Oscar Sci-Tech Awards. Retrieved","author":"Academy of Motion Picture Arts and Sciences. 2017.","year":"2018"},{"key":"e_1_2_2_3_1","volume-title":"Proceedings of IEEE Visualization (VIS\u201905)","author":"Allard J\u00e9r\u00e9mie","year":"2005"},{"key":"e_1_2_2_4_1","volume-title":"Proceedings of the 10th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201913)","author":"Ananthanarayanan Ganesh","year":"2013"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/1924943.1924962"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2009.5161063"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/77626.77631"},{"key":"e_1_2_2_8_1","unstructured":"Michael Edward Bauer. 2014. Legion: Programming Distributed Heterogeneous Architectures With Logical Regions. Ph.D. Dissertation.  Michael Edward Bauer. 2014. Legion: Programming Distributed Heterogeneous Architectures With Logical Regions. Ph.D. Dissertation."},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2892632"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2007.370258"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1103845.1094852"},{"key":"e_1_2_2_12_1","volume-title":"CUDA C Programming Guide. Retrieved","author":"NVIDIA Corporation","year":"2018"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/2999134.2999271"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1327452.1327492"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/HIPS.2004.1299189"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2851141.2851157"},{"key":"e_1_2_2_17_1","volume-title":"Computer Animation and Simulation\u201996","author":"Desbrun Mathieu"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063396"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2503210.2503217"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1654059.1654113"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.14778\/2367502.2367562"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2037636.2037646"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485895.2485897"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1006\/jcph.2002.7166"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/566570.566645"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1188455.1188543"},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/822085.823309"},{"key":"e_1_2_2_28_1","unstructured":"Sanjay Ghemawat and Jeff Dean. 2017. LevelDB. Retrieved April 3 2018 from https:\/\/github.com\/google\/leveldb.  Sanjay Ghemawat and Jeff Dean. 2017. LevelDB. Retrieved April 3 2018 from https:\/\/github.com\/google\/leveldb."},{"key":"e_1_2_2_29_1","volume-title":"Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201912)","author":"Gonzalez Joseph E.","year":"2012"},{"key":"e_1_2_2_30_1","unstructured":"Nolan Goodnight. 2007. CUDA\/OpenGL Fluid Simulation. NVIDIA Corporation.  Nolan Goodnight. 2007. CUDA\/OpenGL Fluid Simulation. NVIDIA Corporation."},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/97880.97911"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1088\/1742-6596\/46\/1\/067"},{"key":"e_1_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1273440.1250690"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/566654.566639"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/CLUSTER.2013.6702666"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2766996"},{"key":"e_1_2_2_38_1","volume-title":"Kale and Sanjeev Krishnan","author":"Laxmikant","year":"1993"},{"key":"e_1_2_2_39_1","volume-title":"StencilProbe: A Microbenchmark for Stencil Applications. Retrieved","author":"Kamil Shoaib","year":"2018"},{"key":"e_1_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/369028.369103"},{"key":"e_1_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2866569"},{"key":"e_1_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1553374.1553453"},{"key":"e_1_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2287076.2287103"},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1015706.1015745"},{"key":"e_1_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISBI.2008.4541126"},{"key":"e_1_2_2_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807167.1807184"},{"key":"e_1_2_2_47_1","volume-title":"Proceedings of the 2017 USENIX Annual Technical Conference (ATC\u201917)","author":"Mashayekhi Omid","year":"2017"},{"key":"e_1_2_2_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522738"},{"key":"e_1_2_2_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/2504435.2504454"},{"key":"e_1_2_2_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1985.232489"},{"key":"e_1_2_2_51_1","volume-title":"Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI\u201915)","author":"Ousterhout Kay","year":"2015"},{"key":"e_1_2_2_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522716"},{"key":"e_1_2_2_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485895.2485912"},{"key":"e_1_2_2_54_1","volume-title":"Xeon Phi. In Proceedings of the IEEE International Conference on Cluster Computing (CLUSTER\u201913)","author":"Peraza Joshua","year":"2013"},{"key":"e_1_2_2_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499370.2462176"},{"key":"e_1_2_2_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897839.2927406"},{"key":"e_1_2_2_57_1","doi-asserted-by":"publisher","DOI":"10.5555\/370049.370403"},{"key":"e_1_2_2_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2807591.2807629"},{"key":"e_1_2_2_59_1","volume-title":"MPI\u2014The Complete Reference: The MPI Core","author":"Snir Marc"},{"key":"e_1_2_2_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/311535.311548"},{"key":"e_1_2_2_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601196"},{"key":"e_1_2_2_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/1989493.1989508"},{"key":"e_1_2_2_63_1","unstructured":"The Khronos Group. 2017a. OpenCL Overview. Retrieved April 3 2018 from https:\/\/www.khronos.org\/opencl\/.  The Khronos Group. 2017a. OpenCL Overview. Retrieved April 3 2018 from https:\/\/www.khronos.org\/opencl\/."},{"key":"e_1_2_2_64_1","unstructured":"The Khronos Group. 2017b. OpenGL. Retrieved April 3 2018 from https:\/\/www.opengl.org\/.  The Khronos Group. 2017b. OpenGL. Retrieved April 3 2018 from https:\/\/www.opengl.org\/."},{"key":"e_1_2_2_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807161"},{"key":"e_1_2_2_66_1","volume-title":"River Running Through It. Retrieved","author":"White William W.","year":"2018"},{"key":"e_1_2_2_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/1128022.1128027"},{"key":"e_1_2_2_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/361147.361115"},{"key":"e_1_2_2_69_1","volume-title":"Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation (NSDI\u201916)","author":"Zaharia Matei","year":"2012"},{"key":"e_1_2_2_70_1","doi-asserted-by":"publisher","DOI":"10.1177\/1094342010394383"},{"key":"e_1_2_2_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/1073204.1073298"}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3173551","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3173551","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3173551","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:02:46Z","timestamp":1750215766000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3173551"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,4,30]]},"references-count":70,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2018,4,30]]}},"alternative-id":["10.1145\/3173551"],"URL":"https:\/\/doi.org\/10.1145\/3173551","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"value":"0730-0301","type":"print"},{"value":"1557-7368","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,4,30]]},"assertion":[{"value":"2017-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-06-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}