Dzung Phan, Pavankumar Murali, et al.
INFORMS 2022
Task-based parallelism has been established as one of the main forms of code parallelization, where asynchronous tasks are launched and distributed across the processing units of a local machine, a cluster or a supercomputer. The tasks can be either completely decoupled, corresponding to a set of independent jobs, or be part of an iterative algorithm where the task results are processed and drive the next step. Typical use cases include the application of the same function to different data, parametric searches and algorithms used in numerical optimization and Bayesian uncertainty quantification. In this work, we introduce torcpy, a platform-agnostic adaptive load balancing library that orchestrates the asynchronous execution of tasks, expressed as callables with arguments, on both shared and distributed memory platforms. The library is implemented on top of MPI and multithreading and provides lightweight support for nested loops and map functions. Experimental results using representative applications demonstrate the flexibility and efficiency of the proposed Python package.
Dzung Phan, Pavankumar Murali, et al.
INFORMS 2022
Dhaval Patel, Shrey Shrivastava, et al.
Big Data 2020
Suranjana Samanta, Oishik Chatterjee, et al.
CLOUD 2023
Jonas Šukys, Ursula Rasthofer, et al.
SIAM Journal on Scientific Computing