Transcript
Page 1: A Pictorial Introduction  to Components  in Scientific Computing

A Pictorial Introduction to Components

in Scientific Computing

Page 2: A Pictorial Introduction  to Components  in Scientific Computing

2

Once upon a time...

Input

Output

Program

Page 3: A Pictorial Introduction  to Components  in Scientific Computing

3

As Scientific Computing grew...

Page 4: A Pictorial Introduction  to Components  in Scientific Computing

4

Tried to ease the bottle neck

Page 5: A Pictorial Introduction  to Components  in Scientific Computing

5

SPMD was born.

21

3 4

21

3 4

2

1

3

4

Page 6: A Pictorial Introduction  to Components  in Scientific Computing

6

SPMD worked.

21

3 4

21

3 4

2

1

3

4

But it isn’t

easy!!!

But it isn’t

easy!!!

Page 7: A Pictorial Introduction  to Components  in Scientific Computing

7

Meanwhile, corporate computing was growing in a different way

Input

Output

Program

browser

spreadsheet

editor

graphics

databasemultimedia

email client

Unicode

Input

Page 8: A Pictorial Introduction  to Components  in Scientific Computing

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)

Page 9: A Pictorial Introduction  to Components  in Scientific Computing

9

Component Technology addresses these problems

Page 10: A Pictorial Introduction  to Components  in Scientific Computing

10

So what’s a component ???

Implementation :No Direct Access

Interface Access :Generated by Tools

Matching Connector :Assigned by FrameworkHidden from User

Page 11: A Pictorial Introduction  to Components  in Scientific Computing

11

1. Interoperability across multiple languages

C

C++ F77 Java

Python

Language &Platform

independentinterfaces

Automaticallygenerated

bindings toworking code

Page 12: A Pictorial Introduction  to Components  in Scientific Computing

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

Page 13: A Pictorial Introduction  to Components  in Scientific Computing

13

Transparent Distributed Computing

internetinternet

These wiresare very,

very smart!

Page 14: A Pictorial Introduction  to Components  in Scientific Computing

14

3. Incremental Evolution WithMultiple 3rd party software

v 1.0

v 2.0 v 3.0

Page 15: A Pictorial Introduction  to Components  in Scientific Computing

15

Now suppose you find this bug...

v 1.0

v 2.0 v 3.0

Page 16: A Pictorial Introduction  to Components  in Scientific Computing

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

Page 17: A Pictorial Introduction  to Components  in Scientific Computing

17

v 3.0 2.1

2.0

Great News: Solvable with Components

Page 18: A Pictorial Introduction  to Components  in Scientific Computing

18

v 1.0

Great News: Solvable with Components

2.1 v 3.0

2.0

Page 19: A Pictorial Introduction  to Components  in Scientific Computing

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

Page 20: A Pictorial Introduction  to Components  in Scientific Computing

20

The Model for Scientific Component Programming

Science

Ind

ustry

?CCA

Page 21: A Pictorial Introduction  to Components  in Scientific Computing

21

The End