Control Theory for Adaptive Heap Resizing Jeremy Singer, David White, Jon Aitken, Richard Jones.

Slides:



Advertisements
Similar presentations
Paging: Design Issues. Readings r Silbershatz et al: ,
Advertisements

Garbage collection David Walker CS 320. Where are we? Last time: A survey of common garbage collection techniques –Manual memory management –Reference.
© 2011 Pearson Education, Inc
Page 15/4/2015 CSE 30341: Operating Systems Principles Allocation of Frames  How should the OS distribute the frames among the various processes?  Each.
Segmentation and Paging Considerations
ITEC 451 Network Design and Analysis. 2 You will Learn: (1) Specifying performance requirements Evaluating design alternatives Comparing two or more systems.
Mark-Compact Sweep Garbage Collection & Automatic Heap Resizing: A Valuable Combination.
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science CRAMM: Virtual Memory Support for Garbage-Collected Applications Ting Yang, Emery.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
AQM for Congestion Control1 A Study of Active Queue Management for Congestion Control Victor Firoiu Marty Borden.
Database Systems: A Practical Approach to Design, Implementation and Management International Computer Science S. Carolyn Begg, Thomas Connolly Lecture.
1 Lecture 8 Architecture Independent (MPI) Algorithm Design Parallel Computing Fall 2007.
8 TECHNIQUES OF INTEGRATION. In defining a definite integral, we dealt with a function f defined on a finite interval [a, b] and we assumed that f does.
Algorithms for Precomputing Constrained Widest Paths and Multicast Trees Paper by Stavroula Siachalou and Leonidas Georgiadis Presented by Jeremy Witmer.
Evaluating Hypotheses
Physical Database Monitoring and Tuning the Operational System.
U NIVERSITY OF M ASSACHUSETTS Department of Computer Science Automatic Heap Sizing Ting Yang, Matthew Hertz Emery Berger, Eliot Moss University of Massachusetts.
U NIVERSITY OF M ASSACHUSETTS A MHERST Department of Computer Science Garbage Collection Without Paging Matthew Hertz, Yi Feng, Emery Berger University.
1 An Efficient On-the-Fly Cycle Collection Harel Paz, Erez Petrank - Technion, Israel David F. Bacon, V. T. Rajan - IBM T.J. Watson Research Center Elliot.
Quarantine: A Framework to Mitigate Memory Errors in JNI Applications Du Li , Witawas Srisa-an University of Nebraska-Lincoln.
Unit 5 Data Analysis.
Data Structures and Programming.  John Edgar2.
The College of William and Mary 1 Influence of Program Inputs on the Selection of Garbage Collectors Feng Mao, Eddy Zheng Zhang and Xipeng Shen.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Project Quality Management
Integrals 5.
Black-Box Testing Techniques I Software Testing Lecture 4.
Artificial Neural Networks
AP STATISTICS LESSON 10 – 1 (DAY 2)
Section 8.1 Estimating  When  is Known In this section, we develop techniques for estimating the population mean μ using sample data. We assume that.
Black-Box Testing Techniques I
A Mostly Non-Copying Real-Time Collector with Low Overhead and Consistent Utilization David Bacon Perry Cheng (presenting) V.T. Rajan IBM T.J. Watson Research.
Disclosure risk when responding to queries with deterministic guarantees Krish Muralidhar University of Kentucky Rathindra Sarathy Oklahoma State University.
Simple rules for PID tuning Sigurd Skogestad NTNU, Trondheim, Norway.
Dynamic Object Sampling for Pretenuring Maria Jump Department of Computer Sciences The University of Texas at Austin Stephen M. Blackburn.
Week 7 - Wednesday.  What did we talk about last time?  scanf()  Memory allocation  malloc()  free()
Html Tables Basic Table Markup. How Tables are Used For Data Display Tables were originally designed to display and organize tabular data (charts, statistics,
10/10/2012ISC239 Isabelle Bichindaritz1 Physical Database Design.
Physical Database Design Transparencies. ©Pearson Education 2009 Chapter 11 - Objectives Purpose of physical database design. How to map the logical database.
Pointers OVERVIEW.
Constructors CMSC 202. Object Creation Objects are created by using the operator new in statements such as… The following expression invokes a special.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 1 Automatic Heap Sizing: Taking Real Memory into Account Ting Yang, Emery Berger,
Chin-Yu Huang Department of Computer Science National Tsing Hua University Hsinchu, Taiwan Optimal Allocation of Testing-Resource Considering Cost, Reliability,
Objectives:  Use the utility-maximizing model to explain how consumers choose goods and services.  Use the concept of utility to explain how the law.
September 11, 2003 Beltway: Getting Around GC Gridlock Steve Blackburn, Kathryn McKinley Richard Jones, Eliot Moss Modified by: Weiming Zhao Oct
Investigating the Effects of Using Different Nursery Sizing Policies on Performance Tony Guan, Witty Srisa-an, and Neo Jia Department of Computer Science.
Methodology – Physical Database Design for Relational Databases.
CMSC 202 Advanced Section Classes and Objects: Object Creation and Constructors.
6-1 Copyright © 2014, 2011, and 2008 Pearson Education, Inc.
Author : Tzi-Cker Chiueh, Prashant Pradhan Publisher : High-Performance Computer Architecture, Presenter : Jo-Ning Yu Date : 2010/11/03.
PARAMETER ESTIMATION WITH THE PILOT POINT METHOD.
MS-EXCEL PART 3. Use data validation in Excel to make sure that users enter certain values into a cell. Data Validation Example In this example, we restrict.
Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java Author: Fridtjof Siebert, CASES 2000 Michael Sallas Object-Oriented Languages.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
EGR 2261 Unit 10 Two-dimensional Arrays
Presentation at NI Day April 2010 Lillestrøm, Norway
Cork: Dynamic Memory Leak Detection with Garbage Collection
Tables and Frames.
Introduction to Algorithms
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Making Science Graphs and Interpreting Data
Basic Design of PID Controller
I need to use which graph?
David F. Bacon, Perry Cheng, and V.T. Rajan
Introduction to Systems Analysis and Design
5.3 Using Derivatives for Curve Sketching
TECHNIQUES OF INTEGRATION
Making Science Graphs and Interpreting Data
Program-level Adaptive Memory Management
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Control Theory for Adaptive Heap Resizing Jeremy Singer, David White, Jon Aitken, Richard Jones

s/ismm13.pdf

a sad story

what we did

New heap sizing parameter User specifies target time to spend in GC (GC overhead, g) Controller adjusts heap size to meet target

Area under curve … embedded systems – power utility computing - cost

state of the art

Jikes RVM HeapGrowthManager computes heap resize ratio after major GC lookup table of resize ratios, indexed by:

Jikes RVM graph

Bug fix

In HeapGrowthManager.computeHeapChangeRatio(), the current implementation determines the heap size change ratio by a lookup in the 2-dimensional function table (indexed by liveRatio and gcLoad). Given a current liveRatio X and gcLoad Y, the code finds the table rows and columns with nearest values above and below X and Y, then does interpolation from these table lookup values to determine the heap size change ratio. However, there is a bug in the interpolation. If X (or Y, respectively) is exactly equal to a row (or column, respectively) label value, then the interpolation still happens, between values in rows (cols) either side of row X (col Y). This leads to discontinuities in the heap sizing function - see attached graphs. The submitted patch suppresses interpolation (interpolation correction value becomes 0) in the case where X or Y falls on a label value exactly, so avoiding the discontinuity.

OpenJDK GC ergonomics system allows user to specify high-level goals for GC – desired max GC pause time – desired application throughput – minimum heap size

OpenJDK AdaptiveSizePolicy applies fixed rules to satisfy these targets: – if current pause time > pause time goal, then decrease heap size – else if application’s throughput goal is not being met, then increase heap size – else decrease heap size to reduce memory footprint

OpenJDK David Vengerov [ISMM11] [The ergonomics system consists of] some heuristic rules that do not guarantee that the GC throughput will actually be maximised as a result

Poly/ML adjustHeapSize() called after major GC if l is live data, heap size changed to K+l K is constant determined by initial parameters source code comment: ‘somewhat naïve’

Dalvik Easy to grow heap, more difficult to shrink – non-moving objects in mature space Heap sizing policy entirely opaque to user

Dalvik heap resizing app

Problems with existing approaches based on improvised heuristics – sometimes incorrect – need retuning generally conservative (prefer to grow, slowly) not goal-oriented generally stateless

Control Theory 101

Cruise Control

PID Controller control signal setpoint gainerror proportional term integral term derivative term

our approach

target g observed g heap size change

Experiments Determine appropriate targets (run benchmarks in default VM) Tune controller (parameters) Run benchmarks with tuned controller Run a phased benchmark

lusearch

fop

jython

discussion

Pros and Cons of Control Theory for Heap Sizing

Conclusions Control theory is systematic approach Better than ad-hoc heuristics Requires careful tuning May be useful for data-center resource management