Home
General
Staff
Contact
Partners
Alumni
Research
Areas
Projects
Papers
Books
Reports
Awards
Teaching
Lectures
Exams
B.Theses
M.Theses
PhD Theses
Go Abroad
Misc
Talks
Library
Gallery
Links
Search
Webmaster
|
Seminar aus Softwareentwicklung: Garbage Collection
339.372 |
02 |
Mössenböck |
Block, Vorbesprechung 10.10., 16:30, HF9905
|
Allgemeines ♦
Ablauf ♦
Seminarvortrag ♦
Seminararbeit ♦
Themen ♦
Termine ♦
Benotung ♦
Folien ♦
Links
Allgemeines
Garbage-Collectoren sind heute Bestandteil jeder
modernen Software-Umgebung. Neben den Grundalgorithmen, die seit vielen
Jahren bekannt sind, wird heute intensiv daran geforscht,
Garbage-Collectoren schneller zu machen und insbesondere die Pausen
eines Collector-Laufs zu verkürzen.
In diesem Seminar wird klassische und aktuelle
Literatur zum Thema Garbage Collection von den Teilnehmern
aufgearbeitet und präsentiert, wobei das Hauptgewicht auf neueren
Algorithmen liegt.
Teilnehmer dieses Seminars haben idealerweise
bereits grobe Grundkenntnisse über Gargabe-Collection-Algorithmen,
z.B. aus der Lehrveranstaltung "System Software", die im SS 2005
abgehalten wurde. Manche der angegebenen Papers beziehen sich zwar auf
einen bestimmten Algorithmus, setzen aber Grundkenntnisse anderer
Algorithmen voraus.
Ablauf
Jeder Teilnehmer (jede Teilnehmerin) wählt aus
der unten angegebenen Liste ein Thema, studiert die dazu angegebene
Literatur, sucht selbständig nach weiterer Literatur, bereitet
einen 35-40 minütigen Seminarvortrag vor sowie einer etwa
15-20-seitigen Seminararbeit in Form eines wissenschaftlichen Papers.
Hauptliteratur jedes Themas sind die angegebenen
Kapitel des Buchs
[Jones96] Jones, R, Lins, R.: Garbage
Collection:
Algorithms for Automatic Dynamic Memory
Management. John Wiley 1996
das am Institut für Systemsoftware verfügbar ist.
Sekundärliteratur sind neben den im Buch
zitierten Papers auch die bei jedem Thema explizit angegeben
Literaturstellen. Wegen der zeitlichen Beschränkung des
Seminarvortrags auf 35-40 Minuten ist es nötig, auszuwählen,
zu verdichten und nur das Wesentlichste zu bringen. Der schriftliche
Seminarbericht kann dann etwas ausführlicher ausfallen.
Themen, die in mehrere Teile gegliedert sind (z.B. I
+ II) sind als Gemeinschaftsarbeit zu verstehen, für die nur ein
einziger (dementsprechend längerer) Seminarbericht aber mehrere
getrennte Vorträge zu liefern sind. Die Vorträge sind
miteinander abzusprechen, damit Dinge nicht doppelt gebracht werden.
Wer Teil II wählt, muß auch die für Teil I angegebenen
Buchkapitel lesen und verstehen, damit sein Vortrag einen nahtlosen
Anschluß an Teil I ergibt.
Im Seminar herrscht Anwesenheitspflicht, auch an den
Tagen, an denen man keinen eigenen Vortrag hält. Außerdem
wird erwartet, daß die Teilnehmer sich durch Fragen an der
Diskussion der Themen beteiligen.
Seminarvortrag
- 35-40 Minuten (14-18 Folien)
- auf zentrale Ideen in Algorithmen konzentrieren
- möglichst Bilder und Beispiele statt Textfolien
Seminararbeit
- ca. 15-20 Seiten (wenn als Bakk-Arbeit mindestens 20 Seiten)
- als PDF-Dokument
- Sprache wahlweise Englisch oder Deutsch
- möglichst diese Word-Vorlage verwenden
(da sie Schriftgröße 10 verwendet, reduziert sich der geforderte Seitenumfang
auf 12-16 Seiten)
- möglichst diese Hinweise beachten
1. Reference Counting I
2. Reference Counting II
- [Jones96], Kap. 3.5 - 3.7
- [Bobrow80] Daniel G. Bobrow:
Managing re-entrant structures using reference counts. ACM TOPLAS
2(3):269-273, 1980
- [Jones92] Richard E. Jones,
Rafael Lins. 1992. Cyclic weighted reference counting without delay.
Computing Laboratory, The University of Kent at Canterbury. Technical
Report 28-92.
- [Bacon01] David F. Bacon,
Clement R. Attanasio, Han B. Loc, and Stephen Smith. Java without the
Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector.
PLDI'01, SIGPLAN Notices, 2001
3. Mark & Sweep
- [Jones96], Kap. 2.2, 4
- [Schorr67] Schorr, Waite: An
efficient machine-independent procedure for garbage collection in
various list structures. Communications of the ACM (August 1967),
501-505
- [Queinnec89] Christian
Queinnec, Barbara Beaudoing, and Jean-Pierre Queille. Mark DURING Sweep
rather than Mark THEN Sweep. Lecture Notes in Computer Science,
365:224-237, 1989
- [Huelsbergen98] Lorenz
Huelsbergen and Phil Winterbottom. Very concurrent mark-&-sweep
garbage collection without fine-grain synchronization. Symposium on
Memory Management, Vancouver, October 1998. ACM Press, pages 166-175
4. Copying Collectors
- [Jones96], Kap. 2.3, 6
- [Fenichel69] Robert R.
Fenichel, Jerome C. Yochelson: A Lisp garbage collector for virtual
memory computer systems. CACM 12(11):611-612, 1969
- [Cheney70] C. J. Cheney. 1970.
A non-recursive list compacting algorithm. CACM, 13(11):677-678, 1970
- [Zorn90] Benjamin Zorn. Comparing
Mark-and-sweep and Stop-and-copy Garbage Collection. ACM conference on
LISP and functional programming, 1990
5. Generational Collectors I
- [Jones96], Kap. 7.1 - 7.4
- [Lieberman83] Lieberman, H,
Hewitt, C. A real-time garbage collector based on the lifetimes of
objects. Communications of the ACM 26, 6 (June 1983), 419-429.
- [Ungar84] Ungar, D.: Generation
scavenging: A nondisruptive high performance storage reclamation
algorithm. ACM SIGPLAN Notices 19, 5 (May 1984)
- [Appel88a] Appel A.W.: Simple
Generational Garbage Collection and Fast Allocation. Software Practice
and Experience, 1988
- [Ungar92] Ungar, D., Jackson,
F.: An adaptive tenuring policy for generation scavengers. ACM
Transactions on Programming Languages and Systems 1, 1 (January 1992),
1-27
- [Baker93] Henry G. Baker.
'Infant Mortality' and Generational Garbage Collection. SIGPLAN Notices
28(4), 1993
6. Generational Collectors II
- [Jones96], Kap. 7.5 - 7.8
- [Hosking93] Antony L. Hosking
and Richard L. Hudson. Remembered sets can also play cards. In Eliot
Moss, Paul R. Wilson, and Benjamin Zorn, editors. OOPSLA/ECOOP '93
Workshop on Garbage Collection in Object-Oriented Systems, October 1993
- [Azagury98] Alain Azagury,
Elliot K. Kolodner, Erez Petrank, Zvi Yehudai. 1998. Combining Card
Marking with Remembered Sets: How to Save Scanning Time. ISMM'98
pp.10-19
- [Wilson89] Paul R. Wilson and
Thomas G. Moher. A card-marking scheme for controlling
intergenerational references in generation-based garbage collection on
stock hardware. ACM SIGPLAN Notices, 24(5):87-92, 1989
- [Zorn90a] Benjamin Zorn. 1990.
Barrier Methods for Garbage Collection. University of Colorado at
Boulder. Technical Report CU-CS-494-90
- [Hosking92] Antony L. Hosking,
J. Eliot B. Moss, Darko Stefanovic. 1992. A comparative performance
evaluation of write barrier implementations. OOPSLA'92 Conference
Proceedings, ACM SIGPLAN Notices 27(10), pp 92-109
- [Hoelzle93] Urs Hölzle. A
fast write barrier for generational garbage collectors. In Eliot Moss,
Paul R. Wilson, and Benjamin Zorn, editors. OOPSLA/ECOOP '93 Workshop
on Garbage Collection in Object-Oriented Systems, October 1993
7. Mark & Compact + Measurements
- [Jones96], Kap. 5
- [Hicks97] Michael W. Hicks,
Jonathan T. Moore, Scott M. Nettles: The measured cost of copying
garbage collection mechanisms. ACM SIGPLAN conference on Functional
programming, SIGPLAN Notices 32(8)
- [Blackburn04] Stephen M.
Blackburn, Perry Cheng, Kathryn S. McKinley: Myths and realities: the
performance impact of garbage collection. ACM SIGMETRICS Performance
Evaluation Review 32(1), 2004
8. Incremental Garbage Collection I
- [Jones96], Kap. 8.1-8.5
- [Deutsch76] Deutsch, L P.,
Bobrow, D. G.: An efficient incremental automatic garbage collector.
Communications of the ACM 19,9 (Sept. 1976),522-526.
- [Baker78] Henry G. Baker. List
processing in real-time on a serial computer. CACM, 21(4):280-94, 1978
9. Incremental Garbage Collection II
- [Jones96], Kap. 8.6-8.10
- [Appel88] Andrew Appel, John R.
Ellis, Kai Li.: Real-time Concurrent Collection on Stock
Multiprocessors. ACM PLDI 88, SIGPLAN Notices 23, 7 (July 88), pp. 11-20
- [Baker92] Henry G. Baker. The
Treadmill: Real-Time Garbage Collection Without Motion Sickness.
SIGPLAN Notices, 27(3), 192
- [Lim98] Tian F. Lim, Przemyslaw
Pardyak, and Brian N. Bershad. A memory-efficient real-time non-copying
garbage collector. In Richard Jones, editor. Symposium on Memory
management, Vancouver, October 1998. ACM Press, pages 118-129
10. Incremental Garbage Collection III (Train Algorithm)
- [Grarup93] Steffen Grarup and Jacob Seligmann: Incremental Mature
Garbage Collection. Dissertation, Department of Comp. Science, Aarhus
University, 1993
Verfügbar am Institut.
- [Seligmann95] Jacob
Seligmann and Steffen Grarup. Incremental mature garbage collection
using the train algorithm.ECOOP'95, LNCS. Springer-Verlag, August 1995
- [Hudson97] Richard L. Hudson,
Ron Morrison, J. Eliot B. Moss, David S. Munro. 1997. Garbage
Collecting the World: One Car at a Time. Proc. OOPSLA 97, pp.162-175
11. Hard Real-time Garbage Collection
12. Conservative Garbage Collection for C, Modula-3, ...
- [Jones96], Kap. 9
- [Boehm88] Boehm H.J., Weiser M.:
1988. Garbage collection in an uncooperative environment. Software --
Practice and Experience. 18(9):807-820
- [Diwan92] Diwan A., Moss E.,
Hudson R.: Compiler Support for Garbage Collection in a Statically
Typed Language. Proceedings PLDI'92, p. 273-282, San Francisco, CA,
June 1992.
- [Demers90] Alan Demers, Mark
Weiser, Barry Hayes, Hans Boehm, Daniel G. Bobrow, and Scott Shenker.
Combining generational and conservative garbage collection: Framework
and implementations. POPL90, SIGPLAN Notices, San Francisco, CA,
January 1990, pp 261-269
- [Zorn93] Benjamin Zorn. 1993. The
Measured Cost of Conservative Garbage Collection. Software -- Practice
and Experience. 23(7):733-756.
13. Conservative Garbage Collection for C++; Java Safepoints
- [Jones96], Kap. 10
- [Agesen97] Agesen O., Detlefs
D.L.: Finding References in Java Stacks. OOPSLA’97 Garbage Collection
and Memory Management Workshop. Atlanta, GA, October 1997.
- [Agesen98] Ole Agesen and David
Detlefs. Garbage collection and live variable type-precision and
liveness in Java Virtual Machines. PLDI'98, SIGPLAN Notices, Montreal,
June 1998
- [Stichnoth99] J.M.
Stichnoth, G.Y. Lueh and M. Cierniak, Support for Garbage Collection at
Every Instruction in a Java Compiler, PLDI'99, SIGPLAN Notices, May 1999
14. Cache-conscious Garbage Collection
- [Jones96], Kap. 11
- [Baker91] Henry G. Baker. 1991.
Cache-Conscious Copying Collectors
- [Zorn91] Benjamin Zorn. The
effect of garbage collection on cache performance. Technical Report
CU-CS-528-91, University of Colorado at Boulder, May 1991
- [Wilson92] Paul R. Wilson,
Michael S. Lam, and Thomas G. Moher. Caching consideration for
generational garbage collection: A case study of large and
set-associative caches. ACM Symposium on Lisp and Functional
Programming, San Francisco, CA, June 1992
- [Grunwald93] Dirk Grunwald,
Benjamin Zorn, Robert Henderson: Improving the cache locality of memory
allocation. PLDI'93, SIGPLAN Notices 28(6)
- [Chilimbi98] Trishul M.
Chilimbi and James R. Larus. Using generational garbage collection to
implement cache-conscious data placement. In Richard Jones, editor.
International Symposium on Memory Management, Vancouver, October 1998.
ACM Press, pages 37-48
15. Parallel Garbage Collection
- [Boehm91] Hans-J. Boehm, Alan J.
Demers, Scott Shenker. 1991. Mostly Parallel Garbage Collection. ACM
PLDI 91, SIGPLAN Notices 26, 6 (June 1991), pp. 157-164.
- [Printezis00] Printezis T.,
Detlefs D.: A Generational Mostly-Concurrent Garbage Collector. Sun
Labs TR-2000-88
16. Distributed Garbage Collection
Datum |
Zeit |
Ort |
Themen |
Mo 10.10.2005 |
16:30 - 17:00 |
HF9905 |
Vorbesprechung und Themenaufteilung |
Do 12.1.2006 |
13:45 - 18:45 |
T 911 |
1. Reference Counting I (Negeli)
2. Reference Counting II (Loidl)
3. Mark & Sweep (Schartner)
4. Copying Collectors (Prinz)
5. Generational Collectors I (Welser)
6. Generational Collectors II (Wesp)
|
Fr 13.1.2006 |
13:45 - 18:00 |
T 041 |
7. Mark & Compact + Measuments (Prügl)
8. Incremental Garbage Collection I (Wirth)
9. Incremental Garbage Collection II (Schatz)
10. Incremental Garbage Collection III (Würthinger)
11. Hard Real-time Garbage Collection (Kelz)
|
Sa 14.1.2006 |
08:30 - 12:45 |
T 041 |
12. Conservative Garbage Collection for C (Höglinger)
13. Conservative Garbage Collection for C++ (Krebelder)
14. Cache-conscious Garbage Collection (Innthaler)
15. Parallel Garbage Colection (Gsenger)
16. Distributed Garbage Collection (Brunthaler)
|
Die Note wird aus dem Seminarvortrag, dem
schriftlichen Seminarbericht und der Mitarbeit (Diskussion) im Seminar
gebildet.
Abzugeben sind die Folien des Seminarvortrags (in
Powerpoint oder PDF) sowie der Seminarbericht (in Word oder PDF).
Beides ist per Email bis spätestens 15.1. an den Seminarleiter zu
senden.
Wer vorhat, das Seminar als Bakkalaureatsarbeit zu
absolvieren, muß dies dem Seminarleiter zu Beginn des Semesters
mitteilen. Es sind in diesem Fall außerdem die
Richtlinien für die Form des Seminarberichts einzuhalten.
Seminarberichte und Folien
Weitere Links
Bibliographien
Konferenzen
|