| K.-S. Kim and Y. Hsu. Memory system behavior of Java programs: Methodology and analysis. In Proceedings of the ACM SIGMETRICS 2002. |
....low level software support for many different applications. Unfortunately, no widely available, public tools currently provide detailed, cycle accurate hardware simulation of a Java Virtual Machine, with support for dynamic compilation. Previous work on characterizing and simulating Java programs [14, 15, 20] either used tools that did not provide cycle level results, were proprietary and therefore unavailable, or lacked key software functionality necessary for comprehensive research in this area. For example, Li et al. s work [15] which used SimOS, did not employ detailed, cyclelevel simulation. ....
....however, dramatically affects total performance. The differences among different collectors is the number of times GC is triggered during program execution. The cache miss rates of the different copying collectors are similar across heap sizes. These results differ from the study by Kim et al. [14], which showed that the results for mark sweep collectors vary with heap size. The remainder of the paper is organized as follows. We first present background on the Jikes RVM. Then we discuss the features of several current simulators and compare these features to the requirements of simulating ....
[Article contains additional citation context not shown here]
J.-S. Kim and Y. Hsu. Memory system behavior of Java programs: methodology and analysis. In Proceedings of the ACM SIGMETRICS Conference on Measurement & Modeling Computer Systems, Santa Clara, California, June 2000.
....in run time. 5.3 Assessing Performance with Emerging Workloads This section discusses the impact of large pages on the performance of Java workloads. Java applications, and SPECjvm98 [15] applications in particular, are known to have to have poor cache and page locality of data references [11, 14]. To demonstrate the advantages of large pages for Java programs, we conducted a set of experiments with the fast con guration of Jikes Research Virtual Machine (Jikes RVM) 1, 2] con gured with the mark and sweep memory manager (consisting of an allocator and a garbage collector) 3, 10] To ....
....Much work during garbage collection is spent on chasing pointers in objects to nd all reachable objects in the region of the heap that is being collected [4] Many reachable objects can be scattered throughout the heap. As a result, the locality of GCs is often worse than that of applications [11]. This behavior is representative of systems employing non moving GCs which have to be used when some objects cannot be relocated (e.g. when not all pointers can be identi ed reliably by a runtime) Consequently, large pages can improve TLB miss rates during GC (and overall GC performance) ....
J.-S. Kim and Y. Hsu. Memory system behavior of Java programs: Methodology and analysis. In Proc. of SIGMETRICS 2000.
....and place different demands on the hardware of the com puter. Thus, today s computers must be versatile and perform well with very different program behaviors. While Java is now a few years old, its memory system behavior is still somewhat a mystery. Recently, there have been a number of papers [2, 4, 9 12, 16, 18 19] that have studied this behavior. However, few studies have compared the behavior of Java workloads to other workloads. Luo and John [12] compared VolanoMark, a Java chat room server, and SPECjbb2000, a java server side business benchmark that models a warehouse system, to SPECint2000, a general ....
J. Kim and Y. Hsu. " Memory System Behavior of Java Programs: Methodology and Analysis." In Proceedings of the 2000.
....They concluded that the instruction and data cache performance of Java applications is better than that of C C applications, except in the case of data cache performance of the JIT mode. However, none of these studies looked at the different components of the JVM though Kim et al. [13] and Dieckman et al. 9] examine the performance of the garbage collection phase alone in detail. Shuf et al. 22] analyses the accesses performed by a JVM in terms of stack and heap accesses and correlates them to the resulting data cache and TLB behavior. 3. Methodology This section introduces ....
....significant role on instruction cache accesses than in the interpreted mode. Under both execution modes, garbage collector shows almost no activity in compress and mpegaudio, which reflects the runtime characteristics, such as infrequent heap object allocations and long lifetimes of heap objects [13], of these two benchmarks. 0 10 20 30 40 50 60 70 80 90 100 int jit int jit int jit int jit int jit int jit compress jess db mpegaudio mtrt jack execution garbage collection Figure 1. Decomposition of level 1 instruction cache accesses (cache specifications: In the interpreted ....
J. Kim and Y. Hsu, "Memory System Behavior of Java Programs: Methodology and Analysis", Proceedings of the Joint International Conference on Measurement and Modeling of Computer System, 2000, pp. 264-274.
.... provided a quantitative characterization of the execution behavior of the SPECjvm98 programs, in interpreted 4 mode and using JIT compilers and obtained similar results to the ones obtained in [10] None of these studies, however, looked at the different components of the JVM though Kim et al. [14] and Dieckman et al. 15] did examine the performance of the garbage collection phase alone in detail. 3. Methodology 3.1 Benchmarks The SPECjvm98 suite of benchmarks [3] is used to obtain the cache performance characteristics of the JVM. This suite contains a number of applications that are ....
....the execution phase in the interpreted mode in all benchmarks, except mtrt. But in the JIT mode execution, the garbage collection mode has a significant role to play in all benchmarks, except compress and mpegaudio. This is a direct result of the allocation characteristics of these two benchmarks [14]. For the case of the interpreted execution mode, the actual interpretation component constitutes the majority of the dynamic instruction count. It ranges from about 143 billion instructions for the compress benchmark to about 25 billion for mtrt [23] The overall instruction miss rate is ....
[Article contains additional citation context not shown here]
J.Kim and Y.Hsu, Memory system behavior of Java programs: Methodology and analysis, ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, pages 264-274, June 2000.
.... types are allocated in the runtime stack [4] In most applications of the SPECjvm98 benchmark, less than half (i.e. 45 ) of the references are to objects within the heap rather than primitive types (e.g. bytes or integers) the other half is to either the Java or the native stack (see Table 2 [9]) We also notice that about 35 of the total executed bytecodes requires an object reference, where typically 70 is for load operations and 30 for store operations. Then, 15 (i.e. 0:45 Theta 0:35) of the bytecodes reference an object within the heap, where 10 (i.e. 0:15 Theta 0:70) of ....
....must terminate before the free memory gets exhausted. A usual strategy to avoid the application to run out of memory is to accelerate the GC according to the application s allocation rate, which can be computed as the amount of dynamic memory used number of executed instructions (see Table 3 [9]) Executed Allocated Allocation Instructions Memory (KB) Rate ( KB inst ) 314# 5336 DB 9#16 Theta 10 99# 927 11 221#206 29 16 # 444 43 JACK6 # 553 Theta 10 207# 550 32 Table 3. Allocation behavior. To ensure the above condition, it is necessary to quantify the worst ....
[Article contains additional citation context not shown here]
J. Kim and Y. Hsu. Memory System Behavior of Java Programs: Methodology and Analysis. In Proc. of the ACM Java Grande 2000.
.... in the runtime stack [6] In most applications of the SPECjvm98 benchmark suite , less than half of the references are to the heap memory (i.e. 45 ) the other half is to either the Java or the C stack (see Table 1) and about 35 of total executed instructions are memory references [8], where typically 70 are load operations and 30 store operations. Then, 0:05 (i.e. 0:45 0:35 0:30) of in Note that this overhead would be introduced by any GC (e.g. reference counting, mark and sweep, incremental, or generational) http: www.spec.org osg jvm98 structions executed ....
....existing hardware support for Java. In general, our study should be complemented with work on improving memory management performance at the hardware level considering both hardware aid and the features of the underlying processor (e.g. impact of garbage collection upon cache management [8]) ....
J. Kim and Y. Hsu. Memory System Behavior of Java Programs: Methodology and Analysis. In Proc. of the ACM Java Grande 2000.
....environments. Hence, our measurements largely reflect the inherent memory behavior of these benchmarks with sufficient memory. Cache miss rates during garbage collection have been shown to be substantially higher than cache miss rates of applications, and appear to be insensitive to cache sizes [23]. The TLB coverage on current processors is often quite small (0.5 4MB) compared to the amount of memory needed to run each of the SPECjvm98 benchmarks without excessive garbage collections (32 48MB) 23] Therefore, we believe that we can still get a reasonable view of TLB performance with a ....
....higher than cache miss rates of applications, and appear to be insensitive to cache sizes [23] The TLB coverage on current processors is often quite small (0. 5 4MB) compared to the amount of memory needed to run each of the SPECjvm98 benchmarks without excessive garbage collections (32 48MB) [23]. Therefore, we believe that we can still get a reasonable view of TLB performance with a relatively large heap size. 2.4 Brief description of the benchmarks We used the industry standard SPECjvm98 [39] benchmarks and the portable business object benchmark (pBOB) 5] to conduct the study. We ....
[Article contains additional citation context not shown here]
J.-S. Kim and Y. Hsu. Memory system behavior of Java programs: Methodology and analysis. In Proc. of SIGMETRICS
....and Tarditi [9] report that the SPECJVM98 benchmarks run faster in their environment when they disregard these calls. Table 1 provides a brief description of each of the applications used in our experiments. The SPECJVM98 applications have been studied and described in detail in other work [12] [14] 9] We use this relatively large collection of Java applications to evaluate the original BDW collector (using a variety of configurations) and compare their execution time to our new approach to controlling garbage collection and heap growth. At this point we have made no effort to ....
....garbage so that the program will execute with some memory available. However, we ve set the next threshold to a point well beyond available memory (this point is not reached in any of our experiments) Preliminary experiments we have conducted suggest (and it has been pointed out in other work [12]) that it might be best not to garbage collect when the amount of reachable data is large (since the virtual memory subsystem will page out inactive data) We hope to conduct further research into this issue in the future. 4.1 Threshold based Experiments One of the goals of this work is to ....
[Article contains additional citation context not shown here]
J. Kim and Y. Hsu. Memory system behavior of java programs: Methodology and analysis. In ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, pages 264--274. ACM Press, June 2000.
....and Tarditi [9] report that the SPECJVM98 benchmarks run faster in their environment when they disregard these calls. Table 1 provides a brief description of each of the applications used in our experiments. The SPECJVM98 applications have been studied and described in detail in other work [12] [15] 9] We use this relatively large collection of Java applications to evaluate the original BDW collector (using a variety of con gurations) and to compare each application s execution time to that obtained with our new approach to controlling garbage collection and heap growth. We have ....
....garbage so that the program will execute with some memory available. However, we set the next threshold to a point well beyond available memory (this point was not reached in any of our experiments) Preliminary experiments we have conducted suggest (and it has been pointed out in other work [12]) that it might be best not to collect garbage when the amount of reachable data is large (since the virtual memory subsystem will page out inactive data) We hope to conduct further research into this issue in the future. 4.2 Threshold based Experiments One of the goals of this work is to ....
[Article contains additional citation context not shown here]
J. Kim and Y. Hsu. Memory system behavior of Java programs: Methodology and analysis. In ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, pages 264-274. ACM Press, June 2000.
No context found.
K.-S. Kim and Y. Hsu. Memory system behavior of Java programs: Methodology and analysis. In Proceedings of the ACM SIGMETRICS 2002.
No context found.
K.-S. Kim and Y. Hsu. Memory system behavior of Java programs: Methodology and analysis. In International Conference on Measurement and Modeling of Computer Systems, volume 28(1), pages 264--274, Santa Clara, CA, June 2000.
No context found.
J. Kim and Y. Hsu. Memory system behavior of Java programs: Methodology and analysis. In ACM SIGMETRICS Conference on Measurement & Modeling Computer Systems, pages 264--274, Santa Clara, CA, June 2000.
No context found.
J.-S. Kim and Y. Hsu. Memory system behavior of Java programs: Methodology and analysis. In Proceedings of the International Conference on Measurements and Modeling of Computer Systems, pages 264--274. ACM Press, 2000.
No context found.
Jin-Soo Kim and Yarsun Hsu. Memory system behavior of Java programs: methodology and analysis. In Proc. International conference on measurements and modeling of computer systems, pages 264--274. ACM Press, July 2000.
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