首页> 外文期刊>Journal of Parallel and Distributed Computing >Approximating the buffer allocation problem using epochs
【24h】

Approximating the buffer allocation problem using epochs

机译:使用历元近似缓冲区分配问题

获取原文
获取原文并翻译 | 示例

摘要

The correctness of applications that perform asynchronous message passing typically relies on the underlying hardware having a sufficient amount of memory (message buffers) to hold all undelivered messages-such applications may deadlock when executed on a system with an insufficient number of message buffers. Thus, determining the minimum number of buffers that an application needs to prevent deadlock is an important task when writing portable parallel applications. Unfortunately, both this problem (called the Buffer Allocation Problem) and the simpler problem of determining whether an application may deadlock for a given number of available message buffers are intractable [A. Brodsky, J. Pedersen, A. Wagner, On the complexity of buffer allocation in message passing systems, Journal of Parallel and Distributed Computing 65 (2005) 692-713].rnWe present a new epoch-based polynomial-time approach for approximating a solution to the Buffer Allocation Problem. Our approach partitions application executions into epochs and intersperses barrier synchronizations between them, thus limiting the number of message buffers necessary to ensure deadlock-freedom. This approach produces near optimal solutions for many common cases and can be adapted to guide application modifications that ensure deadlock-freedom when the application is executed on different systems. We describe a prototype implementation, and present an empirical evaluation of this approach. Lastly, we describe a space-time trade-off between the number of available message buffers and the number of barrier synchronizations, and describe how this trade-off can be used to fine-tune application performance.
机译:执行异步消息传递的应用程序的正确性通常取决于具有足够数量的内存(消息缓冲区)的基础硬件来容纳所有未传递的消息-当此类应用程序在消息缓冲区数量不足的系统上执行时,可能会死锁。因此,在编写可移植并行应用程序时,确定应用程序需要防止死锁的最小缓冲区数是一项重要的任务。不幸的是,这个问题(称为缓冲区分配问题)和确定应用程序是否可能在给定数量的可用消息缓冲区中死锁的较简单问题都是棘手的[A. Brodsky,J. Pedersen,A. Wagner,关于消息传递系统中缓冲区分配的复杂性,《并行与分布式计算杂志》(Journal of Parallel and Distributed Computing)65(2005)692-713]。rn我们提出了一种新的基于历元的多项式时间方法来近似缓冲区分配问题的解决方案。我们的方法将应用程序执行划分为多个时期,并在它们之间散布屏障同步,从而限制了确保无死锁所需的消息缓冲区的数量。这种方法为许多常见情况提供了近乎最佳的解决方案,可用于指导应用程序修改,以确保在不同系统上执行应用程序时无死锁。我们描述了原型实现,并提供了对该方法的经验评估。最后,我们描述了可用消息缓冲区的数量和屏障同步的数量之间的时空折衷,并描述了如何利用这种折衷来微调应用程序性能。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号