Computing Reviews

Efficient storage management for temporary values in concurrent programming languages
Quammen D., Kearns J., Soffa M. IEEE Transactions on Computers34(9):832-840,1985.Type:Article
Date Reviewed: 08/01/86

This paper considers the efficient management of evaluation stacks (for storing temporary values in expression evaluation) for concurrent programming languages. Techniques for sharing a single evaluation stack among many processes without copying processor registers on a process switch are developed. Since structured languages and modern software construction methodologies seem to result in software that requires frequent process switching, reducing the overhead involved in such switches becomes of paramount importance.

The hardware considered in this research is a multiprocessor, shared-memory system in which each processor has some local memory. The techniques developed allow temporaries from concurrent processes to be housed in a single LIFO stack which is stored separately from program unit activation records. The techniques are applicable in the implementation of statement-oriented concurrent languages in which priorities are assignable to program units.

This is an outstanding paper that is actually written in the form of a short tutorial on storage management of temporary values. The general problems associated with this management in concurrent languages are discussed, and the impact of scheduling strategies upon various management schemes is shown. Three scheduling strategies are considered in the development of the authors’ techniques: preemptive, preemptive priority, and general preemptive.

Finally, a methodology is presented for the generation of synthetic workloads which can be used to evaluate storage management schemes. The authors use simulation studies driven by synthetic workloads to demonstrate substantial performance improvement over traditional temporary storage management schemes for concurrent languages.

Reviewer:  F. L. Friedman Review #: CR109968

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy