distributed computing in the engineering workflow...7 ® ® distributed computing toolbox in r2007a...

28
© 2007 The MathWorks, Inc. ® ® Distributed Computing in the Engineering Workflow Loren Dean Director of Engineering, MATLAB Products The MathWorks

Upload: others

Post on 26-Feb-2021

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

©20

07 T

he M

athW

orks

, Inc

.

® ®

Distributed Computing in the Engineering Workflow

Loren DeanDirector of Engineering, MATLAB ProductsThe MathWorks

Page 2: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

2

® ®

Agenda

An important trend impacting the Engineering workflow

Task parallel applications

Data parallel applications

Page 3: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

3

® ®

Single processor Multi-core Multiprocessor Clusters Grids

Market trend: from single processor to grids

Page 4: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

4

® ®

Why is this important?

Technical computingModeling and analysis involves numerous runs

Monte carlo or similar applications very commonComplexity of algorithms causes longer execution times

Data sets are increasing in size

Model-based designSimulation is done prior to real-world implementation

Many scenarios testedOptimal solutions can be found earlier

Simulations are growing in complexity and sizeSimulation time increasesRsim and other targets are only part of the solution

Page 5: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

5

® ®

MATLABin R2006b

Single processor Multi-core Multiprocessor Clusters Grids

MATLAB addresses the market trend

Page 6: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

6

® ®

MATLABin R2007a

Single processor Multi-core Multiprocessor Clusters Grids

MATLAB addresses the market trend

Page 7: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

7

® ®

Distributed Computing Toolboxin R2007a

Single processor Multi-core Multiprocessor Clusters Grids

MATLAB to Distributed Computing

MATLAB Distributed Computing Engine

Page 8: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

8

® ®

What is happening because of this trend?

Interactive programming -re-use of existing applications

Low-cost hardware 4xShuttle$4,000

Schedulers and Operating Systems

providing foundation services

Distributed/parallel engineering software tools

becoming available ScaLAPACK

Page 9: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

9

® ®

Skills required for distributed computing today

Capability, Enterprise

(128+)

Divisional(64, 96, 128)

Departmental(16, 32)

Workgroup(<8, 8, 16)

“Passive”, Never everuser

User TypeUser Type

HPC user

“Active” user

“Active” user

HPC user

IT S

peci

aliz

atio

n

CS

Deg

ree

Engi

neer

ing

/ Sci

ence

Deg

ree

SkillsSkills

Individual (1, Multicore, SMP)

Cluster TypeCluster Type

Page 10: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

10

® ®

Skills that would be preferred

Capability, Enterprise

(128+)

Divisional(64, 96, 128)

Departmental(16, 32)

Workgroup(<8, 8, 16)

“Active” user

“Passive”, Never everuser

User TypeUser Type

HPC user

“Active” user

HPC user IT

CS

Deg

ree

Engi

neer

ing

/ Sci

ence

Deg

ree

SkillsSkills

Individual (1, Multicore, SMP)

Cluster TypeCluster Type

Page 11: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

11

® ®

Compute clusterCompute cluster

CPU

CPU

CPU

CPU

MATLAB Distributed Computing EngineMATLAB Distributed Computing Engine

Scheduler

Client MachineClient Machine

Worker

Worker

Worker

Worker

Distributed computing solution

DistributedComputing

ToolboxTOOLBOXES

BLOCKSETS

Page 12: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

12

® ®

Agenda

An important trend impacting the Engineering workflow

Task parallel applications

Data parallel applications

Page 13: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

13

® ®

Multiple independent problems

Page 14: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

14

® ®

Compute clusterCompute cluster

CPU

CPU

CPU

CPU

MATLAB Distributed Computing EngineMATLAB Distributed Computing Engine

Scheduler

Result

Result

Result

Result

Client MachineClient Machine

Task

Task

Task

Task

Worker

Worker

Worker

Worker

Task parallel applications

DistributedComputing

ToolboxTOOLBOXES

BLOCKSETS

Result

Job

Page 15: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

15

® ®

Example: Land ClassificationNational Land Cover Dataset (NLCD) from U.S. Geological Survey – 30GB“Where are wetlands, forests etc concentrated?”“How does the distribution compare with other datasets?”

Page 16: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

16

® ®

From sequential to distributed: MATLAB

Page 17: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

17

® ®

From sequential to distributed: MATLAB

Page 18: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

18

® ®

From sequential to distributed: Simulink

1. Divide the Monte Carlo simulations such that each processor executes a full Simulink simulation or RSIMtarget.

Eg., one simulation per altitude2. Create a Task Function that uses MATLAB commands to

call the Simulink model you want to execute

Page 19: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

19

® ®

Agenda

A little history and context setting

Task parallel solutions

Data parallel solutions

Page 20: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

20

® ®

Compute clusterCompute cluster

CPU

CPU

CPU

CPU

MATLAB Distributed Computing EngineMATLAB Distributed Computing Engine

SchedulerResult

Client MachineClient Machine

Lab

Lab

Lab

Lab

Data parallel applications(interactive and batch)

Job

Task

Task

Task

Task

Result

DistributedComputing

ToolboxTOOLBOXES

BLOCKSETS

Result

Result

Result

Page 21: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

21

® ®

Large Memory Requirements

1111 2626 4141

1212 2727 4242

1313 2828 4343

1414 2929 4444

1515 3030 4545

1616 3131 4646

1717 3232 4747

1717 3333 4848

1919 3434 4949

2020 3535 5050

2121 3636 5151

2222 3737 5252

1111 2626 4141

1212 2727 4242

1313 2828 4343

1414 2929 4444

1515 3030 4545

1616 3131 4646

1717 3232 4747

1717 3333 4848

1919 3434 4949

2020 3535 5050

2121 3636 5151

2222 3737 5252

Page 22: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

22

® ®

Using FORTRAN and MPI Using MATLAB and MPI

Using Distributed Arrays

P>> E = D’

Transposing a Distributed Matrix

Page 23: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

23

® ®

Example:Image Formation Algorithms: Synthetic Aperture Radar (SAR)

DescriptionSAR is a sophisticated method of post-processing radar dataSize and processing requirements demand lots of memory

ApproachProcessing SAR images involves interdependent 2-D operations

Distribute image across the cluster

Page 24: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

24

® ®

From sequential to distributed: MATLAB

Page 25: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

25

® ®

From sequential to distributed: MATLAB

Page 26: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

26

® ®

Compute clusterCompute cluster

CPU

CPU

CPU

CPU

MATLAB Distributed Computing EngineMATLAB Distributed Computing Engine

Scheduler

Worker

Worker

Worker

Worker

Distributed Computing in the Engineering Workflow

Task

Task

Task

Task

Result

Result

Result

Result

Distributed Computing

Toolbox

Distributed Computing

Toolbox

Result

Job

Page 27: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

27

® ®

Why is this important?

Technical computingModeling and analysis involves numerous runs

Monte carlo or similar applications very commonComplexity of algorithms causes longer execution times

Data sets are increasing in size

Model-based designSimulation is done prior to real-world implementation

Many scenarios testedOptimal solutions can be found earlier

Simulations are growing in complexity and sizeSimulation time increasesRsim and other targets are only part of the solution

Page 28: Distributed Computing in the Engineering Workflow...7 ® ® Distributed Computing Toolbox in R2007a Single processor Multi-core Multiprocessor Clusters Grids MATLAB to Distributed

28

® ®

Summary

Hardware trends are impacting everybody

Understanding and creating distributed applications will be an important skill for anybody in the fields of Computer Science or Technical Computing

MathWorks provides a market-leading solution for distributed applications

Demo available in exhibit hall