Component Architectures

Size: px
Start display at page:

Download "Component Architectures"

Transcription

1 Component Architectures Rapid Prototyping in a Networked Environment Ken Kennedy Rice University

2 Participants Ruth Aydt Bradley Broom Zoran Budimlic Barbara Chapman Keith Cooper Jack Dongarra Rob Fowler Richard Hanson Lennart Johnsson Ken Kennedy John Mellor-Crummey Dan Reed Jaspal Subhlok Linda Torczon

3 Areas of Activity Compilation of Object-Oriented Languages Java for high performance computing Using the full power of the language Implementation of High-Level Domain-Specific Languages Telescoping languages Framework for generating fast scripting systems from libraries Numerical component libraries Automatic tuning of libraries Application Development Support for Computational Grids The GrADS Project Strategy Optimal resource selection in grids

4 Java Compilation Strategy Secure Java Environment Java Program JaMake Environment Java Front End Whole-Program Optimization Java Optimizer Java Bytecodes Source-to-Source Transformation Bytecode Compiler Conventional Optimizing Compiler Java VM with JIT Native Machine Code

5 Java Compilation Strategy Secure Java Environment Java Program JaMake Environment Java Front End Whole-Program Optimization Java Optimizer Java Bytecodes Source-to-Source Transformation Bytecode Compiler Conventional Optimizing Compiler Java VM with JIT Native Machine Code

6 JaMake: A Java Transformation Tool Source-to-Source Transformations Works on any JVM Can be viewed as a packaging tool Extensive Use of Interprocedural Analysis and Optmization Whole-program transformation framework Employs powerful type analysis Almost-whole-program transformations Innovative New Optimizations Object inlining Inlines whole objects, including data Converts array of objects to arrays of built-in types Class specialization Specializes by instantiaton type of class data

7 Making Languages Usable It was our belief that if FORTRAN, during its first months, were to translate any reasonable scientific source program into an object program only half as fast as its hand-coded counterpart, then acceptance of our system would be in serious danger... I believe that had we failed to produce efficient programs, the widespread use of languages like FORTRAN would have been seriously delayed. John Backus

8 A Java Experiment Scientific Programming In Java Goal: make it possible to use the full object-oriented power for scientific applications Many scientific implementations mimic Fortran style

9 A Java Experiment Scientific Programming In Java Goal: make it possible to use the full object-oriented power for scientific applications Many scientific implementations mimic Fortran style OwlPack Benchmark Suite Three versions of LinPACK in Java Fortran style Lite object-oriented style Full polymorphism No differences for type

10 A Java Experiment Scientific Programming In Java Goal: make it possible to use the full object-oriented power for scientific applications Many scientific implementations mimic Fortran style OwlPack Benchmark Suite Three versions of LinPACK in Java Fortran style Lite object-oriented style Full polymorphism Experiment No differences for type Compare running times for different styles on same Java VM Evaluate potential for compiler optimization

11 Performance Results 100 Sun Ultra dpofa dposl dpodi dgefa dgesl dgedi dqrdc dqrsl dsvdc average 1.75 Fortran style Lite OO OO style Optimized OO

12 Plans New Global Type Analysis Implementation Precise global analysis derived from call-graph construction strategies Work with the CartaBlanca Group Determine whether JaMake can improve overall performance Experiment with Telescoping Languages Strategies Improved performance with almost-whole program analysis Explore Collaboration with JVM Jalapeño project at IBM Research Continued collaboration with Compaq

13 Programming Productivity Challenges programming is hard professional programmers are in short supply high performance will continue to be important

14 Programming Productivity Challenges programming is hard professional programmers are in short supply high performance will continue to be important One Strategy: Make the End User a Programmer professional programmers develop components users integrate components using: problem-solving environments (PSEs) scripting languages (possibly graphical) examples: Visual Basic, Tcl/Tk, AVS, Khoros

15 Programming Productivity Challenges programming is hard professional programmers are in short supply high performance will continue to be important One Strategy: Make the End User a Programmer professional programmers develop components users integrate components using: problem-solving environments (PSEs) scripting languages (possibly graphical) examples: Visual Basic, Tcl/Tk, AVS, Khoros Compilation for High Performance translate scripts and components to common intermediate language optimize the resulting program using interprocedural methods

16 Script-Based Programming Component Library User Library Script

17 Script-Based Programming Component Library User Library Translator Intermediate Code Script

18 Script-Based Programming Component Library Global Optimizer User Library Translator Intermediate Code Script

19 Script-Based Programming Component Library Global Optimizer User Library Translator Intermediate Code Code Generator Script

20 Script-Based Programming Component Library Global Optimizer User Library Translator Intermediate Code Code Generator Script Problem: long compilation times, even for short scripts!

21 Script-Based Programming Component Library Global Optimizer User Library Translator Intermediate Code Code Generator Script Problem: long compilation times, even for short scripts! Problem: expert knowledge on specialization lost

22 Telescoping Languages L 1 Class 1 Library

23 Telescoping Languages L 1 Class 1 Library Compiler Generator Could run for hours L 1 Compiler 1

24 Telescoping Languages L 1 Class 1 Library Compiler Generator Could run for hours Script Script Translator L 1 Compiler 1 understands library calls as primitives Vendor Compiler Optimized Application

25 Telescoping Languages: Advantages Compile times can be reasonable More compilation time can be spent on libraries Script compilations can be fast Components reused from scripts may be included in libraries High-level optimizations can be included Based on specifications of the library designer Properties often cannot be determined by compilers Properties may be hidden after low-level code generation User retains substantive control over language performance Mature code can be built into a library and incorporated into language Reliability can be improved Specialization by compilation framework, not user

26 Applications Matlab Compiler Automatically generated from LAPACK or ScaLAPACK With help via annotations from the designer Flexible Data Distributions Failing of HPF: inflexible distributions Data distribution == collection of interfaces that meet specs Compiler applies standard transformations Automatic Generation of POOMA Data structure library implemented via template expansion in C++ Long compile times, missed optimizations Generator for Grid Computations GrADS: automatic generation of NetSolve Hardware Synthesis Languages

27 Application: Matlab for Signal Processing Signal processing users want simplicity, programming power, and performance Currently over 500,000 Matlab licenses Matlab gives them simplicity and power but not performance Codes prototyped in Matlab Codes rewritten in C for communications devices Users would rather not do this Telescoping Languages: Many signal processing code modules reused over and over Run these procedures through the language generator Produce Matlab SP, a high-level domain-specific environment

28 Matlab SP: Preliminary Findings Optimizations That Pay Off Vectorization Wins because of hand coded vector/matrix primitives Elimination of common array subexpressions Optimization of array allocation and reshape operations New Optimizations Procedure vectorization Interchange call and loop after distribution Procedure strength reduction Subdivide procedure in to variant and invariant components Use invariant component only once

29 Procedure Strength Reduction Procedure called in loop for i = 1:N x = f(c 1,c 2,i,c 3 ) end Becomes f (c µ 1,c 2, c 3 ) for i = 1:N x = f (i) end Further improvements possible Use code differentiation to compute differences ADIFOR

30 Procedure Strength Reduction Performance jmp1 newcd cdsdhd ctss olbf Original Optimized

31 Component Libraries Components for Use in High-Level Domain-Specific Languages Telescoping-language-ready libraries Grid-aware components Automatic Tuning of Kernels Atlas, UHFFT Discussed in talks by Dongarra, Johnsson Automatic Application Tuning Generation of tuning search for arbitrary loop nests

32 National Distributed Computing

33 National Distributed Computing

34 National Distributed Computing Supercomputer

35 National Distributed Computing Supercomputer Database

36 National Distributed Computing Supercomputer Database Supercomputer

37 National Distributed Computing Database Supercomputer Database Supercomputer

38 Globus Developed by Ian Foster and Carl Kesselman Originally to support the I-Way (SC-96) Basic Services for distributed computing Accounting Resource directory and other information services User authentication Job initiation Communication services (Nexus and MPI) Applications are programmed by hand User responsible for resource mapping and all communication Many applications, most developed with Globus team Globus developers acknowledge how hard this is

39 GrADSoft Architecture Goal: reliable performance under varying load Performance Feedback Software Components Performance Problem Real-time Performance Monitor Whole- Program Compiler Source Application Configurable Object Program Service Negotiator Scheduler Negotiation Grid Runtime System Libraries Dynamic Optimizer GrADS Project (NSF NGS): Berman, Chien, Cooper, Dongarra, Foster, Gannon Johnsson, Kennedy, Kesselman, Mellor-Crummey, Reed, Torczon, Wolski

40 GrADSoft Architecture Execution Environment Performance Feedback Software Components Performance Problem Real-time Performance Monitor Whole- Program Compiler Source Application Configurable Object Program Service Negotiator Scheduler Negotiation Grid Runtime System Libraries Dynamic Optimizer

41 GrADSoft Architecture Program Preparation System Execution Environment Performance Feedback Software Components Performance Problem Real-time Performance Monitor Whole- Program Compiler Source Application Configurable Object Program Service Negotiator Scheduler Negotiation Grid Runtime System Libraries Dynamic Optimizer

42 Grid Activities Support for GrADS Investigation Making the application development strategy generic Compilation of configurable object programs Construction of Accurate Performance Models Graph-based resource selection Accurate inference of performance characteristics on specific collections of resources Inference of communication characteristics Grid Utilities New algorithm for Grid broadcast Future Collaborate on a LANL application

43 Summary Applications of Component Architectures Programming productivity Grid programming systems Reliability General Issue: Performance Without it, usage will be discouraged Strategies for Overcoming Performance Issues Speculative compilation Use of extensive computation to tune applications to different platforms Adaptation at run time

High Performance Computing. Without a Degree in Computer Science

High Performance Computing. Without a Degree in Computer Science High Performance Computing Without a Degree in Computer Science Smalley s Top Ten 1. energy 2. water 3. food 4. environment 5. poverty 6. terrorism and war 7. disease 8. education 9. democracy 10. population

More information

Compiler Architecture for High-Performance Problem Solving

Compiler Architecture for High-Performance Problem Solving Compiler Architecture for High-Performance Problem Solving A Quest for High-Level Programming Systems Ken Kennedy Rice University http://www.cs.rice.edu/~ken/presentations/compilerarchitecture.pdf Context

More information

Compiler Technology for Problem Solving on Computational Grids

Compiler Technology for Problem Solving on Computational Grids Compiler Technology for Problem Solving on Computational Grids An Overview of Programming Support Research in the GrADS Project Ken Kennedy Rice University http://www.cs.rice.edu/~ken/presentations/gridcompilers.pdf

More information

Generation of High Performance Domain- Specific Languages from Component Libraries. Ken Kennedy Rice University

Generation of High Performance Domain- Specific Languages from Component Libraries. Ken Kennedy Rice University Generation of High Performance Domain- Specific Languages from Component Libraries Ken Kennedy Rice University Collaborators Raj Bandypadhyay Zoran Budimlic Arun Chauhan Daniel Chavarria-Miranda Keith

More information

Compilers and Run-Time Systems for High-Performance Computing

Compilers and Run-Time Systems for High-Performance Computing Compilers and Run-Time Systems for High-Performance Computing Blurring the Distinction between Compile-Time and Run-Time Ken Kennedy Rice University http://www.cs.rice.edu/~ken/presentations/compilerruntime.pdf

More information

Compilers for High Performance Computer Systems: Do They Have a Future? Ken Kennedy Rice University

Compilers for High Performance Computer Systems: Do They Have a Future? Ken Kennedy Rice University Compilers for High Performance Computer Systems: Do They Have a Future? Ken Kennedy Rice University Collaborators Raj Bandypadhyay Zoran Budimlic Arun Chauhan Daniel Chavarria-Miranda Keith Cooper Jack

More information

Grid Application Development Software

Grid Application Development Software Grid Application Development Software Department of Computer Science University of Houston, Houston, Texas GrADS Vision Goals Approach Status http://www.hipersoft.cs.rice.edu/grads GrADS Team (PIs) Ken

More information

Parallel Matlab Based on Telescoping Languages and Data Parallel Compilation. Ken Kennedy Rice University

Parallel Matlab Based on Telescoping Languages and Data Parallel Compilation. Ken Kennedy Rice University Parallel Matlab Based on Telescoping Languages and Data Parallel Compilation Ken Kennedy Rice University Collaborators Raj Bandypadhyay Zoran Budimlic Arun Chauhan Daniel Chavarria-Miranda Keith Cooper

More information

UG3 Compiling Techniques Overview of the Course

UG3 Compiling Techniques Overview of the Course UG3 Compiling Techniques Overview of the Course Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University have explicit permission

More information

Compiling Java For High Performance on Servers

Compiling Java For High Performance on Servers Compiling Java For High Performance on Servers Ken Kennedy Center for Research on Parallel Computation Rice University Goal: Achieve high performance without sacrificing language compatibility and portability.

More information

Telescoping MATLAB for DSP Applications

Telescoping MATLAB for DSP Applications Telescoping MATLAB for DSP Applications PhD Thesis Defense Arun Chauhan Computer Science, Rice University PhD Thesis Defense July 10, 2003 Two True Stories Two True Stories the world of Digital Signal

More information

Toward a Framework for Preparing and Executing Adaptive Grid Programs

Toward a Framework for Preparing and Executing Adaptive Grid Programs Toward a Framework for Preparing and Executing Adaptive Grid Programs Ken Kennedy α, Mark Mazina, John Mellor-Crummey, Keith Cooper, Linda Torczon Rice University Fran Berman, Andrew Chien, Holly Dail,

More information

Future Applications and Architectures

Future Applications and Architectures Future Applications and Architectures And Mapping One to the Other Ken Kennedy Rice University http://www.cs.rice.edu/~ken/presentations/futurelacsi06.pdf Viewpoint (Outside DOE) What is the predominant

More information

Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated Libraries

Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated Libraries Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated Libraries Ken Kennedy, Bradley Broom, Keith Cooper, Jack Dongarra, Rob Fowler, Dennis Gannon,

More information

CS415 Compilers Overview of the Course. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

CS415 Compilers Overview of the Course. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University CS415 Compilers Overview of the Course These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University Critical Facts Welcome to CS415 Compilers Topics in the

More information

Compiling Techniques

Compiling Techniques Lecture 1: Introduction 20 September 2016 Table of contents 1 2 3 Essential Facts Lecturer: (christophe.dubach@ed.ac.uk) Office hours: Thursdays 11am-12pm Textbook (not strictly required): Keith Cooper

More information

Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated Libraries

Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated Libraries Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated Libraries Ken Kennedy, Bradley Broom, Keith Cooper, Jack Dongarra, Rob Fowler, Dennis Gannon,

More information

Biological Sequence Alignment On The Computational Grid Using The Grads Framework

Biological Sequence Alignment On The Computational Grid Using The Grads Framework Biological Sequence Alignment On The Computational Grid Using The Grads Framework Asim YarKhan (yarkhan@cs.utk.edu) Computer Science Department, University of Tennessee Jack J. Dongarra (dongarra@cs.utk.edu)

More information

Grid Computing: Application Development

Grid Computing: Application Development Grid Computing: Application Development Lennart Johnsson Department of Computer Science and the Texas Learning and Computation Center University of Houston Houston, TX Department of Numerical Analysis

More information

Why Performance Models Matter for Grid Computing

Why Performance Models Matter for Grid Computing Why Performance Models Matter for Grid Computing Ken Kennedy 1 Rice University ken@rice.edu 1 Introduction Global heterogeneous computing, often referred to as the Grid [5, 6], is a popular emerging computing

More information

Compilation for Heterogeneous Platforms

Compilation for Heterogeneous Platforms Compilation for Heterogeneous Platforms Grid in a Box and on a Chip Ken Kennedy Rice University http://www.cs.rice.edu/~ken/presentations/heterogeneous.pdf Senior Researchers Ken Kennedy John Mellor-Crummey

More information

LCPC Arun Chauhan and Ken Kennedy

LCPC Arun Chauhan and Ken Kennedy Slice-hoisting for Array-size Inference in MATLAB LCPC 2003 Arun Chauhan and Ken Kennedy Computer Science, Rice University LCPC 2003 Oct 4, 2003 History Repeats It was our belief that if FORTRAN, during

More information

GrADSoft and its Application Manager: An Execution Mechanism for Grid Applications

GrADSoft and its Application Manager: An Execution Mechanism for Grid Applications GrADSoft and its Application Manager: An Execution Mechanism for Grid Applications Authors Ken Kennedy, Mark Mazina, John Mellor-Crummey, Rice University Ruth Aydt, Celso Mendes, UIUC Holly Dail, Otto

More information

Code Merge. Flow Analysis. bookkeeping

Code Merge. Flow Analysis. bookkeeping Historic Compilers Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University have explicit permission to make copies of these materials

More information

Just-In-Time Compilers & Runtime Optimizers

Just-In-Time Compilers & Runtime Optimizers COMP 412 FALL 2017 Just-In-Time Compilers & Runtime Optimizers Comp 412 source code IR Front End Optimizer Back End IR target code Copyright 2017, Keith D. Cooper & Linda Torczon, all rights reserved.

More information

CS 526 Advanced Topics in Compiler Construction. 1 of 12

CS 526 Advanced Topics in Compiler Construction. 1 of 12 CS 526 Advanced Topics in Compiler Construction 1 of 12 Course Organization Instructor: David Padua 3-4223 padua@uiuc.edu Office hours: By appointment Course material: Website Textbook: Randy Allen and

More information

Overpartioning with the Rice dhpf Compiler

Overpartioning with the Rice dhpf Compiler Overpartioning with the Rice dhpf Compiler Strategies for Achieving High Performance in High Performance Fortran Ken Kennedy Rice University http://www.cs.rice.edu/~ken/presentations/hug00overpartioning.pdf

More information

Using Cache Models and Empirical Search in Automatic Tuning of Applications. Apan Qasem Ken Kennedy John Mellor-Crummey Rice University Houston, TX

Using Cache Models and Empirical Search in Automatic Tuning of Applications. Apan Qasem Ken Kennedy John Mellor-Crummey Rice University Houston, TX Using Cache Models and Empirical Search in Automatic Tuning of Applications Apan Qasem Ken Kennedy John Mellor-Crummey Rice University Houston, TX Outline Overview of Framework Fine grain control of transformations

More information

Experiments with Scheduling Using Simulated Annealing in a Grid Environment

Experiments with Scheduling Using Simulated Annealing in a Grid Environment Experiments with Scheduling Using Simulated Annealing in a Grid Environment Asim YarKhan Computer Science Department University of Tennessee yarkhan@cs.utk.edu Jack J. Dongarra Computer Science Department

More information

Compiler Design. Dr. Chengwei Lei CEECS California State University, Bakersfield

Compiler Design. Dr. Chengwei Lei CEECS California State University, Bakersfield Compiler Design Dr. Chengwei Lei CEECS California State University, Bakersfield The course Instructor: Dr. Chengwei Lei Office: Science III 339 Office Hours: M/T/W 1:00-1:59 PM, or by appointment Phone:

More information

Why Performance Models Matter for Grid Computing

Why Performance Models Matter for Grid Computing Why Performance Models Matter for Grid Computing Ken Kennedy 1 Rice University ken@rice.edu 1 Introduction Global heterogeneous computing, often referred to as the Grid [5, 6], is a popular emerging computing

More information

CS426 Compiler Construction Fall 2006

CS426 Compiler Construction Fall 2006 CS426 Compiler Construction David Padua Department of Computer Science University of Illinois at Urbana-Champaign 0. Course organization 2 of 23 Instructor: David A. Padua 4227 SC, 333-4223 Office Hours:

More information

Slice-hoisting for Array-size Inference in MATLAB

Slice-hoisting for Array-size Inference in MATLAB Slice-hoisting for Array-size Inference in MATLAB Arun Chauhan and Ken Kennedy achauhan@cs.rice.edu ken@cs.rice.edu Department of Computer Science, Rice University, Houston, TX 77005 Abstract. Inferring

More information

Using Java for Scientific Computing. Mark Bul EPCC, University of Edinburgh

Using Java for Scientific Computing. Mark Bul EPCC, University of Edinburgh Using Java for Scientific Computing Mark Bul EPCC, University of Edinburgh markb@epcc.ed.ac.uk Java and Scientific Computing? Benefits of Java for Scientific Computing Portability Network centricity Software

More information

Programming Languages and Compilers. Jeff Nucciarone AERSP 597B Sept. 20, 2004

Programming Languages and Compilers. Jeff Nucciarone AERSP 597B Sept. 20, 2004 Programming Languages and Compilers Jeff Nucciarone Sept. 20, 2004 Programming Languages Fortran C C++ Java many others Why use Standard Programming Languages? Programming tedious requiring detailed knowledge

More information

Enhanced Representation Of Data Flow Anomaly Detection For Teaching Evaluation

Enhanced Representation Of Data Flow Anomaly Detection For Teaching Evaluation Enhanced Representation Of Data Flow Anomaly Detection For Teaching Evaluation T.Mamatha A.BalaRam Asst.Prof. in Dept. of CSE Assoc.Prof. in Dept of CSE SreeNidhi Institute of Science & Technology CMR

More information

Biological Sequence Alignment On The Computational Grid Using The GrADS Framework

Biological Sequence Alignment On The Computational Grid Using The GrADS Framework Biological Sequence Alignment On The Computational Grid Using The GrADS Framework Asim YarKhan a Jack J. Dongarra a,b a Computer Science Department, University of Tennessee, Knoxville, TN 37996 b Computer

More information

Procedure Strength Reduction: An Optimizing Strategy for Telescoping Languages

Procedure Strength Reduction: An Optimizing Strategy for Telescoping Languages Procedure Strength Reduction: An Optimizing Strategy for Telescoping Languages Arun Chauhan and Ken Kennedy Motivation High Performance programming is hard Increasingly a specialized activity Shortage

More information

Research Related Activities

Research Related Activities Research Related Activities Lennart Johnsson Research Infrastructure Research Science and Engineering Research Infrastructure Observations Collaborators are increasingly chosen regardless of location Instruments

More information

Pondering the Problem of Programmers Productivity

Pondering the Problem of Programmers Productivity Pondering the Problem of Programmers Productivity Are we there yet? Arun Chauhan Indiana University Domain-specific Languages Systems Seminar, 2004-11-04 The Big Picture Human-Computer Interface The Big

More information

The Grid: Feng Shui for the Terminally Rectilinear

The Grid: Feng Shui for the Terminally Rectilinear The Grid: Feng Shui for the Terminally Rectilinear Martha Stewart Introduction While the rapid evolution of The Internet continues to define a new medium for the sharing and management of information,

More information

Parallelizing MATLAB

Parallelizing MATLAB Parallelizing MATLAB Arun Chauhan Indiana University ParaM Supercomputing, OSC booth, 2004-11-10 The Performance Gap MATLAB Example function mcc demo x = 1; y = x / 10; z = x * 20; r = y + z; MATLAB Example

More information

CS415 Compilers Overview of the Course. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

CS415 Compilers Overview of the Course. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University CS415 Compilers Overview of the Course These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University Welcome to CS415 - Compilers Topics in the design of

More information

Self-adapting Numerical Software for Next Generation Applications Lapack Working Note 157, ICL-UT-02-07

Self-adapting Numerical Software for Next Generation Applications Lapack Working Note 157, ICL-UT-02-07 Self-adapting Numerical Software for Next Generation Applications Lapack Working Note 157, ICL-UT-02-07 Jack Dongarra, Victor Eijkhout December 2002 Abstract The challenge for the development of next generation

More information

Decreasing End-to Job Execution Times by Increasing Resource Utilization using Predictive Scheduling in the Grid

Decreasing End-to Job Execution Times by Increasing Resource Utilization using Predictive Scheduling in the Grid Decreasing End-to to-end Job Execution Times by Increasing Resource Utilization using Predictive Scheduling in the Grid Ioan Raicu Computer Science Department University of Chicago Grid Computing Seminar

More information

Case Studies in Storage Access by Loosely Coupled Petascale Applications

Case Studies in Storage Access by Loosely Coupled Petascale Applications Case Studies in Storage Access by Loosely Coupled Petascale Applications Justin M Wozniak and Michael Wilde Petascale Data Storage Workshop at SC 09 Portland, Oregon November 15, 2009 Outline Scripted

More information

OmniRPC: a Grid RPC facility for Cluster and Global Computing in OpenMP

OmniRPC: a Grid RPC facility for Cluster and Global Computing in OpenMP OmniRPC: a Grid RPC facility for Cluster and Global Computing in OpenMP (extended abstract) Mitsuhisa Sato 1, Motonari Hirano 2, Yoshio Tanaka 2 and Satoshi Sekiguchi 2 1 Real World Computing Partnership,

More information

The View from 35,000 Feet

The View from 35,000 Feet The View from 35,000 Feet This lecture is taken directly from the Engineering a Compiler web site with only minor adaptations for EECS 6083 at University of Cincinnati Copyright 2003, Keith D. Cooper,

More information

Co-array Fortran Performance and Potential: an NPB Experimental Study. Department of Computer Science Rice University

Co-array Fortran Performance and Potential: an NPB Experimental Study. Department of Computer Science Rice University Co-array Fortran Performance and Potential: an NPB Experimental Study Cristian Coarfa Jason Lee Eckhardt Yuri Dotsenko John Mellor-Crummey Department of Computer Science Rice University Parallel Programming

More information

ROCI 2: A Programming Platform for Distributed Robots based on Microsoft s.net Framework

ROCI 2: A Programming Platform for Distributed Robots based on Microsoft s.net Framework ROCI 2: A Programming Platform for Distributed Robots based on Microsoft s.net Framework Vito Sabella, Camillo J. Taylor, Scott Currie GRASP Laboratory University of Pennsylvania Philadelphia PA, 19104

More information

GRID*p: Interactive Data-Parallel Programming on the Grid with MATLAB

GRID*p: Interactive Data-Parallel Programming on the Grid with MATLAB GRID*p: Interactive Data-Parallel Programming on the Grid with MATLAB Imran Patel and John R. Gilbert Department of Computer Science University of California, Santa Barbara {imran, gilbert}@cs.ucsb.edu

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

Latency Hiding by Redundant Processing: A Technique for Grid enabled, Iterative, Synchronous Parallel Programs

Latency Hiding by Redundant Processing: A Technique for Grid enabled, Iterative, Synchronous Parallel Programs Latency Hiding by Redundant Processing: A Technique for Grid enabled, Iterative, Synchronous Parallel Programs Jeremy F. Villalobos University of North Carolina at Charlote 921 University City Blvd Charlotte,

More information

Self-adapting Numerical Software and Automatic Tuning of Heuristics

Self-adapting Numerical Software and Automatic Tuning of Heuristics Self-adapting Numerical Software and Automatic Tuning of Heuristics Jack Dongarra, Victor Eijkhout Abstract Self-Adapting Numerical Software (SANS) systems aim to bridge the knowledge gap that exists between

More information

Building Performance Topologies for Computational Grids UCSB Technical Report

Building Performance Topologies for Computational Grids UCSB Technical Report Building Performance Topologies for Computational Grids UCSB Technical Report 2002-11 Martin Swany and Rich Wolski Department of Computer Science University of California Santa Barbara, CA 93106 {swany,rich}@cs..edu

More information

Compilers and Compiler-based Tools for HPC

Compilers and Compiler-based Tools for HPC Compilers and Compiler-based Tools for HPC John Mellor-Crummey Department of Computer Science Rice University http://lacsi.rice.edu/review/2004/slides/compilers-tools.pdf High Performance Computing Algorithms

More information

Matrex Table of Contents

Matrex Table of Contents Matrex Table of Contents Matrex...1 What is the equivalent of a spreadsheet in Matrex?...2 Why I should use Matrex instead of a spreadsheet application?...3 Concepts...4 System architecture in the future

More information

Overview of the Course

Overview of the Course Overview of the Course Critical Facts Welcome to CISC 471 / 672 Compiler Construction Topics in the design of programming language translators, including parsing, semantic analysis, error recovery, code

More information

Usually, target code is semantically equivalent to source code, but not always!

Usually, target code is semantically equivalent to source code, but not always! What is a Compiler? Compiler A program that translates code in one language (source code) to code in another language (target code). Usually, target code is semantically equivalent to source code, but

More information

CSE 590o: Chapel. Brad Chamberlain Steve Deitz Chapel Team. University of Washington September 26, 2007

CSE 590o: Chapel. Brad Chamberlain Steve Deitz Chapel Team. University of Washington September 26, 2007 CSE 590o: Chapel Brad Chamberlain Steve Deitz Chapel Team University of Washington September 26, 2007 Outline Context for Chapel This Seminar Chapel Compiler CSE 590o: Chapel (2) Chapel Chapel: a new parallel

More information

Sista: Improving Cog s JIT performance. Clément Béra

Sista: Improving Cog s JIT performance. Clément Béra Sista: Improving Cog s JIT performance Clément Béra Main people involved in Sista Eliot Miranda Over 30 years experience in Smalltalk VM Clément Béra 2 years engineer in the Pharo team Phd student starting

More information

Solution overview VISUAL COBOL BUSINESS CHALLENGE SOLUTION OVERVIEW BUSINESS BENEFIT

Solution overview VISUAL COBOL BUSINESS CHALLENGE SOLUTION OVERVIEW BUSINESS BENEFIT BUSINESS CHALLENGE There is an increasing demand from users of business software for easier to use applications which integrate with other business systems. As a result IT organizations are being asked

More information

Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University have explicit

Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University have explicit Intermediate Representations Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University have explicit permission to make copies

More information

Analyzing the Performance of IWAVE on a Cluster using HPCToolkit

Analyzing the Performance of IWAVE on a Cluster using HPCToolkit Analyzing the Performance of IWAVE on a Cluster using HPCToolkit John Mellor-Crummey and Laksono Adhianto Department of Computer Science Rice University {johnmc,laksono}@rice.edu TRIP Meeting March 30,

More information

SIMULATION OF ADAPTIVE APPLICATIONS IN HETEROGENEOUS COMPUTING ENVIRONMENTS

SIMULATION OF ADAPTIVE APPLICATIONS IN HETEROGENEOUS COMPUTING ENVIRONMENTS SIMULATION OF ADAPTIVE APPLICATIONS IN HETEROGENEOUS COMPUTING ENVIRONMENTS Bo Hong and Viktor K. Prasanna Department of Electrical Engineering University of Southern California Los Angeles, CA 90089-2562

More information

Virtual Grids. Today s Readings

Virtual Grids. Today s Readings Virtual Grids Last Time» Adaptation by Applications» What do you need to know? To do it well?» Grid Application Development Software (GrADS) Today» Virtual Grids» Virtual Grid Application Development Software

More information

CS Understanding Parallel Computing

CS Understanding Parallel Computing CS 594 001 Understanding Parallel Computing Web page for the course: http://www.cs.utk.edu/~dongarra/web-pages/cs594-2006.htm CS 594 001 Wednesday s 1:30 4:00 Understanding Parallel Computing: From Theory

More information

The Cascade High Productivity Programming Language

The Cascade High Productivity Programming Language The Cascade High Productivity Programming Language Hans P. Zima University of Vienna, Austria and JPL, California Institute of Technology, Pasadena, CA CMWF Workshop on the Use of High Performance Computing

More information

A Chromium Based Viewer for CUMULVS

A Chromium Based Viewer for CUMULVS A Chromium Based Viewer for CUMULVS Submitted to PDPTA 06 Dan Bennett Corresponding Author Department of Mathematics and Computer Science Edinboro University of PA Edinboro, Pennsylvania 16444 Phone: (814)

More information

Linear Algebra libraries in Debian. DebConf 10 New York 05/08/2010 Sylvestre

Linear Algebra libraries in Debian. DebConf 10 New York 05/08/2010 Sylvestre Linear Algebra libraries in Debian Who I am? Core developer of Scilab (daily job) Debian Developer Involved in Debian mainly in Science and Java aspects sylvestre.ledru@scilab.org / sylvestre@debian.org

More information

Intel Math Kernel Library 10.3

Intel Math Kernel Library 10.3 Intel Math Kernel Library 10.3 Product Brief Intel Math Kernel Library 10.3 The Flagship High Performance Computing Math Library for Windows*, Linux*, and Mac OS* X Intel Math Kernel Library (Intel MKL)

More information

Introduction to Cluster Computing

Introduction to Cluster Computing Introduction to Cluster Computing Prabhaker Mateti Wright State University Dayton, Ohio, USA Overview High performance computing High throughput computing NOW, HPC, and HTC Parallel algorithms Software

More information

Parley: Federated Virtual Machines

Parley: Federated Virtual Machines 1 IBM Research Parley: Federated Virtual Machines Perry Cheng, Dave Grove, Martin Hirzel, Rob O Callahan and Nikhil Swamy VEE Workshop September 2004 2002 IBM Corporation What is Parley? Motivation Virtual

More information

Java Performance Analysis for Scientific Computing

Java Performance Analysis for Scientific Computing Java Performance Analysis for Scientific Computing Roldan Pozo Leader, Mathematical Software Group National Institute of Standards and Technology USA UKHEC: Java for High End Computing Nov. 20th, 2000

More information

Technology for a better society. hetcomp.com

Technology for a better society. hetcomp.com Technology for a better society hetcomp.com 1 J. Seland, C. Dyken, T. R. Hagen, A. R. Brodtkorb, J. Hjelmervik,E Bjønnes GPU Computing USIT Course Week 16th November 2011 hetcomp.com 2 9:30 10:15 Introduction

More information

High Performance Computing Software Development Kit For Mac OS X In Depth Product Information

High Performance Computing Software Development Kit For Mac OS X In Depth Product Information High Performance Computing Software Development Kit For Mac OS X In Depth Product Information 2781 Bond Street Rochester Hills, MI 48309 U.S.A. Tel (248) 853-0095 Fax (248) 853-0108 support@absoft.com

More information

Practical High Performance Computing

Practical High Performance Computing Practical High Performance Computing Donour Sizemore July 21, 2005 2005 ICE Purpose of This Talk Define High Performance computing Illustrate how to get started 2005 ICE 1 Preliminaries What is high performance

More information

CS415 Compilers. Procedure Abstractions. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University

CS415 Compilers. Procedure Abstractions. These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University CS415 Compilers Procedure Abstractions These slides are based on slides copyrighted by Keith Cooper, Ken Kennedy & Linda Torczon at Rice University Where are we? Well understood Engineering Source Code

More information

COP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher

COP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher COP4020 ming Languages Compilers and Interpreters Robert van Engelen & Chris Lacher Overview Common compiler and interpreter configurations Virtual machines Integrated development environments Compiler

More information

High Performance Computing Course Notes Grid Computing I

High Performance Computing Course Notes Grid Computing I High Performance Computing Course Notes 2008-2009 2009 Grid Computing I Resource Demands Even as computer power, data storage, and communication continue to improve exponentially, resource capacities are

More information

NUSGRID a computational grid at NUS

NUSGRID a computational grid at NUS NUSGRID a computational grid at NUS Grace Foo (SVU/Academic Computing, Computer Centre) SVU is leading an initiative to set up a campus wide computational grid prototype at NUS. The initiative arose out

More information

Trace Compilation. Christian Wimmer September 2009

Trace Compilation. Christian Wimmer  September 2009 Trace Compilation Christian Wimmer cwimmer@uci.edu www.christianwimmer.at September 2009 Department of Computer Science University of California, Irvine Background Institute for System Software Johannes

More information

FOBS: A Lightweight Communication Protocol for Grid Computing Phillip M. Dickens

FOBS: A Lightweight Communication Protocol for Grid Computing Phillip M. Dickens FOBS: A Lightweight Communication Protocol for Grid Computing Phillip M. Dickens Abstract The advent of high-performance networks in conjunction with low-cost, powerful computational engines has made possible

More information

Chapter 1: Interprocedural Parallelization Analysis: A Case Study. Abstract

Chapter 1: Interprocedural Parallelization Analysis: A Case Study. Abstract Chapter 1: Interprocedural Parallelization Analysis: A Case Study Mary W. Hall Brian R. Murphy Saman P. Amarasinghe Abstract We present an overview of our interprocedural analysis system, which applies

More information

Automatic Tuning of Scientific Applications. Apan Qasem Ken Kennedy Rice University Houston, TX

Automatic Tuning of Scientific Applications. Apan Qasem Ken Kennedy Rice University Houston, TX Automatic Tuning of Scientific Applications Apan Qasem Ken Kennedy Rice University Houston, TX Recap from Last Year A framework for automatic tuning of applications Fine grain control of transformations

More information

NetBuild (version 0.02) Technical Report UT-CS

NetBuild (version 0.02) Technical Report UT-CS NetBuild (version 0.02) Technical Report UT-CS-01-461 Keith Moore, Jack Dongarra Innovative Computing Laboratory Computer Science Department University of Tennessee, Knoxville {moore,dongarra}@cs.utk.edu

More information

Special Issue on Program Generation, Optimization, and Platform Adaptation /$ IEEE

Special Issue on Program Generation, Optimization, and Platform Adaptation /$ IEEE Scanning the Issue Special Issue on Program Generation, Optimization, and Platform Adaptation This special issue of the PROCEEDINGS OF THE IEEE offers an overview of ongoing efforts to facilitate the development

More information

Data and Activity Representation for Grid Computing

Data and Activity Representation for Grid Computing Data and Activity Representation for Grid Computing Amit Karnik and Calvin J. Ribbens Department of Computer Science, Virginia Tech Blacksburg, VA {akarnik,ribbens}@vt.edu 1 March 2002 Abstract Computational

More information

Ken Kennedy. John and Ann Doerr University Professor Department of Computer Science Rice University. November 20, 2006

Ken Kennedy. John and Ann Doerr University Professor Department of Computer Science Rice University. November 20, 2006 Ken Kennedy John and Ann Doerr University Professor Department of Computer Science Rice University November 20, 2006 Born: August 12, 1945, Washington, DC Education: B.A., Rice University, 1967 (Mathematics,

More information

7. Optimization! Prof. O. Nierstrasz! Lecture notes by Marcus Denker!

7. Optimization! Prof. O. Nierstrasz! Lecture notes by Marcus Denker! 7. Optimization! Prof. O. Nierstrasz! Lecture notes by Marcus Denker! Roadmap > Introduction! > Optimizations in the Back-end! > The Optimizer! > SSA Optimizations! > Advanced Optimizations! 2 Literature!

More information

Building Performance Topologies for Computational Grids

Building Performance Topologies for Computational Grids Building Performance Topologies for Computational Grids Martin Swany and Rich Wolski Department of Computer Science University of California Santa Barbara, CA 93106 {swany,rich}@cs.ucsb.edu Abstract This

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

Screen Saver Science: Realizing Distributed Parallel Computing with Jini and JavaSpaces

Screen Saver Science: Realizing Distributed Parallel Computing with Jini and JavaSpaces Screen Saver Science: Realizing Distributed Parallel Computing with Jini and JavaSpaces William L. George and Jacob Scott National Institute of Standards and Technology Information Technology Laboratory

More information

Cog VM Evolution. Clément Béra. Thursday, August 25, 16

Cog VM Evolution. Clément Béra. Thursday, August 25, 16 Cog VM Evolution Clément Béra Cog VM? Smalltalk virtual machine Default VM for Pharo Squeak Newspeak Cuis Cog Philosophy Open source (MIT) Simple Is the optimization / feature worth the added complexity?

More information

GPU Linear algebra extensions for GNU/Octave

GPU Linear algebra extensions for GNU/Octave Journal of Physics: Conference Series GPU Linear algebra extensions for GNU/Octave To cite this article: L B Bosi et al 2012 J. Phys.: Conf. Ser. 368 012062 View the article online for updates and enhancements.

More information

Techniques to improve the scalability of Checkpoint-Restart

Techniques to improve the scalability of Checkpoint-Restart Techniques to improve the scalability of Checkpoint-Restart Bogdan Nicolae Exascale Systems Group IBM Research Ireland 1 Outline A few words about the lab and team Challenges of Exascale A case for Checkpoint-Restart

More information

Advanced Compiler Design ( ) Fall Semester Project Proposal. Out: Oct 4, 2017 Due: Oct 11, 2017 (Revisions: Oct 18, 2017)

Advanced Compiler Design ( ) Fall Semester Project Proposal. Out: Oct 4, 2017 Due: Oct 11, 2017 (Revisions: Oct 18, 2017) Advanced Compiler Design (263-2810) Fall Semester 2017 Project Proposal Out: Oct 4, 2017 Due: Oct 11, 2017 (Revisions: Oct 18, 2017) The goal of the project is to implement, test, and evaluate an advanced

More information

Offloading Java to Graphics Processors

Offloading Java to Graphics Processors Offloading Java to Graphics Processors Peter Calvert (prc33@cam.ac.uk) University of Cambridge, Computer Laboratory Abstract Massively-parallel graphics processors have the potential to offer high performance

More information

Turbostream: A CFD solver for manycore

Turbostream: A CFD solver for manycore Turbostream: A CFD solver for manycore processors Tobias Brandvik Whittle Laboratory University of Cambridge Aim To produce an order of magnitude reduction in the run-time of CFD solvers for the same hardware

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