28
GKK 1 CASC Recommended Viewing: Since this is a pictorial presentation, I’ve gone through the effort to type up what I normally say in the “notes” section. To enjoy the animations, I recommend printing out the “notes” then watching via the slide show viewer. --Gary Kumfert

GKK 1 CASC Recommended Viewing: Since this is a pictorial presentation, I’ve gone through the effort to type up what I normally say in the “notes” section

Embed Size (px)

Citation preview

GKK 1CASC

Recommended Viewing:

Since this is a pictorial presentation, I’ve gone through the effort to type up

what I normally say in the “notes” section.

To enjoy the animations, I recommend printing out the “notes” then watching

via the slide show viewer.

--Gary Kumfert

A Pictorial Introduction to Components

in Scientific Computing

Gary Kumfertwith

Steve Smith, Scott Kohn, Tom Epperly, Tammy Dahlgren,

& Bill Bosl

GKK 3CASC

Once upon a time...

Input

Output

Program

GKK 4CASC

As Scientific Computing grew...

GKK 5CASC

Tried to ease the bottle neck

GKK 6CASC

SPMD was born.

21

3 4

21

3 4

2

1

3

4

GKK 7CASC

SPMD worked.

21

3 4

21

3 4

2

1

3

4

But it isn’t

easy!!!

But it isn’t

easy!!!

GKK 8CASC

Meanwhile, corporate computing was growing in a different way

Input

Output

Program

browser

spreadsheet

editor

graphics

databasemultimedia

email client

Unicode

Input

GKK 9CASC

This created a whole new set of problems...

browser

spreadsheet

editor

graphics

databasemultimedia

email client

Unicode

Interoperability across multiple languages

Interoperability across multiple platforms

Incremental evolution of large legacy systems (esp. w/ multiple 3rd party software)

GKK 10CASC

Component Technology addresses these problems

GKK 11CASC

So what’s a component ???

Implementation :No Direct Access

Interface Access :Generated by Tools

Matching Connector :Assigned by FrameworkHidden from User

GKK 12CASC

1. Interoperability across multiple languages

C

C++ F77 Java

Python

Language &Platform

independentinterfaces

Automaticallygenerated

bindings toworking code

GKK 13CASC

2. Interoperability Across Multiple Platforms Imagine a company

migrates to a new system, OS, etc.

What if the source to

this one part is lost???

GKK 14CASC

Transparent Distributed Computing

internetinternet

These wiresare very,

very smart!

GKK 15CASC

3. Incremental Evolution WithMultiple 3rd party software

v 1.0

v 2.0 v 3.0

GKK 16CASC

Now suppose you find this bug...

v 1.0

v 2.0 v 3.0

GKK 17CASC

Good news: an upgrade available

v 1.0

v 2.0 v 3.0

Bad news: there’s a dependency

2.1

2.0

GKK 18CASC

v 3.0 2.1

2.0

Great News: Solvable with Components

GKK 19CASC

v 1.0

Great News: Solvable with Components

2.1 v 3.0

2.0

GKK 20CASC

Why Components for Scientific Computing?

Interoperability across multiple languages

Interoperability across multiple platforms

Incremental evolution of large legacy systems (esp. w/ multiple 3rd party software)

Sapphire

SAMRAI

Ardra Scientific Viz

DataFoundry

Overture

linear solvers hypre

nonlinear solvers

ALPS

JEEP

GKK 21CASC

The Model for Scientific Component Programming

Science

Ind

ustry

?

GKK 22CASC

Parallel Distributed Component-Based Application

GKK 23CASC

Research Issues: #1. The “MxN Problem”

GKK 24CASC

Research Issues:#2: Programming Model

Science

Ind

ustry

?vector.g

etLocalSize()

on remote objects?

GKK 25CASC

Is This Still SPMD?

Science

Ind

ustry

GKK 26CASC

Is This Still SPMD?

No Each “component” may be an entire legacy

SPMD code Multiple components (possibly distributed)

working together on a single problemMPMD, MCMD, DPMD???

But Will look like SPMD to application

developer Business components look like serial

code.

GKK 27CASC

Why Components for Scientific Computing?

Interoperability across multiple languages

Interoperability across multiple platforms

Incremental evolution of large legacy systems (esp. w/ multiple 3rd party software)

Sapphire

SAMRAI

Ardra Scientific Viz

DataFoundry

Overture

linear solvers hypre

nonlinear solvers

ALPS

JEEP

GKK 28CASC

The End