Using Process Calculus for Optimizing Data and Computation Sharing in Complex Stateful Parallel Computations
Using Process Calculus for Optimizing Data and Computation Sharing in Complex Stateful Parallel Computations
We propose novel techniques that exploit data and computation sharing to improve the performance of complex stateful parallel computations, like agent-based simulations. Parallel computations are translated into behavioral equations, a novel formalism layered on top of the foundational process calculus $\pi$-calculus. Behavioral equations blend code and data, allowing a system to easily compose and transform parallel programs into specialized programs. We show how optimizations like merging programs, synthesizing efficient message data structures, eliminating local messaging, rewriting communication instructions into local computations, and {aggregation pushdown} can be expressed as transformations of behavioral equations. We have also built a system called OptiFusion that implements behavioral equations and the aforementioned optimizations. Our experiments showed that OptiFusion is over 10$\times$ faster than state-of-the-art stateful systems benchmarked via complex stateful workloads. Generating specialized instructions that are impractical to write by hand allows OptiFusion to outperform even the hand-optimized implementations by up to 2$\times$.
Zilu Tian、Dan Olteanu、Christoph Koch
计算技术、计算机技术
Zilu Tian,Dan Olteanu,Christoph Koch.Using Process Calculus for Optimizing Data and Computation Sharing in Complex Stateful Parallel Computations[EB/OL].(2025-04-13)[2025-05-10].https://arxiv.org/abs/2504.09788.点此复制
评论