We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byMagdalena Birchett
Modified over 2 years ago
© 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.
© 2009 IBM Corporation1 Feedback Directed Dynamic Recompilation for Statically Compiled Languages Dorit Nuzman, Sergei Dyshel, Revital Eres IBM Research,
University of Houston So What’s Exascale Again?. University of Houston The Architects Did Their Best… Scale of parallelism Multiple kinds of parallelism.
Overview Motivations Basic static and dynamic optimization methods ADAPT Dynamo.
An Offline Approach for Whole-Program Paths Analysis using Suffix Arrays G. Pokam, F. Bodin.
Program Representations. Representing programs Goals.
1 Fast and Efficient Partial Code Reordering Xianglong Huang (UT Austin, Adverplex) Stephen M. Blackburn (Intel) David Grove (IBM) Kathryn McKinley (UT.
Programming Technologies, MIPT, April 7th, 2012 Introduction to Binary Translation Technology Roman Sokolov SMWare
Performance Analysis and Optimization through Run-time Simulation and Statistics Philip J. Mucci University Of Tennessee
Adaptive Optimization in the Jalapeño JVM M. Arnold, S. Fink, D. Grove, M. Hind, P. Sweeney Presented by Andrew Cove Spring 2006.
Instrumentation in Software Dynamic Translators for Self-Managed Systems Bruce R. Childers Naveen Kumar, Jonathan Misurda and Mary.
COP4020 Programming Languages Compilation and Interpretation Prof. Xin Yuan.
BRASS Analysis of QuasiStatic Scheduling Techniques in a Virtualized Reconfigurable Machine Yury Markovskiy, Eylon Caspi, Randy Huang, Joseph Yeh, Michael.
SE-292 High Performance Computing Profiling and Performance R. Govindarajan
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
Full and Para Virtualization Dr. Sanjay P. Ahuja, Ph.D FIS Distinguished Professor of Computer Science School of Computing, UNF.
Michael J. Voss and Rudolf Eigenmann PPoPP, ‘01 (Presented by Kanad Sinha)
Representing programs Goals. Representing programs Primary goals –analysis is easy and effective just a few cases to handle directly link related things.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Compilation Technology October 17, 2005 © 2005 IBM Corporation Software Group Reducing Compilation Overhead in J9/TR Marius Pirvu, Derek Inglis, Vijay.
1 ROGUE Dynamic Optimization Framework Using Pin Vijay Janapa Reddi PhD. Candidate - Electrical And Computer Engineering University of Colorado at Boulder.
PINTOS: An Execution Phase Based Optimization and Simulation Tool) PINTOS: An Execution Phase Based Optimization and Simulation Tool) Wei Hsu, Jinpyo Kim,
TYPES OF SOFTWARE. Sonam Dema.. 3 Types of soft ware. 1.System software. 2.Programming software. 3.Application software.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Compilers: Overview/1 1 Compiler Structures Objective – –what are the main features (structures) in a compiler? , Semester 1,
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
Helper Threads via Virtual Multithreading on an experimental Itanium 2 processor platform. Perry H Wang et. Al.
Developing software and hardware in parallel Vladimir Rubanov ISP RAS.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
1 Toward Target Level Testing and Debugging for Embedded Software Koehnemann, Lindquist Ritu Varma Roshanak Roshandel Manu Prasanna.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
Presented by : A best website designer company. Chapter 1 Introduction Prof Chung. 1.
JVM-1 Introduction to Java Virtual Machine. JVM-2 Outline Java Language, Java Virtual Machine and Java Platform Organization of Java Virtual Machine Garbage.
© 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
Advanced Oracle DB tuning Performance can be defined in very different ways (OLTP versus DSS) Specific goals and targets must be set => clear recognition.
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
Fast Functional Simulation with a Dynamic Language Craig S. Steele, Exogi LLC, USA JP Bonn, Exogi LLC, USA.
Dynamo: A Transparent Dynamic Optimization System Bala, Dueterwald, and Banerjia projects/Dynamo.
Introduction to Compilers. Related Area Programming languages Machine architecture Language theory Algorithms Data structures Operating systems Software.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
The Process From bare bones to finished product. The Steps Programming Debugging Performance Tuning Optimization.
Creating Computer Programs lesson 27. This lesson includes the following sections: What is a Computer Program? How Programs Solve Problems Two Approaches:
Computer Programming Putting the machine under our command.
Processor Types And Instruction Sets Barak Perelman CS147 Prof. Lee.
Algorithms in Programming Computer Science Principles LO
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) Reconfigurable Architectures Forces that drive.
ECE 750 Topic 8 Meta-programming languages, systems, and applications Automatic Program Specialization for J ava – U. P. Schultz, J. L. Lawall, C. Consel.
Session-02. Objective In this session you will learn : What is Class Loader ? What is Byte Code Verifier? JIT & JAVA API Features of Java Java Environment.
© 2017 SlidePlayer.com Inc. All rights reserved.