Abstract

In computer science, dynamic storage allocation refers to the mechanisms for managing primary and secondary storage under a fluctuating demand. In this paper we identify three principal sources of inefficient use of storage: partition fragmentation, checkerboarding and internal fragmentation. The first arises when a set of records, to be stored in a set of independent storage units, cannot be partitioned into subsets whose cumulative sizes are equal to the capacities of the storage units. Checkerboarding refers to the alternating holes and occupied regions of a storage device which occur as records come and go unpredictably. Finally, internal fragmentation occurs in systems that allocate storage only in certain prescribed amounts, e.g. the nearest power of two no smaller than the amount requested. In connection with these types of fragmentation, a number of algorithm and storage design questions arise. Our basic goal is to review analyses of combinatorial models of these problems. The major theme of the results is the characterization of approximation algorithms in terms of asymptotic bounds on their performance relative to optimization rules. Our presentation is distinguished by its attempt to bring together for the first time many disparate research efforts in dynamic storage allocation, classifying them by the types of fragmentation studied.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call