270 likes | 575 Views
Parallel Computing with MATLAB ®. Silvina Grad-Freilich Manager, Parallel Computing Marketing sgrad@mathworks.com. Some Customer Pain Points. Clusters are still hard to use and manage Power, cooling and floor space are major issues Third party software costs
E N D
Parallel Computing with MATLAB® Silvina Grad-Freilich Manager, Parallel Computing Marketing sgrad@mathworks.com
Some 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
The MathWorks at a Glance • Headquarters:Natick, Massachusetts US • Revenues ~$450M in 2007 • Privately held • Over 1,800 employees worldwide • More than 1,000,000 usersin 175+ countries Earth’s topography on an equidistant cylindrical projection, created with MATLAB®and Mapping Toolbox™.
MathWorks Product Family Overview View full product list MATLAB Product Family
Higher data volumes & compute intensity Easier programming • Optimal • Hardware • and • License • Use C Fortran Technical Computing User Three User Communities PERSONAL SUPERCOMPUTING WITH MATLAB HPC User Cluster Administrator
Using Distributed Arrays P>> D = distributed(A) P>> E = D’ Easier Parallel Programming Example: Transposing a Distributed Matrix Using MATLAB and MPI Using Fortran and MPI
Computer Cluster MATLAB Distributed Computing Server CPU CPU CPU CPU Worker Worker Parallel Computing Toolbox™ TOOLBOXES Scheduler Worker BLOCKSETS Worker Parallel Computing with MATLAB®
Parallel Computing with MATLAB® Task Parallel Data Parallel Toolbox Support: Optimization Toolbox™ Genetic Algorithm and Direct Search Toolbox™ SystemTest™ parfor jobandtasks No code changes Trivial changes darray MATLAB and MPI Extensive changes
Time Time Distributing Tasks (Task Parallel) Processes
Vehicle model created with PSAT. Argonne National Laboratory Develops Powertrain Systems Analysis Toolkit with MathWorks™ Tools • Challenge To evaluate designs and technologies for hybrid and fuel cell vehicles Solution Use 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
11 11 26 26 41 41 12 12 27 27 42 42 13 13 28 28 43 43 14 14 29 29 44 44 15 15 30 30 45 45 16 16 31 31 46 46 17 17 32 32 47 47 17 17 33 33 48 48 19 19 34 34 49 49 20 20 35 35 50 50 21 21 36 36 51 51 22 22 37 37 52 52 Large Data Sets (Data Parallel)
Batch Execution >> createMatlabPoolJob
Parallel Computing Toolbox Run FourLocal Workers with a Parallel Computing Toolbox License • Easily experiment with explicit parallelism on multicore machines • Rapidly develop parallel applications on local computer
CPU CPU CPU CPU Worker Worker Scheduler Worker Worker Scale Up to Cluster Configuration with No Code Changes Computer Cluster MATLAB Distributed Computing Server Parallel Computing Toolbox
CPU CPU CPU CPU Worker Worker Scheduler Worker Worker Dynamic Licensing Computer Cluster
CPU CPU CPU CPU Worker Worker Scheduler Worker Worker Dynamic Licensing Computer Cluster
CPU CPU CPU CPU Worker Worker Scheduler Worker Worker Dynamic Licensing Computer Cluster
CPU CPU CPU CPU Worker Worker Scheduler Worker Worker Dynamic Licensing Computer Cluster
Support for Third-Party Schedulers Open API for generic schedulers
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
Thank you! Silvina Grad-Freilich sgrad@mathworks.com