Axel Naumann. Nada FTE  LLVM + cling would take 4 years  when done, move to next hot-spot in ROOT 2010-01-29Axel Naumann ROOT Team Meeting2.

Slides:



Advertisements
Similar presentations
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Advertisements

Linkage Editors Difference between a linkage editor and a linking loader: Linking loader performs all linking and relocation operations, including automatic.
9.0 EMBEDDED SOFTWARE DEVELOPMENT TOOLS 9.1 Introduction Application programs are typically developed, compiled, and run on host system Embedded programs.
The Functions and Purposes of Translators Code Generation (Intermediate Code, Optimisation, Final Code), Linkers & Loaders.
Lab Information Security Using Java (Review) Lab#0 Omaima Al-Matrafi.
Status and Future of CINT Reflex as Reflection Database Object-Oriented CINT Multi-Threading Masaharu Goto, Agilent Philippe Canal, Fermilab Stefan Roiser,
LLVM-based C++ Interpreter For ROOT Axel Naumann, CERN Lukasz Janyst, CERN Philippe Canal, Fermilab.
Enrique Blanco García © 2004 Introduction to the UNIX environment Enrique Blanco Cover from the book Modern operating systems. A. Tanenbaum.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Memory Management 2010.
0 HPEC 2010 Automated Software Cache Management.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
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.
Compiled by Benjamin Muganzi 3.2 Functions and Purposes of Translators Computing 9691 Paper 3 1.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
What is.NET?.NET is a "revolutionary new platform, built on open Internet protocols and standards, with tools and services that meld computing and communications.
1 IEEE LAN/ MAN Banf 1998 Open Java-Based Intelligent Agent Architecture for Adaptive Networking Devices Tal Lavian, Bay Architecture Lab
CINT & Reflex: New Reflection Data Structures Masa(haru) Goto Agilent Philippe Canal Fermilab/CD Stefan Roiser, Axel Naumann PH/SFT.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.1 Basics of Java Produced by Harvey Peters, 2008 Copyright.
Axel Naumann University of Nijmegen / NIKHEF, NL ROOT 2004 Users Workshop The Future of THtml Plans and Status of ROOT’s documentation facility.
ACMSE’04, ALDepartment of Electrical and Computer Engineering - UAH Execution Characteristics of SPEC CPU2000 Benchmarks: Intel C++ vs. Microsoft VC++
CINT C++ Interpreter update ROOT2001 at Fermi-Lab Masaharu Goto.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Debugging and Profiling With some help from Software Carpentry resources.
Outline Introduction to Oracle Memory Structures SGA, PGA, SCA The Specifics of the System Global Area (SGA) Structures Overview of Program Global Areas.
RNJ 05/05/091 6 Further System Fundamentals (HL) ‏ 6.3 Operating Systems and Utility Software Linkers, Loaders and Library Managers.
CT1513 Introduction To java © A.AlOsaimi.
THtml  THtml will generate >=1 doc.root file .html pages generated from doc.root files by April (Feb doesn't exist)  Bertrand: extract doc for online.
U NIVERSITY OF D ELAWARE C OMPUTER & I NFORMATION S CIENCES D EPARTMENT Optimizing Compilers CISC 673 Spring 2009 Dynamic Compilation I John Cavazos University.
GAM666 – Introduction To Game Programming ● DirectX is implemented as a collection of COM objects ● To use a DirectX program, the user must have the correct.
Providing a coherent view of SFT products to potential new users Stefan Roiser PH/SFT.
CSE 598c – Virtual Machines Survey Proposal: Improving Performance for the JVM Sandra Rueda.
Software Development Introduction
Duke CPS Java: make it run, make it right, make it fast (see Byte, May 1998, for more details) l “Java isn’t fast enough for ‘real’ applications”
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Lecture #20: Profiling NetBeans Profiler 6.0.
C Part 1 Computer Organization I 1 August 2009 © McQuain, Feng & Ribbens A History Lesson Development of language by Dennis Ritchie at Bell.
ACAT 2010 Axel Naumann. What? International Workshop …on Advanced Computing …and Analysis Techniques …in Physics Research "Beyond the Cutting edge in.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
ACAT 2008 Axel Naumann (CERN), Philippe Canal (Fermilab) The Role of Interpreters in High Performance Computing.
Binding & Dynamic Linking Presented by: Raunak Sulekh(1013) Pooja Kapoor(1008)
ROOT / Reflex ‘07+ Stefan Roiser Missed last team meeting b/c.
Introduction to Operating Systems Concepts
Dictionary generation for the Experiments
Chapter 1 Introduction.
Component 1.6.
Interpreted languages Jakub Yaghob
Language Translation Compilation vs. interpretation.
Chapter 1 Introduction.
Lecture 1 Runtime environments.
Runtime Analysis of Hotspot Java Virtual Machine
Introduction Enosis Learning.
Java Virtual Machine Complete subject details are available at:
2.1. Compilers and Interpreters
Mobile Handset Virtual Machine
Introduction Enosis Learning.
Machine Independent Features
9.0 EMBEDDED SOFTWARE DEVELOPMENT TOOLS
Adaptive Optimization in the Jalapeño JVM
CMP 131 Introduction to Computer Programming
CSE 303 Concepts and Tools for Software Development
Java History, Editions, Version Features
System Programming By Prof.Naveed Zishan.
WJEC GCSE Computer Science
Function of Operating Systems
Presentation transcript:

Axel Naumann

Nada FTE  LLVM + cling would take 4 years  when done, move to next hot-spot in ROOT Axel Naumann ROOT Team Meeting2

Lotsa FTEs: 1. Cling Spread benefits throughout ROOT:  overhaul UpdateListOfClasses() etc  remove rootmap (part of dictionary)  use parser in TFormula, THtml,… Major:  JIT compile serialization for given type: switch optimized away  re-think TSelector: predict requested branches by looking at code Axel Naumann ROOT Team Meeting3

Lotsa FTEs: 2. Dynamic Builder Move from just-in-case to on-demand compilation  can revolutionize software distribution / build chain / OS  dump concept of shared libraries  instead: collection of provided and missing symbols + prescription for building Axel Naumann ROOT Team Meeting4

Dynamic Builder  major concept change for dynamic loader's symbol requests: only at call time (sort of like now with fPIC) can provoke compilation  a bit like Java's ClassLoader  enables Rene's BOOT: source doesn't need to be local Axel Naumann ROOT Team Meeting5

Dynamic Builder: Experiments  build time reduced: only syntax and dependency checks  load time reduced: cached symbol resolution (aka compilation)  memory usage reduced: only code that's actually run Axel Naumann ROOT Team Meeting6

Dynamic Builder: Planning  >= 3 years  >= 2 people – needs computer scientist!  could be independent of CINT / ROOT, but we would benefit and we have the tools!  later: predictive JIT, use multicore network calls, e.g. for PROOF Axel Naumann ROOT Team Meeting7

The Group Thing vs. "CINT" G4 can benefit from  interpreter interface  serialization  JIT compile navigator for defined geometry, no more "switch (nextsurface) {}" find more if / switch… that can be reduced at runtime! Axel Naumann ROOT Team Meeting8