Presentation is loading. Please wait.

Presentation is loading. Please wait.

Investigating the Effects of Using Different Nursery Sizing Policies on Performance Tony Guan, Witty Srisa-an, and Neo Jia Department of Computer Science.

Similar presentations


Presentation on theme: "Investigating the Effects of Using Different Nursery Sizing Policies on Performance Tony Guan, Witty Srisa-an, and Neo Jia Department of Computer Science."— Presentation transcript:

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!


Download ppt "Investigating the Effects of Using Different Nursery Sizing Policies on Performance Tony Guan, Witty Srisa-an, and Neo Jia Department of Computer Science."

Similar presentations


Ads by Google