消息传递系统中缓冲区分配的复杂性
On the Complexity of Buffer Allocation in Message Passing Systems
摘要:
消息传递程序通常使用缓冲区来避免不必要的同步,并通过重叠通信和计算来提高性能。不幸的是,使用缓冲区使程序不再可移植,可能无法在没有足够数量的缓冲区的系统上完成。有效的缓冲区使用需要分配安全执行所需的最小数量。我们探讨了各种有关的缓冲区分配安全和有效地执行消息传递程序的问题。我们表明,确定最小数量的缓冲区或验证缓冲区分配是棘手的问题。然而,我们给出了一个多项式时间算法来确定允许异步执行所需的最小缓冲区数。我们将这些结果扩展到几种不同的缓冲方案,这在某些情况下使问题易于处理。
英文摘要:
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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。