The Segregated Binary Trees: Decoupling Memory Manager

Size: px
Start display at page:

Download "The Segregated Binary Trees: Decoupling Memory Manager"

Transcription

1 The Segregated Binary Trees: Decoupling Memory Manager Mehran Rezaei Dept. of Electrical and Computer Engineering University of Alabama in Huntsville Ron K. Cytron Department of Computer Science Washington University UAH M. Rezaei

2 Outline Background and Related Work Allocation Policies New Memory Management Techniques Address Ordered Binary Tree (ABT) Segregated Binary Trees (SBT) Memory Management Techniques and Intelligent Memories Empirical Results Storage Utilization Conclusion And Future Work UAH 2 M. Rezaei

3 Existing Memory Management Algorithms (Allocation Policies) Sequential Fit Algorithms First Fit, Next Fit, Best Fit Buddy System Binary Buddy, Double Buddy Segregated Free Lists Simple Segregated Storage, Segregated Fit Stephenson s Algorithm UAH 3 M. Rezaei

4 head Existing Memory Management Algorithms Sequential Fit Algorithms size address available Chunk tail ) 22 free(object x address 1010 size m alloc(64 bytes) 21 malloc(32 bytes) 16 bytes Memory overhead UAH 4 M. Rezaei

5 Existing Memory Management Algorithms Buddy System 64 bytes request 20 is satisfied 128 bytes 256 bytes 20 malloc(3 9 bytes) 21 malloc( 32 b ytes) UAH 5 M. Rezaei

6 calculate the index Existing Memory Management Algorithms Segregated Free Lists (Simple Segregated Storage) index size available chunks request is satisfied 20 malloc(29 bytes) UAH 6 M. Rezaei

7 Existing Memory Management Algorithms Stephenson s Algorithm head size s address available chunk s 2 = < s 1 s 3 = < s 1 20 malloc(70 bytes) s s bytes Memory overhead UAH 7 M. Rezaei

8 Existing Memory Management Algorithms Stephenson s Algorithm head malloc (70 bytes) size s address s = < s available chunk s 2 s s 3 = < s malloc(70 bytes) UAH 8 M. Rezaei

9 Existing Memory Management Algorithms Stephenson s Algorithm head size s address available chunk s s 2 = < s 1 s 3 = < s 2 s UAH 9 M. Rezaei

10 Existing Memory Management Algorithms Brief Comparison Storage Utilization Sequential Fits Segregated Free Lists Buddy System Execution Performance Buddy System Segregated Free Lists Sequential Fits UAH 10 M. Rezaei

11 New Memory Management Algorithms Address Ordered Binary Tree(ABT) head size maximum size (left subtree) available chunk address maximum size (right subtree) 20 malloc(70 bytes) 21 free(object x) size 20 and address bytes Memory overhead UAH 11 M. Rezaei

12 New Memory Management Algorithms ABT head size maximum size (left subtree) available chunk address maximum size (right subtree) 20 malloc(70 bytes) UAH 12 M. Rezaei

13 New Memory Management Algorithms ABT head size maximum size (left subtree) available chunk address maximum size (right subtree) malloc (70 bytes) request is responded UAH 13 M. Rezaei

14 New Memory Management Algorithms ABT head size maximum size (left subtree) = available chunk address maximum size (right subtree) free(object x) UAH 14 M. Rezaei

15 New Memory Management Algorithms ABT head size maximum size (left subtree) available chunk address maximum size (right subtree) UAH 15 M. Rezaei

16 New Memory Management Algorithms Segregated Binary Tree(SBT) <= 16 <= 32 <= 64 <= 128 <= 256 <= 512 > 512 UAH 16 M. Rezaei

17 Memory Management Techniques and <= 16 Intelligent Memories Memory management Functions IMEM 0 IMEM 1 IMEM n-1 CPU + $ UAH 17 M. Rezaei

18 Memory Management Techniques and Intelligent Memories Memory management Functions allocate( size ) Size indicates which binary tree to allocate the object from. free( address ) Address indicates in which Intelligent Memory chip, the object resides. Simple Segregated Storage can be mapped to IMEM chips as well UAH 18 M. Rezaei

19 Memory Management Techniques and Intelligent Memories The Problems Is each IMEM chip large enough to satisfy all the requests of its associated size What percentage of IMEM chip should be devoted to its simple processor (its logic) UAH 19 M. Rezaei

20 Memory Management Techniques and Intelligent Memories Follow Active Page Project (Oskin 98) 1 Gigabit DRAM for IMEM chips Sacrificing half of the chip for the logic 512 Kbyte Memory 256 Logic Elements Memory Management Technique that shows higher Storage Utilization is a better candidate to map to IMEM chips Then, for example, all the requests less than 16 bytes could be responded by only using one IMEM. UAH 20 M. Rezaei

21 Empirical Results Benchmark Description check Exercises the error checking capabilities of JVM compress Modified Lempel Ziv db Database Manager jack PCCTS tool javac Java compiler used in JDK jess Expert System mpegaudio MPEG Layer 3 decompressor mtrt Ray tracer (Threaded version) raytrace Ray tracer UAH 21 M. Rezaei

22 Empirical Results Segregated Binary Tree check compress db jack javac jess mpegaudio mtrt raytrace Average Average Number of Nodes Simple Segregated Storage UAH 22 M. Rezaei

23 Empirical Results Segregated Binary Tree Simple Segregated Storage 0 check compress db jack javac jess mpegaudio mtrt raytrace Average Total Number of sbrk system calls UAH 23 M. Rezaei

24 Conclusion and Future Work Address Ordered and Segregated Binary Tree New Memory Management Algorithms Both Simple Segregated Storage and Segregated Binary Tree are Suitable Algorithms to Migrate to IMEM Chips Significantly, Segregated Binary Tree Outperforms Simple Segregated Storage, in terms of Storage Utilization Migration of Memory Forwarding and Jump Pointers to IMEM chips UAH 24 M. Rezaei

An Efficient Memory Management Technique That Improves Localities

An Efficient Memory Management Technique That Improves Localities An Efficient Memory Management Technique That Improves Localities Krishna Kavi Mehran Rezaei Dept. of Electrical and Computer Engineering University of Alabama in Huntsville Ron K. Cytron Department of

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

Method-Level Phase Behavior in Java Workloads

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

A Quantitative Evaluation of the Contribution of Native Code to Java Workloads

A Quantitative Evaluation of the Contribution of Native Code to Java Workloads A Quantitative Evaluation of the Contribution of Native Code to Java Workloads Walter Binder University of Lugano Switzerland walter.binder@unisi.ch Jarle Hulaas, Philippe Moret EPFL Switzerland {jarle.hulaas,philippe.moret}@epfl.ch

More information

Contaminated Garbage Collection

Contaminated Garbage Collection Washington University in St. Louis Washington University Open Scholarship All Computer Science and Engineering Research Computer Science and Engineering Report Number: WUCSE-2003-40 2003-04-15 Contaminated

More information

Swift: A Register-based JIT Compiler for Embedded JVMs

Swift: A Register-based JIT Compiler for Embedded JVMs Swift: A Register-based JIT Compiler for Embedded JVMs Yuan Zhang, Min Yang, Bo Zhou, Zhemin Yang, Weihua Zhang, Binyu Zang Fudan University Eighth Conference on Virtual Execution Environment (VEE 2012)

More information

Phase-based Adaptive Recompilation in a JVM

Phase-based Adaptive Recompilation in a JVM Phase-based Adaptive Recompilation in a JVM Dayong Gu Clark Verbrugge Sable Research Group, School of Computer Science McGill University, Montréal, Canada {dgu1, clump}@cs.mcgill.ca April 7, 2008 Sable

More information

Chip-Multithreading Systems Need A New Operating Systems Scheduler

Chip-Multithreading Systems Need A New Operating Systems Scheduler Chip-Multithreading Systems Need A New Operating Systems Scheduler Alexandra Fedorova Christopher Small Daniel Nussbaum Margo Seltzer Harvard University, Sun Microsystems Sun Microsystems Sun Microsystems

More information

JOVE. An Optimizing Compiler for Java. Allen Wirfs-Brock Instantiations Inc.

JOVE. An Optimizing Compiler for Java. Allen Wirfs-Brock Instantiations Inc. An Optimizing Compiler for Java Allen Wirfs-Brock Instantiations Inc. Object-Orient Languages Provide a Breakthrough in Programmer Productivity Reusable software components Higher level abstractions Yield

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

Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector

Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector Java without the Coffee Breaks: A Nonintrusive Multiprocessor Garbage Collector David F. Bacon IBM T.J. Watson Research Center Joint work with C.R. Attanasio, Han Lee, V.T. Rajan, and Steve Smith ACM Conference

More information

Heap Defragmentation in Bounded Time

Heap Defragmentation in Bounded Time Washington University in St. Louis Washington University Open Scholarship All Computer Science and Engineering Research Computer Science and Engineering Report Number: WUCSE-2004-58 2004-10-07 Heap Defragmentation

More information

Heuristics for Profile-driven Method- level Speculative Parallelization

Heuristics for Profile-driven Method- level Speculative Parallelization Heuristics for Profile-driven Method- level John Whaley and Christos Kozyrakis Stanford University Speculative Multithreading Speculatively parallelize an application Uses speculation to overcome ambiguous

More information

Dynamic Profiling & Comparison of Sun Microsystems JDK1.3.1 versus the Kaffe VM APIs

Dynamic Profiling & Comparison of Sun Microsystems JDK1.3.1 versus the Kaffe VM APIs Dynamic Profiling & Comparison of Sun Microsystems JDK1.3.1 versus the VM APIs Author: Anthony Sartini Computer Engineering, Trinity College, Dublin 2, Ireland Supervisor: John Waldron Department of Computer

More information

Design, Implementation, and Evaluation of a Compilation Server

Design, Implementation, and Evaluation of a Compilation Server Design, Implementation, and Evaluation of a Compilation Server Technical Report CU--978-04 HAN B. LEE University of Colorado AMER DIWAN University of Colorado and J. ELIOT B. MOSS University of Massachusetts

More information

Context Threading: A flexible and efficient dispatch technique for virtual machine interpreters

Context Threading: A flexible and efficient dispatch technique for virtual machine interpreters : A flexible and efficient dispatch technique for virtual machine interpreters Marc Berndl Benjamin Vitale Mathew Zaleski Angela Demke Brown Research supported by IBM CAS, NSERC, CITO 1 Interpreter performance

More information

SABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine p. 1

SABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine p. 1 SABLEJIT: A Retargetable Just-In-Time Compiler for a Portable Virtual Machine David Bélanger dbelan2@cs.mcgill.ca Sable Research Group McGill University Montreal, QC January 28, 2004 SABLEJIT: A Retargetable

More information

Intelligent memory manager: Reducing cache pollution due to memory management functions

Intelligent memory manager: Reducing cache pollution due to memory management functions Journal of Systems Architecture 52 (2006) 41 55 www.elsevier.com/locate/sysarc Intelligent memory manager: Reducing cache pollution due to memory management functions Mehran Rezaei *, Krishna M. Kavi University

More information

Eliminating Exception Constraints of Java Programs for IA-64

Eliminating Exception Constraints of Java Programs for IA-64 Eliminating Exception Constraints of Java Programs for IA-64 Kazuaki Ishizaki, Tatsushi Inagaki, Hideaki Komatsu,Toshio Nakatani IBM Research, Tokyo Research

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

CS229 Project: TLS, using Learning to Speculate

CS229 Project: TLS, using Learning to Speculate CS229 Project: TLS, using Learning to Speculate Jiwon Seo Dept. of Electrical Engineering jiwon@stanford.edu Sang Kyun Kim Dept. of Electrical Engineering skkim38@stanford.edu ABSTRACT We apply machine

More information

In multiprogramming systems, processes share a common store. Processes need space for:

In multiprogramming systems, processes share a common store. Processes need space for: Memory Management In multiprogramming systems, processes share a common store. Processes need space for: code (instructions) static data (compiler initialized variables, strings, etc.) global data (global

More information

Java Memory Allocation with Lazy Worst Fit for Small Objects

Java Memory Allocation with Lazy Worst Fit for Small Objects The Computer Journal Advance Access published May 13, 2005 The Author 2005. Published by Oxford University Press on behalf of The British Computer Society. All rights reserved. For Permissions, please

More information

Mixed Mode Execution with Context Threading

Mixed Mode Execution with Context Threading Mixed Mode Execution with Context Threading Mathew Zaleski, Marc Berndl, Angela Demke Brown University of Toronto {matz,berndl,demke}@cs.toronto.edu (CASCON 2005, Oct 19/2005.) Overview Introduction Background:

More information

Reducing the Overhead of Dynamic Compilation

Reducing the Overhead of Dynamic Compilation Reducing the Overhead of Dynamic Compilation Chandra Krintz David Grove Derek Lieber Vivek Sarkar Brad Calder Department of Computer Science and Engineering, University of California, San Diego IBM T.

More information

Understanding Parallelism-Inhibiting Dependences in Sequential Java

Understanding Parallelism-Inhibiting Dependences in Sequential Java Understanding Parallelism-Inhibiting Dependences in Sequential Java Programs Atanas(Nasko) Rountev Kevin Van Valkenburgh Dacong Yan P. Sadayappan Ohio State University Overview and Motivation Multi-core

More information

Background: disk access vs. main memory access (1/2)

Background: disk access vs. main memory access (1/2) 4.4 B-trees Disk access vs. main memory access: background B-tree concept Node structure Structural properties Insertion operation Deletion operation Running time 66 Background: disk access vs. main memory

More information

IBM Research Report. Efficient Memory Management for Long-Lived Objects

IBM Research Report. Efficient Memory Management for Long-Lived Objects RC24794 (W0905-013) May 7, 2009 Computer Science IBM Research Report Efficient Memory Management for Long-Lived Objects Ronny Morad 1, Martin Hirzel 2, Elliot K. Kolodner 1, Mooly Sagiv 3 1 IBM Research

More information

Reducing the Overhead of Dynamic Compilation

Reducing the Overhead of Dynamic Compilation Reducing the Overhead of Dynamic Compilation Chandra Krintz y David Grove z Derek Lieber z Vivek Sarkar z Brad Calder y y Department of Computer Science and Engineering, University of California, San Diego

More information

Points-to Analysis for Java Using Annotated Constraints*

Points-to Analysis for Java Using Annotated Constraints* Points-to Analysis for Java Using Annotated Constraints* Dr. Barbara G. Ryder Rutgers University http://www.cs.rutgers.edu/~ryder http://prolangs.rutgers.edu/ *Joint research with Atanas Rountev and Ana

More information

Jazz: A Tool for Demand-Driven Structural Testing

Jazz: A Tool for Demand-Driven Structural Testing Jazz: A Tool for Demand-Driven Structural Testing J. Misurda, J. A. Clause, J. L. Reed, P. Gandra, B. R. Childers, and M. L. Soffa Department of Computer Science University of Pittsburgh Pittsburgh, Pennsylvania

More information

Constructing Accurate Application Call Graphs For Java To Model Library Callbacks

Constructing Accurate Application Call Graphs For Java To Model Library Callbacks Constructing Accurate Application Call Graphs For Java To Model Library Callbacks Weilei Zhang, Barbara G Ryder Department of Computer Science Rutgers University Piscataway, NJ 08854 {weileiz,ryder@cs.rutgers.edu

More information

Using Complete System Simulation to Characterize SPECjvm98 Benchmarks

Using Complete System Simulation to Characterize SPECjvm98 Benchmarks Using Complete System Simulation to Characterize SPECjvm98 Benchmarks Tao Li, Lizy Kurian John, Vijaykrishnan Narayanan, Anand Sivasubramaniam, Jyotsna Sabarinathan, and Anupama Murthy Laboratory for Computer

More information

Memory management. Johan Montelius KTH

Memory management. Johan Montelius KTH Memory management Johan Montelius KTH 2017 1 / 22 C program # include int global = 42; int main ( int argc, char * argv []) { if( argc < 2) return -1; int n = atoi ( argv [1]); int on_stack

More information

Dynamic Memory Allocation. Zhaoguo Wang

Dynamic Memory Allocation. Zhaoguo Wang Dynamic Memory Allocation Zhaoguo Wang Why dynamic memory allocation? Do not know the size until the program runs (at runtime). #define MAXN 15213 int array[maxn]; int main(void) { int i, n; scanf("%d",

More information

Jinn: Synthesizing Dynamic Bug Detectors for Foreign Language Interfaces

Jinn: Synthesizing Dynamic Bug Detectors for Foreign Language Interfaces Jinn: Synthesizing Dynamic Bug Detectors for Foreign Language Interfaces Byeongcheol Lee Ben Wiedermann Mar>n Hirzel Robert Grimm Kathryn S. McKinley B. Lee, B. Wiedermann, M. Hirzel, R. Grimm, and K.

More information

The VMKit project: Java (and.net) on top of LLVM

The VMKit project: Java (and.net) on top of LLVM The VMKit project: Java (and.net) on top of LLVM Nicolas Geoffray Université Pierre et Marie Curie, France nicolas.geoffray@lip6.fr What is VMKit? Glue between existing VM components LLVM, GNU Classpath,

More information

Using Scratchpad to Exploit Object Locality in Java

Using Scratchpad to Exploit Object Locality in Java Using Scratchpad to Exploit Object Locality in Java Carl S. Lebsack and J. Morris Chang Department of Electrical and Computer Engineering Iowa State University Ames, IA 50011 lebsack, morris@iastate.edu

More information

Approximation of the Worst-Case Execution Time Using Structural Analysis. Matteo Corti and Thomas Gross Zürich

Approximation of the Worst-Case Execution Time Using Structural Analysis. Matteo Corti and Thomas Gross Zürich Approximation of the Worst-Case Execution Time Using Structural Analysis Matteo Corti and Thomas Gross Zürich Goal Worst-case execution time estimation of softreal time Java applications. We focus on semantic

More information

Intelligent Compilation

Intelligent Compilation Intelligent Compilation John Cavazos Department of Computer and Information Sciences University of Delaware Autotuning and Compilers Proposition: Autotuning is a component of an Intelligent Compiler. Code

More information

Portable Resource Control in Java The J-SEAL2 Approach

Portable Resource Control in Java The J-SEAL2 Approach Portable Resource Control in Java The J-SEAL2 Approach Walter Binder w.binder@coco.co.at CoCo Software Engineering GmbH Austria Jarle Hulaas Jarle.Hulaas@cui.unige.ch Alex Villazón Alex.Villazon@cui.unige.ch

More information

Virtual Machine Showdown: Stack Versus Registers

Virtual Machine Showdown: Stack Versus Registers Virtual Machine Showdown: Stack Versus Registers 21 YUNHE SHI 1 and KEVIN CASEY Trinity College Dublin M. ANTON ERTL Technische Universität Wien and DAVID GREGG Trinity College Dublin Virtual machines

More information

Normalized Execution Time

Normalized Execution Time Architectural Issues in Java Runtime Systems R. Radhakrishnany, N. Vijaykrishnanz, L. K. Johny, A. Sivasubramaniamz ylaboratory for Computer Architecture Dept. of Electrical and Computer Engineering The

More information

Compact Garbage Collection Tables

Compact Garbage Collection Tables Compact Garbage Collection Tables David Tarditi Microsoft Research Redmond, WA 98052, USA dtarditi@microsoft.com ABSTRACT Garbage collection tables for finding pointers on the stack can be represented

More information

The Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism

The Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism The Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism Shiwen Hu, Ravi Bhargava and Lizy Kurian John The University of Texas at Austin {hushiwen, ravib, ljohn@ece.utexas.edu

More information

Write Barrier Elision for Concurrent Garbage Collectors

Write Barrier Elision for Concurrent Garbage Collectors Write Barrier Elision for Concurrent Garbage Collectors Martin T. Vechev Computer Laboratory Cambridge University Cambridge CB3 FD, U.K. mv27@cl.cam.ac.uk David F. Bacon IBM T.J. Watson Research Center

More information

The Design, Implementation, and Evaluation of Adaptive Code Unloading for Resource-Constrained Devices

The Design, Implementation, and Evaluation of Adaptive Code Unloading for Resource-Constrained Devices The Design, Implementation, and Evaluation of Adaptive Code Unloading for Resource-Constrained Devices LINGLI ZHANG and CHANDRA KRINTZ University of California, Santa Barbara Java Virtual Machines (JVMs)

More information

Experiences with Multi-threading and Dynamic Class Loading in a Java Just-In-Time Compiler

Experiences with Multi-threading and Dynamic Class Loading in a Java Just-In-Time Compiler , Compilation Technology Experiences with Multi-threading and Dynamic Class Loading in a Java Just-In-Time Compiler Daryl Maier, Pramod Ramarao, Mark Stoodley, Vijay Sundaresan TestaRossa JIT compiler

More information

Miguel Masmano, Ismael Ripoll y Alfons Crespo Dept. Informática de Sistemas y Computadores (DISCA) Universidad Politécnica de Valencia (Spain)

Miguel Masmano, Ismael Ripoll y Alfons Crespo Dept. Informática de Sistemas y Computadores (DISCA) Universidad Politécnica de Valencia (Spain) TLSF: TLSF: Estudio Timing temporal and spatial y espacial study Miguel Masmano, Ismael Ripoll y Alfons Crespo Dept. Informática de Sistemas y Computadores (DISCA) Universidad Politécnica de Valencia (Spain)

More information

Upper Bound for Defragmenting Buddy Heaps

Upper Bound for Defragmenting Buddy Heaps Upper Bound for Defragmenting Buddy Heaps Delvin C. Defoe Sharath R. Cholleti Ron K. Cytron Department of Computer Science and Engineering Washington University Saint Louis, MO 63130 {dcd, sharath, cytron}@cse.wustl.edu

More information

Automatic Object Colocation Based on Read Barriers

Automatic Object Colocation Based on Read Barriers See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/221644818 Automatic Object Colocation Based on Read Barriers Conference Paper September 2006

More information

How s the Parallel Computing Revolution Going? Towards Parallel, Scalable VM Services

How s the Parallel Computing Revolution Going? Towards Parallel, Scalable VM Services How s the Parallel Computing Revolution Going? Towards Parallel, Scalable VM Services Kathryn S McKinley The University of Texas at Austin Kathryn McKinley Towards Parallel, Scalable VM Services 1 20 th

More information

Reference Analyses. VTA - Variable Type Analysis

Reference Analyses. VTA - Variable Type Analysis Reference Analyses Variable Type Analysis for Java Related points-to analyses for C Steengaard Andersen Field-sensitive points-to for Java Object-sensitive points-to for Java Other analysis approaches

More information

Java Performance Evaluation through Rigorous Replay Compilation

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

Engine Support System. asyrani.com

Engine Support System. asyrani.com Engine Support System asyrani.com A game engine is a complex piece of software consisting of many interacting subsystems. When the engine first starts up, each subsystem must be configured and initialized

More information

1 Introduction The Java Virtual Machine (JVM) [1] is the corner stone of Java technology epitomizing the \write-once run-anywhere" promise. It is expe

1 Introduction The Java Virtual Machine (JVM) [1] is the corner stone of Java technology epitomizing the \write-once run-anywhere promise. It is expe Architectural Issues in Java Runtime Systems R. Radhakrishnany, N. Vijaykrishnanz, L. K. Johny, A. Sivasubramaniamz ylaboratory for Computer Architecture z220 Pond Lab Electrical and Computer Engr Dept.

More information

EMSOFT 09 Yangwook Kang Ethan L. Miller Hongik Univ UC Santa Cruz 2009/11/09 Yongseok Oh

EMSOFT 09 Yangwook Kang Ethan L. Miller Hongik Univ UC Santa Cruz 2009/11/09 Yongseok Oh RCFFS : Adding Aggressive Error Correction to a high-performance Compressing Flash File System EMSOFT 09 Yangwook Kang Ethan L. Miller Hongik Univ UC Santa Cruz 2009/11/09 Yongseok Oh ysoh@uos.ac.kr 1

More information

MicroPhase: An Approach to Proactively Invoking Garbage Collection for Improved Performance

MicroPhase: An Approach to Proactively Invoking Garbage Collection for Improved Performance MicroPhase: An Approach to Proactively Invoking Garbage Collection for Improved Performance Feng Xian, Witawas Srisa-an, and Hong Jiang Department of Computer Science & Engineering University of Nebraska-Lincoln

More information

Error-Free Garbage Collection Traces: How to Cheat and Not Get Caught

Error-Free Garbage Collection Traces: How to Cheat and Not Get Caught Error-Free Garbage Collection Traces: How to Cheat and Not Get Caught Matthew Hertz Stephen M Blackburn J Eliot B Moss Kathryn S. M c Kinley Darko Stefanović Dept. of Computer Science University of Massachusetts

More information

Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java

Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java Eliminating External Fragmentation in a Non-Moving Garbage Collector for Java Fridtjof Siebert IPD, Universität Karlsruhe Oberfeldstr. 4B 7649 Karlsruhe, Germany siebert@jamaica-systems.de ABSTRACT Fragmentation

More information

A.Arpaci-Dusseau. Mapping from logical address space to physical address space. CS 537:Operating Systems lecture12.fm.2

A.Arpaci-Dusseau. Mapping from logical address space to physical address space. CS 537:Operating Systems lecture12.fm.2 UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 537 A. Arpaci-Dusseau Intro to Operating Systems Spring 2000 Dynamic Memory Allocation Questions answered in these notes When is a stack

More information

Efficient Object Placement including Node Selection in a Distributed Virtual Machine

Efficient Object Placement including Node Selection in a Distributed Virtual Machine John von Neumann Institute for Computing Efficient Object Placement including Node Selection in a Distributed Virtual Machine Jose M. Velasco, David Atienza, Katzalin Olcoz, Francisco Tirado published

More information

Phases in Branch Targets of Java Programs

Phases in Branch Targets of Java Programs Phases in Branch Targets of Java Programs Technical Report CU-CS-983-04 ABSTRACT Matthias Hauswirth Computer Science University of Colorado Boulder, CO 80309 hauswirt@cs.colorado.edu Recent work on phase

More information

Points-to Analysis using BDDs

Points-to Analysis using BDDs Points-to Analysis using BDDs Marc Berndl, Ondřej Lhoták, Feng Qian, Laurie Hendren and Navindra Umanee Sable Research Group, School of Computer Science McGill University Montreal, Quebec, CANADA H3A 2A7

More information

Data Structure Lecture#15: Non-Binary Trees 2 (Chapter 6) U Kang Seoul National University

Data Structure Lecture#15: Non-Binary Trees 2 (Chapter 6) U Kang Seoul National University Data Structure Lecture#15: Non-Binary Trees 2 (Chapter 6) U Kang Seoul National University U Kang (2016) 1 In This Lecture Main ideas in implementations of general trees Compare advantages and disadvantages

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

Short Title: Storage Coalescing Defoe, M.Sc. 2003

Short Title: Storage Coalescing Defoe, M.Sc. 2003 Short Title: Storage Coalescing Defoe, M.Sc. 2003 WASHINGTON UNIVERSITY SEVER INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING EFFECTS OF COALESCING ON THE PERFORMANCE OF SEGREGATED

More information

Proceedings of the 2 nd Java TM Virtual Machine Research and Technology Symposium (JVM '02)

Proceedings of the 2 nd Java TM Virtual Machine Research and Technology Symposium (JVM '02) USENIX Association Proceedings of the 2 nd Java TM Virtual Machine Research and Technology Symposium (JVM '02) San Francisco, California, USA August 1-2, 2002 THE ADVANCED COMPUTING SYSTEMS ASSOCIATION

More information

Portable Resource Control in Java: Application to Mobile Agent Security

Portable Resource Control in Java: Application to Mobile Agent Security Portable Resource Control in Java: Application to Mobile Agent Security Walter Binder CoCo Software Engineering GmbH Austria Jarle Hulaas, Alex Villazón, Rory Vidal University of Geneva Switzerland Requirements

More information

The Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism. Abstract

The Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism. Abstract The Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism Shiwen Hu, Ravi Bhargava and Lizy Kurian John Laboratory for Computer Architecture Department of Electrical and Computer

More information

Exploiting Prolific Types for Memory Management and Optimizations

Exploiting Prolific Types for Memory Management and Optimizations Exploiting Prolific Types for Memory Management and Optimizations Yefim Shuf Manish Gupta Rajesh Bordawekar Jaswinder Pal Singh IBM T. J. Watson Research Center Computer Science Department P. O. Box 218

More information

YETI. GraduallY Extensible Trace Interpreter VEE Mathew Zaleski, Angela Demke Brown (University of Toronto) Kevin Stoodley (IBM Toronto)

YETI. GraduallY Extensible Trace Interpreter VEE Mathew Zaleski, Angela Demke Brown (University of Toronto) Kevin Stoodley (IBM Toronto) YETI GraduallY Extensible Trace Interpreter Mathew Zaleski, Angela Demke Brown (University of Toronto) Kevin Stoodley (IBM Toronto) VEE 2007 1 Goal Create a VM that is more easily extended with a just

More information

Static Determination of Allocation Rates to Support Real-Time Garbage Collection

Static Determination of Allocation Rates to Support Real-Time Garbage Collection Appearing in Proceedings of the 2005 ACM Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES 2005) Static Determination of Allocation Rates to Support Real-Time Garbage Collection

More information

National University of Ireland, Maynooth Maynooth, Co. Kildare, Ireland. Department of Computer Science Technical Report Series NUIM-CS-TR

National University of Ireland, Maynooth Maynooth, Co. Kildare, Ireland. Department of Computer Science Technical Report Series NUIM-CS-TR National University of Ireland, Maynooth Maynooth, Co. Kildare, Ireland. Department of Computer Science Technical Report Series NUIM-CS-TR-2003-07 Run-time Coupling Metrics for the Analysis of Java Programs

More information

On the Effectiveness of GC in Java

On the Effectiveness of GC in Java On the Effectiveness of GC in Java Ran Shaham Tel-Aviv University and IBM aifa Research aboratory rans@math.tau.ac.il Elliot K. Kolodner IBM aifa Research aboratory kolodner@il.ibm.com Mooly Sagiv Tel-Aviv

More information

Memory Management: The process by which memory is shared, allocated, and released. Not applicable to cache memory.

Memory Management: The process by which memory is shared, allocated, and released. Not applicable to cache memory. Memory Management Page 1 Memory Management Wednesday, October 27, 2004 4:54 AM Memory Management: The process by which memory is shared, allocated, and released. Not applicable to cache memory. Two kinds

More information

Defining a High-Level Programming Model for Emerging NVRAM Technologies

Defining a High-Level Programming Model for Emerging NVRAM Technologies Defining a High-Level Programming Model for Emerging NVRAM Technologies Thomas Shull, Jian Huang, Josep Torrellas University of Illinois at Urbana-Champaign September 13, 2018 Shull et al. Defining a High-Level

More information

Method-Specific Dynamic Compilation using Logistic Regression

Method-Specific Dynamic Compilation using Logistic Regression Method-Specific Dynamic Compilation using Logistic Regression John Cavazos Michael F.P. O Boyle Member of HiPEAC Institute for Computing Systems Architecture (ICSA), School of Informatics University of

More information

Optimized Interval Splitting in a Linear Scan Register Allocator

Optimized Interval Splitting in a Linear Scan Register Allocator Optimized Interval Splitting in a Linear Scan Register Allocator ABSTRACT Christian Wimmer Institute for System Software Johannes Kepler University Linz Linz, Austria wimmer@ssw.jku.at We present an optimized

More information

CHOP: Integrating DRAM Caches for CMP Server Platforms. Uliana Navrotska

CHOP: Integrating DRAM Caches for CMP Server Platforms. Uliana Navrotska CHOP: Integrating DRAM Caches for CMP Server Platforms Uliana Navrotska 766785 What I will talk about? Problem: in the era of many-core architecture at the heart of the trouble is the so-called memory

More information

Lempel-Ziv-Welch (LZW) Compression Algorithm

Lempel-Ziv-Welch (LZW) Compression Algorithm Lempel-Ziv-Welch (LZW) Compression lgorithm Introduction to the LZW lgorithm Example 1: Encoding using LZW Example 2: Decoding using LZW LZW: Concluding Notes Introduction to LZW s mentioned earlier, static

More information

Object Co-location and Memory Reuse for Java Programs

Object Co-location and Memory Reuse for Java Programs Object Co-location and Memory Reuse for Java Programs ZOE C.H. YU, FRANCIS C.M. LAU, and CHO-LI WANG Department of Computer Science The University of Hong Kong Technical Report (TR-00-0) May 0, 00; Minor

More information

Memory Organization and Optimization for Java Workloads

Memory Organization and Optimization for Java Workloads 284 IJCSNS International Journal of Computer Science and Network Security, VOL.6 No.11, November 2006 Memory Organization and Optimization for Java Workloads K. F. Chong, and Anthony S. Fong Department

More information

Dynamic Metrics for Java

Dynamic Metrics for Java Dynamic Metrics for Java Bruno Dufour, Karel Driesen, Laurie Hendren and Clark Verbrugge McGill University Presented by: Kiran Nagaraja Rutgers University Motivation Compiler optimization techniques span

More information

A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks

A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks Sylvia Dieckmann and Urs Hölzle Department of Computer Science University of California Santa Barbara, CA 936 {sylvie, urs}@cs.ucsb.edu

More information

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I

Algorithm Performance Factors. Memory Performance of Algorithms. Processor-Memory Performance Gap. Moore s Law. Program Model of Memory I Memory Performance of Algorithms CSE 32 Data Structures Lecture Algorithm Performance Factors Algorithm choices (asymptotic running time) O(n 2 ) or O(n log n) Data structure choices List or Arrays Language

More information

Reconfigurable Fast Memory Management System Design for Application Specific Processors

Reconfigurable Fast Memory Management System Design for Application Specific Processors Reconfigurable Fast Memory Management System Design for Application Specific Processors S. Kagan Agun and Morris Chang Computer Science Department, Illinois Institute of Technology, agunsal@iit.edu Abstract

More information

Parallelizing Inline Data Reduction Operations for Primary Storage Systems

Parallelizing Inline Data Reduction Operations for Primary Storage Systems Parallelizing Inline Data Reduction Operations for Primary Storage Systems Jeonghyeon Ma ( ) and Chanik Park Department of Computer Science and Engineering, POSTECH, Pohang, South Korea {doitnow0415,cipark}@postech.ac.kr

More information

Introduction to OpenCL!

Introduction to OpenCL! Lecture 6! Introduction to OpenCL! John Cavazos! Dept of Computer & Information Sciences! University of Delaware! www.cis.udel.edu/~cavazos/cisc879! OpenCL Architecture Defined in four parts Platform Model

More information

A Quantitative Analysis of the Performance Impact of Specialized Bytecodes in Java

A Quantitative Analysis of the Performance Impact of Specialized Bytecodes in Java A Quantitative Analysis of the Performance Impact of Specialized Bytecodes in Java Ben Stephenson University of Western Ontario London, Ontario, Canada ben@csd.uwo.ca Wade Holst University of Western Ontario

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

A Study of Cache Performance in Java Virtual Machines

A Study of Cache Performance in Java Virtual Machines A Study of Cache Performance in Java Virtual Machines by Anand Sunder Rajan, B.E., M.Sc Report Presented to the Faculty of the Graduate School of The University of Texas at Austin in Partial Fulfillment

More information

Free-Me: A Static Analysis for Automatic Individual Object Reclamation

Free-Me: A Static Analysis for Automatic Individual Object Reclamation Free-Me: A Static Analysis for Automatic Individual Object Reclamation Samuel Z. Guyer, Kathryn McKinley, Daniel Frampton Presented by: Jason VanFickell Thanks to Dimitris Prountzos for slides adapted

More information

Mostly Concurrent Garbage Collection Revisited

Mostly Concurrent Garbage Collection Revisited Mostly Concurrent Garbage Collection Revisited Katherine Barabash Yoav Ossia Erez Petrank ABSTRACT The mostly concurrent garbage collection was presented in the seminal paper of Boehm et al. With the deployment

More information

Capriccio: Scalable Threads for Internet Services (by Behren, Condit, Zhou, Necula, Brewer) Presented by Alex Sherman and Sarita Bafna

Capriccio: Scalable Threads for Internet Services (by Behren, Condit, Zhou, Necula, Brewer) Presented by Alex Sherman and Sarita Bafna Capriccio: Scalable Threads for Internet Services (by Behren, Condit, Zhou, Necula, Brewer) Presented by Alex Sherman and Sarita Bafna Main Contribution Capriccio implements a scalable userlevel thread

More information

Demand-Driven Structural Testing with Dynamic Instrumentation

Demand-Driven Structural Testing with Dynamic Instrumentation Demand-Driven Structural Testing with Dynamic Instrumentation Jonathan Misurda, James A. Clause, Juliya L. Reed, Bruce R. Childers, and Mary Lou Soffa Department of Computer Science University of Pittsburgh

More information

Topics on Compilers Spring Semester Christine Wagner 2011/04/13

Topics on Compilers Spring Semester Christine Wagner 2011/04/13 Topics on Compilers Spring Semester 2011 Christine Wagner 2011/04/13 Availability of multicore processors Parallelization of sequential programs for performance improvement Manual code parallelization:

More information

Debunking Dynamic Optimization Myths

Debunking Dynamic Optimization Myths Debunking Dynamic Optimization Myths Michael Hind (Material borrowed from 3 hr PLDI 04 Tutorial by Stephen Fink, David Grove, and Michael Hind. See those slides for more details.) September 15, 2004 Future

More information

The Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism

The Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism The Role of Return Value Prediction in Exploiting Speculative Method-Level Parallelism Shiwen Hu, Ravi Bhargava and Lizy Kurian John Laboratory for Computer Architecture Department of Electrical and Computer

More information

Interaction of JVM with x86, Sparc and MIPS

Interaction of JVM with x86, Sparc and MIPS Interaction of JVM with x86, Sparc and MIPS Sasikanth Avancha, Dipanjan Chakraborty, Dhiral Gada, Tapan Kamdar {savanc1, dchakr1, dgada1, kamdar}@cs.umbc.edu Department of Computer Science and Electrical

More information