Algorithms for parallel memory allocation |
| |
Authors: | Ellis Carla Schlatter Olson Thomas J. |
| |
Affiliation: | (1) Department of Computer Science, Duke University, 27706 Durham, North Carolina;(2) Computer Science Department, The University of Rochester, 14627 Rochester, New York |
| |
Abstract: | Dynamic storage allocation is a vital component of programming systems intended for multiprocessor architectures that support globally shared memory. Highly parallel algorithms for access to system data structures lie at the core of effective memory allocation strategies as well as solutions to other parallel systems problems. In this paper, we investigate four algorithms, all based on the first fit approach, that provide different granularities of parallel access to the allocator's data structures. These solutions employ a variety of design techniques including specialized locking protocols, the use of atomic fetch-and- operations, and structural modifications. We describe experiments designed to compare the performance of these schemes. The results show that simple algorithms are appropriate when the expected number of concurrent requests per memory is low and the request pattern is not bursty. Algorithms that support finer granularity access while avoiding locking protocols are successful in a range of larger processor/memory ratios.This research was supported in part by the National Science Foundation under Grant Number DCR 8320136, DARPA/U.S. Army Engineer Topographic Laboratories under contract number DACA76-85-C-0001, and Unisys Corporation.A preliminary version appeared in International Conference on Parallel Processing, August 1987. |
| |
Keywords: | Concurrent data structures first fit memory allocation parallel algorithms shared memory multiprocessing |
本文献已被 SpringerLink 等数据库收录! |
|