A precise characterization of the subcube allocation problem and a general methodology to solve it are presented. Subcube allocation and coalescing algorithms that have the goal of minimizing fragmentation are developed. The concept of a maximal set of subcubes (MSS), which is useful in making allocations that result in a tightly packed hypercube, is introduced. The problems of allocating subcubes and of forming an MSS are formulated as decision problems and shown to be NP-hard. It is proved analytically that the buddy strategy is optimal under restricted conditions, and it is shown using simulation that its performance is actually poor under more realistic conditions. A heuristic procedure for efficiently coalescing a released cube with the existing free cubes is suggested. This coalescing approach is coupled with a simple best-fit allocation scheme to form the basis of a class of MSS-based strategies that give a substantial performance (hit ratio) improvement over the buddy strategy. Simulation results comparing several different allocation and coalescing strategies, which show that the MSS-based schemes provide a marked performance improvement over previous techniques, are presented. >
[1]
Donald Ervin Knuth,et al.
The Art of Computer Programming
,
1968
.
[2]
David S. Johnson,et al.
Computers and Intractability: A Guide to the Theory of NP-Completeness
,
1978
.
[3]
Laxmi N. Bhuyan,et al.
Analysis of Packet-Switched Multiple-Bus Multiprocessor Systems
,
1991,
IEEE Trans. Computers.
[4]
John P. Hayes,et al.
A Microprocessor-based Hypercube Supercomputer
,
1986,
IEEE Micro.
[5]
F. Harary,et al.
A survey of the theory of hypercube graphs
,
1988
.
[6]
Ming-Syan Chen,et al.
Processor Allocation in an N-Cube Multiprocessor Using Gray Codes
,
1987,
IEEE Transactions on Computers.
[7]
Donald Leo Dietmeyer,et al.
Logic design of digital systems
,
1971
.
[8]
Michel Dagenais,et al.
McBOOLE: A New Procedure for Exact Logic Minimization
,
1986,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.