1 / 32

Investigating the Effects of Using Different Nursery Sizing Policies on Performance

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. Setting the Stage …. JBoss application server

Mia_John
Download Presentation

Investigating the Effects of Using Different Nursery Sizing Policies on Performance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Setting the Stage … JBossapplication 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 Throughput performance of SPECjAppServer2004

  3. Setting the Stage • Performance of the generational collectorhas 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

  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 waysto size the nursery and mature space • Performance ramifications of using each policy have not been widely investigated

  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

  7. Agenda • Overview of investigated sizing policies • Experimental methodology • Results of our evaluation • Introducing a hybrid policy • Conclusions

  8. Sizing Policy: Fixed Ratio Nursery (33%) Nursery (33%) Mature (66%) Mature (66%) Size enlarged by 20% Nursery

  9. Sizing Policy: Heap Availability Nursery Nursery Nursery Nursery Used Mature Used Mature Used Mature After Minor_GC1 After Minor_GC2 After Minor_GCn Initial

  10. Sizing Policy: GC Ergonomics Nursery (33%) Nursery (40%) Nursery (48%) Mature (66%) Mature (60%) Mature (52%) Size and ratio are adjusted to meet performance goal(s)

  11. Terminology: Copy-Reserve* Nursery Copy- Reserve … Used Mature Used Mature Mature After a Minor GC After a few Minor GC Initial Copy-Reserve = 100% of nursery *Sizing policy = FR

  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

  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

  14. Result: jvm2008 & DaCapo The remaining thirteen benchmarks show little sensitivity to different policies

  15. Analysis: jvm2008 & DaCapo Using different sizing policies can affect the garbage collection performance

  16. Result: jAppServer2004

  17. Analysis: jAppServer2004

  18. Analysis: jAppServer2004 Nursery Nursery Nursery Copy- Reserve Copy- Reserve Copy- Reserve Full Collection Full Collection Used Mature Used Mature Used Mature Current heap usage Mature heap usage after full collection Mature heap usage after full collection Copy-Reserve = 100% of nursery Sizing policy = FR or Default

  19. Analysis: jAppServer2004 Nursery Nursery Nursery Copy- Reserve Minor Collection Minor Collection Copy- Reserve Used Mature Copy- Reserve Used Mature Initial After a Minor GC After a few Minor GC Copy-Reserve = 100% of nursery Sizing policy = HA

  20. MMU: jAppServer2004 at 25tx

  21. MMU: jAppServer2004 at 40tx

  22. MMU: jAppServer2004 at 50tx

  23. Result: jbb2005

  24. MMU: jbb2005 at 8whs

  25. MMU: jbb2005 at 23whs

  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 heavyworkload

  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)

  28. Preliminary Evaluation: jbb2005

  29. Preliminary Evaluation: jAppServer2004

  30. Preliminary Evaluation: Switching Between

  31. Conclusions • Threenursery sizing policies are investigated using 23 benchmarks • Sizing policy does matter! • Itcan 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

  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!

More Related