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,
Software & Services Group Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property.
© 2012 IBM Corporation On the Benefits and Pitfalls of Extending a Statically Typed Language JIT Compiler for Dynamic Scripting Languages Jose Castanos,
Performance Analysis and Optimization through Run-time Simulation and Statistics Philip J. Mucci University Of Tennessee
Debugging Tools Towards better use of system tools to weed the nasty critters out of your programs.
Runtime Feedback in a Meta-Tracing JIT for Efficient Dynamic Languages Writer: Carl Friedrich Bolz Introduced by Ryotaro IKEDA at 2011/09/06.
Dynamic Tracing using DTrace tm By Sameer Niphadkar.
Chapter 4 Operations and Transactions The Strategic Management of Information Systems.
Language Tools for Distributed Computing (II) J-Orchestra: Automatic Java Application Partitioning Yannis Smaragdakis University of Oregon.
Intermediate Representations CS 671 February 12, 2008.
Programming Technologies, MIPT, April 7th, 2012 Introduction to Binary Translation Technology Roman Sokolov SMWare
CSE-105 – Structured Programming CSE, BUET Introduction CSE 105 Structured Programming Language (C)
Part 1 Authors: Marco Cova, et al. Presented by: Brett Parker and Tyler Maclean.
© Krste Asanovic, 2014CS252, Spring 2014, Lecture 16 CS252 Graduate Computer Architecture Spring 2014 Lecture 16: Virtual Machines Krste Asanovic
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 2: Operating-System Structures.
Operating System Structures. Common System Components Due to the complex nature of the modern operating systems, it is partitioned into smaller component.
© Imperial College London IC-Parc William Penney Laboratory Towards Dynamic Instrumentation for Performance Optimisation Andy Cheadle.
RMS and Scheduling for Future Generation Grids Ramin Yahyapour University Dortmund Leader CoreGRID Institute on Resource Management and Scheduling CoreGRID.
Introduction to Grid Application On-Boarding Nick Werstiuk
Virtualization Technique Virtualization Technique System Virtualization I/O Virtualization.
IBM Tivoli JVM Monitoring – Best Practices Steve Klopfer Technical Specialist, IBM
Copyright 2004 Bernd Brügge TUM Software Engineering WS TUM System Design II Bernd Brügge Technische Universität München Applied Software Engineering.
® IBM Software Group © 2008 IBM Corporation A new feature providing mainframe development flexibility David Myers Rational Developer for System z Product.
Windows CE Real-Time Performance Architecture John Hatch Program Manager for CE Kernel Microsoft Corporation.
Chapter 11 Introduction to Programming in C. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display C: A High-Level.
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED,
Burkhard Heisen for WP76 Novemeber, 2013 Karabo: The European XFEL software framework Design Concepts The star marks concepts, which are not yet implemented.
Linux: The Guts By Sam Evans and John Massey. History Of Linux ❖ 1984: Richard Stallman quits his job at MIT, and starts working on the GNU project. ❖
Database Planning, Design, and Administration. Stages of the Database System Development Lifecycle.
© 2016 SlidePlayer.com Inc. All rights reserved.