Mitigating synchronization bottlenecks in high-performance actor-model-based software

Bulk synchronous programming (in distributed-memory systems) and the fork-join pattern (in shared-memory systems) are often used for problems where independent processes must periodically synchronize. Frequent synchronization can greatly undermine the performance of software designed to solve such p...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:SC24-W: Workshops of the International Conference for High Performance Computing, Networking, Storage and Analysis s. 1274 - 1287
Hlavní autori: Klenk, Kyle, Moayeri, Mohammad Mahdi, Guo, Junwei, Clark, Martyn P., Spiteri, Raymond J.
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: IEEE 17.11.2024
Predmet:
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí:Bulk synchronous programming (in distributed-memory systems) and the fork-join pattern (in shared-memory systems) are often used for problems where independent processes must periodically synchronize. Frequent synchronization can greatly undermine the performance of software designed to solve such problems. We use the actor model of concurrent computing to balance the load of hundreds of thousands of short-lived tasks and mitigate synchronization bottlenecks by buffering communication via actor batching. The actor model is becoming increasingly popular in scientific and high-performance computing because it can handle heterogeneous tasks and computing environments with enhanced programming flexibility and ease relative to conventional paradigms like MPI. For a hydrologic simulation of continental North America with over 500,000 elements, the proposed buffering approach is approximately 4 times faster than no buffering, outperforms MPI on single and multiple nodes, and remains competitive with OpenMP on a single node and MPI+OpenMP on multiple nodes.
DOI:10.1109/SCW63240.2024.00168