Research and Advances

Efficient multiprogramming resource allocation and accounting


Although sometimes thought of as only a component of time-sharing operation, multiprogramming can involve broader questions of resource allocation, since fairness is not required to meet a response criterion. In a multiprogrammed system, it may serve maximal resource use to be unfair, for example by holding an input/output channel idle for a program while it completes a small amount of processor usage, enabling further use of the channel. Several applications of this principle are given, and it is suggested that a multiprogramming executive might dynamically adjust its allocation algorithms to gain efficiency. Allocation of resources is closely connected to accounting for those resources, raising the problems of repeatability, minimal uncharged overhead, and relative weighting of charges for dependent resources. Since weightings may depend on allocation algorithms, these are not arbitrary accounting parameters. Often the only repeatable accounting is one which omits an extensive overhead; this overhead can be multiple-charged to all programs which benefit from it, so that in the worst case the overhead will be paid, and should multiprogramming prove efficient, overcharges will result. Multiprogramming turns on allocation of the memory resource essential to control of other resources. The general suggestions for allocation and accounting are applied to this question, and some details provided for the case of a monitor which controls a virtual-memory machine.

View this article in the ACM Digital Library.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More