1CPSD Software Infrastructure for Application Development Laxmikant Kale David Padua Computer Science Department.

Slides:



Advertisements
Similar presentations
Objects and Classes David Walker CS 320. Advanced Languages advanced programming features –ML data types, exceptions, modules, objects, concurrency,...
Advertisements

Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Problem Solving Environments: Expectations and Reality Richard Fateman Computer Science Division University of California, Berkeley.
Introduction to Advanced Topics Chapter 1 Mooly Sagiv Schrierber
Multilingual Debugging Support for Data-driven Parallel Languages Parthasarathy Ramachandran Laxmikant Kale Parallel Programming Laboratory Dept. of Computer.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
Bioinformatics Tool Development Dong Xu Computer Science Department 109 Engineering Building West
Adaptive MPI Chao Huang, Orion Lawlor, L. V. Kalé Parallel Programming Lab Department of Computer Science University of Illinois at Urbana-Champaign.
Charm++ Load Balancing Framework Gengbin Zheng Parallel Programming Laboratory Department of Computer Science University of Illinois at.
1CPSD NSF/DARPA OPAAL Adaptive Parallelization Strategies using Data-driven Objects Laxmikant Kale First Annual Review October 1999, Iowa City.
September 7, September 7, 2015September 7, 2015September 7, 2015 Azusa, CA Sheldon X. Liang Ph. D. Computer Science at Azusa Pacific University.
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
German National Research Center for Information Technology Research Institute for Computer Architecture and Software Technology German National Research.
Optimized Java computing as an application for Desktop Grid Olejnik Richard 1, Bernard Toursel 1, Marek Tudruj 2, Eryk Laskowski 2 1 Université des Sciences.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Adaptive MPI Milind A. Bhandarkar
Overview of the Course Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University.
Supporting Multi-domain decomposition for MPI programs Laxmikant Kale Computer Science 18 May 2000 ©1999 Board of Trustees of the University of Illinois.
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
Programming Models & Runtime Systems Breakout Report MICS PI Meeting, June 27, 2002.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Advanced / Other Programming Models Sathish Vadhiyar.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
CSC 230: C and Software Tools Rudra Dutta Computer Science Department Course Introduction.
Generative Programming. Automated Assembly Lines.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
NIH Resource for Biomolecular Modeling and Bioinformatics Beckman Institute, UIUC NAMD Development Goals L.V. (Sanjay) Kale Professor.
NIH Resource for Biomolecular Modeling and Bioinformatics Beckman Institute, UIUC NAMD Development Goals L.V. (Sanjay) Kale Professor.
Instrumentation in Software Dynamic Translators for Self-Managed Systems Bruce R. Childers Naveen Kumar, Jonathan Misurda and Mary.
Overcoming Scaling Challenges in Bio-molecular Simulations Abhinav Bhatelé Sameer Kumar Chao Mei James C. Phillips Gengbin Zheng Laxmikant V. Kalé.
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Siena Computational Crystallography School 2005
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.
1 ©2004 Board of Trustees of the University of Illinois Computer Science Overview Laxmikant (Sanjay) Kale ©
CSE 598c – Virtual Machines Survey Proposal: Improving Performance for the JVM Sandra Rueda.
Compilers as Collaborators and Competitors of High-Level Specification Systems David Padua University of Illinois at Urbana-Champaign.
Comprehensive Scientific Support Of Large Scale Parallel Computation David Skinner, NERSC.
Memory-Aware Scheduling for LU in Charm++ Isaac Dooley, Chao Mei, Jonathan Lifflander, Laxmikant V. Kale.
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
Software Development Introduction
Wide-Area Parallel Computing in Java Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences vrije Universiteit.
Motivation: dynamic apps Rocket center applications: –exhibit irregular structure, dynamic behavior, and need adaptive control strategies. Geometries are.
Fortran Compilers David Padua University of Illinois at Urbana-Champaign.
1 HPJAVA I.K.UJJWAL 07M11A1217 Dept. of Information Technology B.S.I.T.
Java to C++: What would be needed ? Norman Graf (SLAC) ILC-CLIC Software, CERN May 28, 2009.
Teragrid 2009 Scalable Interaction with Parallel Applications Filippo Gioachin Chee Wai Lee Laxmikant V. Kalé Department of Computer Science University.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
PADTAD 2008 Memory Tagging in Charm++ Filippo Gioachin Laxmikant V. Kalé Department of Computer Science University of Illinois at Urbana-Champaign.
A Single Intermediate Language That Supports Multiple Implemtntation of Exceptions Delvin Defoe Washington University in Saint Louis Department of Computer.
Flexibility and Interoperability in a Parallel MD code Robert Brunner, Laxmikant Kale, Jim Phillips University of Illinois at Urbana-Champaign.
cs612/2002sp/projects/ CS612 Term Projects cs612/2002sp/projects/
Scala days 2010 exmachina.
Is System X for Me? Cal Ribbens Computer Science Department
Performance Evaluation of Adaptive MPI
Component Frameworks:
Milind A. Bhandarkar Adaptive MPI Milind A. Bhandarkar
Gary M. Zoppetti Gagan Agrawal
Gary M. Zoppetti Gagan Agrawal Rishi Kumar
An Orchestration Language for Parallel Objects
Support for Adaptivity in ARMCI Using Migratable Objects
JIT Compiler Design Maxine Virtual Machine Dhwani Pandya
Big Data, Simulations and HPC Convergence
Presentation transcript:

1CPSD Software Infrastructure for Application Development Laxmikant Kale David Padua Computer Science Department

2CPSD Computer Science Roles… Work closely with mathematicians and engineers Give engineers state-of-the-art tools Provide benchmark for Java development Symbolic support of FE software generation Interaction with mathematicians and engineers HPC environment Java compiler Runtime infrastructure

3CPSD HPC Environment Symbolic algebra support Java Compiler F2J Parallel InfrastructureUniprocessor Fortran code Container Semantics

4CPSD Why Java? Object model Modular and reusable code development —Amortize the high cost of software development for high performance scientific codes Much faster to debug and develop —Disciplined memory model —garbage collection Java Grande Industry trend —May replace C++

5CPSD Runtime environments Object-based runtime infrastructure Provide parallel support libraries past work: parallel Java, object-based load balancing We have developed parallel Java Object based parallelism (not just threads) Fast asynchronous remote method invocation —Substantially faster than RMI Can inter-operate with other languages/paradigms —Implemented in Converse framework —modules written in Java, MPI-C, Charm++ etc. can co- exist [PDPTA -97] “Design and implementation of parallel Java…”

6CPSD Object-based load balancing Charm++ supports object based load balancing Parallel C++ Dynamic and periodic balancing —seed movement —migration mechanisms with automatic forwarding —migration strategies Used in molecular dynamics application Used for cluster adaptivity Can be adapted for Java

7CPSD Load balancing: before

8CPSD Load balancing: after

9CPSD Java Compiler Oriented to the needs of the project Targets uniprocessors and parallel machines Use advanced analysis techniques Builds on expertise in compilers Promise of Java Extensive static analysis

10CPSD Container Class analysis Goal: To optimize symbolic Java applications with extensive use of container classes or numerical Java codes using sparse matrices Program optimization Hard-wire semantics of Java container classes into the compiler —java.util.Vector —java.util.Hashtable —sparse matrix

11CPSD Container analysis contd. Design optimization techniques to exploit their semantic properties access analysis commutativity analysis exploit associativity loop parallelization pointer analysis

Performance CPSD

CPSD

14CPSD Ongoing and future work Develop Java compiler for scientific applications Fortran to Java translator Interactions with IBM researchers Interested in compilation issues Grad student exchanges Consultation on engineering applications Optimization and parallelization Code organization Work with mathematicians Symbolic analysis Compiler strategies