arrow
Return

Approximating the buffer allocation problem using epochs

delete2008-09-01
delete2
PRE
AI
J
Jan Bækgaard Pedersen *
A
Alex Brodsky
J
Jeffrey R. Sampson
DOI:10.1016/j.jpdc.2008.06.001delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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]. We 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-freedorn. 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 all 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. (c) 2008 Elsevier Inc. All rights reserved.
Keywords:
message passing systems
buffer allocation
complexity
parallel and distributed programming
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Journal of Parallel and Distributed Computing cover
Journal of Parallel and Distributed Computing
IF:
4
Papers:
3.8K
Citations:
4.8K

Organization

N
nevada system of higher education (nshe)
Scholars:
1.4W
Papers: 1.3W
Citations: 30
U
university of nevada las vegas
Scholars:
3.9K
Papers: 3.4K
Citations: 8
Cited Papers

Cited Papers

Cell Cycle Control
err
IF0
err2004-12-01
err0
errOAAI
errTim Humphrey; Gavin Brooks
errShare
errSave
Intracranial Pressure and Promontory Vibration With Soft Tissue Stimulation in Cadaveric Human Whole Heads
err2016-10-01
err0
errOAAI
errChristof Roosli; Ivo Dobrev; Jae Hoon Sim; Rahel Gerig; Flurin Pfiffner; Stefan Stenfelt; Alexander M. Huber
errShare
errSave
errShare
errSave
Metabolomics approach in lung tissue of septic rats and the interventional effects of Xuebijing injection using UHPLC-Q-Orbitrap-HRMS
err2018-08-27
err0
PREAI
errTanye Xu; Lin Zhou; Yingying Shi; Liwei Liu; Lihua Zuo; Qingquan Jia; Shuzhang Du; Jian Kang; Xiaojian Zhang; Zhi Sun
errShare
errSave
researcher View more