Download presentation
Presentation is loading. Please wait.
Published byJoan Gregory Modified over 9 years ago
1
Investigating the Effects of Using Different Nursery Sizing Policies on Performance Tony Guan, Witty Srisa-an, and Neo Jia Department of Computer Science & Engineering University of Nebraska-Lincoln {xguan,witty,cjia}@cse.unl.edu
2
Throughput performance of SPECjAppServer2004 JBoss application server HotSpot VM released as part of OpenJDK1.7 –Parallel generational collector with 8 minor and 8 major collection threads –256 MB heap for this example (very little paging) –Nursery and mature spaces are set to 1:2 and periodically resized to maximize throughput 2 Setting the Stage …
3
Setting the Stage Performance of the generational collector has something to do with such throughput behavior –Higher workload often results in higher GC overhead –More GC work means less useful work done by an application 3
4
4 Not all generational collectors are created equal!
5
Motivation One factor that differs among different generational collector implementations is nursery sizing policy –There are multiple ways to size the nursery and mature space –Performance ramifications of using each policy have not been widely investigated 5
6
Research Goals Can performance be affected by using different sizing policies? –Modify a VM to support multiple sizing policies If so, how can it be affected? –Perform analysis by observing various metrics including execution time, throughput, GC behavior, and minimum mutator utilization 6
7
Agenda Overview of investigated sizing policies Experimental methodology Results of our evaluation Introducing a hybrid policy Conclusions 7
8
Sizing Policy: Fixed Ratio Nursery (33%) Mature (66%) Nursery (33%) Mature (66%) Size enlarged by 20% 8
9
Sizing Policy: Heap Availability Nursery Used Mature Nursery Used Mature Nursery Used Mature Nursery Initial After Minor_GC1 After Minor_GC2 After Minor_GCn 9
10
Sizing Policy: GC Ergonomics Nursery (33%) Mature (66%) Nursery (48%) Mature (52%) Nursery (40%) Mature (60%) Size and ratio are adjusted to meet performance goal(s) 10
11
Terminology: Copy-Reserve* Nursery Initial After a Minor GC After a few Minor GC Copy- Reserve Copy-Reserve = 100% of nursery *Sizing policy = FR 11 … Mature Used Mature Used Mature
12
Experimental Setting Three nursery sizing policies –GC Ergonomics Policy (Default) –Fixed Ratio Policy (FR) –Heap Availability Policy (HA) Multithreaded benchmarks –SPECjvm2008 (17) –Multithreaded benchmarks from DaCapo (eclipse,hsqldb,lusearch,xalan) –SPECjbb2005 & SPECjAppServer2004 12
13
Experimental Setting JVM (Hotspot) settings: –Memory: Old:Young=2:1 2 times minimum heap for each application 256MB for jAppServer2004 and 1GB for jbb2005 –GC : 8 threads for both minor & full GC, policy modification based on parallel collector Platform: Intel Xeon 8 cores, 16GB, running Linux Methodology: 5 runs, report best, worst, and average 13
14
Result: jvm2008 & DaCapo 14 The remaining thirteen benchmarks show little sensitivity to different policies
15
Analysis: jvm2008 & DaCapo AppDefaultHAFR MinorFullMinorFullMinorFull Com.sunflow 300134426933013034354 Derby263935422326223 Crypto.aes 630810102785154063001023 15 Using different sizing policies can affect the garbage collection performance
16
Result: jAppServer2004 16
17
Analysis: jAppServer2004 17 ConfigDefaultHAFR MinorFullMinorFullMinorFull 25 Tx2523991119670252786 50 Tx2052599226642381642706
18
Analysis: jAppServer2004 Current heap usage Copy-Reserve = 100% of nursery Sizing policy = FR or Default 18 Used Mature Copy- Reserve Nursery Used Mature Copy- Reserve Nursery Mature heap usage after full collection Full Collection Used Mature Copy- Reserve Nursery Full Collection Mature heap usage after full collection
19
Analysis: jAppServer2004 InitialAfter a Minor GC Nursery Copy- Reserve Used Mature Nursery Copy- Reserve After a few Minor GC Copy-Reserve = 100% of nursery Sizing policy = HA 19 Used Mature Nursery Copy- Reserve Minor Collection Minor Collection
20
MMU: jAppServer2004 at 25tx 20
21
MMU: jAppServer2004 at 40tx 21
22
MMU: jAppServer2004 at 50tx 22
23
Result: jbb2005 23
24
MMU: jbb2005 at 8whs 24
25
MMU: jbb2005 at 23whs 25
26
Summary HA does not do as well as the other two policies when the workload is light HA allows the server to respond to requests significantly longer under heavy workload 26
27
A Hybrid Policy Use default policy for the peak performance during light workload Use HA as soon as the GC behavior has reached a critical point –number of consecutive FullGC >= consecFailure (e.g., 2) 27
28
Preliminary Evaluation: jbb2005 28
29
Preliminary Evaluation: jAppServer2004 29
30
Preliminary Evaluation: Switching Between 30
31
Conclusions Three nursery sizing policies are investigated using 23 benchmarks –Sizing policy does matter! It can impact performance and serviceability of large servers –Up to 36% performance differences have been observed in some benchmarks The hybrid policy can be useful in large servers to better handle heavy workload 31
32
Investigating the Effects of Using Different Nursery Sizing Policies on Performance For source of modified hotspot & modified jbb2005 see: http://cse.unl.edu/~xguan Thanks!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.