Concurrent, atomic garbage collection:
Abstract: "We describe a concurrent, atomic garbage collection algorithm for transaction-based languages, a class of languages intended to support reliable distributed systems. A garbage collection algorithm for reliable distributed systems must be atomic: a crash during a garbage collection sh...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Pittsburgh, Pa.
Department of Computer Science, Carnegie Mellon Univ.
1990
|
Schriftenreihe: | School of Computer Science <Pittsburgh, Pa.>: CMU-CS
1990,177 |
Schlagworte: | |
Zusammenfassung: | Abstract: "We describe a concurrent, atomic garbage collection algorithm for transaction-based languages, a class of languages intended to support reliable distributed systems. A garbage collection algorithm for reliable distributed systems must be atomic: a crash during a garbage collection should result in no loss of data. A concurrent collector allows programs to continue operating as their heaps are collected, minimizing delays imposed by collection. A concurrent collector can be used in reliable distributed systems that must service interactive requests We introduce concurrency into an atomic collector by breaking collection into a series of garbage collection segments, which are similar to transactions, but satisfy weaker properties than are required by transaction semantics. These weaker properties allow better performance. Thus, our collection algorithm enhances the reliability of programs written in transaction-based languages, without necessarily imposing severe performance penalties. We also describe a concurrent "mostly-copying" collection algorithm for C++, and present measurements of the performance of an implementation of this algorithm We survey garbage collection techniques applicable to "systems" languages such as C++, and show how these techniques may be combined with concurrent collection. Performance measurements of the resulting collector (on both a uniprocessor and a multiprocessor) indicate that interruptions caused by concurrent collection are quite short, and that adequate mutator performance is sustained during collection. Finally, we prove the correctness of most aspects of the concurrent, atomic collection algorithm. The proof hinges on showing that the routines of the algorithm preserve a novel property called partial idempotence, which ensures that partial effects of routines interrupted by crashes can be undone or completed during recovery. |
Beschreibung: | Zugl.: Pittsburgh, Pa., Univ., Diss., 1990 |
Beschreibung: | XI, 218 S. graph. Darst. |
Internformat
MARC
LEADER | 00000nam a2200000 cb4500 | ||
---|---|---|---|
001 | BV008398657 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 931203s1990 d||| m||| 00||| engod | ||
035 | |a (OCoLC)23819784 | ||
035 | |a (DE-599)BVBBV008398657 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
049 | |a DE-91 | ||
082 | 0 | |a 510.7808 |b C28r 90-177 | |
084 | |a DAT 406d |2 stub | ||
084 | |a DAT 403d |2 stub | ||
088 | |a CMU CS 90 177 | ||
100 | 1 | |a Detlefs, David L. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Concurrent, atomic garbage collection |c David L. Detlefs |
246 | 1 | 3 | |a CMU CS 90 177 |
264 | 1 | |a Pittsburgh, Pa. |b Department of Computer Science, Carnegie Mellon Univ. |c 1990 | |
300 | |a XI, 218 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 1 | |a School of Computer Science <Pittsburgh, Pa.>: CMU-CS |v 1990,177 | |
500 | |a Zugl.: Pittsburgh, Pa., Univ., Diss., 1990 | ||
520 | 3 | |a Abstract: "We describe a concurrent, atomic garbage collection algorithm for transaction-based languages, a class of languages intended to support reliable distributed systems. A garbage collection algorithm for reliable distributed systems must be atomic: a crash during a garbage collection should result in no loss of data. A concurrent collector allows programs to continue operating as their heaps are collected, minimizing delays imposed by collection. A concurrent collector can be used in reliable distributed systems that must service interactive requests | |
520 | 3 | |a We introduce concurrency into an atomic collector by breaking collection into a series of garbage collection segments, which are similar to transactions, but satisfy weaker properties than are required by transaction semantics. These weaker properties allow better performance. Thus, our collection algorithm enhances the reliability of programs written in transaction-based languages, without necessarily imposing severe performance penalties. We also describe a concurrent "mostly-copying" collection algorithm for C++, and present measurements of the performance of an implementation of this algorithm | |
520 | 3 | |a We survey garbage collection techniques applicable to "systems" languages such as C++, and show how these techniques may be combined with concurrent collection. Performance measurements of the resulting collector (on both a uniprocessor and a multiprocessor) indicate that interruptions caused by concurrent collection are quite short, and that adequate mutator performance is sustained during collection. Finally, we prove the correctness of most aspects of the concurrent, atomic collection algorithm. The proof hinges on showing that the routines of the algorithm preserve a novel property called partial idempotence, which ensures that partial effects of routines interrupted by crashes can be undone or completed during recovery. | |
650 | 4 | |a Datenverarbeitung | |
650 | 4 | |a Electronic data processing |x Distributed processing | |
650 | 4 | |a Garbage collection (Computer science) | |
650 | 4 | |a Multiprocessors | |
650 | 0 | 7 | |a Speicherbereinigung |0 (DE-588)4269286-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Algorithmus |0 (DE-588)4001183-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Parallelverarbeitung |0 (DE-588)4075860-6 |2 gnd |9 rswk-swf |
655 | 7 | |0 (DE-588)4113937-9 |a Hochschulschrift |2 gnd-content | |
689 | 0 | 0 | |a Parallelverarbeitung |0 (DE-588)4075860-6 |D s |
689 | 0 | 1 | |a Speicherbereinigung |0 (DE-588)4269286-6 |D s |
689 | 0 | 2 | |a Algorithmus |0 (DE-588)4001183-5 |D s |
689 | 0 | |5 DE-604 | |
830 | 0 | |a School of Computer Science <Pittsburgh, Pa.>: CMU-CS |v 1990,177 |w (DE-604)BV006187264 |9 1990,177 | |
999 | |a oai:aleph.bib-bvb.de:BVB01-005532932 |
Datensatz im Suchindex
_version_ | 1804122766334492672 |
---|---|
any_adam_object | |
author | Detlefs, David L. |
author_facet | Detlefs, David L. |
author_role | aut |
author_sort | Detlefs, David L. |
author_variant | d l d dl dld |
building | Verbundindex |
bvnumber | BV008398657 |
classification_tum | DAT 406d DAT 403d |
ctrlnum | (OCoLC)23819784 (DE-599)BVBBV008398657 |
dewey-full | 510.7808 |
dewey-hundreds | 500 - Natural sciences and mathematics |
dewey-ones | 510 - Mathematics |
dewey-raw | 510.7808 |
dewey-search | 510.7808 |
dewey-sort | 3510.7808 |
dewey-tens | 510 - Mathematics |
discipline | Informatik Mathematik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>03721nam a2200517 cb4500</leader><controlfield tag="001">BV008398657</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">931203s1990 d||| m||| 00||| engod</controlfield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)23819784</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV008398657</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">510.7808</subfield><subfield code="b">C28r 90-177</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 406d</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 403d</subfield><subfield code="2">stub</subfield></datafield><datafield tag="088" ind1=" " ind2=" "><subfield code="a">CMU CS 90 177</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Detlefs, David L.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Concurrent, atomic garbage collection</subfield><subfield code="c">David L. Detlefs</subfield></datafield><datafield tag="246" ind1="1" ind2="3"><subfield code="a">CMU CS 90 177</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Pittsburgh, Pa.</subfield><subfield code="b">Department of Computer Science, Carnegie Mellon Univ.</subfield><subfield code="c">1990</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XI, 218 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">School of Computer Science <Pittsburgh, Pa.>: CMU-CS</subfield><subfield code="v">1990,177</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Zugl.: Pittsburgh, Pa., Univ., Diss., 1990</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">Abstract: "We describe a concurrent, atomic garbage collection algorithm for transaction-based languages, a class of languages intended to support reliable distributed systems. A garbage collection algorithm for reliable distributed systems must be atomic: a crash during a garbage collection should result in no loss of data. A concurrent collector allows programs to continue operating as their heaps are collected, minimizing delays imposed by collection. A concurrent collector can be used in reliable distributed systems that must service interactive requests</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">We introduce concurrency into an atomic collector by breaking collection into a series of garbage collection segments, which are similar to transactions, but satisfy weaker properties than are required by transaction semantics. These weaker properties allow better performance. Thus, our collection algorithm enhances the reliability of programs written in transaction-based languages, without necessarily imposing severe performance penalties. We also describe a concurrent "mostly-copying" collection algorithm for C++, and present measurements of the performance of an implementation of this algorithm</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">We survey garbage collection techniques applicable to "systems" languages such as C++, and show how these techniques may be combined with concurrent collection. Performance measurements of the resulting collector (on both a uniprocessor and a multiprocessor) indicate that interruptions caused by concurrent collection are quite short, and that adequate mutator performance is sustained during collection. Finally, we prove the correctness of most aspects of the concurrent, atomic collection algorithm. The proof hinges on showing that the routines of the algorithm preserve a novel property called partial idempotence, which ensures that partial effects of routines interrupted by crashes can be undone or completed during recovery.</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Datenverarbeitung</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Electronic data processing</subfield><subfield code="x">Distributed processing</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Garbage collection (Computer science)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Multiprocessors</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Speicherbereinigung</subfield><subfield code="0">(DE-588)4269286-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Algorithmus</subfield><subfield code="0">(DE-588)4001183-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Parallelverarbeitung</subfield><subfield code="0">(DE-588)4075860-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="0">(DE-588)4113937-9</subfield><subfield code="a">Hochschulschrift</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Parallelverarbeitung</subfield><subfield code="0">(DE-588)4075860-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Speicherbereinigung</subfield><subfield code="0">(DE-588)4269286-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Algorithmus</subfield><subfield code="0">(DE-588)4001183-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">School of Computer Science <Pittsburgh, Pa.>: CMU-CS</subfield><subfield code="v">1990,177</subfield><subfield code="w">(DE-604)BV006187264</subfield><subfield code="9">1990,177</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-005532932</subfield></datafield></record></collection> |
genre | (DE-588)4113937-9 Hochschulschrift gnd-content |
genre_facet | Hochschulschrift |
id | DE-604.BV008398657 |
illustrated | Illustrated |
indexdate | 2024-07-09T17:19:05Z |
institution | BVB |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-005532932 |
oclc_num | 23819784 |
open_access_boolean | |
owner | DE-91 DE-BY-TUM |
owner_facet | DE-91 DE-BY-TUM |
physical | XI, 218 S. graph. Darst. |
publishDate | 1990 |
publishDateSearch | 1990 |
publishDateSort | 1990 |
publisher | Department of Computer Science, Carnegie Mellon Univ. |
record_format | marc |
series | School of Computer Science <Pittsburgh, Pa.>: CMU-CS |
series2 | School of Computer Science <Pittsburgh, Pa.>: CMU-CS |
spelling | Detlefs, David L. Verfasser aut Concurrent, atomic garbage collection David L. Detlefs CMU CS 90 177 Pittsburgh, Pa. Department of Computer Science, Carnegie Mellon Univ. 1990 XI, 218 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier School of Computer Science <Pittsburgh, Pa.>: CMU-CS 1990,177 Zugl.: Pittsburgh, Pa., Univ., Diss., 1990 Abstract: "We describe a concurrent, atomic garbage collection algorithm for transaction-based languages, a class of languages intended to support reliable distributed systems. A garbage collection algorithm for reliable distributed systems must be atomic: a crash during a garbage collection should result in no loss of data. A concurrent collector allows programs to continue operating as their heaps are collected, minimizing delays imposed by collection. A concurrent collector can be used in reliable distributed systems that must service interactive requests We introduce concurrency into an atomic collector by breaking collection into a series of garbage collection segments, which are similar to transactions, but satisfy weaker properties than are required by transaction semantics. These weaker properties allow better performance. Thus, our collection algorithm enhances the reliability of programs written in transaction-based languages, without necessarily imposing severe performance penalties. We also describe a concurrent "mostly-copying" collection algorithm for C++, and present measurements of the performance of an implementation of this algorithm We survey garbage collection techniques applicable to "systems" languages such as C++, and show how these techniques may be combined with concurrent collection. Performance measurements of the resulting collector (on both a uniprocessor and a multiprocessor) indicate that interruptions caused by concurrent collection are quite short, and that adequate mutator performance is sustained during collection. Finally, we prove the correctness of most aspects of the concurrent, atomic collection algorithm. The proof hinges on showing that the routines of the algorithm preserve a novel property called partial idempotence, which ensures that partial effects of routines interrupted by crashes can be undone or completed during recovery. Datenverarbeitung Electronic data processing Distributed processing Garbage collection (Computer science) Multiprocessors Speicherbereinigung (DE-588)4269286-6 gnd rswk-swf Algorithmus (DE-588)4001183-5 gnd rswk-swf Parallelverarbeitung (DE-588)4075860-6 gnd rswk-swf (DE-588)4113937-9 Hochschulschrift gnd-content Parallelverarbeitung (DE-588)4075860-6 s Speicherbereinigung (DE-588)4269286-6 s Algorithmus (DE-588)4001183-5 s DE-604 School of Computer Science <Pittsburgh, Pa.>: CMU-CS 1990,177 (DE-604)BV006187264 1990,177 |
spellingShingle | Detlefs, David L. Concurrent, atomic garbage collection School of Computer Science <Pittsburgh, Pa.>: CMU-CS Datenverarbeitung Electronic data processing Distributed processing Garbage collection (Computer science) Multiprocessors Speicherbereinigung (DE-588)4269286-6 gnd Algorithmus (DE-588)4001183-5 gnd Parallelverarbeitung (DE-588)4075860-6 gnd |
subject_GND | (DE-588)4269286-6 (DE-588)4001183-5 (DE-588)4075860-6 (DE-588)4113937-9 |
title | Concurrent, atomic garbage collection |
title_alt | CMU CS 90 177 |
title_auth | Concurrent, atomic garbage collection |
title_exact_search | Concurrent, atomic garbage collection |
title_full | Concurrent, atomic garbage collection David L. Detlefs |
title_fullStr | Concurrent, atomic garbage collection David L. Detlefs |
title_full_unstemmed | Concurrent, atomic garbage collection David L. Detlefs |
title_short | Concurrent, atomic garbage collection |
title_sort | concurrent atomic garbage collection |
topic | Datenverarbeitung Electronic data processing Distributed processing Garbage collection (Computer science) Multiprocessors Speicherbereinigung (DE-588)4269286-6 gnd Algorithmus (DE-588)4001183-5 gnd Parallelverarbeitung (DE-588)4075860-6 gnd |
topic_facet | Datenverarbeitung Electronic data processing Distributed processing Garbage collection (Computer science) Multiprocessors Speicherbereinigung Algorithmus Parallelverarbeitung Hochschulschrift |
volume_link | (DE-604)BV006187264 |
work_keys_str_mv | AT detlefsdavidl concurrentatomicgarbagecollection AT detlefsdavidl cmucs90177 |