1 Utilizing Field Usage Patterns for Java Heap Space Optimization Z. Guo, N. Amaral, D. Szafron and Y. Wang Department of Computing Science University.

Slides:



Advertisements
Similar presentations
Tuning of Loop Cache Architectures to Programs in Embedded System Design Susan Cotterell and Frank Vahid Department of Computer Science and Engineering.
Advertisements

Introduction Why do we need Mobile OGSI.NET? Drawbacks:
Garbage collection David Walker CS 320. Where are we? Last time: A survey of common garbage collection techniques –Manual memory management –Reference.
1 Write Barrier Elision for Concurrent Garbage Collectors Martin T. Vechev Cambridge University David F. Bacon IBM T.J.Watson Research Center.
1 Line Distillation: Increasing Cache Capacity by Filtering Unused Words in Cache Lines Moinuddin K. Qureshi M. Aater Suleman Yale N. Patt HPCA 2007.
Di Yang, Elke A. Rundensteiner and Matthew O. Ward Worcester Polytechnic Institute VLDB 2009, Lyon, France 1 A Shared Execution Strategy for Multiple Pattern.
Object Field Analysis for Heap Space Optimization ISMM 2004 G. Chen, M. Kandemir, N. Vijaykrishnanan and M. J. Irwin The Pennsylvania State University.
Testarossa JIT Compilation Technology © 2012 IBM Corporation Exceptions: Not so rare as you'd think --Handling Exception Faster Chao Chen, Nikola Grcevski.
MC 2 : High Performance GC for Memory-Constrained Environments - Narendran Sachindran, J. Eliot B. Moss, Emery D. Berger Sowmiya Chocka Narayanan.
Code Compaction of an Operating System Kernel Haifeng He, John Trimble, Somu Perianayagam, Saumya Debray, Gregory Andrews Computer Science Department.
Cmput Lecture 8 Department of Computing Science University of Alberta ©Duane Szafron 2000 Revised 1/26/00 The Java Memory Model.
Increasing the Cache Efficiency by Eliminating Noise Philip A. Marshall.
A Hybrid Approach of Failed Disk Recovery Using RAID-6 Codes: Algorithms and Performance Evaluation Yinlong Xu University of Science and Technology of.
An Adaptive, Region-based Allocator for Java Feng Qian & Laurie Hendren 2002.
Constrained Optimization Economics 214 Lecture 41.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Adaptive Cache Compression for High-Performance Processors Alaa R. Alameldeen and David A.Wood Computer Sciences Department, University of Wisconsin- Madison.
Comparison of JVM Phases on Data Cache Performance Shiwen Hu and Lizy K. John Laboratory for Computer Architecture The University of Texas at Austin.
1 CMSC 132: Object-Oriented Programming II Java Constructs Department of Computer Science University of Maryland, College Park.
POLITECNICO DI TORINO TRIBUTE and DIMMER. DIMMER - The context One of the major challenges in today’s economy concerns the reduction in energy usage and.
Previous Next 06/18/2000Shanghai Jiaotong Univ. Computer Science & Engineering Dept. C+J Software Architecture Shanghai Jiaotong University Author: Lu,
A Prototypical Self-Optimizing Package for Parallel Implementation of Fast Signal Transforms Kang Chen and Jeremy Johnson Department of Mathematics and.
Arpit Jain Mtech1. Outline Introduction Dalvik VM Java VM Examples Comparisons Experimental Evaluation.
An Adaptive, Region-based Allocator for Java Feng Qian, Laurie Hendren {fqian, Sable Research Group School of Computer Science McGill.
Integrating Fine-Grained Application Adaptation with Global Adaptation for Saving Energy Vibhore Vardhan, Daniel G. Sachs, Wanghong Yuan, Albert F. Harris,
Y. Kotani · F. Ino · K. Hagihara Springer Science + Business Media B.V Reporter: 李長霖.
Institute of Computing Technology On Improving Heap Memory Layout by Dynamic Pool Allocation Zhenjiang Wang Chenggang Wu Institute of Computing Technology,
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Tekin Bicer Gagan Agrawal 1.
Context-Aware Interactive Content Adaptation Iqbal Mohomed, Jim Cai, Sina Chavoshi, Eyal de Lara Department of Computer Science University of Toronto MobiSys2006.
A Framework for Elastic Execution of Existing MPI Programs Aarthi Raveendran Graduate Student Department Of CSE 1.
Utilizing Call Admission Control for Pricing Optimization of Multiple Service Classes in Wireless Cellular Networks Authors : Okan Yilmaz, Ing-Ray Chen.
Revisiting Hardware-Assisted Page Walks for Virtualized Systems
Euro-Par, A Resource Allocation Approach for Supporting Time-Critical Applications in Grid Environments Qian Zhu and Gagan Agrawal Department of.
1 Tuning Garbage Collection in an Embedded Java Environment G. Chen, R. Shetty, M. Kandemir, N. Vijaykrishnan, M. J. Irwin Microsystems Design Lab The.
Reconfigurable Computing Using Content Addressable Memory (CAM) for Improved Performance and Resource Usage Group Members: Anderson Raid Marie Beltrao.
Garo Bournoutian and Alex Orailoglu Proceedings of the 45th ACM/IEEE Design Automation Conference (DAC’08) June /10/28.
Investigating the Effects of Using Different Nursery Sizing Policies on Performance Tony Guan, Witty Srisa-an, and Neo Jia Department of Computer Science.
1 Recursive Data Structure Profiling Easwaran Raman David I. August Princeton University.
Department of Computer Science MapReduce for the Cell B. E. Architecture Marc de Kruijf University of Wisconsin−Madison Advised by Professor Sankaralingam.
1 Garbage Collection Advantage: Improving Program Locality Xianglong Huang (UT) Stephen M Blackburn (ANU), Kathryn S McKinley (UT) J Eliot B Moss (UMass),
Runtime Software Power Estimation and Minimization Tao Li.
Department of Computer Sciences ISMM No Bit Left Behind: The Limits of Heap Data Compression Jennifer B. Sartor* Martin Hirzel †, Kathryn S. McKinley*
Physical Database Design Purpose- translate the logical description of data into the technical specifications for storing and retrieving data Goal - create.
OPTIMIZING DSP SCHEDULING VIA ADDRESS ASSIGNMENT WITH ARRAY AND LOOP TRANSFORMATION Chun Xue, Zili Shao, Ying Chen, Edwin H.-M. Sha Department of Computer.
CC-MPI: A Compiled Communication Capable MPI Prototype for Ethernet Switched Clusters Amit Karwande, Xin Yuan Department of Computer Science, Florida State.
Comp 335 File Structures Data Compression. Why Study Data Compression? Conserves storage space Files can be transmitted faster because there are less.
High-level Interfaces for Scalable Data Mining Ruoming Jin Gagan Agrawal Department of Computer and Information Sciences Ohio State University.
Incentive Mechanism Design and Implementation for Mobile Sensing Systems Zhibo Wang Dept. of EECS University of Tennessee, Knoxville Project for ECE 692.
Jiahao Chen, Yuhui Deng, Zhan Huang 1 ICA3PP2015: The 15th International Conference on Algorithms and Architectures for Parallel Processing. zhangjiajie,
Location-Centric Storage for Wireless Sensor Networks Kai Xingn 1, Xiuzhen Cheng 1, and Jiang Li 2 1 Department of Computer Science, The George Washington.
Euro-Par, HASTE: An Adaptive Middleware for Supporting Time-Critical Event Handling in Distributed Environments ICAC 2008 Conference June 2 nd,
Determining Optimal Processor Speeds for Periodic Real-Time Tasks with Different Power Characteristics H. Aydın, R. Melhem, D. Mossé, P.M. Alvarez University.
1 Overview of Query Evaluation Chapter Outline  Query Optimization Overview  Algorithm for Relational Operations.
1 The Garbage Collection Advantage: Improving Program Locality Xianglong Huang (UT), Stephen M Blackburn (ANU), Kathryn S McKinley (UT) J Eliot B Moss.
Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java Author: Fridtjof Siebert, CASES 2000 Michael Sallas Object-Oriented Languages.
Virtual memory.
Problem and Motivation
Reza Yazdani Albert Segura José-María Arnau Antonio González
Module 11: File Structure
No Bit Left Behind: The Limits of Heap Data Compression
AppShield: Enabling Multi-entity Access Control Cross Platforms for Mobile App Management Zhengyang Qu1, Guanyu Guo2, Zhengyue Shao2, Vaibhav Rastogi3,
Accelerating MapReduce on a Coupled CPU-GPU Architecture
Ann Gordon-Ross and Frank Vahid*
Adaptive Code Unloading for Resource-Constrained JVMs
CARP: Compression-Aware Replacement Policies
No Bit Left Behind: The Limits of Heap Data Compression
Garbage Collection Advantage: Improving Program Locality
Program-level Adaptive Memory Management
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Presentation transcript:

1 Utilizing Field Usage Patterns for Java Heap Space Optimization Z. Guo, N. Amaral, D. Szafron and Y. Wang Department of Computing Science University of Alberta

2 Motivation Java has become a popular platform for mobile and embedded systems. Prediction: 1.8 billion by Mobile and embedded systems tend to be memory constrained: Physics: device size, weight, power consumption. Economics: price Applications: multimedia streams, video games…

3 Motivation Memory constraints make Java programs to execute slowly or even crash. Many researches have been done to reduce the memory footprint of Java: Runtime environment Code Data

4 Contribution A study of the characteristics of the field usage patterns using the SpecJVM 98 benchmark. New opportunities for space optimization. A design of a heap compression mechanism.

5 Field Usage Patterns A Java class has a set of fields with a fixed layout. However, not all fields need be stored: A number of fields have zero or null values. Used fields often have frequent field values. Optimization opportunities: Scheme-1: eliminating zero or null fields. Scheme-2: externalizing fields with frequent values.

6 Field-Usage Patterns Instances of the same class often exhibit different field-usage patterns. Definition: The field usage pattern of an object is the set of fields used by the object. Consider fields with frequent values: The field usage pattern of an object is the set of fields of the object that do not store frequent field values.

7 The SpecJVM 98 benchmark Field usage pattern distributions (Scheme-1):

8 The SpecJVM 98 benchmark Field usage pattern distributions (Scheme-2):

9 The SpecJVM 98 benchmark Field usage pattern distributions:

10 The SpecJVM 98 benchmark Summary: Except raytrace, 80% instances are compressible using field usage patterns. On average, each class is expected to have 2 to 3 fields with frequent values and its instances have 3 to 4 different field-usage patterns. The 1 st and 2 nd most frequent field usage patterns account for a significant portion of field usage pattern occurrences. Compressing non-zero frequent field values can dramatically benefit some programs, including jess and javac.

11 Existing Compression Mechanisms LCTES C. S. Ananian and M. Rinard. Use hash table to record non-frequent field values. VEE G. Chen, M. Kandemir and M. J. Irwin Only assume a single field-usage pattern for each class. Extra space (one word) required for objects that do not have the single field-usage pattern.

12 An Example In jess, a benchmark in the SpecJVM 98 suite, the class Value has four fields: _type, intval, floatval, and Objectval.

13 Our Mechanism Comprehensive: exploits opportunities associated with multiple field-usage patterns per class. Aggressive: eliminates all zero/null fields and fields with frequent values. Low space overhead: requires extra space per field usage pattern, rather than per object.

14 Our Mechanism Fields are classified into three levels: Level-0: fields with no frequent values. Level-1: fields with non-zero frequent values. Level-2: fields with zero/null frequent values.

15 Our Mechanism Bidirectional object layout

16 Our Mechanism Meta-class

17 Performance Evaluation Compression effectiveness (Scheme-1 max):

18 Performance Evaluation Compression effectiveness (Scheme-2 max):

19 Performance Evaluation Runtime overhead

20 Performance Evaluation Summary: Scheme-1 reduces the max heap space requirement by 12% on average. Scheme-2 reduces the max heap space requirement by 14% on average. A performance penalty 4.4% on average for scheme-2.

21 Thanks