|
ABSTRACT
This paper presents the first multiprocessor garbage collection algorithm with provable bounds on time and space. The algorithm is a real-time shared-memory copying collector. We prove that the algorithm requires at most 2(R(l + 2/k) + N + 5PD) memory locations, where P is the number of processors, R is the maximum reachable space during a computation (number of locations accessible from the root set), N is the maximum number of reachable objects, D is the maximum depth of any data object, and k is a parameter specifying how many locations are copied each time a location is allocated. Furthermore we show that client threads are never stopped for more than time proportional to k non-blocking machine instructions. The bounds are guaranteed even with arbitrary length arrays. The collector only requires write-barriers (reads are unaffected by the collector), makes few assumptions about the threads that are generating the garbage, and allows them to run mostly asynchronously.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
S. Abraham and J. Patel. Parallel garbage collection on a virtual memory system. In E. Chiricozzi and A. D'Amato, editors, International Conference on Parallel Processing and Applications, pages 243-246, L'Aquila, Italy, Sept. 1987. Elsevier- North Holland.
|
 |
2
|
|
 |
3
|
|
 |
4
|
|
 |
5
|
|
 |
6
|
Perry Cheng , Robert Harper , Peter Lee, Generational stack collection and profile-driven pretenuring, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.162-173, June 17-19, 1998, Montreal, Quebec, Canada
|
 |
7
|
|
| |
8
|
|
| |
9
|
Edsger W. Dijkstra , Leslie Lamport , A. J. Martin , Carel S. Scholten , E. F. M. Steffens, On-the-fly garbage collection: an exercise in cooperation, Language Hierarchies and Interfaces, International Summer School, p.43-56, July 23-August 02, 1975
|
 |
10
|
Damien Doligez , Georges Gonthier, Portable, unobtrusive garbage collection for multiprocessor systems, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.70-83, January 16-19, 1994, Portland, Oregon, United States
[doi> 10.1145/174675.174673]
|
 |
11
|
|
| |
12
|
|
| |
13
|
A. Gottlieb, R. Grishman, C. P. Kruskal, K. P. McAuliffe, L. Rudolph, and M. Snir. The NYU Ultracomputer--designing a MIMD, sharedmemory parallel machine. IEEE Transactions on uompu{er8, t O-l~U,
|
 |
14
|
|
 |
15
|
|
| |
16
|
|
 |
17
|
|
| |
18
|
C. R. Inc. Cray T3D: Technical summary, Sept. 1993.
|
| |
19
|
|
| |
20
|
D. J. Kuck, E. S. Davidson, D. H. Lawrie, and A.H. samesh. Parallel supercomputing today and the Cedar approach. Science, pages 967-974, Feb. 1986.
|
| |
21
|
L. Lamport uigiu iboiu ibgoui ivbgiooiuoi puter that correctly executes multiprocess programs. IEEE Transactions on Computers, C- 28(9):690-691, Sept. 1979.
|
| |
22
|
R. D. Lins. A shared memory architecture for parallel cyclic reference counting. Microprocessing and Microprogmmming, 34:31-35, Sept. 1991.
|
 |
23
|
|
 |
24
|
|
 |
25
|
|
 |
26
|
|
| |
27
|
G. F. Pfister, W. C. Brantley, D. A. George, S. L. Harvey opl{;k{p p;j{po oihoi uijkgui iugiu iugiu Melton vfyuf hgcytd fxrdx fxrdukyfiuhg iguiob Melton, V. A. Norton, and J. Weiss. The IBM Research parallel processorprototype (RP3). Introduction and architecture. In Proceedings International Conference on Parallel Processing, pages 764-771, Aug. 1985.
|
| |
28
|
A. G. Ranade. How to emulate shared memory. In Proceedings Symposium on Foundations of Computer Science, pages 185-194, 1987.
|
 |
29
|
|
 |
30
|
|
| |
31
|
Thinking Machines Corporation. Model CM-2 technical summary. Technical Report HA87-4, Thinking Machines Corporation, Cambridge, Massachusetts, Apr. 1987.
|
| |
32
|
M. Wallace and C. Runeiman. An incremental garbage collector for embedded real-time systems. in Proceedings of the Chaimers Winter Meeting, pages 273-288, Tanum Strand, Sweden, 1993. 1" UUII~II~U i/~ I- I*U{I-~UIZUUl{ L~1~bUUUUIU~ ~jrLuu. lJ~ Chalmers University of Technology, Technical Report 73:
|
| |
33
|
|
CITED BY 11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A. M. Cheadle , A. J. Field , S. Marlow , S. L. Peyton Jones , R. L. While, Exploring the barrier to entry: incremental generational garbage collection for Haskell, Proceedings of the 4th international symposium on Memory management, October 24-25, 2004, Vancouver, BC, Canada
|
|
|
David F. Bacon , Perry Cheng , David Grove , Michael Hind , V. T. Rajan , Eran Yahav , Matthias Hauswirth , Christoph M. Kirsch , Daniel Spoonhower , Martin T. Vechev, High-level real-time programming in Java, Proceedings of the 5th ACM international conference on Embedded software, September 18-22, 2005, Jersey City, NJ, USA
|
|
|
|
|
|
|
|
|
|
|
|
Filip Pizlo , Daniel Frampton , Erez Petrank , Bjarne Steensgaard, Stopless: a real-time garbage collector for multiprocessors, Proceedings of the 6th international symposium on Memory management, October 21-22, 2007, Montreal, Quebec, Canada
|
|
|
Simon Marlow , Tim Harris , Roshan P. James , Simon Peyton Jones, Parallel generational-copying garbage collection with a block-structured heap, Proceedings of the 7th international symposium on Memory management, June 07-08, 2008, Tucson, AZ, USA
|
|