jos@cs.vu.nl (Jos Warmer) (03/14/89)
Some problems with garbage collection: 1. In the library class FILE one can create a FILE object, open it and use it. If the FILE object is not referenced anymore, the memory used by it will be reclaimed by the garbage collector. However, each file that is opened should be closed before the FILE object is destroyed. This can not be forced by the FILE class, but it is left to the client. It should be much safer if the FILE class could ensure that each file is closed before the object pointing to it is destroyed. In Unix, and probably elsewhere too, only a limited number of open file descriptors are allowed. So once you open a number of files and forget to close them, you cannot open files anymore after some time. See class OPEN at the end of this article. 2. In a class that acts as an interface to external (C) functions sometimes memory is allocated by C functions. For example the class STRING from the basic library. If a STRING object is not referenced anymore, the memory used by it will be reclaimed by the garbage collector. However, the garbage collector cannot know whether memory was allocated by external functions. So the memory allocated by the external function will never be reclaimed. Of course you can provide the programmer with a function to free the memory allocated by the external function, but this solution excludes garbage collection. A possible solution: In C++ so-called destructors can be defined. A destructor is a routine that is called on an object when the object is being freed. A destructor contains code that performs some cleanup before the object is destroyed. These destructors can be used to solve the problems described above. I cannot find a way to solve these problems in eiffel. Should such a feature be added eiffel, or are there other solutions. =========================================================================== Jos Warmer jos@cs.vu.nl ...uunet!mcvax!cs.vu.nl!jos =========================================================================== class OPEN -- example of forgetting to close files. inherit MEMORY; STD_FILES feature Create is do open_files; open_files; end; open_files is local f : FILE; i : INTEGER; do from f.Create("a"); f.open_write; until f.error /= 0 loop f.Create("a"); f.open_write; i := i + 1; putint(i); putstring(" "); end; new_line; putstring("error nr "); putint(f.error); new_line; putstring("open files "); putint(i ); new_line; full_collect end; end ================ the output of open =============================== class FILE, error on open_write, with file-name ``a'': Unable to open 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 error nr 2 open files 23 class FILE, error on open_write, with file-name ``a'': Unable to open error nr 2 open files 0 ===================================================================
bertrand@eiffel.UUCP (Bertrand Meyer) (03/23/89)
Subject: Re: garbage collection Newsgroups: comp.lang.eiffel References: <2152@vlot.cs.vu.nl> From <2152@vlot.cs.vu.nl>, jos@cs.vu.nl (Jos Warmer): > > 1. In the library class FILE one can create a FILE object, > open it and use it. > If the FILE object is not referenced anymore, the memory used by it > will be reclaimed by the garbage collector. > However, each file that is opened should be closed before the FILE object > is destroyed. > > This can not be forced by the FILE class, but it is left to the client. > It should be much safer if the FILE class could ensure that each file > is closed before the object pointing to it is destroyed. > In Unix, and probably elsewhere too, only a limited number of open > file descriptors are allowed. So once you open a number of files and > forget to close them, you cannot open files anymore after some time. > See class OPEN at the end of this article. In version 2.2 the library class MEMORY will include an argumentless procedure called dispose, to be invoked by the garbage collector (if active) when an object is freed. The original version of this class has an empty body and hence does nothing. Any class can inherit from MEMORY and redefine this procedure to do something, for instance close a file as in Mr. Warmer's example. Two caveats: - The exact details are still subject to change. - The next version (Eiffel 3, end of 1989) will support the possibility of treating all objects as persistent (the set of all objects of an Eiffel session becoming a database). In this context the problem addressed by Mr. Warmer becomes part of a larger requirement (describing what should be done to any object when the session terminates, or when it is stored to a file by an automatic mechanism). This means that the 2.2 solution may be overridden at that time by a more general scheme. > [2. - Problem of freeing space for data structures allocated not > from Eiffel but from external C functions, through malloc.] > Of course you can provide the programmer with a function to free the > memory allocated by [an external C] function, but this solution excludes > garbage collection. Clearly we cannot provide a garbage collector for C. Nor do we want to go into the horrors of programmer-supplied deallocation as in C extensions. In 2.2, with the mechanism described above, you can ensure that the dispose procedure calls any C routines that are needed to free C storage. -- Bertrand Meyer bertrand@eiffel.com
ncjuul@diku.dk (Niels Christian Juul) (12/27/90)
POSITION PAPERS ON GARBAGE COLLECTION ISSUES. FROM Workshop on Garbage Collection in Object-Oriented Systems. The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 21st, 1990. Most of the position papers from the workshop are now made available for anonymous FTP from midgard.ucsc.edu (North America) in: /pub/gc/ (IP. 128.114.134.15) Only available until 1 Feb 1991 and ftp.diku.dk (Europe) in: /pub/GC90/ (IP. 129.142.96.1) Available until further notice. Login as anonymous and state your own email-address as password. THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED. TO PRINT THE PAPERS: uncompress xxxxx.ps.Z and lpr xxxxx.ps 'on your favorite printer' Further information on the individual papers are available by contacting the appropriate authors; see list of attendees in file: Attendees.ps In case of trouble you may contact: daniel@terra.ucsc.edu (Daniel Edelson) or: ncjuul@diku.dk (Niels Christian Juul) Enclosed you find a list of the available position papers. Good luck, 1990.DEC.27. Daniel Edelson & Niels Christian Juul UCSC, CA, USA DIKU, Denmark, Europe ------------------------------------------------------------------------- CONTENTS: A Generational, Compacting Garbage Collector for C++ Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA. Real-Time Compacting Garbage Collection Mats Bengtsson and Boris Magnusson, Lund University, Sweden. Experience with Garbage Collection for Modula-2+ in the Topaz Environment John DeTreville, SRC/DEC, Palo Alto, CA, USA. Concurrent, Atomic Garbage Collection David L. Detlefs, SRC/DEC, Palo Alto, CA, USA. The Case for Garbage Collection in C++ Daniel Edelson, University of California, Santa Cruz, CA, USA. Garbage Collection in an Object Oriented, Distributed, Persistent Environment A. El-Habbash, Trinity College, Dublin, Ireland. Storage Reclamation Paulo Ferreira, INESC/IST, Lisboa, Portugal. Open Systems Require Conservative Garbage Collection Barry Hayes, Stanford University, CA, USA. Adaptive Garbage Collection for Modula-3 and Smalltalk Richard Hudson and Amer Diwan, University of Massachusetts, Amherst, MA, USA. A Distributed, Faulting Garbage Collector for Emerald Niels Christian Juul, DIKU, Copenhagen, Denmark. SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 Programs Translated into C Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, Keio University, Japan. Real-Time Concurrent Collection in User Mode Kai Li, Princeton University, NJ, USA. A Fast Expected-Time Compacting Garbage-Collection Algorithm Christer Mattsson, Lund University, Sweden. Garbage Collecting Persistent Object Stores J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA. Hardware Support for Garbage Collection of Linked Objects and Arrays in Real Time Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, IA, USA. A garbage detection protocol for a realistic distributed object-support system Marc Shapiro, INRIA, Rocquencourt, France. Three Issues In Obejct-Oriented Garbage Collection Jon L. White, Lucid, Inc., Menlo Park, CA, USA. Garbage Collection in a High-Performance System Mario Wolczko, The University, Manchester, UK. Designing Systems for Evaluation: A Case Study of Garbage Collection Benjamin Zorn, University of Colorado at Boulder, CO, USA.
ncjuul@diku.dk (Niels Christian Juul) (12/28/90)
comp.lang.sigplan, comp.os.research, comp.archives Message-ID: <1990Dec27.131916.5017@odin.diku.dk> Date: 27 Dec 90 13:19:16 GMT Sender: news@odin.diku.dk (Netnews System) Distribution: comp Organization: Institute of Computer Science, U of Copenhagen Lines: 111 Xref: usc comp.object:2325 comp.lang.smalltalk:2556 comp.lang.c++:11137 comp.lang.eiffel:1280 comp.lang.objective-c:115 comp.lang.clos:85 comp.lang.modula2:3498 POSITION PAPERS ON GARBAGE COLLECTION ISSUES. FROM Workshop on Garbage Collection in Object-Oriented Systems. The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 21st, 1990. Most of the position papers from the workshop are now made available for anonymous FTP from midgard.ucsc.edu (North America) in: /pub/gc/ (IP. 128.114.134.15) Only available until 1 Feb 1991 and ftp.diku.dk (Europe) in: /pub/GC90/ (IP. 129.142.96.1) Available until further notice. Login as anonymous and state your own email-address as password. THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED. TO PRINT THE PAPERS: uncompress xxxxx.ps.Z and lpr xxxxx.ps 'on your favorite printer' Further information on the individual papers are available by contacting the appropriate authors; see list of attendees in file: Attendees.ps In case of trouble you may contact: daniel@terra.ucsc.edu (Daniel Edelson) or: ncjuul@diku.dk (Niels Christian Juul) Enclosed you find a list of the available position papers. Good luck, 1990.DEC.27. Daniel Edelson & Niels Christian Juul UCSC, CA, USA DIKU, Denmark, Europe ------------------------------------------------------------------------- CONTENTS: A Generational, Compacting Garbage Collector for C++ Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA. Real-Time Compacting Garbage Collection Mats Bengtsson and Boris Magnusson, Lund University, Sweden. Experience with Garbage Collection for Modula-2+ in the Topaz Environment John DeTreville, SRC/DEC, Palo Alto, CA, USA. Concurrent, Atomic Garbage Collection David L. Detlefs, SRC/DEC, Palo Alto, CA, USA. The Case for Garbage Collection in C++ Daniel Edelson, University of California, Santa Cruz, CA, USA. Garbage Collection in an Object Oriented, Distributed, Persistent Environment A. El-Habbash, Trinity College, Dublin, Ireland. Storage Reclamation Paulo Ferreira, INESC/IST, Lisboa, Portugal. Open Systems Require Conservative Garbage Collection Barry Hayes, Stanford University, CA, USA. Adaptive Garbage Collection for Modula-3 and Smalltalk Richard Hudson and Amer Diwan, University of Massachusetts, Amherst, MA, USA. A Distributed, Faulting Garbage Collector for Emerald Niels Christian Juul, DIKU, Copenhagen, Denmark. SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 Programs Translated into C Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, Keio University, Japan. Real-Time Concurrent Collection in User Mode Kai Li, Princeton University, NJ, USA. A Fast Expected-Time Compacting Garbage-Collection Algorithm Christer Mattsson, Lund University, Sweden. Garbage Collecting Persistent Object Stores J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA. Hardware Support for Garbage Collection of Linked Objects and Arrays in Real Time Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, IA, USA. A garbage detection protocol for a realistic distributed object-support system Marc Shapiro, INRIA, Rocquencourt, France. Three Issues In Obejct-Oriented Garbage Collection Jon L. White, Lucid, Inc., Menlo Park, CA, USA. Garbage Collection in a High-Performance System Mario Wolczko, The University, Manchester, UK. Designing Systems for Evaluation: A Case Study of Garbage Collection Benjamin Zorn, University of Colorado at Boulder, CO, USA.
ncjuul@diku.dk (Niels Christian Juul) (12/28/90)
comp.lang.sigplan, comp.os.research, comp.archives Message-ID: <1990Dec27.131916.5017@odin.diku.dk> Date: 27 Dec 90 13:19:16 GMT Sender: news@odin.diku.dk (Netnews System) Distribution: comp Organization: Institute of Computer Science, U of Copenhagen Lines: 111 Xref: arizona comp.object:2288 comp.lang.smalltalk:2527 comp.lang.c++:11107 comp.lang.eiffel:1270 comp.lang.objective-c:110 comp.lang.clos:85 comp.lang.modula2:3462 POSITION PAPERS ON GARBAGE COLLECTION ISSUES. FROM Workshop on Garbage Collection in Object-Oriented Systems. The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 21st, 1990. Most of the position papers from the workshop are now made available for anonymous FTP from midgard.ucsc.edu (North America) in: /pub/gc/ (IP. 128.114.134.15) Only available until 1 Feb 1991 and ftp.diku.dk (Europe) in: /pub/GC90/ (IP. 129.142.96.1) Available until further notice. Login as anonymous and state your own email-address as password. THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED. TO PRINT THE PAPERS: uncompress xxxxx.ps.Z and lpr xxxxx.ps 'on your favorite printer' Further information on the individual papers are available by contacting the appropriate authors; see list of attendees in file: Attendees.ps In case of trouble you may contact: daniel@terra.ucsc.edu (Daniel Edelson) or: ncjuul@diku.dk (Niels Christian Juul) Enclosed you find a list of the available position papers. Good luck, 1990.DEC.27. Daniel Edelson & Niels Christian Juul UCSC, CA, USA DIKU, Denmark, Europe ------------------------------------------------------------------------- CONTENTS: A Generational, Compacting Garbage Collector for C++ Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA. Real-Time Compacting Garbage Collection Mats Bengtsson and Boris Magnusson, Lund University, Sweden. Experience with Garbage Collection for Modula-2+ in the Topaz Environment John DeTreville, SRC/DEC, Palo Alto, CA, USA. Concurrent, Atomic Garbage Collection David L. Detlefs, SRC/DEC, Palo Alto, CA, USA. The Case for Garbage Collection in C++ Daniel Edelson, University of California, Santa Cruz, CA, USA. Garbage Collection in an Object Oriented, Distributed, Persistent Environment A. El-Habbash, Trinity College, Dublin, Ireland. Storage Reclamation Paulo Ferreira, INESC/IST, Lisboa, Portugal. Open Systems Require Conservative Garbage Collection Barry Hayes, Stanford University, CA, USA. Adaptive Garbage Collection for Modula-3 and Smalltalk Richard Hudson and Amer Diwan, University of Massachusetts, Amherst, MA, USA. A Distributed, Faulting Garbage Collector for Emerald Niels Christian Juul, DIKU, Copenhagen, Denmark. SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 Programs Translated into C Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, Keio University, Japan. Real-Time Concurrent Collection in User Mode Kai Li, Princeton University, NJ, USA. A Fast Expected-Time Compacting Garbage-Collection Algorithm Christer Mattsson, Lund University, Sweden. Garbage Collecting Persistent Object Stores J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA. Hardware Support for Garbage Collection of Linked Objects and Arrays in Real Time Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, IA, USA. A garbage detection protocol for a realistic distributed object-support system Marc Shapiro, INRIA, Rocquencourt, France. Three Issues In Obejct-Oriented Garbage Collection Jon L. White, Lucid, Inc., Menlo Park, CA, USA. Garbage Collection in a High-Performance System Mario Wolczko, The University, Manchester, UK. Designing Systems for Evaluation: A Case Study of Garbage Collection Benjamin Zorn, University of Colorado at Boulder, CO, USA.
ncjuul@diku.dk (Niels Christian Juul) (12/28/90)
comp.lang.sigplan, comp.os.research, comp.archives Message-ID: <1990Dec27.131916.5017@odin.diku.dk> Date: 27 Dec 90 13:19:16 GMT Sender: news@odin.diku.dk (Netnews System) Distribution: comp Organization: Institute of Computer Science, U of Copenhagen Lines: 111 Xref: emory comp.object:2347 comp.lang.smalltalk:2519 comp.lang.c++:11095 comp.lang.eiffel:1277 comp.lang.objective-c:116 comp.lang.clos:115 comp.lang.modula2:3484 POSITION PAPERS ON GARBAGE COLLECTION ISSUES. FROM Workshop on Garbage Collection in Object-Oriented Systems. The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 21st, 1990. Most of the position papers from the workshop are now made available for anonymous FTP from midgard.ucsc.edu (North America) in: /pub/gc/ (IP. 128.114.134.15) Only available until 1 Feb 1991 and ftp.diku.dk (Europe) in: /pub/GC90/ (IP. 129.142.96.1) Available until further notice. Login as anonymous and state your own email-address as password. THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED. TO PRINT THE PAPERS: uncompress xxxxx.ps.Z and lpr xxxxx.ps 'on your favorite printer' Further information on the individual papers are available by contacting the appropriate authors; see list of attendees in file: Attendees.ps In case of trouble you may contact: daniel@terra.ucsc.edu (Daniel Edelson) or: ncjuul@diku.dk (Niels Christian Juul) Enclosed you find a list of the available position papers. Good luck, 1990.DEC.27. Daniel Edelson & Niels Christian Juul UCSC, CA, USA DIKU, Denmark, Europe ------------------------------------------------------------------------- CONTENTS: A Generational, Compacting Garbage Collector for C++ Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA. Real-Time Compacting Garbage Collection Mats Bengtsson and Boris Magnusson, Lund University, Sweden. Experience with Garbage Collection for Modula-2+ in the Topaz Environment John DeTreville, SRC/DEC, Palo Alto, CA, USA. Concurrent, Atomic Garbage Collection David L. Detlefs, SRC/DEC, Palo Alto, CA, USA. The Case for Garbage Collection in C++ Daniel Edelson, University of California, Santa Cruz, CA, USA. Garbage Collection in an Object Oriented, Distributed, Persistent Environment A. El-Habbash, Trinity College, Dublin, Ireland. Storage Reclamation Paulo Ferreira, INESC/IST, Lisboa, Portugal. Open Systems Require Conservative Garbage Collection Barry Hayes, Stanford University, CA, USA. Adaptive Garbage Collection for Modula-3 and Smalltalk Richard Hudson and Amer Diwan, University of Massachusetts, Amherst, MA, USA. A Distributed, Faulting Garbage Collector for Emerald Niels Christian Juul, DIKU, Copenhagen, Denmark. SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 Programs Translated into C Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, Keio University, Japan. Real-Time Concurrent Collection in User Mode Kai Li, Princeton University, NJ, USA. A Fast Expected-Time Compacting Garbage-Collection Algorithm Christer Mattsson, Lund University, Sweden. Garbage Collecting Persistent Object Stores J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA. Hardware Support for Garbage Collection of Linked Objects and Arrays in Real Time Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, IA, USA. A garbage detection protocol for a realistic distributed object-support system Marc Shapiro, INRIA, Rocquencourt, France. Three Issues In Obejct-Oriented Garbage Collection Jon L. White, Lucid, Inc., Menlo Park, CA, USA. Garbage Collection in a High-Performance System Mario Wolczko, The University, Manchester, UK. Designing Systems for Evaluation: A Case Study of Garbage Collection Benjamin Zorn, University of Colorado at Boulder, CO, USA.
ncjuul@diku.dk (Niels Christian Juul) (12/28/90)
comp.lang.sigplan, comp.os.research, comp.archives Message-ID: <1990Dec27.131916.5017@odin.diku.dk> Date: 27 Dec 90 13:19:16 GMT Sender: news@odin.diku.dk (Netnews System) Distribution: comp Organization: Institute of Computer Science, U of Copenhagen Lines: 111 Xref: ns-mx comp.object:2323 comp.lang.smalltalk:1151 comp.lang.c++:6388 comp.lang.eiffel:895 comp.lang.objective-c:114 comp.lang.clos:85 comp.lang.modula2:1766 POSITION PAPERS ON GARBAGE COLLECTION ISSUES. FROM Workshop on Garbage Collection in Object-Oriented Systems. The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 21st, 1990. Most of the position papers from the workshop are now made available for anonymous FTP from midgard.ucsc.edu (North America) in: /pub/gc/ (IP. 128.114.134.15) Only available until 1 Feb 1991 and ftp.diku.dk (Europe) in: /pub/GC90/ (IP. 129.142.96.1) Available until further notice. Login as anonymous and state your own email-address as password. THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED. TO PRINT THE PAPERS: uncompress xxxxx.ps.Z and lpr xxxxx.ps 'on your favorite printer' Further information on the individual papers are available by contacting the appropriate authors; see list of attendees in file: Attendees.ps In case of trouble you may contact: daniel@terra.ucsc.edu (Daniel Edelson) or: ncjuul@diku.dk (Niels Christian Juul) Enclosed you find a list of the available position papers. Good luck, 1990.DEC.27. Daniel Edelson & Niels Christian Juul UCSC, CA, USA DIKU, Denmark, Europe ------------------------------------------------------------------------- CONTENTS: A Generational, Compacting Garbage Collector for C++ Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA. Real-Time Compacting Garbage Collection Mats Bengtsson and Boris Magnusson, Lund University, Sweden. Experience with Garbage Collection for Modula-2+ in the Topaz Environment John DeTreville, SRC/DEC, Palo Alto, CA, USA. Concurrent, Atomic Garbage Collection David L. Detlefs, SRC/DEC, Palo Alto, CA, USA. The Case for Garbage Collection in C++ Daniel Edelson, University of California, Santa Cruz, CA, USA. Garbage Collection in an Object Oriented, Distributed, Persistent Environment A. El-Habbash, Trinity College, Dublin, Ireland. Storage Reclamation Paulo Ferreira, INESC/IST, Lisboa, Portugal. Open Systems Require Conservative Garbage Collection Barry Hayes, Stanford University, CA, USA. Adaptive Garbage Collection for Modula-3 and Smalltalk Richard Hudson and Amer Diwan, University of Massachusetts, Amherst, MA, USA. A Distributed, Faulting Garbage Collector for Emerald Niels Christian Juul, DIKU, Copenhagen, Denmark. SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 Programs Translated into C Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, Keio University, Japan. Real-Time Concurrent Collection in User Mode Kai Li, Princeton University, NJ, USA. A Fast Expected-Time Compacting Garbage-Collection Algorithm Christer Mattsson, Lund University, Sweden. Garbage Collecting Persistent Object Stores J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA. Hardware Support for Garbage Collection of Linked Objects and Arrays in Real Time Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, IA, USA. A garbage detection protocol for a realistic distributed object-support system Marc Shapiro, INRIA, Rocquencourt, France. Three Issues In Obejct-Oriented Garbage Collection Jon L. White, Lucid, Inc., Menlo Park, CA, USA. Garbage Collection in a High-Performance System Mario Wolczko, The University, Manchester, UK. Designing Systems for Evaluation: A Case Study of Garbage Collection Benjamin Zorn, University of Colorado at Boulder, CO, USA.
ncjuul@diku.dk (Niels Christian Juul) (12/28/90)
comp.lang.sigplan, comp.os.research, comp.archives Message-ID: <1990Dec27.131916.5017@odin.diku.dk> Date: 27 Dec 90 13:19:16 GMT Sender: news@odin.diku.dk (Netnews System) Distribution: comp Organization: Institute of Computer Science, U of Copenhagen Lines: 111 Xref: nic comp.object:2341 comp.lang.smalltalk:2548 comp.lang.c++:11168 comp.lang.eiffel:1278 comp.lang.objective-c:115 comp.lang.clos:66 comp.lang.modula2:3476 POSITION PAPERS ON GARBAGE COLLECTION ISSUES. FROM Workshop on Garbage Collection in Object-Oriented Systems. The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 21st, 1990. Most of the position papers from the workshop are now made available for anonymous FTP from midgard.ucsc.edu (North America) in: /pub/gc/ (IP. 128.114.134.15) Only available until 1 Feb 1991 and ftp.diku.dk (Europe) in: /pub/GC90/ (IP. 129.142.96.1) Available until further notice. Login as anonymous and state your own email-address as password. THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED. TO PRINT THE PAPERS: uncompress xxxxx.ps.Z and lpr xxxxx.ps 'on your favorite printer' Further information on the individual papers are available by contacting the appropriate authors; see list of attendees in file: Attendees.ps In case of trouble you may contact: daniel@terra.ucsc.edu (Daniel Edelson) or: ncjuul@diku.dk (Niels Christian Juul) Enclosed you find a list of the available position papers. Good luck, 1990.DEC.27. Daniel Edelson & Niels Christian Juul UCSC, CA, USA DIKU, Denmark, Europe ------------------------------------------------------------------------- CONTENTS: A Generational, Compacting Garbage Collector for C++ Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA. Real-Time Compacting Garbage Collection Mats Bengtsson and Boris Magnusson, Lund University, Sweden. Experience with Garbage Collection for Modula-2+ in the Topaz Environment John DeTreville, SRC/DEC, Palo Alto, CA, USA. Concurrent, Atomic Garbage Collection David L. Detlefs, SRC/DEC, Palo Alto, CA, USA. The Case for Garbage Collection in C++ Daniel Edelson, University of California, Santa Cruz, CA, USA. Garbage Collection in an Object Oriented, Distributed, Persistent Environment A. El-Habbash, Trinity College, Dublin, Ireland. Storage Reclamation Paulo Ferreira, INESC/IST, Lisboa, Portugal. Open Systems Require Conservative Garbage Collection Barry Hayes, Stanford University, CA, USA. Adaptive Garbage Collection for Modula-3 and Smalltalk Richard Hudson and Amer Diwan, University of Massachusetts, Amherst, MA, USA. A Distributed, Faulting Garbage Collector for Emerald Niels Christian Juul, DIKU, Copenhagen, Denmark. SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 Programs Translated into C Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, Keio University, Japan. Real-Time Concurrent Collection in User Mode Kai Li, Princeton University, NJ, USA. A Fast Expected-Time Compacting Garbage-Collection Algorithm Christer Mattsson, Lund University, Sweden. Garbage Collecting Persistent Object Stores J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA. Hardware Support for Garbage Collection of Linked Objects and Arrays in Real Time Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, IA, USA. A garbage detection protocol for a realistic distributed object-support system Marc Shapiro, INRIA, Rocquencourt, France. Three Issues In Obejct-Oriented Garbage Collection Jon L. White, Lucid, Inc., Menlo Park, CA, USA. Garbage Collection in a High-Performance System Mario Wolczko, The University, Manchester, UK. Designing Systems for Evaluation: A Case Study of Garbage Collection Benjamin Zorn, University of Colorado at Boulder, CO, USA.
ncjuul@diku.dk (Niels Christian Juul) (12/28/90)
comp.lang.sigplan, comp.os.research, comp.archives Message-ID: <1990Dec27.131916.5017@odin.diku.dk> Date: 27 Dec 90 13:19:16 GMT Sender: news@odin.diku.dk (Netnews System) Distribution: comp Organization: Institute of Computer Science, U of Copenhagen Lines: 111 Xref: lupine comp.object:1064 comp.lang.smalltalk:514 comp.lang.c++:3120 comp.lang.eiffel:337 comp.lang.objective-c:114 comp.lang.clos:87 comp.lang.modula2:916 POSITION PAPERS ON GARBAGE COLLECTION ISSUES. FROM Workshop on Garbage Collection in Object-Oriented Systems. The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 21st, 1990. Most of the position papers from the workshop are now made available for anonymous FTP from midgard.ucsc.edu (North America) in: /pub/gc/ (IP. 128.114.134.15) Only available until 1 Feb 1991 and ftp.diku.dk (Europe) in: /pub/GC90/ (IP. 129.142.96.1) Available until further notice. Login as anonymous and state your own email-address as password. THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED. TO PRINT THE PAPERS: uncompress xxxxx.ps.Z and lpr xxxxx.ps 'on your favorite printer' Further information on the individual papers are available by contacting the appropriate authors; see list of attendees in file: Attendees.ps In case of trouble you may contact: daniel@terra.ucsc.edu (Daniel Edelson) or: ncjuul@diku.dk (Niels Christian Juul) Enclosed you find a list of the available position papers. Good luck, 1990.DEC.27. Daniel Edelson & Niels Christian Juul UCSC, CA, USA DIKU, Denmark, Europe ------------------------------------------------------------------------- CONTENTS: A Generational, Compacting Garbage Collector for C++ Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA. Real-Time Compacting Garbage Collection Mats Bengtsson and Boris Magnusson, Lund University, Sweden. Experience with Garbage Collection for Modula-2+ in the Topaz Environment John DeTreville, SRC/DEC, Palo Alto, CA, USA. Concurrent, Atomic Garbage Collection David L. Detlefs, SRC/DEC, Palo Alto, CA, USA. The Case for Garbage Collection in C++ Daniel Edelson, University of California, Santa Cruz, CA, USA. Garbage Collection in an Object Oriented, Distributed, Persistent Environment A. El-Habbash, Trinity College, Dublin, Ireland. Storage Reclamation Paulo Ferreira, INESC/IST, Lisboa, Portugal. Open Systems Require Conservative Garbage Collection Barry Hayes, Stanford University, CA, USA. Adaptive Garbage Collection for Modula-3 and Smalltalk Richard Hudson and Amer Diwan, University of Massachusetts, Amherst, MA, USA. A Distributed, Faulting Garbage Collector for Emerald Niels Christian Juul, DIKU, Copenhagen, Denmark. SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 Programs Translated into C Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, Keio University, Japan. Real-Time Concurrent Collection in User Mode Kai Li, Princeton University, NJ, USA. A Fast Expected-Time Compacting Garbage-Collection Algorithm Christer Mattsson, Lund University, Sweden. Garbage Collecting Persistent Object Stores J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA. Hardware Support for Garbage Collection of Linked Objects and Arrays in Real Time Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, IA, USA. A garbage detection protocol for a realistic distributed object-support system Marc Shapiro, INRIA, Rocquencourt, France. Three Issues In Obejct-Oriented Garbage Collection Jon L. White, Lucid, Inc., Menlo Park, CA, USA. Garbage Collection in a High-Performance System Mario Wolczko, The University, Manchester, UK. Designing Systems for Evaluation: A Case Study of Garbage Collection Benjamin Zorn, University of Colorado at Boulder, CO, USA.
ncjuul@diku.dk (Niels Christian Juul) (01/03/91)
comp.lang.sigplan, comp.os.research, comp.archives Message-ID: <1990Dec27.131916.5017@odin.diku.dk> Date: 27 Dec 90 13:19:16 GMT Sender: news@odin.diku.dk (Netnews System) Distribution: comp Organization: Institute of Computer Science, U of Copenhagen Lines: 111 POSITION PAPERS ON GARBAGE COLLECTION ISSUES. FROM Workshop on Garbage Collection in Object-Oriented Systems. The workshop was held in conjunction with the Joint ECOOP/OOPSLA'90 Conference at Hotel Chateau Laurier, Ottawa, Canada on Sunday October, 21st, 1990. Most of the position papers from the workshop are now made available for anonymous FTP from midgard.ucsc.edu (North America) in: /pub/gc/ (IP. 128.114.134.15) Only available until 1 Feb 1991 and ftp.diku.dk (Europe) in: /pub/GC90/ (IP. 129.142.96.1) Available until further notice. Login as anonymous and state your own email-address as password. THE PAPERS ARE SUBMITTED IN POSTSCRIPT FORMAT AND COMPRESSED. TO PRINT THE PAPERS: uncompress xxxxx.ps.Z and lpr xxxxx.ps 'on your favorite printer' Further information on the individual papers are available by contacting the appropriate authors; see list of attendees in file: Attendees.ps In case of trouble you may contact: daniel@terra.ucsc.edu (Daniel Edelson) or: ncjuul@diku.dk (Niels Christian Juul) Enclosed you find a list of the available position papers. Good luck, 1990.DEC.27. Daniel Edelson & Niels Christian Juul UCSC, CA, USA DIKU, Denmark, Europe ------------------------------------------------------------------------- CONTENTS: A Generational, Compacting Garbage Collector for C++ Joel F. Bartlett, WRL/DEC, Palo Alto, CA, USA. Real-Time Compacting Garbage Collection Mats Bengtsson and Boris Magnusson, Lund University, Sweden. Experience with Garbage Collection for Modula-2+ in the Topaz Environment John DeTreville, SRC/DEC, Palo Alto, CA, USA. Concurrent, Atomic Garbage Collection David L. Detlefs, SRC/DEC, Palo Alto, CA, USA. The Case for Garbage Collection in C++ Daniel Edelson, University of California, Santa Cruz, CA, USA. Garbage Collection in an Object Oriented, Distributed, Persistent Environment A. El-Habbash, Trinity College, Dublin, Ireland. Storage Reclamation Paulo Ferreira, INESC/IST, Lisboa, Portugal. Open Systems Require Conservative Garbage Collection Barry Hayes, Stanford University, CA, USA. Adaptive Garbage Collection for Modula-3 and Smalltalk Richard Hudson and Amer Diwan, University of Massachusetts, Amherst, MA, USA. A Distributed, Faulting Garbage Collector for Emerald Niels Christian Juul, DIKU, Copenhagen, Denmark. SPiCE Collector: The Run-Time Garbage Collector for Smalltalk-80 Programs Translated into C Satoshi Kurihara, Norihisa Doi, and Kazuki Yasumatsu, Keio University, Japan. Real-Time Concurrent Collection in User Mode Kai Li, Princeton University, NJ, USA. A Fast Expected-Time Compacting Garbage-Collection Algorithm Christer Mattsson, Lund University, Sweden. Garbage Collecting Persistent Object Stores J. Eliot B. Moss, University of Massachusetts, Amherst, MA, USA. Hardware Support for Garbage Collection of Linked Objects and Arrays in Real Time Kelvin Nielsen and William J. Schmidt, Iowa State Univesity, Ames, IA, USA. A garbage detection protocol for a realistic distributed object-support system Marc Shapiro, INRIA, Rocquencourt, France. Three Issues In Obejct-Oriented Garbage Collection Jon L. White, Lucid, Inc., Menlo Park, CA, USA. Garbage Collection in a High-Performance System Mario Wolczko, The University, Manchester, UK. Designing Systems for Evaluation: A Case Study of Garbage Collection Benjamin Zorn, University of Colorado at Boulder, CO, USA.
glang@Autodesk.COM (Gary Lang) (01/06/91)
The repetitive sending of the Position Papers on Garbage Collection has to be one of the best samples of techological irony I've seen in quite a while. Yikes! - g -- Gary T. Lang (415)332-2344 x2702 Autodesk, Inc. Sausalito, CA. MCI: 370-0730
nhr@eng.cam.ac.uk (Neil Russell) (05/29/91)
I'm currently experiencing problems with garbage collection -- it doesn't appear to work. I have a program which has an image size of about 1.5 Mb after it has built the main data structures during the initialisation phase and then shouldn't consume much memory for permanent structures subsequently. However its image grows at about 30kb every 10 seconds or so until the point is reached where it has consumed all the available memory on the machine! (many Mb). I'm pretty sure I've got GC switched on. Are there any known bugs with the GC run-time system. Is there a maximum rate at which dead objects are created which it can cope with? The only thing I can think of which might confuse it and give rise to a memory leak is using `Copy' on ARRAY objects -- this causes the `area' of the target array to be unreferenced, though this shouldn't be a problem if `area' refers to a "normal" Eiffel object. We run Eiffel V2.3 level 4 under SunOS on a Sparc 2. I would be grateful for any assistance/pointers, Neil Russell E-mail: nhr@uk.ac.cam.eng
rick@tetrauk.UUCP (Rick Jones) (05/30/91)
In article <1991May28.202104.27332@eng.cam.ac.uk> nhr@eng.cam.ac.uk (Neil Russell) writes: >I'm currently experiencing problems with garbage collection -- it doesn't >appear to work. I have a program which has an image size of about >1.5 Mb after it has built the main data structures during the initialisation >phase and then shouldn't consume much memory for permanent structures >subsequently. However its image grows at about 30kb every 10 seconds >or so until the point is reached where it has consumed all the available >memory on the machine! (many Mb). I'm pretty sure I've got GC switched on. I haven't encountered a situation of unlimited growth, but I have found that auto-collection doesn't keep the image as clean as using full_collect. I have experimented with different collection modes in my programs, in particular those which run as servers and so have a distinct message loop. By turning collection off and running full_collect every cycle of the loop, the amount of memory used is considerably lower - I don't have the figures to hand. This is to be expected, since full_collect always collects all dead objects, not just a limited number. I haven't done any timings, but there is no noticeable performance difference, and my guess is that full_collect could even be more efficient. I've added a routine which inspects an environment variable at startup to decide which collection mode to use - that way it's easy to try different modes. You might find this worth trying. Having looked at some of the garbage collector code, I am dubious as to whether the amount of time it spends collecting (in auto mode) increases with the rate of object creation, which of course it should do. If it doesn't, this could explain you problem. Perhaps the ISE technical team might like to comment? -- Rick Jones, Tetra Ltd. Maidenhead, Berks, UK rick@tetrauk.uucp Any fool can provide a solution - the problem is to understand the problem