Boosting the Priority of Garbage: Scheduling Collection on Heterogeneous Multicore Processors
|
|
- Ira Byrd
- 5 years ago
- Views:
Transcription
1 Boosting the Priority of Garbage: Scheduling Collection on Heterogeneous Multicore Processors Shoaib Akram, Jennifer B. Sartor, Kenzo Van Craeynest, Wim Heirman, Lieven Eeckhout Ghent University, Belgium
2 Popularity of Managed Languages The 215 Top Ten Programming Languages, spectrum.ieee.org. 2
3 The Garbage Collection Advantage Memory automatically reclaimed for reuse Takes extra CPU cycles to provide the service 3 Concurrent collectors suited to multicores
4 Heterogeneous Multicores Performance LITTLE 6 Series 4x ARM Cortex A72 4x ARM Cortex A53 In-Order big Out-of-Order Exynox 889 4x ARM Cortex A53 4x Exynos M1 Power 4
5 Managed Language Applications on Heterogeneous Multicores Performance Application à big Out-of-Order LITTLE In-Order Power Garbage Collector à big or LITTLE? 5
6 GC on big versus LITTLE Applica;on and collector running concurrently Applica'on Allocates objects on heap big Collector Iden;fies live objects on heap and then reclaims memory taken up by remaining objects big LITTLE Run Collector on big versus LITTLE and measure the difference in execution time 6
7 GC on big versus LITTLE % increase in execution time
8 GC on big versus LITTLE % increase in execution time
9 GC on big versus LITTLE % increase in execution time GC-Uncritical GC-Critical Some applications exhibit GC-Criticality GC on LITTLE detrimental for GC-Critical 9
10 GC on big versus LITTLE What happens if GC runs on LITTLE for GC-Cri;cal apps? Applica'on Allocates objects on heap Paused!!! Collector Iden;fies live objects on heap and then reclaims memory taken up by remaining objects Serial collec;on Application is paused if no free memory on heap because collector still running 1
11 Giving GC Fair Share of Big Core gc-fair Equally share the big core among all threads Based on Van Craeynest et al [PACT 213] Baseline is gc-on-little Pin the GC threads on LITTLE cores Observe the % reduc;on in execu;on ;me 11
12 Giving GC Fair Share of Big Core % execution time reduction LITTLE 3 LITTLE 1 LITTLE GC-Uncritical 12
13 Giving GC Fair Share of Big Core % execution time reduction LITTLE 3 LITTLE 1 LITTLE GC-Uncritical 13
14 Giving GC Fair Share of Big Core % execution time reduction LITTLE 2 LITTLE 1 LITTLE GC-Uncritical gc-on-little for GC-Uncritical 14
15 Giving GC Fair Share of Big Core % execution time reduction LITTLE 2 LITTLE 1 LITTLE GC-Uncritical GC-Critical gc-on-little for GC-Uncritical 15
16 Giving GC Fair Share of Big Core % execution time reduction LITTLE 2 LITTLE 1 LITTLE GC-Uncritical GC-Critical gc-on-little for GC-Uncritical 16
17 Giving GC Fair Share of Big Core % execution time reduction LITTLE 3 LITTLE 1 LITTLE GC-Uncritical GC-Critical gc-on-little for GC-Uncritical gc-fair for GC-Critical 17
18 Giving GC Fair Share of Big Core % execution time reduction LITTLE 2 LITTLE 1 LITTLE GC-Uncritical GC-Critical GC-Criticality depends on architecture, application, and runtime environment 18
19 Our Contribution 25 3 LITTLE LITTLE GC-Criticality-Aware 1 LITTLE 1 % execution time reduction GC-Uncritical Scheduler GC-Critical Dynamically adjusts # big core cycles given to the concurrent collector GC-Criticality depends on architecture, application, and runtime environment 19
20 GC-Criticality-Aware Scheduler Runtime Activity à How Scheduler Reacts? app gc Schd. App alone gc-on-little 'me 2
21 GC-Criticality-Aware Scheduler gc-on-little to gc-fair app gc Schd. App alone gc-on-little 'me 21
22 GC-Criticality-Aware Scheduler gc-on-little to gc-fair JVM signals the scheduler app gc Schd. App alone Stop Concurrent gc-on-little Scan gc-fair 'me Stop pause to do book-keeping ignored Scan stop pause: JVM signals scheduler gc-fair gives equal priority to GC and app 22
23 GC-Criticality-Aware Scheduler Boost States Stop scan pauses observed even with gc-fair Scheduler Scheduler How many quanta scheduled on the BIG core? gc-on-little First GC thread =, Second GC thread = gc-fair First GC thread = 1, Second GC thread = 1 Boost the priority of garbage Give GC more consecu;ve quanta on big State How many quanta scheduled on the BIG core? gc-boost P First GC thread = 1, Second GC thread = 1 gc-boost P1 First GC thread = 1, Second GC thread = 2 Degrade boost state when no longer cri;cal 23
24 GC-Criticality-Aware Scheduler gc-boost:p to gc-on-little JVM signals the scheduler App alone Stop Concurrent App alone 'me app gc Schd. gc-boost:p gc-on-little If no scan pause in state P, go to gc-on-little Can configure # zero stop scan intervals before returning to gc-on-little 24
25 GC-Criticality-Aware Scheduler Summary JVM detects GC-Criticality during runtime Communicates criticality information down to the scheduler Scheduler dynamically adapts big core cycles given to GC 25
26 Experimental Setup Java Virtual Machine Jikes Research Virtual Machine (Version 3.1.2) Full-heap concurrent collector with two threads Tackle non-determinism by warming up the JVM Heap size 2x of minimum Benchmarks Ten benchmarks from DaCapo Vary the # threads 1 to 4 Heterogeneous Multicore Setup Sniper multicore simulator (Version 4.) Different four core heterogeneous architectures Varying # of big and LITTLE cores 26
27 Performance of GC-Criticality-Aware Scheduler % execution time reduction big plus one LITTLE core gc-fair GC-Uncritical GC-Critical 27
28 Performance of GC-Criticality-Aware Scheduler % execution time reduction big plus one LITTLE core gc-fair gc-boost GC-Uncritical GC-Critical gc-boost performance neutral for GC-Uncritical 28
29 Performance of GC-Criticality-Aware Scheduler % execution time reduction big plus one LITTLE core gc-fair gc-boost GC-Uncritical GC-Critical gc-boost performance neutral for GC-Uncritical 29 Improves perf. of GC-Critical by 14% on avg.
30 Understanding the Performance Advantage of Big Core Cycles per instruction Application Collector L3 Miss L2 Miss L1-D Miss L1-I Base 3
31 Understanding the Performance Cycles per instruction Advantage of Big Core LITTLE Application Collector L3 Miss L2 Miss L1-D Miss L1-I Base Collector performs a heap traversal chasing pointers 31
32 Understanding the Performance Cycles per instruction Advantage of Big Core LITTLE big Application Collector L3 Miss L2 Miss L1-D Miss L1-I Base Collector performs a heap traversal chasing pointers Instruction-level parallelism J Memory-level parallelism L 32
33 Performance of GC-Criticality-Aware Scheduler % execution time reduction Lowering frequency of LITTLE core Similar freq. GC-Uncritical GC-Critical 33
34 Performance of GC-Criticality-Aware Scheduler % execution time reduction Lowering frequency of LITTLE core Similar freq. 1 GHz slower GC-Uncritical GC-Critical Lowering frequency increases GC-Criticality 34
35 Performance of GC-Criticality-Aware Scheduler % execution time reduction Lowering frequency of LITTLE core Similar freq. 1 GHz slower GC-Uncritical GC-Critical Lowering frequency increases GC-Criticality Improves perf. of GC-Critical by 2% on avg. 35
36 % execubon Bme reducbon Different # LITTLE cores Performance of GC-Criticality-Aware Scheduler GC-UnCri;cal GC-Cri;cal 1L 2L 3L Allocation rate lowers with more LITTLE cores gc-boost is beneficial for different # LITTLE 36
37 % reduction in energy-delay product Energy Efficiency of GC-Criticality-Aware Scheduler big plus one LITTLE core GC-Uncritical GC-Critical Negligible change in EDP for GC-Uncritical 2% avg. reduction in EDP for GC-Critical 37
38 More in the Paper Sensitivity studies Varying number of total cores Scheduling quantum and # zero scan intervals Heap size GC-Criticality using OpenJDK s collector 38
39 Conclusions Concurrent garbage collection benefits from out-of-order execution Java applications that allocate rapidly exhibit GC-Criticality GC-Criticality-Aware scheduler adjusts big core cycles given to GC on a heterogeneous multicore Uses information provided by the JVM Improves both performance and energy efficiency 39
40 Boosting the Priority of Garbage: Scheduling Collection on Heterogeneous Multicore Processors Thank You!
41 GC Criticality with OpenJDK s CMS 8 % increase in execution time
42 Triggering Concurrent GC Every 32 MB of Allocation % reduction in energy delay product
43 GC-Criticality-Aware Scheduler gc-boost:p to gc-boost:p1 JVM signals the scheduler App alone Stop Concurrent Scan 'me app gc Schd. gc-boost:p gc-boost:p1 gc-boost:p1 gives GC two quanta on big 43
44 GC-Criticality-Aware Scheduler gc-boost:p1 to gc-boost:p JVM signals the scheduler App alone Stop Concurrent App alone 'me app gc Schd. gc-boost:p1 gc-boost:p Degrade boost state if no stop scan pause 44
45 % reduction in energy-delay product Energy Efficiency of GC-Criticality-Aware Scheduler big plus one LITTLE core 45
46 % reduction in energy-delay product Energy Efficiency of GC-Criticality-Aware Scheduler big plus one LITTLE core GC-Uncritical Negligible change in EDP for GC-Uncritical 46
Boosting the Priority of Garbage: Scheduling Collection on Heterogeneous Multicore Processors
Boosting the Priority of Garbage: Scheduling Collection on Heterogeneous Multicore Processors SHOAIB AKRAM, Ghent University JENNIFER B. SARTOR, Ghent University and Vrije Universiteit Brussel KENZO VAN
More informationMyths and Realities: The Performance Impact of Garbage Collection
Myths and Realities: The Performance Impact of Garbage Collection Tapasya Patki February 17, 2011 1 Motivation Automatic memory management has numerous software engineering benefits from the developer
More informationDVFS Performance Prediction for Managed Multithreaded Applications
DVFS Performance Prediction for Managed Multithreaded Applications Shoaib Akram, Jennifer B. Sartor and Lieven Eeckhout Ghent University, Belgium Vrije Universiteit Brussel, Belgium Email: {Shoaib.Akram,
More informationOptimising Multicore JVMs. Khaled Alnowaiser
Optimising Multicore JVMs Khaled Alnowaiser Outline JVM structure and overhead analysis Multithreaded JVM services JVM on multicore An observational study Potential JVM optimisations Basic JVM Services
More informationDEP+BURST: Online DVFS Performance Prediction for Energy-Efficient Managed Language Execution
IEEE TRANSACTIONS ON COMPUTERS, VOL. 66, NO. 4, APRIL 2017 601 DEP+BURST: Online DVFS Performance Prediction for Energy-Efficient Managed Language Execution Shoaib Akram, Jennifer B. Sartor, and Lieven
More informationShenandoah: An ultra-low pause time garbage collector for OpenJDK. Christine Flood Principal Software Engineer Red Hat
Shenandoah: An ultra-low pause time garbage collector for OpenJDK Christine Flood Principal Software Engineer Red Hat 1 Why do we need another Garbage Collector? OpenJDK currently has: SerialGC ParallelGC
More informationTowards High Performance Processing in Modern Java-based Control Systems. Marek Misiowiec Wojciech Buczak, Mark Buttner CERN ICalepcs 2011
Towards High Performance Processing in Modern Java-based Control Systems Marek Misiowiec Wojciech Buczak, Mark Buttner CERN ICalepcs 2011 Performance with soft real time Distributed system - Monitoring
More informationHeap Compression for Memory-Constrained Java
Heap Compression for Memory-Constrained Java CSE Department, PSU G. Chen M. Kandemir N. Vijaykrishnan M. J. Irwin Sun Microsystems B. Mathiske M. Wolczko OOPSLA 03 October 26-30 2003 Overview PROBLEM:
More informationDynamic Vertical Memory Scalability for OpenJDK Cloud Applications
Dynamic Vertical Memory Scalability for OpenJDK Cloud Applications Rodrigo Bruno, Paulo Ferreira: INESC-ID / Instituto Superior Técnico, University of Lisbon Ruslan Synytsky, Tetiana Fydorenchyk: Jelastic
More informationThe benefits and costs of writing a POSIX kernel in a high-level language
1 / 38 The benefits and costs of writing a POSIX kernel in a high-level language Cody Cutler, M. Frans Kaashoek, Robert T. Morris MIT CSAIL Should we use high-level languages to build OS kernels? 2 / 38
More informationPause-Less GC for Improving Java Responsiveness. Charlie Gracie IBM Senior Software charliegracie
Pause-Less GC for Improving Java Responsiveness Charlie Gracie IBM Senior Software Developer charlie_gracie@ca.ibm.com @crgracie charliegracie 1 Important Disclaimers THE INFORMATION CONTAINED IN THIS
More informationReal-Time Garbage Collection Panel JTRES 2007
Real-Time Garbage Collection Panel JTRES 2007 Bertrand Delsart, Sun Sean Foley, IBM Kelvin Nilsen, Aonix Sven Robertz, Lund Univ Fridtjof Siebert, aicas Feedback from our customers Is it fast enough to
More informationJDK 9/10/11 and Garbage Collection
JDK 9/10/11 and Garbage Collection Thomas Schatzl Senior Member of Technical Staf Oracle JVM Team May, 2018 thomas.schatzl@oracle.com Copyright 2017, Oracle and/or its afliates. All rights reserved. 1
More informationNUMA in High-Level Languages. Patrick Siegler Non-Uniform Memory Architectures Hasso-Plattner-Institut
NUMA in High-Level Languages Non-Uniform Memory Architectures Hasso-Plattner-Institut Agenda. Definition of High-Level Language 2. C# 3. Java 4. Summary High-Level Language Interpreter, no directly machine
More informationThe G1 GC in JDK 9. Erik Duveblad Senior Member of Technical Staf Oracle JVM GC Team October, 2017
The G1 GC in JDK 9 Erik Duveblad Senior Member of Technical Staf racle JVM GC Team ctober, 2017 Copyright 2017, racle and/or its affiliates. All rights reserved. 3 Safe Harbor Statement The following is
More informationThe Z Garbage Collector Scalable Low-Latency GC in JDK 11
The Z Garbage Collector Scalable Low-Latency GC in JDK 11 Per Lidén (@perliden) Consulting Member of Technical Staff Java Platform Group, Oracle October 24, 2018 Safe Harbor Statement The following is
More informationWorkload Characterization and Optimization of TPC-H Queries on Apache Spark
Workload Characterization and Optimization of TPC-H Queries on Apache Spark Tatsuhiro Chiba and Tamiya Onodera IBM Research - Tokyo April. 17-19, 216 IEEE ISPASS 216 @ Uppsala, Sweden Overview IBM Research
More informationAcknowledgements These slides are based on Kathryn McKinley s slides on garbage collection as well as E Christopher Lewis s slides
Garbage Collection Last time Compiling Object-Oriented Languages Today Motivation behind garbage collection Garbage collection basics Garbage collection performance Specific example of using GC in C++
More informationThe C4 Collector. Or: the Application memory wall will remain until compaction is solved. Gil Tene Balaji Iyengar Michael Wolf
The C4 Collector Or: the Application memory wall will remain until compaction is solved Gil Tene Balaji Iyengar Michael Wolf High Level Agenda 1. The Application Memory Wall 2. Generational collection
More informationGarbage Collection. Hwansoo Han
Garbage Collection Hwansoo Han Heap Memory Garbage collection Automatically reclaim the space that the running program can never access again Performed by the runtime system Two parts of a garbage collector
More informationRuntime Application Self-Protection (RASP) Performance Metrics
Product Analysis June 2016 Runtime Application Self-Protection (RASP) Performance Metrics Virtualization Provides Improved Security Without Increased Overhead Highly accurate. Easy to install. Simple to
More informationJava Performance Tuning
443 North Clark St, Suite 350 Chicago, IL 60654 Phone: (312) 229-1727 Java Performance Tuning This white paper presents the basics of Java Performance Tuning and its preferred values for large deployments
More informationOpera&ng Systems CMPSCI 377 Garbage Collec&on. Emery Berger and Mark Corner University of Massachuse9s Amherst
Opera&ng Systems CMPSCI 377 Garbage Collec&on Emery Berger and Mark Corner University of Massachuse9s Amherst Ques
More informationNG2C: Pretenuring Garbage Collection with Dynamic Generations for HotSpot Big Data Applications
NG2C: Pretenuring Garbage Collection with Dynamic Generations for HotSpot Big Data Applications Rodrigo Bruno Luis Picciochi Oliveira Paulo Ferreira 03-160447 Tomokazu HIGUCHI Paper Information Published
More informationRxNetty vs Tomcat Performance Results
RxNetty vs Tomcat Performance Results Brendan Gregg; Performance and Reliability Engineering Nitesh Kant, Ben Christensen; Edge Engineering updated: Apr 2015 Results based on The Hello Netflix benchmark
More informationExploiting the Behavior of Generational Garbage Collector
Exploiting the Behavior of Generational Garbage Collector I. Introduction Zhe Xu, Jia Zhao Garbage collection is a form of automatic memory management. The garbage collector, attempts to reclaim garbage,
More informationReference Object Processing in On-The-Fly Garbage Collection
Reference Object Processing in On-The-Fly Garbage Collection Tomoharu Ugawa, Kochi University of Technology Richard Jones, Carl Ritson, University of Kent Weak Pointers Weak pointers are a mechanism to
More informationShenandoah An ultra-low pause time Garbage Collector for OpenJDK. Christine H. Flood Roman Kennke
Shenandoah An ultra-low pause time Garbage Collector for OpenJDK Christine H. Flood Roman Kennke 1 What does ultra-low pause time mean? It means that the pause time is proportional to the size of the root
More informationOS-caused Long JVM Pauses - Deep Dive and Solutions
OS-caused Long JVM Pauses - Deep Dive and Solutions Zhenyun Zhuang LinkedIn Corp., Mountain View, California, USA https://www.linkedin.com/in/zhenyun Zhenyun@gmail.com 2016-4-21 Outline q Introduction
More informationSustainable Memory Use Allocation & (Implicit) Deallocation (mostly in Java)
COMP 412 FALL 2017 Sustainable Memory Use Allocation & (Implicit) Deallocation (mostly in Java) Copyright 2017, Keith D. Cooper & Zoran Budimlić, all rights reserved. Students enrolled in Comp 412 at Rice
More informationCooperative Cache Scrubbing
Cooperative Cache Scrubbing Jennifer B. Sartor Ghent University Belgium Wim Heirman Intel ExaScience Lab Belgium Stephen M. Blackburn Australian National University Australia Lieven Eeckhout Ghent University
More informationJava Performance Tuning and Optimization Student Guide
Java Performance Tuning and Optimization Student Guide D69518GC10 Edition 1.0 June 2011 D73450 Disclaimer This document contains proprietary information and is protected by copyright and other intellectual
More informationThe Z Garbage Collector Low Latency GC for OpenJDK
The Z Garbage Collector Low Latency GC for OpenJDK Per Lidén & Stefan Karlsson HotSpot Garbage Collection Team Jfokus VM Tech Summit 2018 Safe Harbor Statement The following is intended to outline our
More informationJVM Memory Model and GC
JVM Memory Model and GC Developer Community Support Fairoz Matte Principle Member Of Technical Staff Java Platform Sustaining Engineering, Copyright 2015, Oracle and/or its affiliates. All rights reserved.
More informationPERFORMANCE ANALYSIS AND OPTIMIZATION OF SKIP LISTS FOR MODERN MULTI-CORE ARCHITECTURES
PERFORMANCE ANALYSIS AND OPTIMIZATION OF SKIP LISTS FOR MODERN MULTI-CORE ARCHITECTURES Anish Athalye and Patrick Long Mentors: Austin Clements and Stephen Tu 3 rd annual MIT PRIMES Conference Sequential
More informationShenandoah: Theory and Practice. Christine Flood Roman Kennke Principal Software Engineers Red Hat
Shenandoah: Theory and Practice Christine Flood Roman Kennke Principal Software Engineers Red Hat 1 Shenandoah Christine Flood Roman Kennke Principal Software Engineers Red Hat 2 Shenandoah Why do we need
More informationConfiguring the Heap and Garbage Collector for Real- Time Programming.
Configuring the Heap and Garbage Collector for Real- Time Programming.... A user s perspective to garbage collection Fridtjof Siebert, IPD, University of Karlsruhe 1 Jamaica Systems Structure What is the
More informationAUTOMATIC SMT THREADING
AUTOMATIC SMT THREADING FOR OPENMP APPLICATIONS ON THE INTEL XEON PHI CO-PROCESSOR WIM HEIRMAN 1,2 TREVOR E. CARLSON 1 KENZO VAN CRAEYNEST 1 IBRAHIM HUR 2 AAMER JALEEL 2 LIEVEN EECKHOUT 1 1 GHENT UNIVERSITY
More informationMethod-Level Phase Behavior in Java Workloads
Method-Level Phase Behavior in Java Workloads Andy Georges, Dries Buytaert, Lieven Eeckhout and Koen De Bosschere Ghent University Presented by Bruno Dufour dufour@cs.rutgers.edu Rutgers University DCS
More informationReal Time: Understanding the Trade-offs Between Determinism and Throughput
Real Time: Understanding the Trade-offs Between Determinism and Throughput Roland Westrelin, Java Real-Time Engineering, Brian Doherty, Java Performance Engineering, Sun Microsystems, Inc TS-5609 Learn
More informationPerformance of Non-Moving Garbage Collectors. Hans-J. Boehm HP Labs
Performance of Non-Moving Garbage Collectors Hans-J. Boehm HP Labs Why Use (Tracing) Garbage Collection to Reclaim Program Memory? Increasingly common Java, C#, Scheme, Python, ML,... gcc, w3m, emacs,
More informationData Structure Aware Garbage Collector
Data Structure Aware Garbage Collector Nachshon Cohen Technion nachshonc@gmail.com Erez Petrank Technion erez@cs.technion.ac.il Abstract Garbage collection may benefit greatly from knowledge about program
More informationShenandoah: An ultra-low pause time garbage collector for OpenJDK. Christine Flood Roman Kennke Principal Software Engineers Red Hat
Shenandoah: An ultra-low pause time garbage collector for OpenJDK Christine Flood Roman Kennke Principal Software Engineers Red Hat 1 Shenandoah Why do we need it? What does it do? How does it work? What's
More informationCSE P 501 Compilers. Memory Management and Garbage Collec<on Hal Perkins Winter UW CSE P 501 Winter 2016 W-1
CSE P 501 Compilers Memory Management and Garbage Collec
More informationJVM Performance Tuning with respect to Garbage Collection(GC) policies for WebSphere Application Server V6.1 - Part 1
IBM Software Group JVM Performance Tuning with respect to Garbage Collection(GC) policies for WebSphere Application Server V6.1 - Part 1 Giribabu Paramkusham Ajay Bhalodia WebSphere Support Technical Exchange
More informationStackVsHeap SPL/2010 SPL/20
StackVsHeap Objectives Memory management central shared resource in multiprocessing RTE memory models that are used in Java and C++ services for Java/C++ programmer from RTE (JVM / OS). Perspectives of
More informationGo GC: Prioritizing Low Latency and Simplicity
Go GC: Prioritizing Low Latency and Simplicity Rick Hudson Google Engineer QCon San Francisco Nov 16, 2015 My Codefendants: The Cambridge Runtime Gang https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/sato_tadanobu_with_a_goban.jpeg/500px-sato_tadanobu_with_a_goban.jpeg
More informationTowards Parallel, Scalable VM Services
Towards Parallel, Scalable VM Services Kathryn S McKinley The University of Texas at Austin Kathryn McKinley Towards Parallel, Scalable VM Services 1 20 th Century Simplistic Hardware View Faster Processors
More informationHierarchical PLABs, CLABs, TLABs in Hotspot
Hierarchical s, CLABs, s in Hotspot Christoph M. Kirsch ck@cs.uni-salzburg.at Hannes Payer hpayer@cs.uni-salzburg.at Harald Röck hroeck@cs.uni-salzburg.at Abstract Thread-local allocation buffers (s) are
More informationGarbage-First Garbage Collection by David Detlefs, Christine Flood, Steve Heller & Tony Printezis. Presented by Edward Raff
Garbage-First Garbage Collection by David Detlefs, Christine Flood, Steve Heller & Tony Printezis Presented by Edward Raff Motivational Setup Java Enterprise World High end multiprocessor servers Large
More informationKodewerk. Java Performance Services. The War on Latency. Reducing Dead Time Kirk Pepperdine Principle Kodewerk Ltd.
Kodewerk tm Java Performance Services The War on Latency Reducing Dead Time Kirk Pepperdine Principle Kodewerk Ltd. Me Work as a performance tuning freelancer Nominated Sun Java Champion www.kodewerk.com
More informationJennifer B. Sartor. jsartor/
Jennifer B. Sartor http://users.elis.ugent.be/ jsartor/ Professor Vrije Universiteit Brussel SOFT, Vrije Universiteit Brussel Pleinlaan 2 B-1050 Brussels, Belgium Jennifer.Sartor@vub.ac.be Post-doc Ghent
More informationRuntime. The optimized program is ready to run What sorts of facilities are available at runtime
Runtime The optimized program is ready to run What sorts of facilities are available at runtime Compiler Passes Analysis of input program (front-end) character stream Lexical Analysis token stream Syntactic
More informationG1 Garbage Collector Details and Tuning. Simone Bordet
G1 Garbage Collector Details and Tuning Who Am I - @simonebordet Lead Architect at Intalio/Webtide Jetty's HTTP/2, SPDY and HTTP client maintainer Open Source Contributor Jetty, CometD, MX4J, Foxtrot,
More informationLecture 15 Garbage Collection
Lecture 15 Garbage Collection I. Introduction to GC -- Reference Counting -- Basic Trace-Based GC II. Copying Collectors III. Break Up GC in Time (Incremental) IV. Break Up GC in Space (Partial) Readings:
More informationSoftware Speculative Multithreading for Java
Software Speculative Multithreading for Java Christopher J.F. Pickett and Clark Verbrugge School of Computer Science, McGill University {cpicke,clump}@sable.mcgill.ca Allan Kielstra IBM Toronto Lab kielstra@ca.ibm.com
More informationAutomatic Memory Management
Automatic Memory Management Why Automatic Memory Management? Storage management is still a hard problem in modern programming Why Automatic Memory Management? Storage management is still a hard problem
More informationLow latency & Mechanical Sympathy: Issues and solutions
Low latency & Mechanical Sympathy: Issues and solutions Jean-Philippe BEMPEL Performance Architect @jpbempel http://jpbempel.blogspot.com ULLINK 2016 Low latency order router pure Java SE application FIX
More informationA JVM Does What? Eva Andreasson Product Manager, Azul Systems
A JVM Does What? Eva Andreasson Product Manager, Azul Systems Presenter Eva Andreasson Innovator & Problem solver Implemented the Deterministic GC of JRockit Real Time Awarded patents on GC heuristics
More informationManaged runtimes & garbage collection. CSE 6341 Some slides by Kathryn McKinley
Managed runtimes & garbage collection CSE 6341 Some slides by Kathryn McKinley 1 Managed runtimes Advantages? Disadvantages? 2 Managed runtimes Advantages? Reliability Security Portability Performance?
More informationJava Performance Evaluation through Rigorous Replay Compilation
Java Performance Evaluation through Rigorous Replay Compilation Andy Georges Lieven Eeckhout Dries Buytaert Department Electronics and Information Systems, Ghent University, Belgium {ageorges,leeckhou}@elis.ugent.be,
More informationHow to keep capacity predictions on target and cut CPU usage by 5x
How to keep capacity predictions on target and cut CPU usage by 5x Lessons from capacity planning a Java enterprise application Kansas City, Sep 27 2016 Stefano Doni stefano.doni@moviri.com @stef3a linkedin.com/in/stefanodoni
More informationGarbage Collection. Akim D le, Etienne Renault, Roland Levillain. May 15, CCMP2 Garbage Collection May 15, / 35
Garbage Collection Akim Demaille, Etienne Renault, Roland Levillain May 15, 2017 CCMP2 Garbage Collection May 15, 2017 1 / 35 Table of contents 1 Motivations and Definitions 2 Reference Counting Garbage
More informationJVM and application bottlenecks troubleshooting
JVM and application bottlenecks troubleshooting How to find problems without using sophisticated tools Daniel Witkowski, EMEA Technical Manager, Azul Systems Daniel Witkowski - About me IT consultant and
More informationEnabling Java-based VoIP backend platforms through JVM performance tuning
Enabling Java-based VoIP backend platforms through JVM performance tuning (Bruno Van Den Bossche, Filip De Turck, April 3rd 2006) 3 April, 2006, 1 Outline Introduction Java 4 Telecom Evaluation Setup Hardware
More informationA Trace-based Java JIT Compiler Retrofitted from a Method-based Compiler
A Trace-based Java JIT Compiler Retrofitted from a Method-based Compiler Hiroshi Inoue, Hiroshige Hayashizaki, Peng Wu and Toshio Nakatani IBM Research Tokyo IBM Research T.J. Watson Research Center April
More informationLANGUAGE RUNTIME NON-VOLATILE RAM AWARE SWAPPING
Technical Disclosure Commons Defensive Publications Series July 03, 2017 LANGUAGE RUNTIME NON-VOLATILE AWARE SWAPPING Follow this and additional works at: http://www.tdcommons.org/dpubs_series Recommended
More informationThe Z Garbage Collector An Introduction
The Z Garbage Collector An Introduction Per Lidén & Stefan Karlsson HotSpot Garbage Collection Team FOSDEM 2018 Safe Harbor Statement The following is intended to outline our general product direction.
More informationManaged runtimes & garbage collection
Managed runtimes Advantages? Managed runtimes & garbage collection CSE 631 Some slides by Kathryn McKinley Disadvantages? 1 2 Managed runtimes Portability (& performance) Advantages? Reliability Security
More informationEventrons: A Safe Programming Construct for High-Frequency Hard Real-Time Applications
Eventrons: A Safe Programming Construct for High-Frequency Hard Real-Time Applications Daniel Spoonhower Carnegie Mellon University Joint work with Joshua Auerbach, David F. Bacon, Perry Cheng, David Grove
More informationTask-Aware Garbage Collection in a Multi-Tasking Virtual Machine
Task-Aware Garbage Collection in a Multi-Tasking Virtual Machine Sunil Soman Computer Science Department University of California, Santa Barbara Santa Barbara, CA 9316, USA sunils@cs.ucsb.edu Laurent Daynès
More informationDynamic Selection of Application-Specific Garbage Collectors
Dynamic Selection of Application-Specific Garbage Collectors Sunil V. Soman Chandra Krintz University of California, Santa Barbara David F. Bacon IBM T.J. Watson Research Center Background VMs/managed
More informationDesigning experiments Performing experiments in Java Intel s Manycore Testing Lab
Designing experiments Performing experiments in Java Intel s Manycore Testing Lab High quality results that capture, e.g., How an algorithm scales Which of several algorithms performs best Pretty graphs
More informationA new Mono GC. Paolo Molaro October 25, 2006
A new Mono GC Paolo Molaro lupus@novell.com October 25, 2006 Current GC: why Boehm Ported to the major architectures and systems Featurefull Very easy to integrate Handles managed pointers in unmanaged
More informationJava Performance: The Definitive Guide
Java Performance: The Definitive Guide Scott Oaks Beijing Cambridge Farnham Kbln Sebastopol Tokyo O'REILLY Table of Contents Preface ix 1. Introduction 1 A Brief Outline 2 Platforms and Conventions 2 JVM
More informationImplementation Garbage Collection
CITS 3242 Programming Paradigms Part IV: Advanced Topics Topic 19: Implementation Garbage Collection Most languages in the functional, logic, and object-oriented paradigms include some form of automatic
More informationGarbage Collection. Steven R. Bagley
Garbage Collection Steven R. Bagley Reference Counting Counts number of pointers to an Object deleted when the count hits zero Eager deleted as soon as it is finished with Problem: Circular references
More informationAllocating memory in a lock-free manner
Allocating memory in a lock-free manner Anders Gidenstam, Marina Papatriantafilou and Philippas Tsigas Distributed Computing and Systems group, Department of Computer Science and Engineering, Chalmers
More informationAzul Pauseless Garbage Collection
TECHNOLOGY WHITE PAPER Azul Pauseless Garbage Collection Providing continuous, pauseless operation for Java applications Executive Summary Conventional garbage collection approaches limit the scalability
More informationCMSC 330: Organization of Programming Languages
CMSC 330: Organization of Programming Languages Memory Management and Garbage Collection CMSC 330 - Spring 2013 1 Memory Attributes! Memory to store data in programming languages has the following lifecycle
More informationJava Application Performance Tuning for AMD EPYC Processors
Java Application Performance Tuning for AMD EPYC Processors Publication # 56245 Revision: 0.70 Issue Date: January 2018 Advanced Micro Devices 2018 Advanced Micro Devices, Inc. All rights reserved. The
More informationComplex, concurrent software. Precision (no false positives) Find real bugs in real executions
Harry Xu May 2012 Complex, concurrent software Precision (no false positives) Find real bugs in real executions Need to modify JVM (e.g., object layout, GC, or ISA-level code) Need to demonstrate realism
More informationZBD: Using Transparent Compression at the Block Level to Increase Storage Space Efficiency
ZBD: Using Transparent Compression at the Block Level to Increase Storage Space Efficiency Thanos Makatos, Yannis Klonatos, Manolis Marazakis, Michail D. Flouris, and Angelos Bilas {mcatos,klonatos,maraz,flouris,bilas}@ics.forth.gr
More informationRethinking the Memory Hierarchy for Modern Languages. Po-An Tsai, Yee Ling Gan, and Daniel Sanchez
Rethinking the Memory Hierarchy for Modern Languages Po-An Tsai, Yee Ling Gan, and Daniel Sanchez Memory systems expose an inexpressive interface 2 Memory systems expose an inexpressive interface Flat
More informationOne-Slide Summary. Lecture Outine. Automatic Memory Management #1. Why Automatic Memory Management? Garbage Collection.
Automatic Memory Management #1 One-Slide Summary An automatic memory management system deallocates objects when they are no longer used and reclaims their storage space. We must be conservative and only
More informationJennifer B. Sartor. jsartor/index.html
Jennifer B. Sartor http://soft.vub.ac.be/ jsartor/index.html SOFT, Vrije Universiteit Brussel Pleinlaan 2 B-1050 Brussels, Belgium Jennifer.Sartor@vub.ac.be Research Managed runtime environments, memory
More informationExploiting FIFO Scheduler to Improve Parallel Garbage Collection Performance
Exploiting FIFO Scheduler to Improve Parallel Garbage Collection Performance Junjie Qian, Witawas Srisa-an, Sharad Seth, Hong Jiang, Du Li, Pan Yi University of Nebraska Lincoln, University of Texas Arlington,
More informationRun-Time Environments/Garbage Collection
Run-Time Environments/Garbage Collection Department of Computer Science, Faculty of ICT January 5, 2014 Introduction Compilers need to be aware of the run-time environment in which their compiled programs
More informationwebmethods Task Engine 9.9 on Red Hat Operating System
webmethods Task Engine 9.9 on Red Hat Operating System Performance Technical Report 1 2015 Software AG. All rights reserved. Table of Contents INTRODUCTION 3 1.0 Benchmark Goals 4 2.0 Hardware and Software
More informationPointer Analysis in the Presence of Dynamic Class Loading. Hind Presented by Brian Russell
Pointer Analysis in the Presence of Dynamic Class Loading Martin Hirzel, Amer Diwan and Michael Hind Presented by Brian Russell Claim: First nontrivial pointer analysis dealing with all Java language features
More informationJava Without the Jitter
TECHNOLOGY WHITE PAPER Achieving Ultra-Low Latency Table of Contents Executive Summary... 3 Introduction... 4 Why Java Pauses Can t Be Tuned Away.... 5 Modern Servers Have Huge Capacities Why Hasn t Latency
More informationThe Application Memory Wall
The Application Memory Wall Thoughts on the state of the art in Garbage Collection Gil Tene, CTO & co-founder, Azul Systems 2011 Azul Systems, Inc. About me: Gil Tene co-founder, CTO @Azul Systems Have
More informationHow Data Volume Affects Spark Based Data Analytics on a Scale-up Server
How Data Volume Affects Spark Based Data Analytics on a Scale-up Server Ahsan Javed Awan EMJD-DC (KTH-UPC) (https://www.kth.se/profile/ajawan/) Mats Brorsson(KTH), Vladimir Vlassov(KTH) and Eduard Ayguade(UPC
More informationJava On Steroids: Sun s High-Performance Java Implementation. History
Java On Steroids: Sun s High-Performance Java Implementation Urs Hölzle Lars Bak Steffen Grarup Robert Griesemer Srdjan Mitrovic Sun Microsystems History First Java implementations: interpreters compact
More informationSRM-Buffer: An OS Buffer Management Technique to Prevent Last Level Cache from Thrashing in Multicores
SRM-Buffer: An OS Buffer Management Technique to Prevent Last Level Cache from Thrashing in Multicores Xiaoning Ding et al. EuroSys 09 Presented by Kaige Yan 1 Introduction Background SRM buffer design
More informationA Side-channel Attack on HotSpot Heap Management. Xiaofeng Wu, Kun Suo, Yong Zhao, Jia Rao The University of Texas at Arlington
A Side-channel Attack on HotSpot Heap Management Xiaofeng Wu, Kun Suo, Yong Zhao, Jia Rao The University of Texas at Arlington HotCloud 18 July 9, 2018 1 Side-Channel Attack Attack based on information
More informationQuantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management Matthew Hertz Canisius College Emery Berger University of Massachusetts Amherst Explicit Memory Management malloc / new
More informationNew Java performance developments: compilation and garbage collection
New Java performance developments: compilation and garbage collection Jeroen Borgers @jborgers #jfall17 Part 1: New in Java compilation Part 2: New in Java garbage collection 2 Part 1 New in Java compilation
More informationGarbage Collection Algorithms. Ganesh Bikshandi
Garbage Collection Algorithms Ganesh Bikshandi Announcement MP4 posted Term paper posted Introduction Garbage : discarded or useless material Collection : the act or process of collecting Garbage collection
More informationTRASH DAY: COORDINATING GARBAGE COLLECTION IN DISTRIBUTED SYSTEMS
TRASH DAY: COORDINATING GARBAGE COLLECTION IN DISTRIBUTED SYSTEMS Martin Maas* Tim Harris KrsteAsanovic* John Kubiatowicz* *University of California, Berkeley Oracle Labs, Cambridge Why you should care
More information