ACM Home Page
Please provide us with feedback. Feedback
Memory system performance of programs with intensive heap allocation
Full text PdfPdf (2.10 MB)
Source ACM Transactions on Computer Systems (TOCS) archive
Volume 13 ,  Issue 3  (August 1995) table of contents
Pages: 244 - 273  
Year of Publication: 1995
ISSN:0734-2071
Authors
Amer Diwan  Department of Computer Science, University of Massachusetts, Amherst, MA
David Tarditi  Computer Science Department, Carnegie Mellon Umversity, 5000 Forbes Avenue, Pittsburgh, PA
Eliot Moss  Department of Computer Science, University of Massachusetts, Amherst, MA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 30,   Citation Count: 15
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/210126.210129
What is a DOI?

ABSTRACT

Heap allocation with copying garbage collection is a general storage management technique for programming languages. It is believed to have poor memory system performance. To investigate this, we conducted an in-depth study of the memory system performance of heap allocation for memory systems found on many machines. We studied the performance of mostly functional Standard ML programs which made heavy use of heap allocation. We found that most machines support heap allocation poorly. However, with the appropriate memory system organization, heap allocation can have good performance. The memory system property crucial for achieving good performance was the ability to allocate and initialize a new object into the cache without a penalty. This can be achieved by having subblock by placement with a subblock size of one word with a write-allocate policy, along with fast page-mode writes or a write buffer. For caches with subblock placement, the data cache overhead was under 9% for a 64K or larger data cache; without subblock placement the overhead was often higher than 50%.


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
 
4
5
 
6
APPEL, A. W., MATTSON, J. S., AND TARDITI, D. 1989. A lexical analyzer generator for Standard ML. User manual distributed with Standard ML of New Jersey.
7
8
9
10
 
11
CROWLEY, W. P., HENDRICKSON, C. P., AND RUDY, T. E. 1978. The SIMPLE code. Tech. Rep. UCID 17715, Lawrence Livermore Laboratory, Livermore, Calif. Feb.
 
12
CYPRESS. 1990. SPARC R{SC User's Grade, 2nd ed. Cypress Semiconductor, San Jose, Calif.
 
13
DEC. 1990a. DS5000/200 KN02 System Module Functtonal Specification. Digital Equipment Corp., Palo Alto, Calif.
 
14
DEC. 1990b. DECStation 3100 Desktop Workstation Functzon Specificatzon, 1 3 ed. Digital Equipment Corp., Palo Alto, Calif.
 
15
DEC. 1992. DECchip 21064-AA M~croprocessor Hardware Reference Manual, 1st ed. Digital Equipment Corp., Maynard, Mass.
 
16
EKANADHAM, K. AND ARVIND. 1987. SIMPLE: An exercise in future scientific programming. Tech. Rep. Computation Structures Group Memo 273, MIT, Cambridge, Mass. July. Also available as IBM/T. J. Watson Research Center Research Rep. 12686.
17
18
 
19
 
20
21
 
22
I4ANE, G. AND HEINRICI~, J. 1992. MIPS RISC Architecture. Prentice-Hall, Englewood Cliffs, N.J.
23
24
25
 
26
 
27
LARUS, J. R. AND BALL, T. 1992. Rewriting executable files to measure program behavior. Tech. Rep. Wis 1083, Computer Sciences Dept., Univ. of Wisconsin-Madison, Madison, Wisc. Mar.
 
28
MmNER, R., TOFTE, M., AND HARPER, R. 1990. The Definitwn of Standard ML. MIT Press, Cambridge, Mass.
 
29
 
30
PENG, C.-J. AND SOHI, G. S. 1989. Cache memory design considerations to support languages with dynamic heap allocation. Tech. Rep. 860, Computer Sciences Dept., Univ. of Wisconsin- Madison, Madison, Wisc. July.
 
31
 
32
 
33
 
34
SLATER, M. 1991. PA workstations set price/performance records. Microprocess. Rep. 5, 6 (Apr.), 1.
 
35
T~nm, D. AND APPEL, A. W. 1990. ML-YACC, version 2.0. Distributed with Standard ML of New Jersey. Software.
 
36
TARDITI, D. AND DIWAN, A. 1993. The full cost of a generational copying garbage collection implementation. In OOPSLA '93 Workshop on Memory Management and Garbage Collection. ACM, New York.
 
37
WAUGH, K. G., McANDREW, P., AND MIC~LSON, G. 1990. Parallel implementations from function prototypes: A case study. Tech. Rep. Computer Science 90/4, Heriot-Watt Univ., Edinburgh, U.K.
 
38
Wmso~, P. R., L~, M. S., AND MOHER, T. G. 1990. Caching considerations for generational garbage collection: A case for large and set-associative caches. Tech. Rep. EECS-90-5, Univ. of Illinois at Chicago, Chicago, Ill. Dec.
39
 
40
ZoRn, B. 1991. The effect of garbage collection on cache performance. Tech. Rep. CU-CS-528-91, Univ. of Colorado at Boulder, Boulder, Colo. May.

CITED BY  15

Collaborative Colleagues:
Amer Diwan: colleagues
David Tarditi: colleagues
Eliot Moss: colleagues