| M. B. Reinhold. Cache performance of garbage-collected programs. In Proceedings of SIGPLAN'94 Conference on Programming Languages Design and Implementation, volume 29 of ACM SIGPLAN Notices, Orlando, Florida, June 1994. |
....empirically examine the cache performance of generational garbage collection [112] Their results show that miss rates in garbage collected systems are not very high. Reinhold empirically examines the cache performance of garbage collected programs, and looks at both the mutator and the collector [88]. Boehm experiments with adding prefetching to a non moving, marksweep garbage collector [12] Boehm prefetches objects during the mark phase. Boehm shows that prefetching improves performance on a set of microbenchmarks running on a Pentium II and HP PA RISC machine. 17 In this section, we ....
M. B. Reinhold. Cache performance of garbage-collected programs. In Proceedings of the 1994.
....and subblock placement. The write allocate policy has been shown to be beneficial for programs with intensive heap allocation; we will discuss it in more detail below. We assume that there is no cost associated with write misses, i.e. that write buffers can absorb almost all writes (see [DTM94, Rei93, Rei94] for justifications of this assumption) Even though many SELF programs allocate objects at a rate of about 1 Mbyte s, the data cache performance is good. For example, the median miss ratio with a 64K cache is 2.4 , which would lead to an overhead of 6 on a SPARCstation 2 like memory system ....
Mark Reinhold. Cache Performance of Garbage-Collected Programs. In PLDI `94 Conference Proceedings, pp. 206-217, Orlando, FL, June 1994. Published as SIGPLAN Notices 29(6), June 1994.
....is happening only recently. With the ever increasing memory hunger of pointer based programs, further factors are becoming relevant for data cache performance, such as the e#ects of memory allocators [Grunwald et al. 1993; Seidl and Zorn 1997; Gay and Aiken 1998] and garbage collectors [Reinhold 1994] in modern operating systems. 18 T. Kistler and M. Franz Truong et al. Truong et al. 1998] have lately proposed a field reorganisation technique similar in spirit to ours. Quoting from their paper: the automaticdetectionofthemostfrequentlyused fields ofastructure is beyond the possibility ....
Reinhold, M. B. 1994. Cache Performance of Garbage-Collected Programs. In Proceedings of the ACM SIGPLAN'94 Conference on Programming Language Design and Implementation (PLDI), Orlando, Florida, pp. 206--217.
....is happening only recently. With the ever increasing memory hunger of pointer based programs, further factors are becoming relevant for data cache performance, such as the e#ects of memory allocators [Grunwald et al. 1993; Seidl and Zorn 1997; Gay and Aiken 1998] and garbage collectors [Reinhold 1994] in modern operating systems. Truong et al. Truong et al. 1998] have lately proposed a field reorganization technique similar in spirit to ours. Quoting from their paper: the automaticdetectionofthemostfrequentlyused fields ofastructure is beyond the possibility of current compiler ....
Reinhold, M. B. 1994. Cache Performance of Garbage-Collected Programs. In Proceedings of the ACM SIGPLAN'94 Conference on Programming Language Design and Implementation (PLDI), Orlando, Florida, pp. 206--217.
....explicit deallocation routines. Here we examine the performance of garbage collection in an implementation of the Scheme programming language [2, 20] Garbage collection complicates the performance picture. For a full discussion of the cacherelated effects of garbage collection, see Reinhold [22]. This implementation uses a mostlycopying algorithm [3] which requires that a pool of free space be kept available. The total size of the garbage collected address space, including live storage and the overhead, is called the heap. When the heap gets too small, the cost of garbage ....
Mark B. Reinhold. Cache Performance of Garbage-Collected Programs. In Proc. SIGPLAN '94 Conference on Programming Language Design and Implementation, pages 206-217. Orlando, FL, June, 1994.
....placement. The write allocate policy has been shown to be beneficial for programs with intensive heap allocation; we will discuss it in more detail below. We assume that there is no cost associated with write misses, i.e. that write buffers can absorb almost all writes (see [DTM94] Rei93] or [Rei94] for justifications of this assumption) Even though many SELF programs allocate objects at a rate of about 1 Mbyte s, the data cache performance is good. For example, the median miss ratio with a 64K cache is 2.4 , which would lead to an overhead of 6 on a SPARCstation 2 like memory system ....
Mark Reinhold. Cache Performance of Garbage-Collected Programs. In PLDI `94 Conference Proceedings, pp. 206-217, Orlando, FL, June 1994. Published as SIGPLAN Notices 29(6), June 1994.
....is happening only recently. With the ever increasing memory hunger of pointer based programs, further factors are becoming relevant for data cache performance, such as the e#ects of memory allocators [Grunwald et al. 1993; Seidl and Zorn 1997; Gay and Aiken 1998] and garbage collectors [Reinhold 1994] in modern operating systems. Truong et al. 1998] have lately proposed a field reorganization technique similar in spirit to ours: the automatic detection of the most frequently used fields of a structure is beyond the possibility of current compiler technology. Therefore, data layout ....
Reinhold, M. B. 1994. Cache Performance of Garbage-Collected Programs. In Proceedings of the ACM SIGPLAN '94 Conference on Programming Language Design and Implementation (PLDI). Orlando, Florida, 206--217.
....speedup due to cross module inlining is at 6 with and 5 without counting e#ects from # contract. We believe our results are not due to random variations in cache conflict performance. Functional programs with properly tuned garbage collectors are not subject to many data cache conflicts [Rei94, GA95] and informal inspection of the results did not reveal the kind of instruction cache conflict variability [App92, p. 194] to which SML NJ was subject on previous generation architectures. 6.3 SML NJ without ad hoc inlining Cross module inlining is so crucial for performance that the ....
Mark B. Reinhold. Cache performance of garbagecollected programs. In Proc. SIGPLAN '94 Symp. on Prog. Language Design and Implementation, pages 206--217. ACM Press, June 1994. 12
....as we do in this paper. There have also been a number of papers investigating the effect of heap organization on reference locality in garbage collected languages [6, 13, 19] including several recent papers that specifically consider the effect 2 of garbage collection on cache performance [7, 15, 20, 21]. This work differs from ours in its focus. While much of the related garbage collection work has investigated how generational garbage collection interacts with processor cache architecture, none of the previous work we are aware of has attempted to classify objects using profiles and segregate ....
Mark B. Reinhold. Cache performance of garbage-collected programs. In Proceedings of the ACM SIGPLAN '94 Conference on Programming Language Design and Implementation, pages 206--217, Orlando, Florida, June 20--24, 1994. SIGPLAN Notices, 29(6), June 1994.
....design may do quite well in a memory hierarchy well suited to its behavior. The literature on garbage collection is considerably more sophisticated in terms of locality studies than the literature on memory allocation, and should not be overlooked. See, e.g. Bae73, KLS92, Wil90, WLM92, DTM93, Rei94, GA95, Wil95] Many of the same issues must arise in conventionally managed heaps as well. 26 larger free blocks (coalescing) Equally important are the policy and strategy implications i.e. whether the allocator properly exploits the regularities in real request streams. In this section, ....
Mark B. Reinhold. Cache performance of garbage-collected programs. In Proceedings of the 1994 SIGPLAN Conference on Programming Language Design and Implementation, pages 206--217, Orlando, Florida, June 1994. ACM Press.
....locality as we do in this paper. There have also been a number of papers investigating the e#ect of heap organization on reference locality in garbage collected languages [6, 13, 19] including several recent papers that specifically consider the e#ect of garbage collection on cache performance [7, 15, 20, 21]. This work di#ers from ours in its focus. While much of the related garbage collection work has investigated how generational garbage collection interacts with processor cache architecture, none of the previous work we are aware of has attempted to classify objects using profiles and segregate ....
Mark B. Reinhold. Cache performance of garbage-collected programs. In Proceedings of the ACM SIGPLAN '94 Conference on Programming Language Design and Implementation, pages 206--217, Orlando, Florida, June 20--24, 1994. SIGPLAN Notices, 29(6), June 1994.
....in the context of pointer based applications is happening only recently. With the ever increasing memory hunger of pointer based programs, further issues are also becoming important for data cache performance, such as the e#ects of memory allocators [GZH93, SZ97, AG98] and garbage collectors [Rei94] in modern operating systems. Truong et al. TBS98] have recently proposed a field reorganisation technique similar in spirit to ours. Quoting from their paper, the automatic detection of the most frequently used fields of a structure is beyond the possibility of current compiler technology. ....
M. Reinhold. "Cache Performance of Garbage-Collected Programs". In Proceedings of the 21th Annual Symposium on Principles of Programming Languages, June 1994.
....conclusion of these papers is that programs with dynamic heap allocation tend to have bad cache performance and either hardware techniques, or software techniques, or a combination of both, must be used in order to improve cache performance. More recent work, by Diwan et al. 10] and Reinhold [20, 21] has shown that some cache design features, already available on current machines, can eliminate all of the allocation misses. Moreover, Reinhold shows that sequential allocation, due to the fact that it tends to spread memory references uniformly across memory, is naturally suited to ....
Mark B. Reinhold. Cache performance of garbagecollected programs. In Proceedings of the ACM SIGPLAN '94 Conference on Programming Language Design and Implementation, Orlando, Florida, June 1994.
....inlining is at 6 with and 5 without counting effects from # contract. I believe my results are not due to random variations in cache conflict performance. It has been shown that functional programs with properly tuned garbage collectors [Rep93] are not subject to many data cache conflicts [Rei94, GA95] and an informal inspection of the results did not reveal the kind of instruction cache conflict variability [App92, p. 194] to which SML NJ was subject on previous generation architectures. SML NJ without ad hoc inlining Cross module inlining is so crucial for performance that the ....
Mark B. Reinhold. Cache performance of garbage-collected programs. In Proc. SIGPLAN '94 Symp. on Prog. Language Design and Implementation, volume 29, pages 206--217. ACM Press, June 1994.
....better locality of reference than heap allocated activation records, even in a modern cache memory hierarchy. Stacks do have a much better write miss ratio, but not a much better read miss ratio. But on many modern machines, the write miss penalty is approximately zero [Jou93, DTM94, Rei94] 3. The amortized cost of collection can be very low [App87] also see Chapter 5) especially with modern generational garbage collection techniques [Ung86] The major contribution of this chapter is a safe for space closure conversion algorithm that integrates and improves most previous ....
....Section 5.6.2. They also found that write allocate is important: on a write miss, the written data should be put in the cache. But a cache line is usually larger than a single word; on a write miss, traditional (fetch on write) caches read the rest of the line from memory; this can 6 Reinhold [Rei94] makes similar observations about the interaction of garbage collection and caches, though not for a compiler with heap allocated frames. CHAPTER 5. HEAP VS. STACK 101 cause write misses to be slow, and also causes unnecessary traffic on the memory bus in the common case of sequential writes ....
[Article contains additional citation context not shown here]
Mark B. Reinhold. Cache Performance of Garbage-Collected Programs. In Proc. SIGPLAN '94 Symp. on Prog. Language Design and Implementation, pages 206--217. ACM Press, June 1994.
....different address space by the same sender. The first assumption is a consequence of the functional programming style encouraged by Scheme. Because mutation is rare, most objects tend to be short lived; objects tend to be allocated and deallocated much more frequently than they tend to be mutated [Reinhold 1994]. Procedures also tend to be small and lightweight. Consequently, in any distributed system based on Scheme, remote references will tend to have short lifetimes. The latter two assumptions derive from constraints imposed by commercially available (low end) network technology and protocols that we ....
Reinhold, M. 1994. Cache performance of garbage-collected programs. In Proceedings of the ACM Symposium on Programming Language Design and Implementation. ACM, New York, 206--217.
....associated with maintaining and using remembered sets. There have been a number of papers concerning this issue, but the work by Hosking [7, 6] is perhaps the most complete. In general, these studies complement our current work. There have been a number of studies relating cache performance and GC [12, 19, 4], but they are concerned with a different set of issues than we are. Zorn has compared the cost of copying and mark and sweep collection [20] and the cost of conservative collection to malloc and free allocation [21] but again he does not provide the same multiple language and platform context ....
M. B. Reinhold. Cache Performance of GarbageCollected Programs. In Proceedings of SIGPLAN'94 Conference on Programming Languages Design and Implementation, volume 29 of ACM SIGPLAN Notices, Orlando, Florida, June 1994. ACM Press.
....of a frame is the ratio of frame size to cache line size (there is no fragmentation, because heap allocation is sequential and contiguous) Assuming a cache line size of 8 words (for example) and a frame size of 4.2 words (as in Figure 5) the number of write misses per frame is about 0.53. 7 Reinhold (1994) makes similar observations about the interaction of garbage collection and caches, though not for a compiler with heap allocated frames. Stack vs. Heap Cost 11 Thus, the cost of write misses shown in Figure 1 is either 0 (for zero write penalty) or 5.3 (for 10 cycle write penalty) But see also ....
....frame. Write around caches do not need to stall the processor on a write miss, at least for the well behaved sequential writes performed by a heap allocator. Thus, the write miss cost will be zero; but since (almost) every newly written cache line will soon be fetched (Stefanovic and Moss, 1994; Reinhold, 1994), we should expect the read miss cost per frame for write around caches to be similar to the cost per frame for fetch on write caches. For a 16k write around cache, the cost of read misses (calculated from the simulations) is 5.1 cycles per frame somewhat smaller than the 6.3 cycle read write ....
[Article contains additional citation context not shown here]
Reinhold, Mark B. 1994 (June). Cache performance of garbage-collected programs. In Proc.
....papers is that programs with dynamic heap allocation tend to have bad cache performance and either hardware techniques, or software techniques, or a combination of both, must be used in order to improve cache performance. More recent work, by Koopman et al. [27] Diwan et al. 14] and Reinhold [31, 32] has shown that some cache design features, already available on current machines, can eliminate all of the allocation misses. Moreover, Reinhold shows that sequential allocation, due to the fact that it tends to spread memory references uniformly across memory, is naturally suited to ....
Mark B. Reinhold. Cache performance of garbage-collected programs. In Proceedings of the ACM SIGPLAN'94 Conference on ProgrammingLanguageDesign and Implementation, Orlando, Florida, June 1994.
No context found.
M. B. Reinhold. Cache performance of garbage-collected programs. In Proceedings of SIGPLAN'94 Conference on Programming Languages Design and Implementation, volume 29 of ACM SIGPLAN Notices, Orlando, Florida, June 1994.
No context found.
Mark B. Reinhold. Cache performance of garbage-collected programs. In PLDI
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC