A Pictorial Introduction to Components in Scientific Computing

Preview:

DESCRIPTION

A Pictorial Introduction to Components in Scientific Computing. Input. Output. Program. Once upon a time. Bottle Neck. As Scientific Computing grew. Tried to ease the bottle neck. 1. 1. 2. 2. 1. 3. 3. 4. 4. 2. 4. 3. SPMD was born. But it isn’t easy!!!. But it isn’t - PowerPoint PPT Presentation

Citation preview

A Pictorial Introduction to Components

in Scientific Computing

2

Once upon a time...

Input

Output

Program

3

As Scientific Computing grew...

4

Tried to ease the bottle neck

5

SPMD was born.

21

3 4

21

3 4

2

1

3

4

6

SPMD worked.

21

3 4

21

3 4

2

1

3

4

But it isn’t

easy!!!

But it isn’t

easy!!!

7

Meanwhile, corporate computing was growing in a different way

Input

Output

Program

browser

spreadsheet

editor

graphics

databasemultimedia

email client

Unicode

Input

8

This created a whole new set of problems complexity

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)

9

Component Technology addresses these problems

10

So what’s a component ???

Implementation :No Direct Access

Interface Access :Generated by Tools

Matching Connector :Assigned by FrameworkHidden from User

11

1. Interoperability across multiple languages

C

C++ F77 Java

Python

Language &Platform

independentinterfaces

Automaticallygenerated

bindings toworking code

12

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???

13

Transparent Distributed Computing

internetinternet

These wiresare very,

very smart!

14

3. Incremental Evolution WithMultiple 3rd party software

v 1.0

v 2.0 v 3.0

15

Now suppose you find this bug...

v 1.0

v 2.0 v 3.0

16

Good news: an upgrade available

v 1.0

v 2.0 v 3.0

Bad news: there’s a dependency

2.1

2.0

17

v 3.0 2.1

2.0

Great News: Solvable with Components

18

v 1.0

Great News: Solvable with Components

2.1 v 3.0

2.0

19

Why Components for Scientific Computing Complexity

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

20

The Model for Scientific Component Programming

Science

Ind

ustry

?CCA

21

The End