Reachability trees for high-level Petri nets
Theoretical Computer Science
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Solving problems on concurrent processors. Vol. 1: General techniques and regular problems
Repeatable and portable message-passing programs
PODC '94 Proceedings of the thirteenth annual ACM symposium on Principles of distributed computing
Efficient message passing interface (MPI) for parallel computing on clusters of workstations
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
Concurrency: state models & Java programs
Concurrency: state models & Java programs
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
The Semantics of Blocking and Nonblocking Send and Receive Primitives
Proceedings of the 8th International Symposium on Parallel Processing
Asynchronous MPI messaging on Myrinet
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
The complexity of theorem-proving procedures
STOC '71 Proceedings of the third annual ACM symposium on Theory of computing
Synchronous, asynchronous, and causally ordered communication
Distributed Computing
The optimal buffer allocation problem
IEEE Transactions on Information Theory
Approximating the buffer allocation problem using epochs
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
Message passing programs commonly use message buffers to avoid unnecessary synchronizations and to improve performance by overlapping communication with computation. Unfortunately, using buffers can introduce portability problems and can lead to deadlock problems on systems without a sufficient number of message buffers. 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 message buffers or verifying that each process has a sufficient number of message buffers are intractable problems. However, we give a polynomial time algorithm to determine the minimum number of message buffers needed to ensure that no send operation is unnecessarily delayed due to lack of message buffers. We extend these results to several different buffering schemes, which in some cases make the problems tractable.