The Application of Virtual Machine Technology to Petascale Systems - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

The Application of Virtual Machine Technology to Petascale Systems

Description:

Christopher Vick. Senior Staff Engineer. Sun Microsystems, Inc. Sun Microsystems. Proprietary ... national security applications by a factor of 10X to 40X ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 19
Provided by: auror6
Category:

less

Transcript and Presenter's Notes

Title: The Application of Virtual Machine Technology to Petascale Systems


1
The Application of Virtual Machine Technology to
Peta-scale Systems
Sun Microsystems Proprietary
  • Christopher Vick
  • Senior Staff Engineer
  • Sun Microsystems, Inc.

2
High Productivity Computing Systems
65
3
DARPA's Goals For Productivity
  • Performance (time-to-solution) speedup
    critical
  • national security applications by a factor
    of 10X to 40X
  • Programmability (idea-to-first-solution)
    reduce
  • cost and time of developing application
    solutions by 10X
  • Portability (transparency) insulate research
    and
  • operational application software from
    system
  • Robustness (reliability) apply all known
    techniques
  • to protect against outside attacks,
    hardware faults,
  • programming errors

Productivity
Machine Performance
Human Performance
4
Overview
  • Virtualization
  • Safety
  • Integration of Static and Dynamic Operations

5
Virtualization
  • Peta-scale hardware will be very complex
  • Abstraction hides hardware complexity from
    programmers
  • Reduction in complexity improves both the speed
    of coding and the robustness of the resulting code

6
Verification and Validation
  • Verify that code correctly implements the
    mathematics
  • Validate that the code accurately predicts nature
  • Simplified machine model eases burden on
    scientist for verification
  • Optimization technologies keep solid performance
    for validation

7
Portability
  • A Key issue in making code portable is the
    presence of machine dependencies
  • A virtual machine can significantly reduce these
    while maintaining performance
  • Language independence

8
Observability
  • Abstraction layer hides machine behaviors
  • Complicates both debugging and performance
    analysis
  • Challenge is to maintain observability while
    reducing complexity burden

9
Safety
  • A key lesson of JavaTM is that improved safety
    improves productivity
  • Pointer safety
  • Type safety
  • Bounds checking
  • Safety ! Poor Performance

10
Safety Examples
  • Array Bounds Checking
  • Generally has minimal performance impact
  • Will not handle pointer increment styles
  • Data Race Detection
  • Key issue on highly parallel systems
  • Data races are not always bad
  • May impact performance

11
Numeric Safety
  • Floating point precision problems can heavily
    impact productivity
  • Runtime checks can detect loss of precision or
    indeterminate results
  • Automate computation of error bounds
  • Ease burden of verification/validation

12
Default Behaviors
  • Safety features should be on by default
  • Encourages vendors to improve accuracy and
    performance of features
  • Provides maximum safety during development cycle
  • Provide switches to turn off where performance
    impact dictates

13
Language Support
  • Add safety features at the language level
  • Tag blocks of code where data races are benign
  • Permits more precise application than
    compiler/system switches
  • Further exploration is needed

14
Static/Dynamic Mechanisms
  • Combine static analysis with dynamic optimization
  • Limit runtime impact of expensive analysis
    techniques
  • Benefit from runtime profiling and checking
  • Optimistic Optimizations
  • Deoptimization
  • Runtime profiling

15
Speculative Parallelism
  • Increased parallelism is requirement for
    peta-scale systems
  • Apply optimistic optimization to parallelization
  • Combine expensive static analysis with runtime
    checks for correctness
  • Deoptimization may present some special
    challenges in this context

16
Performance Analysis
  • Layered profiling
  • Runtime profiling for dynamic optimization
  • Maintain profiles across runs to improve
    resolution and detect long-term or phased
    behaviors
  • Key issues of when to ignore/reset profile data

17
Dynamic Instrumentation
  • Runtime recompilation allows dynamic
    instrumentation of programs
  • Debugging
  • Allow program to run for a while, and then
    recompile to add breakpoints, etc.
  • Key feature for debugging long running codes
  • Profiling
  • JFluid

18
The Application of Virtual Machine Technology to
Peta-scale Systems
Sun Proprietary
Write a Comment
User Comments (0)
About PowerShow.com