21
Introduction to Components in Scientific Computing

A Pictorial Introduction to Components in Scientific Computing

Embed Size (px)

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

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