On the Complexity of Buffer Allocation in Message Passing Systems
Alex Brodsky, Jan B. Pedersen, and Alan Wagner

TL;DR
This paper investigates the computational complexity of buffer allocation in message passing systems, proving intractability for some problems while providing polynomial algorithms for others, to optimize safe and efficient execution.
Contribution
It demonstrates the intractability of determining minimum buffers and offers polynomial algorithms for specific buffer allocation problems in message passing programs.
Findings
Determining the minimum number of buffers is NP-hard.
A polynomial-time algorithm exists for calculating the minimum buffers for asynchronous execution.
Certain buffering schemes can make buffer allocation problems tractable.
Abstract
Message passing programs commonly use buffers to avoid unnecessary synchronizations and to improve performance by overlapping communication with computation. Unfortunately, using buffers makes the program no longer portable, potentially unable to complete on systems without a sufficient number of buffers. Effective buffer use entails that the minimum number needed for a safe execution be allocated. We explore a variety of problems related to buffer allocation for safe and efficient execution of message passing programs. We show that determining the minimum number of buffers or verifying a buffer assignment are intractable problems. However, we give a polynomial time algorithm to determine the minimum number of buffers needed to allow for asynchronous execution. We extend these results to several different buffering schemes, which in some cases make the problems tractable.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Interconnection Networks and Systems · Advanced Queuing Theory Analysis
