Software Infrastructure for Application Development - PowerPoint PPT Presentation

About This Presentation
Title:

Software Infrastructure for Application Development

Description:

Work closely with mathematicians and engineers. Give engineers state-of-the-art tools ... java.util.Vector. java.util.Hashtable. sparse matrix. 11. CPSD ... – PowerPoint PPT presentation

Number of Views:24
Avg rating:3.0/5.0
Slides: 15
Provided by: laxmika
Learn more at: http://charm.cs.uiuc.edu
Category:

less

Transcript and Presenter's Notes

Title: Software Infrastructure for Application Development


1
Software Infrastructurefor Application
Development
  • Laxmikant Kale
  • David Padua
  • Computer Science Department

2
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

3
HPC Environment
Symbolic algebra support
Fortran code
Container Semantics
Java Compiler
F2J
Parallel Infrastructure
Uniprocessor
4
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

5
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

6
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

7
Load balancing before
8
Load balancing after
9
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

10
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

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

12
Performance
CPSD
13
Performance
CPSD
14
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
Write a Comment
User Comments (0)
About PowerShow.com