Processors and Their Collection
In a flexible approach to concurrent computation, “processors” ’ (computational resources such as threads) are allocated dynamically, just as objects are; but then, just as objects, they can become unused, leading to performance degradation or worse. We generalized the notion of garbage collection (GC), traditionally applied to objects, so that it also handles collecting unused processors.
The paper describes the processor collection problem, formalizes it as a set of fixpoint equations, introduces the resulting objects-and-processor GC algorithm implemented as part of concurrency support (the SCOOP model) in the latest version of EiffelStudio, and presents benchmarks results showing that the new technique introduces no overhead as compared to traditional objects-only GC, and in fact improves its execution time slightly in some cases.
Unable to display preview. Download preview PDF.
- 2.EiffelStudio environment, available for download at eiffel.comGoogle Scholar
- 3.Kafura, D., Washabaugh, D., Nelson, J.: Garbage collection of actors. In: OOPSLA/ECOOP 1990, pp. 126–134 (1990)Google Scholar
- 4.Jones, R., Hosking, A., Moss, E.: The Garbage Collection Handbook: The Art of Automatic Memory Management, 2nd edn. Chapman and All/CRC (2011)Google Scholar
- 6.Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall (1997) (chapter 32 presents SCOOP)Google Scholar
- 8.Nienaltowski, P.: Practical framework for contract-based concurrent object-oriented programming, PhD dissertation 17061, Department of Computer Science, ETH Zurich (February 2007), se.ethz.ch/old/people/nienaltowski/papers/thesis.pdf