|
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
|
A. W. Appel , T. Jim, Continuation-passing, closure-passing style, Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.293-302, January 11-13, 1989, Austin, Texas, United States
[doi> 10.1145/75277.75303]
|
| |
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
|
David Kranz , Norman Adams , Richard Kelsey , Jonathan Rees , Paul Hudak , James Philbin, ORBIT: an optimizing compiler for scheme, Proceedings of the 1986 SIGPLAN symposium on Compiler construction, p.219-233, June 25-27, 1986, Palo Alto, California, United States
|
| |
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
|
Paul R. Wilson , Michael S. Lam , Thomas G. Moher, Caching considerations for generational garbage collection, Proceedings of the 1992 ACM conference on LISP and functional programming, p.32-42, June 22-24, 1992, San Francisco, California, United States
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Theodore H. Romer , Dennis Lee , Geoffrey M. Voelker , Alec Wolman , Wayne A. Wong , Jean-Loup Baer , Brian N. Bershad , Henry M. Levy, The structure and performance of interpreters, ACM SIGPLAN Notices, v.31 n.9, p.150-159, Sept. 1996
|
|
|
|
|
|
D. Tarditi , G. Morrisett , P. Cheng , C. Stone , R. Harper , P. Lee, TIL: a type-directed optimizing compiler for ML, ACM SIGPLAN Notices, v.31 n.5, p.181-192, May 1996
|
|
|
|
|
|
David Tarditi , Greg Morrisett , Perry Cheng , Chris Stone , Robert Harper , Peter Lee, TIL: a type-directed, optimizing compiler for ML, ACM SIGPLAN Notices, v.39 n.4, April 2004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.3
PROGRAMMING LANGUAGES
D.3.3
Language Constructs and Features
Subjects:
Dynamic storage management
Additional Classification:
B.
Hardware
B.3
MEMORY STRUCTURES
B.3.2
Design Styles
Subjects:
Cache memories;
Associative memories
B.3.3
Performance Analysis and Design Aids**
Subjects:
Simulation**
C.
Computer Systems Organization
D.
Software
D.1
PROGRAMMING TECHNIQUES
D.3
PROGRAMMING LANGUAGES
General Terms:
Experimentation,
Languages,
Measurement,
Performance
Keywords:
automatic storage reclamation,
copying garbage collection,
garbage collection,
generational garbage collection,
heap allocation,
page mode,
subblock placement,
write through,
write-back,
write-buffer,
write-miss policy,
write-policy
|