Processors and Their Collection

  • Bertrand Meyer
  • Alexander Kogtenkov
  • Anton Akhi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7303)


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.

Unable to display preview. Download preview PDF.


  1. 1.
    Caromel, D.: Towards A Method of Object-Oriented Concurrent Programming. Communications of the ACM 36(9), 90–102 (1993)CrossRefGoogle Scholar
  2. 2.
    EiffelStudio environment, available for download at eiffel.comGoogle Scholar
  3. 3.
    Kafura, D., Washabaugh, D., Nelson, J.: Garbage collection of actors. In: OOPSLA/ECOOP 1990, pp. 126–134 (1990)Google Scholar
  4. 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
  5. 5.
    Meyer, B.: Systematic Concurrent Object-Oriented Programming. Communications of the ACM 36(9), 56–80 (1993)CrossRefGoogle Scholar
  6. 6.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall (1997) (chapter 32 presents SCOOP)Google Scholar
  7. 7.
    Morandi, B., Nanz, S., Meyer, B.: A Formal Reference for SCOOP. In: Meyer, B., Nordio, M. (eds.) Empirical Software Engineering and Verification. LNCS, vol. 7007, pp. 89–157. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  8. 8.
    Nienaltowski, P.: Practical framework for contract-based concurrent object-oriented programming, PhD dissertation 17061, Department of Computer Science, ETH Zurich (February 2007),
  9. 9.
    Nienaltowski, P., Ostroff, J., Meyer, B.: Contracts for Concurrency. Formal Aspects of Computing Journal 21(4), 305–318 (2009)zbMATHCrossRefGoogle Scholar
  10. 10.
    Wilson, P.R.: Uniprocessor Garbage Collection Techniques. In: Bekkers, Y., Cohen, J. (eds.) IWMM-GIAE 1992. LNCS, vol. 637, pp. 1–42. Springer, Heidelberg (1992)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Bertrand Meyer
    • 1
    • 2
    • 3
  • Alexander Kogtenkov
    • 2
    • 3
  • Anton Akhi
    • 3
  1. 1.ETH ZurichSwitzerland
  2. 2.ITMO National Research UniversitySaint PetersburgRussia
  3. 3.Eiffel SoftwareSanta BarbaraUSA

Personalised recommendations