© 2008 the mathworks, inc. ® ® parallel computing with matlab ® silvina grad-freilich manager,...
TRANSCRIPT
© 2
008
The
Mat
hWor
ks, I
nc.
® ®
Parallel Computing with MATLAB®
Silvina Grad-Freilich
Manager, Parallel Computing Marketing [email protected]
© 2007 IDC
Some Customer Pain PointsSome Customer Pain Points
Clusters are still hard to use and manage Power, cooling and floor space are major issues Third party software costs Weak interconnect performance at all levels Applications & programming — Hard to scale beyond a node RAS is a growing issue Storage and data management Multi-processor type support and accelerator support
Requirements are diverging High-end — need more, but is a shrinking segment Mid and lower end – the mainstream will look more for complete
solutions New entrants – ease-of-use will drive them, plus need
applications Parallel software is missing for most users
And will get weaker in the near future—Software will be the #1 roadblock
Multi-core will cause many issues to “hit-the-wall”
Hard to scale beyond a node Parallel software is missing for most users
…. Software will be the #1 roadblock
3
® ®TM
Headquarters:Natick, Massachusetts US
Revenues ~$450M in 2007
Privately held
Over 1,800 employees worldwide
More than 1,000,000 usersin 175+ countries
The MathWorks at a Glance
Earth’s topography on an equidistant cylindrical projection,
created with MATLAB® and Mapping Toolbox™.
4
® ®TM
MathWorks Product Family Overview
MATLAB Product Family
View full product list
Simulink Product Family Application-Specific Products
5
® ®TM
Three User Communities
Easier programming
CFortran
Higher data volumes & compute intensity
Technical Computing User
PERSONAL SUPERCOMPUTING
WITH MATLAB
Cluster Administrator
Optimal Hardware
and License
UseHPC User
6
® ®
Using Fortran and MPI Using MATLAB and MPIUsing Distributed Arrays
P>> D = distributed(A)P>> E = D’
Easier Parallel Programming Example: Transposing a Distributed Matrix
7
® ®
Parallel Computing with MATLAB®
ParallelComputing Toolbox™
TOOLBOXES
BLOCKSETS
Computer ClusterComputer Cluster
CPU
CPU
CPU
CPU
MATLAB Distributed Computing ServerMATLAB Distributed Computing Server
Scheduler
Worker
Worker
Worker
Worker
8
® ®
Toolbox Support:Optimization Toolbox™
Genetic Algorithm and Direct Search Toolbox™
SystemTest™
parfor
job and tasks
No code changes
Trivial changes
Extensive changes
Task Parallel Data Parallel
darray
MATLAB and MPI
Parallel Computing with MATLAB®
9
® ®
Support in Optimization Toolbox
10
® ®
Distributing Tasks (Task Parallel)
Time Time
Pro
cess
es
11
® ®
12
Argonne National Laboratory Develops Powertrain Systems Analysis Toolkit with MathWorks™ Tools
ChallengeTo evaluate designs and technologies for hybrid and fuel cell vehicles
SolutionUse MathWorks tools to model advanced vehicle powertrains and accelerate the simulation of hundreds of vehicle configurations
Results Distributed simulation environment developed in
one hour Simulation time reduced from two weeks to
one day Simulation results validated using vehicle test data
“We developed an advanced
framework and scalable powertrain
components in Simulink®, designed
controllers with Stateflow®,
automated the assembly of models
with MATLAB® scripts, and then
distributed the complex simulation
runs on a computing cluster – all
within a single environment."
Sylvain Pagerit
Argonne National Laboratory
“We developed an advanced
framework and scalable powertrain
components in Simulink®, designed
controllers with Stateflow®,
automated the assembly of models
with MATLAB® scripts, and then
distributed the complex simulation
runs on a computing cluster – all
within a single environment."
Sylvain Pagerit
Argonne National Laboratory
Vehicle model created with PSAT.
13
® ®
Large Data Sets (Data Parallel)
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
14
® ®
15
® ®
Batch Execution
>> createMatlabPoolJob
16
® ®
Run Four Local Workers with a Parallel Computing Toolbox License
Easily experiment with explicit parallelism on multicore machines
Rapidly develop parallel applications on local computer
Parallel Computing
Toolbox
17
® ®
Scale Up to Cluster Configuration with No Code Changes
Parallel Computing
Toolbox
Computer ClusterComputer Cluster
MATLAB Distributed Computing ServerMATLAB Distributed Computing Server
Scheduler
CPU
CPU
CPU
CPU
Worker
Worker
Worker
Worker
18
® ®
Computer ClusterComputer Cluster
Scheduler
Dynamic Licensing
CPU
CPU
CPU
CPU
Worker
Worker
Worker
Worker
19
® ®
Computer ClusterComputer Cluster
Scheduler
CPU
CPU
CPU
CPU
Worker
Worker
Worker
Worker
Dynamic Licensing
20
® ®
Computer ClusterComputer Cluster
Scheduler
CPU
CPU
CPU
CPU
Worker
Worker
Worker
Worker
Dynamic Licensing
21
® ®
Computer ClusterComputer Cluster
Scheduler
CPU
CPU
CPU
CPU
Worker
Worker
Worker
Worker
Dynamic Licensing
22
® ®
Open API for generic schedulers
Support for Third-Party Schedulers
23
® ®
Summary
Back to the pains… Hard to scale beyond a node Parallel software is missing for most users
The power of supercomputing is now accessible to thousands of engineers and scientists MATLAB users - delivering the power of HPC HPC users - delivering the benefits of MATLAB