A Side-channel Attack on HotSpot Heap Management. Xiaofeng Wu, Kun Suo, Yong Zhao, Jia Rao The University of Texas at Arlington

Size: px
Start display at page:

Download "A Side-channel Attack on HotSpot Heap Management. Xiaofeng Wu, Kun Suo, Yong Zhao, Jia Rao The University of Texas at Arlington"

Transcription

1 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,

2 Side-Channel Attack Attack based on information gained from the implementation of a computer system Shared cache Timing Power consumption Acoustic measurement Steal or infer secrets Infer user activities to launch well-timedattack Attack shared clock in multi-tenant systems to manipulate users time measurement 2

3 Garbage Collection in HotSpot JVM Parallel Scavenge eden s0 s1 young gen old gen : Minor GC : Major GC Other threads Stop The World VM thread GC threads VM thread Other threads Each individual GC shouldn t take too long large heap Total time spent in GC shouldn t be too much small heap, too frequent GC 3

4 Adaptive Heap Sizing in PS GC Three objectives Meet pause time target Meet throughput goal Minimize memory footprint JVM automatically determines the heap size in the range of the initial (-Xms) and the maximum (-Xmx) heap sizes Pause time Throughput Footprint Shrink heap Expand heap Shrink heap Time is used as an indirect measure for memory efficiency 4

5 Minor and Major GC T1 Vulnerability T2 Mem alloc failure Minor GC Fail Check free space in Old Gen Not enough Major GC Fail 1st Alloc in Young Gen Fail Minor GC Major GC Minor GC T3 Major GC T4 step must be performed 2nd Alloc in Young Gen Fail 3rd Alloc in Old Gen Fail Major GC Major GC Minor GC cost = T2 / ( T1+T2 ) Major GC cost = T4 / ( T3+T4 ) Minor time Major time Minor GC time Major GC time step may be performed 5th Alloc in Old Gen Fail Fail 4th Alloc in Young Gen Out of Memory JVM infers heap efficiency based on measured lengths of minor and major GCs, and adjusts heap size accordingly JVM throws an out-of-memory (OOM) error if five GCs fail to resolve the memory allocation failure 5

6 Shared Clock GC starts JVM is running JVM is not running JVM is running GC ends = wall-clock time = virtual time Measured GC time gettimeofday() gettimeofday() Time measurement can be inaccurate in the presenceof CPUmultiplexing 6

7 Three Types of Attacks Cause OOM errors Prevent JVM from expanding the heap in 5 GCs Cause excessive GC Cause bloated heap 7

8 OOM Attack Attack pausetime target When there is a spike in memory demand and allocation failure, attack major GC measurement Dilated major GC time cause the heap to shrink, missing the opportunity to avoid OOMerrors Pause time Throughput Shrink heap Expand heap Footprint Shrink heap 8

9 Excessive GC Attack T1 T2 T5 Minor GC Major GC Minor GC Minor GC Major GC T3 T4 T6 T1 T2 T5 Minor GC Major GC Minor GC Minor GC Major GC T3 T4 T6 Similar to OOM attack but more general Targetmajor GC, dilate its time Old generation have a tendency to drop quickly, and the decrement of heap size results in more GCs 9

10 <latexit sha1_base64="rjym03mwzs1hdtq10uc/ee8jsga=">aaacbnicbvdlsgmxfm3uv62vuzcibisgcgwmclorim5cvpg+ob1kjs10qjpjkgsemszkjb/ixouibv0gd/6natslbt1w4xdovstnbamjsjvot1vawv1b3yhvvra2d3b37p2dthkpxksfbroygybfgowkpalmpjtigukaku4wvp36nqcifrxc05oe+deacrpsjlsrbvaxf0mrjqik1faa9kojcoa5uzlzr54p7kptc2aay8qtsbuuaa7sr/5q4dqmxgogloq5tql9delnmsn5pz8qkia8ripsm5sjmcg/m8xi4alrhjau0gzxckb+vshqrnqkdsxmjhskfr2p+j/xs3v45weum5ce4/ldycqgfndacrxssbbme0mqltt8feiimsq0aa5isnaxiy+tdr3mojx3/qlaucnqkimjcalogasuqqpcgszoaqwewtn4bw/wk/vivvsf89wsvdwcgj+wpn8a/xqyjw==</latexit> <latexit sha1_base64="rjym03mwzs1hdtq10uc/ee8jsga=">aaacbnicbvdlsgmxfm3uv62vuzcibisgcgwmclorim5cvpg+ob1kjs10qjpjkgsemszkjb/ixouibv0gd/6natslbt1w4xdovstnbamjsjvot1vawv1b3yhvvra2d3b37p2dthkpxksfbroygybfgowkpalmpjtigukaku4wvp36nqcifrxc05oe+deacrpsjlsrbvaxf0mrjqik1faa9kojcoa5uzlzr54p7kptc2aay8qtsbuuaa7sr/5q4dqmxgogloq5tql9delnmsn5pz8qkia8ripsm5sjmcg/m8xi4alrhjau0gzxckb+vshqrnqkdsxmjhskfr2p+j/xs3v45weum5ce4/ldycqgfndacrxssbbme0mqltt8feiimsq0aa5isnaxiy+tdr3mojx3/qlaucnqkimjcalogasuqqpcgszoaqwewtn4bw/wk/vivvsf89wsvdwcgj+wpn8a/xqyjw==</latexit> <latexit sha1_base64="rjym03mwzs1hdtq10uc/ee8jsga=">aaacbnicbvdlsgmxfm3uv62vuzcibisgcgwmclorim5cvpg+ob1kjs10qjpjkgsemszkjb/ixouibv0gd/6natslbt1w4xdovstnbamjsjvot1vawv1b3yhvvra2d3b37p2dthkpxksfbroygybfgowkpalmpjtigukaku4wvp36nqcifrxc05oe+deacrpsjlsrbvaxf0mrjqik1faa9kojcoa5uzlzr54p7kptc2aay8qtsbuuaa7sr/5q4dqmxgogloq5tql9delnmsn5pz8qkia8ripsm5sjmcg/m8xi4alrhjau0gzxckb+vshqrnqkdsxmjhskfr2p+j/xs3v45weum5ce4/ldycqgfndacrxssbbme0mqltt8feiimsq0aa5isnaxiy+tdr3mojx3/qlaucnqkimjcalogasuqqpcgszoaqwewtn4bw/wk/vivvsf89wsvdwcgj+wpn8a/xqyjw==</latexit> <latexit sha1_base64="rjym03mwzs1hdtq10uc/ee8jsga=">aaacbnicbvdlsgmxfm3uv62vuzcibisgcgwmclorim5cvpg+ob1kjs10qjpjkgsemszkjb/ixouibv0gd/6natslbt1w4xdovstnbamjsjvot1vawv1b3yhvvra2d3b37p2dthkpxksfbroygybfgowkpalmpjtigukaku4wvp36nqcifrxc05oe+deacrpsjlsrbvaxf0mrjqik1faa9kojcoa5uzlzr54p7kptc2aay8qtsbuuaa7sr/5q4dqmxgogloq5tql9delnmsn5pz8qkia8ripsm5sjmcg/m8xi4alrhjau0gzxckb+vshqrnqkdsxmjhskfr2p+j/xs3v45weum5ce4/ldycqgfndacrxssbbme0mqltt8feiimsq0aa5isnaxiy+tdr3mojx3/qlaucnqkimjcalogasuqqpcgszoaqwewtn4bw/wk/vivvsf89wsvdwcgj+wpn8a/xqyjw==</latexit> <latexit sha1_base64="iz8fzpfeaeztvvcsmzjyvjlopic=">aaacdnicbvdlssnafj3uv62vqes3g6uoccupgm6eohuxfdihtlfmppnm6gqszizccfkcn/6kgxekuhxtzr9x0mahrqcuhm65l5lzvjhrqszr2yitrk6tb5q3k1vbo7t75v5br0ajwksnixajnockyzsttqkkkv4scao9rrre5cb3uw9esbpxr01j4ozozklpmvjagpo1jxbrmg7irn2njxm8ggnfijw6dqbnzgnkajy0q1bdmgeue7sgvvcgnts/bqmijyhhcjmkzd+2yuwmscikgckqg0ssgoejgpo+phyfrlrple4ga1ozqt8sericm/x3rypckaehpzddpak56oxif14/uf6lm1kuwxko5w/5cymqgnk3ceqfwypnnufyup1xiaok61c6wyouwv6mvew6jbpt1e2782rzuqijdi7amtgfnrgatxalwqanmhgez+avvblpxovxbnzmv0tgcxmi/sd4/aem/ztx</latexit> <latexit sha1_base64="iz8fzpfeaeztvvcsmzjyvjlopic=">aaacdnicbvdlssnafj3uv62vqes3g6uoccupgm6eohuxfdihtlfmppnm6gqszizccfkcn/6kgxekuhxtzr9x0mahrqcuhm65l5lzvjhrqszr2yitrk6tb5q3k1vbo7t75v5br0ajwksnixajnockyzsttqkkkv4scao9rrre5cb3uw9esbpxr01j4ozozklpmvjagpo1jxbrmg7irn2njxm8ggnfijw6dqbnzgnkajy0q1bdmgeue7sgvvcgnts/bqmijyhhcjmkzd+2yuwmscikgckqg0ssgoejgpo+phyfrlrple4ga1ozqt8sericm/x3rypckaehpzddpak56oxif14/uf6lm1kuwxko5w/5cymqgnk3ceqfwypnnufyup1xiaok61c6wyouwv6mvew6jbpt1e2782rzuqijdi7amtgfnrgatxalwqanmhgez+avvblpxovxbnzmv0tgcxmi/sd4/aem/ztx</latexit> <latexit sha1_base64="iz8fzpfeaeztvvcsmzjyvjlopic=">aaacdnicbvdlssnafj3uv62vqes3g6uoccupgm6eohuxfdihtlfmppnm6gqszizccfkcn/6kgxekuhxtzr9x0mahrqcuhm65l5lzvjhrqszr2yitrk6tb5q3k1vbo7t75v5br0ajwksnixajnockyzsttqkkkv4scao9rrre5cb3uw9esbpxr01j4ozozklpmvjagpo1jxbrmg7irn2njxm8ggnfijw6dqbnzgnkajy0q1bdmgeue7sgvvcgnts/bqmijyhhcjmkzd+2yuwmscikgckqg0ssgoejgpo+phyfrlrple4ga1ozqt8sericm/x3rypckaehpzddpak56oxif14/uf6lm1kuwxko5w/5cymqgnk3ceqfwypnnufyup1xiaok61c6wyouwv6mvew6jbpt1e2782rzuqijdi7amtgfnrgatxalwqanmhgez+avvblpxovxbnzmv0tgcxmi/sd4/aem/ztx</latexit> <latexit sha1_base64="iz8fzpfeaeztvvcsmzjyvjlopic=">aaacdnicbvdlssnafj3uv62vqes3g6uoccupgm6eohuxfdihtlfmppnm6gqszizccfkcn/6kgxekuhxtzr9x0mahrqcuhm65l5lzvjhrqszr2yitrk6tb5q3k1vbo7t75v5br0ajwksnixajnockyzsttqkkkv4scao9rrre5cb3uw9esbpxr01j4ozozklpmvjagpo1jxbrmg7irn2njxm8ggnfijw6dqbnzgnkajy0q1bdmgeue7sgvvcgnts/bqmijyhhcjmkzd+2yuwmscikgckqg0ssgoejgpo+phyfrlrple4ga1ozqt8sericm/x3rypckaehpzddpak56oxif14/uf6lm1kuwxko5w/5cymqgnk3ceqfwypnnufyup1xiaok61c6wyouwv6mvew6jbpt1e2782rzuqijdi7amtgfnrgatxalwqanmhgez+avvblpxovxbnzmv0tgcxmi/sd4/aem/ztx</latexit> Memory Bloat Attack T1 T2 Minor GC T5 Major GC Minor GC Minor GC Major GC Violatethroughput target T3 T4 T6 Pause time Shrink heap T1 T2 T5 Minor GC Major GC Minor GC Minor GC Major GC Throughput Footprint Expand heap Shrink heap X T3 T4 T6 Throughput = T 1 T 1+T 2 Throughput 0 = T 1 T 1+T 2 0 Attack minor GC to prevent the heap from shrinking evenmemory demand drops 10

11 Launch Attacks Proof-of-concept attacks Modify JVM source code to manipulate GC time in the adaptive sizing algorithm Realistic attacks Use ebpf to monitor libjvm.so to obtain GC thread ID and slowdown a specific type of GC Use cgroup to limit the CPU usage of GC threads and hence dilate GC time Results Crash a Java-based micro-benchmark with OOM errors Cause ~65% more GC time in DaCapo Inflict up to ~400% memory bloat in SPECjvm

12 OOM Attack Attack major GC measurement JAVA_OPTION= -XX:+UseAdaptiveSizePolicy -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=10 -Xms = 32m -Xmx = 2g Both proof-of-concept and realistic attacks crash the micro-benchmark ArrayDeque 50 Bytes 20 MB A micro-benchmark with a sudden spike in memory demand Pause time Throughput Shrink heap Expand heap Footprint Shrink heap 12

13 Discussion Essence of the problem Heap size should be determined by the characteristics of a Java program But heap efficiency is measured by GC time, an indirect measure ExternalCPU contention can affect internal heap management Many programs designed for dedicated systems are vulnerable to similarattacks in multi-tenant systems CPU multiplexing à wall-clock time or virtual time? VMs, containers, conventional processes Linux jiffies and userspace gettimeofday track wall-clock time Linux CFS usessteal_clock to track virtual time for thread scheduling See our [Suo-SoCC17] paper for another issuecausedby time discontinuity 13

14 Is this a real problem? No No evidence that many applications suffer from inaccurate time measurement. Even so, the effect is random and universally distributed among applications. Ourattack is sophisticated and needs to target a specific type of GC, not easy. Should we devise a completely isolated virtual time interface for individual programs/vms/containers? Yes In theory, if not measuring absolute latency, time measurement that is only relevant to a particular program or to measure the relative progress of program threads, should usevirtual time This could be the source of erroneous program behavior, unpredictability and inefficiency 14

15 Thank you! Questions? 15

16 Backup Slides 16

17 A Realistic Attack All experiments were conducted on a 64-core machine using OpenJDK 1.8 and Linux The JVM was configured with 10 GC threads. Benchmark Dacapo: h2 SPECjvm2008: mpegaudio 17

18 Pause time-oriented Attack (excessive GC) A realistic attack usingebpf Benchmark: h2 from Dacapo The initial and maximum heap sizes: 16 MB and 900 MB The maximum pause time is set to 100 ms The attack shrinks the heap, causing 88% more GC time 18

19 Cont d - Pause time-oriented We choose h2 from Dacapo-9.12-MR1-bach as a case study execute a number of transactions set the maximum pause time as 100 ms The overhead induced by the pause time-oriented attack to the micro-benchmark. 19

20 Cont d - Throughput-oriented (a) Changes of heap size without attack ArrayDeque 50 Bytes -Xms32m -Xmx32g Heap size is 1.61 larger Size (MB) Used heap before GC Used heap after GC Heap size Time (s) (b) Changes of heap size under attack pause time throughput footprint reduce generation increase generation reduce generation Size (MB) Time (s)

21 Throughput-oriented Attack (memory bloat) w/o attack (a) Changes of heap size without attack Size (MB) Used heap before GC Used heap after GC Heap size A realistic attack usingebpf mpegaudio from SPECjvm2008 The initial and maximum heap sizes: 32 MB and 2.5GB Time (s) under attack (b) Changes of heap size under attack Size (MB) Time (s) The attack prevents the heap fromshrinking when memory demand drops, causing more than 400% waste of memory 21

Dynamic Vertical Memory Scalability for OpenJDK Cloud Applications

Dynamic 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 information

JVM Memory Model and GC

JVM 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 information

Java Performance Tuning

Java 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 information

Preserving I/O Prioritization in Virtualized OSes

Preserving I/O Prioritization in Virtualized OSes Preserving I/O Prioritization in Virtualized OSes Kun Suo 1, Yong Zhao 1, Jia Rao 1, Luwei Cheng 2, Xiaobo Zhou 3, Francis C. M. Lau 4 The University of Texas at Arlington 1, Facebook 2, University of

More information

Java Application Performance Tuning for AMD EPYC Processors

Java 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 information

Optimising Multicore JVMs. Khaled Alnowaiser

Optimising 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 information

NG2C: Pretenuring Garbage Collection with Dynamic Generations for HotSpot Big Data Applications

NG2C: 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 information

MEMORY MANAGEMENT HEAP, STACK AND GARBAGE COLLECTION

MEMORY MANAGEMENT HEAP, STACK AND GARBAGE COLLECTION MEMORY MANAGEMENT HEAP, STACK AND GARBAGE COLLECTION 2 1. What is the Heap Size: 2 2. What is Garbage Collection: 3 3. How are Java objects stored in memory? 3 4. What is the difference between stack and

More information

Performance Tuning ScrumWorks Pro Server

Performance Tuning ScrumWorks Pro Server Performance Tuning ScrumWorks Pro Server Summary Audience: ScrumWorks Pro Server Systems Administrators This document provides a summary of performance tuning measures for ScrumWorks Pro Servers with large

More information

Fundamentals of GC Tuning. Charlie Hunt JVM & Performance Junkie

Fundamentals of GC Tuning. Charlie Hunt JVM & Performance Junkie Fundamentals of GC Tuning Charlie Hunt JVM & Performance Junkie Who is this guy? Charlie Hunt Currently leading a variety of HotSpot JVM projects at Oracle Held various performance architect roles at Oracle,

More information

2011 Oracle Corporation and Affiliates. Do not re-distribute!

2011 Oracle Corporation and Affiliates. Do not re-distribute! How to Write Low Latency Java Applications Charlie Hunt Java HotSpot VM Performance Lead Engineer Who is this guy? Charlie Hunt Lead JVM Performance Engineer at Oracle 12+ years of

More information

Typical Issues with Middleware

Typical Issues with Middleware Typical Issues with Middleware HrOUG 2016 Timur Akhmadeev October 2016 About Me Database Consultant at Pythian 10+ years with Database and Java Systems Performance and Architecture OakTable member 3 rd

More information

Runtime Application Self-Protection (RASP) Performance Metrics

Runtime 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 information

HBase Practice At Xiaomi.

HBase Practice At Xiaomi. HBase Practice At Xiaomi huzheng@xiaomi.com About This Talk Async HBase Client Why Async HBase Client Implementation Performance How do we tuning G1GC for HBase CMS vs G1 Tuning G1GC G1GC in XiaoMi HBase

More information

Oracle JRockit. Performance Tuning Guide Release R28 E

Oracle JRockit. Performance Tuning Guide Release R28 E Oracle JRockit Performance Tuning Guide Release R28 E15060-04 December 2011 Oracle JRockit Performance Tuning Guide, Release R28 E15060-04 Copyright 2001, 2011, Oracle and/or its affiliates. All rights

More information

How 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 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 information

Attila Szegedi, Software

Attila Szegedi, Software Attila Szegedi, Software Engineer @asz Everything I ever learned about JVM performance tuning @twitter Everything More than I ever wanted to learned about JVM performance tuning @twitter Memory tuning

More information

Continuous Object Access Profiling and Optimizations to Overcome the Memory Wall and Bloat

Continuous Object Access Profiling and Optimizations to Overcome the Memory Wall and Bloat Continuous Object Access Profiling and Optimizations to Overcome the Memory Wall and Bloat Rei Odaira, Toshio Nakatani IBM Research Tokyo ASPLOS 2012 March 5, 2012 Many Wasteful Objects Hurt Performance.

More information

JVM Troubleshooting MOOC: Troubleshooting Memory Issues in Java Applications

JVM Troubleshooting MOOC: Troubleshooting Memory Issues in Java Applications JVM Troubleshooting MOOC: Troubleshooting Memory Issues in Java Applications Poonam Parhar JVM Sustaining Engineer Oracle Lesson 1 HotSpot JVM Memory Management Poonam Parhar JVM Sustaining Engineer Oracle

More information

Efficient Runtime Tracking of Allocation Sites in Java

Efficient Runtime Tracking of Allocation Sites in Java Efficient Runtime Tracking of Allocation Sites in Java Rei Odaira, Kazunori Ogata, Kiyokuni Kawachiya, Tamiya Onodera, Toshio Nakatani IBM Research - Tokyo Why Do You Need Allocation Site Information?

More information

OS-caused Long JVM Pauses - Deep Dive and Solutions

OS-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 information

IBM Cognos ReportNet and the Java Heap

IBM Cognos ReportNet and the Java Heap Proven Practice IBM Cognos ReportNet and the Java Heap Product(s): IBM Cognos ReportNet, IBM Cognos 8 Area of Interest: Performance 2 Copyright Copyright 2008 Cognos ULC (formerly Cognos Incorporated).

More information

Enabling Java-based VoIP backend platforms through JVM performance tuning

Enabling 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 information

Java Performance Tuning From A Garbage Collection Perspective. Nagendra Nagarajayya MDE

Java Performance Tuning From A Garbage Collection Perspective. Nagendra Nagarajayya MDE Java Performance Tuning From A Garbage Collection Perspective Nagendra Nagarajayya MDE Agenda Introduction To Garbage Collection Performance Problems Due To Garbage Collection Performance Tuning Manual

More information

JVM Performance Tuning with respect to Garbage Collection(GC) policies for WebSphere Application Server V6.1 - Part 1

JVM 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 information

The Fundamentals of JVM Tuning

The Fundamentals of JVM Tuning The Fundamentals of JVM Tuning Charlie Hunt Architect, Performance Engineering Salesforce.com sfdc_ppt_corp_template_01_01_2012.ppt In a Nutshell What you need to know about a modern JVM to be effective

More information

Low latency & Mechanical Sympathy: Issues and solutions

Low 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 information

Shenandoah 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 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 information

JVM Performance Study Comparing Java HotSpot to Azul Zing Using Red Hat JBoss Data Grid

JVM Performance Study Comparing Java HotSpot to Azul Zing Using Red Hat JBoss Data Grid JVM Performance Study Comparing Java HotSpot to Azul Zing Using Red Hat JBoss Data Grid Legal Notices JBoss, Red Hat and their respective logos are trademarks or registered trademarks of Red Hat, Inc.

More information

Part I Garbage Collection Modeling: Progress Report

Part I Garbage Collection Modeling: Progress Report Part I Garbage Collection Modeling: Progress Report Peter Libič Department of Distributed and Dependable Systems http://d3s.mff.cuni.cz CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Last

More information

Preemptive, Low Latency Datacenter Scheduling via Lightweight Virtualization

Preemptive, Low Latency Datacenter Scheduling via Lightweight Virtualization Preemptive, Low Latency Datacenter Scheduling via Lightweight Virtualization Wei Chen, Jia Rao*, and Xiaobo Zhou University of Colorado, Colorado Springs * University of Texas at Arlington Data Center

More information

Java performance - not so scary after all

Java performance - not so scary after all Java performance - not so scary after all Holly Cummins IBM Hursley Labs 2009 IBM Corporation 2001 About me Joined IBM Began professional life writing event framework for WebSphere 2004 Moved to work on

More information

Limits of Parallel Marking Garbage Collection....how parallel can a GC become?

Limits of Parallel Marking Garbage Collection....how parallel can a GC become? Limits of Parallel Marking Garbage Collection...how parallel can a GC become? Dr. Fridtjof Siebert CTO, aicas ISMM 2008, Tucson, 7. June 2008 Introduction Parallel Hardware is becoming the norm even for

More information

New Java performance developments: compilation and garbage collection

New 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 information

Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide. Release 10

Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide. Release 10 Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide Release 10 E92394-01 March 2018 Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning

More information

G1 Garbage Collector Details and Tuning. Simone Bordet

G1 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 information

An Analysis and Empirical Study of Container Networks

An Analysis and Empirical Study of Container Networks An Analysis and Empirical Study of Container Networks Kun Suo *, Yong Zhao *, Wei Chen, Jia Rao * University of Texas at Arlington *, University of Colorado, Colorado Springs INFOCOM 2018@Hawaii, USA 1

More information

Lesson 2 Dissecting Memory Problems

Lesson 2 Dissecting Memory Problems Lesson 2 Dissecting Memory Problems Poonam Parhar JVM Sustaining Engineer Oracle Agenda 1. Symptoms of Memory Problems 2. Causes of Memory Problems 3. OutOfMemoryError messages 3 Lesson 2-1 Symptoms of

More information

PERFORMANCE ANALYSIS AND OPTIMIZATION OF SKIP LISTS FOR MODERN MULTI-CORE ARCHITECTURES

PERFORMANCE 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 information

Identifying the Sources of Cache Misses in Java Programs Without Relying on Hardware Counters. Hiroshi Inoue and Toshio Nakatani IBM Research - Tokyo

Identifying the Sources of Cache Misses in Java Programs Without Relying on Hardware Counters. Hiroshi Inoue and Toshio Nakatani IBM Research - Tokyo Identifying the Sources of Cache Misses in Java Programs Without Relying on Hardware Counters Hiroshi Inoue and Toshio Nakatani IBM Research - Tokyo June 15, 2012 ISMM 2012 at Beijing, China Motivation

More information

Version 6.x Deployment Note. Performance Tuning Guide

Version 6.x Deployment Note. Performance Tuning Guide Version 6.x Deployment Note Performance Tuning Guide 2012 Ping Identity Corporation. All rights reserved. PingFederate Performance Tuning Guide Version 2.0 October, 2012 About Development and Deployment

More information

Exploiting the Behavior of Generational Garbage Collector

Exploiting 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 information

An Empirical Analysis of Java Performance Quality

An Empirical Analysis of Java Performance Quality An Empirical Analysis of Java Performance Quality Simon Chow simonichow15@gmail.com Abstract Computer scientists have consistently searched for ways to optimize and improve Java performance utilizing a

More information

Do Your GC Logs Speak To You

Do Your GC Logs Speak To You Do Your GC Logs Speak To You Visualizing CMS, the (mostly) Concurrent Collector Copyright 2012 Kodewerk Ltd. All rights reserved About Me Consultant (www.kodewerk.com) performance tuning and training seminar

More information

THE TROUBLE WITH MEMORY

THE TROUBLE WITH MEMORY THE TROUBLE WITH MEMORY OUR MARKETING SLIDE Kirk Pepperdine Authors of jpdm, a performance diagnostic model Co-founded Building the smart generation of performance diagnostic tooling Bring predictability

More information

Azul Systems, Inc.

Azul Systems, Inc. 1 Stack Based Allocation in the Azul JVM Dr. Cliff Click cliffc@azulsystems.com 2005 Azul Systems, Inc. Background The Azul JVM is based on Sun HotSpot a State-of-the-Art Java VM Java is a GC'd language

More information

JDK 9/10/11 and Garbage Collection

JDK 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 information

JAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder

JAVA PERFORMANCE. PR SW2 S18 Dr. Prähofer DI Leopoldseder JAVA PERFORMANCE PR SW2 S18 Dr. Prähofer DI Leopoldseder OUTLINE 1. What is performance? 1. Benchmarking 2. What is Java performance? 1. Interpreter vs JIT 3. Tools to measure performance 4. Memory Performance

More information

Distributed caching for cloud computing

Distributed caching for cloud computing Distributed caching for cloud computing Maxime Lorrillere, Julien Sopena, Sébastien Monnet et Pierre Sens February 11, 2013 Maxime Lorrillere (LIP6/UPMC/CNRS) February 11, 2013 1 / 16 Introduction Context

More information

Garbage Collection. Hwansoo Han

Garbage 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 information

The 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 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 information

Dynamic Selection of Application-Specific Garbage Collectors

Dynamic 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 information

Configuring the Heap and Garbage Collector for Real- Time Programming.

Configuring 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 information

Java Garbage Collection Best Practices For Tuning GC

Java Garbage Collection Best Practices For Tuning GC Neil Masson, Java Support Technical Lead Java Garbage Collection Best Practices For Tuning GC Overview Introduction to Generational Garbage Collection The tenured space aka the old generation The nursery

More information

Ryan Sciampacone Senior Software Developer August 1 st Multitenant JVM. JVM Languages Summit IBM Corporation

Ryan Sciampacone Senior Software Developer August 1 st Multitenant JVM. JVM Languages Summit IBM Corporation Ryan Sciampacone Senior Software Developer August 1 st 2012 Multitenant JVM JVM Languages Summit 2012 Important Disclaimers THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL

More information

Concurrent Garbage Collection

Concurrent Garbage Collection Concurrent Garbage Collection Deepak Sreedhar JVM engineer, Azul Systems Java User Group Bangalore 1 @azulsystems azulsystems.com About me: Deepak Sreedhar JVM student at Azul Systems Currently working

More information

Towards Garbage Collection Modeling

Towards Garbage Collection Modeling Towards Garbage Collection Modeling Peter Libič Petr Tůma Department of Distributed and Dependable Systems Faculty of Mathematics and Physics, Charles University Malostranské nám. 25, 118 00 Prague, Czech

More information

Towards 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 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 information

Garbage collection. The Old Way. Manual labor. JVM and other platforms. By: Timo Jantunen

Garbage collection. The Old Way. Manual labor. JVM and other platforms. By: Timo Jantunen Garbage collection By: Timo Jantunen JVM and other platforms In computer science, garbage collection (gc) can mean few different things depending on context and definition. In this post, it means "freeing

More information

Eleos: Exit-Less OS Services for SGX Enclaves

Eleos: Exit-Less OS Services for SGX Enclaves Eleos: Exit-Less OS Services for SGX Enclaves Meni Orenbach Marina Minkin Pavel Lifshits Mark Silberstein Accelerated Computing Systems Lab Haifa, Israel What do we do? Improve performance: I/O intensive

More information

Diagnostics in Testing and Performance Engineering

Diagnostics in Testing and Performance Engineering Diagnostics in Testing and Performance Engineering This document talks about importance of diagnostics in application testing and performance engineering space. Here are some of the diagnostics best practices

More information

Generational Garbage Collection Theory and Best Practices

Generational Garbage Collection Theory and Best Practices Chris Bailey, Java Support Architect Generational Garbage Collection Theory and Best Practices Overview Introduction to Generational Garbage Collection The nursery space aka the young generation The tenured

More information

Java Garbage Collector Performance Measurements

Java Garbage Collector Performance Measurements WDS'09 Proceedings of Contributed Papers, Part I, 34 40, 2009. ISBN 978-80-7378-101-9 MATFYZPRESS Java Garbage Collector Performance Measurements P. Libič and P. Tůma Charles University, Faculty of Mathematics

More information

On The Limits of Modeling Generational Garbage Collector Performance

On The Limits of Modeling Generational Garbage Collector Performance On The Limits of Modeling Generational Garbage Collector Performance Peter Libič Lubomír Bulej Vojtěch Horký Petr Tůma Department of Distributed and Dependable Systems Faculty of Mathematics and Physics,

More information

Java & Coherence Simon Cook - Sales Consultant, FMW for Financial Services

Java & Coherence Simon Cook - Sales Consultant, FMW for Financial Services Java & Coherence Simon Cook - Sales Consultant, FMW for Financial Services with help from Adrian Nakon - CMC Markets & Andrew Wilson - RBS 1 Coherence Special Interest Group Meeting 1 st March 2012 Presentation

More information

Page 2 of 6 SUT Model Form Factor CPU CPU Characteristics Number of Systems 1 Nodes Per System 1 Chips Per System 2 Hardware hw_1 Cores Per System 44

Page 2 of 6 SUT Model Form Factor CPU CPU Characteristics Number of Systems 1 Nodes Per System 1 Chips Per System 2 Hardware hw_1 Cores Per System 44 Page 1 of 6 SPECjbb2015 Copyright 2015-2016 Standard Performance Evaluation Corporation Cisco Systems Cisco UCS C220 M4 Tested by: Cisco Systems SPEC license #: 9019 94667 SPECjbb2015-Multi max-jops 71951

More information

Algorithms for Dynamic Memory Management (236780) Lecture 4. Lecturer: Erez Petrank

Algorithms for Dynamic Memory Management (236780) Lecture 4. Lecturer: Erez Petrank Algorithms for Dynamic Memory Management (236780) Lecture 4 Lecturer: Erez Petrank!1 March 24, 2014 Topics last week The Copying Garbage Collector algorithm: Basics Cheney s collector Additional issues:

More information

Installing on WebLogic Server

Installing on WebLogic Server 155 Chapter 11 Installing on WebLogic Server This chapter provides instructions for performing a new installation of TIBCO Collaborative Information Manager on WebLogic Application Server in a non-clustered

More information

Towards Parallel, Scalable VM Services

Towards 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 information

The 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 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 information

Vertical Profiling: Understanding the Behavior of Object-Oriented Applications

Vertical Profiling: Understanding the Behavior of Object-Oriented Applications Vertical Profiling: Understanding the Behavior of Object-Oriented Applications Matthias Hauswirth, Amer Diwan University of Colorado at Boulder Peter F. Sweeney, Michael Hind IBM Thomas J. Watson Research

More information

NUMA in High-Level Languages. Patrick Siegler Non-Uniform Memory Architectures Hasso-Plattner-Institut

NUMA 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 information

High Performance Managed Languages. Martin Thompson

High Performance Managed Languages. Martin Thompson High Performance Managed Languages Martin Thompson - @mjpt777 Really, what is your preferred platform for building HFT applications? Why do you build low-latency applications on a GC ed platform? Agenda

More information

Task-Aware Garbage Collection in a Multi-Tasking Virtual Machine

Task-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 information

JBoss Performance Tuning. Bill Meyer JBoss Sr. Solutions Architect

JBoss Performance Tuning. Bill Meyer JBoss Sr. Solutions Architect JBoss Performance Tuning Bill Meyer JBoss Sr. Solutions Architect bill@redhat.com JVM Memory Tuning JVM Heap Total JVM Heap Major Collection Young Generation Minor Collection Old Generation Eden Survivor

More information

Running class Timing on Java HotSpot VM, 1

Running class Timing on Java HotSpot VM, 1 Compiler construction 2009 Lecture 3. A first look at optimization: Peephole optimization. A simple example A Java class public class A { public static int f (int x) { int r = 3; int s = r + 5; return

More information

A JVM Does What? Eva Andreasson Product Manager, Azul Systems

A 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 information

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra Legal Notices Apache Cassandra, Spark and Solr and their respective logos are trademarks or registered trademarks of

More information

Habanero Extreme Scale Software Research Project

Habanero Extreme Scale Software Research Project Habanero Extreme Scale Software Research Project Comp215: Garbage Collection Zoran Budimlić (Rice University) Adapted from Keith Cooper s 2014 lecture in COMP 215. Garbage Collection In Beverly Hills...

More information

Cross-Layer Memory Management for Managed Language Applications

Cross-Layer Memory Management for Managed Language Applications Cross-Layer Memory Management for Managed Language Applications Michael R. Jantz University of Tennessee mrjantz@utk.edu Forrest J. Robinson Prasad A. Kulkarni University of Kansas {fjrobinson,kulkarni}@ku.edu

More information

Heap Compression for Memory-Constrained Java

Heap 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 information

Memory Management. Disclaimer: some slides are adopted from book authors slides with permission 1

Memory Management. Disclaimer: some slides are adopted from book authors slides with permission 1 Memory Management Disclaimer: some slides are adopted from book authors slides with permission 1 CPU management Roadmap Process, thread, synchronization, scheduling Memory management Virtual memory Disk

More information

Hierarchical PLABs, CLABs, TLABs in Hotspot

Hierarchical 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 information

CS533 Concepts of Operating Systems. Jonathan Walpole

CS533 Concepts of Operating Systems. Jonathan Walpole CS533 Concepts of Operating Systems Jonathan Walpole Improving IPC by Kernel Design & The Performance of Micro- Kernel Based Systems The IPC Dilemma IPC is very import in µ-kernel design - Increases modularity,

More information

Java Memory Management. Märt Bakhoff Java Fundamentals

Java Memory Management. Märt Bakhoff Java Fundamentals Java Memory Management Märt Bakhoff Java Fundamentals 0..206 Agenda JVM memory Reference objects Monitoring Garbage collectors ParallelGC GGC 2/44 JVM memory Heap (user objects) Non-heap Stack (per thread:

More information

Designing experiments Performing experiments in Java Intel s Manycore Testing Lab

Designing 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 information

Java Without the Jitter

Java 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 information

Garbage Collection (aka Automatic Memory Management) Douglas Q. Hawkins. Why?

Garbage Collection (aka Automatic Memory Management) Douglas Q. Hawkins.  Why? Garbage Collection (aka Automatic Memory Management) Douglas Q. Hawkins http://www.dougqh.net dougqh@gmail.com Why? Leaky Abstraction 2 of 3 Optimization Flags Are For Memory Management Unfortunately,

More information

CS 345. Garbage Collection. Vitaly Shmatikov. slide 1

CS 345. Garbage Collection. Vitaly Shmatikov. slide 1 CS 345 Garbage Collection Vitaly Shmatikov slide 1 Major Areas of Memory Static area Fixed size, fixed content, allocated at compile time Run-time stack Variable size, variable content (activation records)

More information

Toward SLO Complying SSDs Through OPS Isolation

Toward SLO Complying SSDs Through OPS Isolation Toward SLO Complying SSDs Through OPS Isolation October 23, 2015 Hongik University UNIST (Ulsan National Institute of Science & Technology) Sam H. Noh 1 Outline Part 1: FAST 2015 Part 2: Beyond FAST 2

More information

AS-GC: An Efficient Generational Garbage Collector for Java Application Servers

AS-GC: An Efficient Generational Garbage Collector for Java Application Servers : An Efficient Generational Garbage Collector for Java Application Servers Feng Xian, Witawas Srisa-an, ChengHuan Jia, and Hong Jiang Computer Science and Engineering University of Nebraska-Lincoln Lincoln,

More information

Service Execution Platform WebOTX To Support Cloud Computing

Service Execution Platform WebOTX To Support Cloud Computing Service Execution Platform WebOTX To Support Cloud Computing KATOU Masayuki Abstract The trend toward reductions in IT investments due to the current economic climate has tended to focus our attention

More information

schuylkill.nws.noaa.gov http://schuylkill.nws.noaa.gov:7069/default.asp?w172 Using JConsole Bradley McCune (Hydrologic Services Division) 3/15/2013 Description CHPS is composed of numerous services and

More information

Cross-Layer Memory Management to Reduce DRAM Power Consumption

Cross-Layer Memory Management to Reduce DRAM Power Consumption Cross-Layer Memory Management to Reduce DRAM Power Consumption Michael Jantz Assistant Professor University of Tennessee, Knoxville 1 Introduction Assistant Professor at UT since August 2014 Before UT

More information

Compiler construction 2009

Compiler construction 2009 Compiler construction 2009 Lecture 3 JVM and optimization. A first look at optimization: Peephole optimization. A simple example A Java class public class A { public static int f (int x) { int r = 3; int

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

Towards information-flow aware automatic memory management

Towards information-flow aware automatic memory management Towards information-flow aware automatic memory management Aslan Askarov Aarhus University joint work w/ Mathias Pedersen INRIA Rennes 2017-01-27 2 2 I want to compute my taxes! I want to compute my taxes!

More information

Acknowledgements These slides are based on Kathryn McKinley s slides on garbage collection as well as E Christopher Lewis s slides

Acknowledgements 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 information

10/26/2017 Universal Java GC analysis tool - Java Garbage collection log analysis made easy

10/26/2017 Universal Java GC analysis tool - Java Garbage collection log analysis made easy Analysis Report GC log le: atlassian-jira-gc-2017-10-26_0012.log.0.current Duration: 14 hrs 59 min 51 sec System Time greater than User Time In 25 GC event(s), 'sys' time is greater than 'usr' time. It's

More information

Exploiting FIFO Scheduler to Improve Parallel Garbage Collection Performance

Exploiting 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 information