© 2009 IBM Corporation Session one: 1."Asynchronous Dynamic Code Adaptation for Generic Data-Parallel Array Programming" Clemens Grelck (U. of Amsterdam)

Slides:



Advertisements
Similar presentations
Performance Analysis and Optimization through Run-time Simulation and Statistics Philip J. Mucci University Of Tennessee
Advertisements

© 2009 IBM Corporation1 Feedback Directed Dynamic Recompilation for Statically Compiled Languages Dorit Nuzman, Sergei Dyshel, Revital Eres IBM Research,
Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.
SE-292 High Performance Computing Profiling and Performance R. Govindarajan
Programming Technologies, MIPT, April 7th, 2012 Introduction to Binary Translation Technology Roman Sokolov SMWare
8. Code Generation. Generate executable code for a target machine that is a faithful representation of the semantics of the source code Depends not only.
Overview Motivations Basic static and dynamic optimization methods ADAPT Dynamo.
Program Representations. Representing programs Goals.
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
University of Houston So What’s Exascale Again?. University of Houston The Architects Did Their Best… Scale of parallelism Multiple kinds of parallelism.
Representing programs Goals. Representing programs Primary goals –analysis is easy and effective just a few cases to handle directly link related things.
Compilation Technology October 17, 2005 © 2005 IBM Corporation Software Group Reducing Compilation Overhead in J9/TR Marius Pirvu, Derek Inglis, Vijay.
Center for Embedded Computer Systems University of California, Irvine Coordinated Coarse Grain and Fine Grain Optimizations.
JVM-1 Introduction to Java Virtual Machine. JVM-2 Outline Java Language, Java Virtual Machine and Java Platform Organization of Java Virtual Machine Garbage.
Instrumentation and Profiling David Kaeli Department of Electrical and Computer Engineering Northeastern University Boston, MA
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
Center for Embedded Computer Systems University of California, Irvine and San Diego SPARK: A Parallelizing High-Level Synthesis.
BRASS Analysis of QuasiStatic Scheduling Techniques in a Virtualized Reconfigurable Machine Yury Markovskiy, Eylon Caspi, Randy Huang, Joseph Yeh, Michael.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
COP4020 Programming Languages
Types of software. Sonam Dema..
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
Adaptive Optimization in the Jalapeño JVM M. Arnold, S. Fink, D. Grove, M. Hind, P. Sweeney Presented by Andrew Cove Spring 2006.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Fast Functional Simulation with a Dynamic Language Craig S. Steele, Exogi LLC, USA JP Bonn, Exogi LLC, USA.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
Java Virtual Machine Case Study on the Design of JikesRVM.
1 Fast and Efficient Partial Code Reordering Xianglong Huang (UT Austin, Adverplex) Stephen M. Blackburn (Intel) David Grove (IBM) Kathryn McKinley (UT.
DASX : Hardware Accelerator for Software Data Structures Snehasish Kumar, Naveen Vedula, Arrvindh Shriraman (Simon Fraser University), Vijayalakshmi Srinivasan.
Transmeta and Dynamic Code Optimization Ashwin Bharambe Mahim Mishra Matthew Rosencrantz.
ACMSE’04, ALDepartment of Electrical and Computer Engineering - UAH Execution Characteristics of SPEC CPU2000 Benchmarks: Intel C++ vs. Microsoft VC++
Developing software and hardware in parallel Vladimir Rubanov ISP RAS.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Virtual Support for Dynamic Join Points C. Bockisch, M. Haupt, M. Mezini, K. Ostermann Presented by Itai Sharon
Instrumentation in Software Dynamic Translators for Self-Managed Systems Bruce R. Childers Naveen Kumar, Jonathan Misurda and Mary.
Dynamo: A Transparent Dynamic Optimization System Bala, Dueterwald, and Banerjia projects/Dynamo.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
Compilers: Overview/1 1 Compiler Structures Objective – –what are the main features (structures) in a compiler? , Semester 1,
Gedae, Inc. Gedae: Auto Coding to a Virtual Machine Authors: William I. Lundgren, Kerry B. Barnes, James W. Steed HPEC 2004.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
Full and Para Virtualization
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Vertical Profiling : Understanding the Behavior of Object-Oriented Applications Sookmyung Women’s Univ. PsLab Sewon,Moon.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
1 ROGUE Dynamic Optimization Framework Using Pin Vijay Janapa Reddi PhD. Candidate - Electrical And Computer Engineering University of Colorado at Boulder.
Michael J. Voss and Rudolf Eigenmann PPoPP, ‘01 (Presented by Kanad Sinha)
Presented by : A best website designer company. Chapter 1 Introduction Prof Chung. 1.
ECE 750 Topic 8 Meta-programming languages, systems, and applications Automatic Program Specialization for J ava – U. P. Schultz, J. L. Lawall, C. Consel.
An Offline Approach for Whole-Program Paths Analysis using Suffix Arrays G. Pokam, F. Bodin.
Algorithms in Programming Computer Science Principles LO
PINTOS: An Execution Phase Based Optimization and Simulation Tool) PINTOS: An Execution Phase Based Optimization and Simulation Tool) Wei Hsu, Jinpyo Kim,
Overview Motivation (Kevin) Thermal issues (Kevin)
Security and Programming Language Work on SmartPhones
Chapter 1 Introduction.
Interpreted languages Jakub Yaghob
WHAT DO COMPILATION STRATEGIES HAVE TO DO WITH WEB CONTENT DELIVERY?
Chapter 1 Introduction.
课程名 编译原理 Compiling Techniques
Lecture 1 Runtime environments.
Many-core Software Development Platforms
What we need to be able to count to tune programs
CSCI1600: Embedded and Real Time Software
Compiler Structures 1. Overview Objective
CSCI1600: Embedded and Real Time Software
Dynamic Binary Translators and Instrumenters
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

© 2009 IBM Corporation Session one: 1."Asynchronous Dynamic Code Adaptation for Generic Data-Parallel Array Programming" Clemens Grelck (U. of Amsterdam) 2."Adaptive Generalized Task-Parallelism" Kevin Streit (U. of Saarland) 3."Feedback Directed Dynamic Recompilation for statically compiled languages Dorit Nuzman (IBM) 4."Metrics to be handled for dynamic compilation on embedded systems" Henri-Pierre Charles (CEA) Session two: 5."Holistic Query Evaluation" Stratis Viglas (U. of Edinburgh) 6."Towards reconfigurable acceleration in mobile phones via dynamic compilation" Geoffrey Ndu, Mikel Lujan (U. of Manchester) 7."Automatically generating and optimising parallel dynamic compilers from high-level descriptions" Bjoern Franke (U. of Edinburgh) 8."Pseudo Accurate Emulation with QEMU and Dinero for and Auto Tuning System" Christophe Guillon (ST) Thematic Session on Dynamic Compilation - Schedule

© 2009 IBM Corporation Thematic Session on Dynamic Compilation: Common questions for discussion: 1) What is the dynamic optimization stage? (e.g., load time, across invocations, during program execution, other...) 2) What triggers the dynamic compilation cycle? (e.g., information about the target platform/environment, run-time changes to the environment, run-time changes in the application execution paths, other...) 3) How are these triggers being detected? (e.g., special idioms/instructions whose execution triggers recompilation, HW assisted run-time monitoring, instrumentation based run-time monitoring, other...) 4) How/when are the above triggers (detection/monitoring mechanisms) being inserted? (e.g., ahead-of-time by the programmer, ahead-of-time by the static-compiler, at run-time, other...) 5) What is the recompilation scope/granularity? (e.g., trace, method, entire program, other...) 6) What is the target application domain? (e.g., applications that are invoked repetitively, long running applications, domain specific applications, any general purpose applications, other...) 7) What is the input code for the dynamic optimization? (e.g., source code, intermediate representation, binary, other...) 8) What is the programming language of the target applications? (e.g., interpreted languages (Java, dynamic scripting languages...), statically compiled languages (C/C++...), any languages, other...) 9) What specific adaptation / optimization / translation / code-transformation is applied? (e.g., selection between pre-prepared versions, specialization of parallelized code, general optimizations, feedback-directed optimizations, other...)

© 2009 IBM Corporation (1) Asynchronous Dynamic Code Adaptation for Generic Data-Parallel Array Programming / Clemens Grelck

© 2009 IBM Corporation (2) Adaptive Generalized Task-Parallelism / Kevin Streit

© 2009 IBM Corporation (3) Feedback-Directed Dynamic Recompilation for Statically Compiled Languages / Dorit Nuzman 1) What is the dynamic optimization stage? During program execution 2) What triggers the dynamic compilation cycle? A method gets warm 3) How are these triggers being detected? sampling execution/PCs (via time interrupts & code instrumentation) to monitor application behavior 4) How/when are the above triggers being inserted? at run-time 5) What is the recompilation scope/granularity? method 6) What is the target application domain? general purpose/commercial applications 7) What is the input code for the dynamic optimization? fat-binary (binary + IR) 8) What is the programming language of the target applications? statically compiled languages (C/C++...) 9) What specific adaptation / optimization / code-transformation is applied? general feedback-directed optimizations (BB ordering, …)

© 2009 IBM Corporation (4) Metrics to be handled for dynamic compilation on embedded systems / Henri-Pierre Charles

© 2009 IBM Corporation (5) Holistic Query Evaluation / Stratis Viglas

© 2009 IBM Corporation (6) Towards reconfigurable acceleration in mobile phones via dynamic compilation / Geoffrey Ndu, Mikel Lujan 1) What is the dynamic optimization stage? during program execution 2) What triggers the dynamic compilation cycle? special instruction 3) How are these triggers being detected? hardware inside microprocessor 4) How/when are the above triggers being inserted? at run-time 5) What is the recompilation scope/granularity? basic block 6) What is the target application domain? general purpose 7) What is the input code for the dynamic optimization? IR 8) What is the programming language of the target applications? any 9) What specific adaptation / optimization / code-transformation is applied? mapping to reconfigurable hardware

© 2009 IBM Corporation (7) Automatically generating and optimising parallel dynamic compilers from high-level descriptions / Bjoern Franke

© 2009 IBM Corporation10 1) What is the dynamic optimization stage? instrumentation during binary translation 2) What triggers the dynamic compilation cycle? Program execution, always. 3) How are these triggers being detected? Not applicable, not trigger. 4) How/when are the above triggers being inserted? Not applicable 5) What is the recompilation scope/granularity? Superblock (kind of) 6) What is the target application domain? program instrumentation 7) What is the input code for the dynamic optimization? bare binary 8) What is the programming language of the target applications? any 9) What specific adaptation / optimization / code-transformation is applied? program instrumentation, actually cache penalty estimation and block length (8) Pseudo Accurate Emulation with QEMU for Auto Tuning / Christophe Guillon

© 2009 IBM Corporation Thematic Session on Dynamic Compilation - Summary 1.Grelck2.Streit3.Nuzman4.HPC5.Viglas6.Ndu7.Franke8.Guillon 1) Opt. stage At application runtime During and across invocations During single invocation Compile time / call time At query timeDuring program execution During app runtime/JIT compilation During translation. No fist obj. 2) Opt. trigger Specific pre-inserted detection code Changing functions behavior Method hottness Data params,v alues Info about platform & data dist. Special instruction #interprted insns trigger inspection; hot regions (counters) always 3) Trigger detection Sampling instrument. Algorithmi c level manually / monitoring HWn/a 4) Trigger insertion Ahead of time (static compiler) During runtime recomp. runtimeRuntime/AOT by DB admin/ programmer runtimeWithin the ISS/DBT system n/a 5) Opt. granularity function + its static call tree functionmethod Entire queryBasic blockRegion (dynamic CFG) superblock 6) Target apps Long- running, CPU bound General purpose Multimedi a, CPU bound Static DB workloads General purpose any 7) Input to optimizer IRFat-binary IRIR (query plan) IR Bare binary 8) App. Prog. Lang SAC (stat. comp. array lang) Stat. comp: C/C++/ ObjectiveC Stat. comp: C/C++/… C/AnySQL (interpreted) AnyStat. comp binary Any 9) Specific opt. Specialize the IR Parallelizati on Generic FDO User choice Specialize codegen Map to reconfig hw Parallel JITing, PE Program instrument.