ACM Home Page
Please provide us with feedback. Feedback
Write barrier removal by static analysis
Full text pdf formatPdf (397 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Seattle, Washington, USA
SESSION: Static Analysis table of contents
Pages: 191 - 210  
Year of Publication: 2002
ISBN:1-58113-471-1
Also published in ...
Authors
Karen Zee  Massachusetts Institute of Technology, Cambridge, MA
Martin Rinard  Massachusetts Institute of Technology, Cambridge, MA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 47,   Citation Count: 9
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/582419.582439
What is a DOI?

ABSTRACT

We present a new analysis for removing unnecessary write barriers in programs that use generational garbage collection. To our knowledge, this is the first static program analysis for this purpose. Our algorithm uses a pointer analysis to locate assignments that always create a reference from a younger object to an older object, then transforms the program to remove the write barriers normally associated with such assignments. We have implemented two transformations that reorder object allocations; these transformations can significantly increase the effectiveness of our write barrier removal algorithm.Our base technique assumes that the collector promotes objects in age order. We have developed an extension that enables the optimistic removal of write barriers, with the collector lazily adding each newly promoted object into a remembered set of objects whenever the compiler may have removed write barriers involving the object at statements that have yet to execute. This mechanism enables the application of our technique to virtually any memory management system that uses write barriers to enable generational garbage collection.Results from our implemented system show that our technique can remove substantial numbers of write barriers from the majority of the programs in our benchmark set, producing modest performance improvements of up to 6% of the overall execution time. Moreover, by dynamically instrumenting the executable, we are able to show that for six of our nine benchmark programs, our analysis is close to optimal in the sense that it removes the write barriers for almost all assignments that do not, in the observed execution, create a reference from an older object to a younger object. Finally, our results show that the overhead of our optimistic extension is negligible.


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
2
 
3
J. E. Barnes and P. Hut. A hierarchical O(N log N) force-calculation algorithm. Nature, 324(4):446--449, 1986.
 
4
Jon Louis Bentley. A parallel algorithm for constructing minimum spanning trees. Journal of Algorithms, 1(1):51--59, 1980.
 
5
6
7
8
 
9
10
 
11
12
 
13
Brian Cook. Four garbage collectors for Oberon. Undergraduate thesis, Princeton University, 1989.
14
15
16
17
 
18
Urs Halzle. A fast write barrier for generational garbage collectors. In OOPSLA '93 Workshop on Garbage Collection and Memory Management, 1993.
 
19
 
20
Antony L. Hosking and Richard L. Hudson. Remembered sets can also play cards. In OOPSLA '93 Workshop on Garbage Collection and Memory Management, 1993.
21
 
22
 
23
 
24
Richard M. Karp. Probabilistic analysis of partitioning algorithms for the traveling-salesman problem in the plane. Mathematics of Operations Research, 2(3):209--224, 1977.
25
 
26
G. Lomow, J. Cleary, B. Unger, and D. West. A performance study of Time Warp. In Proceedings of the SCS Multiconference on Distributed Simulation, pages 50--55, 1988.
27
28
 
29
Hanan Samet. Computing perimeters of regions in images represented by quadtrees. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1981.
 
30
Robert A. Shaw. Improving garbage collector performance in virtual memory. Technical Report CSL-TR-87-323, Stanford University, 1987.
31
 
32
33
34
 
35
 
36
Benjamin Zorn. Barrier methods for garbage collection. Technical Report CU-CS-494-90, University of Colorado, 1990.

CITED BY  9
 
 

Collaborative Colleagues:
Karen Zee: colleagues
Martin Rinard: colleagues

Peer to Peer - Readers of this Article have also read: