MATLAB Distributed Computing Server
MATLAB Distributed Computing Server runs on a distributed computing resource, such as computers in a cluster or virtual machines in a cloud computing service. The server provides access to multiple workers (MATLAB computational engines that run independently of client sessions) that receive and execute MATLAB code and Simulink models. Multiple users can run their applications on the server simultaneously.
MATLAB and Simulink users interact with MATLAB Distributed Computing Server through Parallel Computing Toolbox. Users program parallel applications using the toolbox on their workstations. To execute programs on the server, they either initiate an interactive session or submit jobs for batch execution.
Using MATLAB Distributed Computing Server along with the mapreduce functionality built into MATLAB, users can scale their MATLAB analytics for use with data that is stored and managed on Hadoop clusters.
With MATLAB Compiler, MATLAB users can build standalone executables or shared libraries from parallel MATLAB programs for royalty-free distribution in desktop or Web applications. These executables and shared libraries can distribute MATLAB computations to MATLAB Distributed Computing Server workers.
Simulink users can run multiple simulations at the same time. Also, by distributing a code generation process across multiple workers, they can accelerate code generation builds for Simulink models that contain large model reference hierarchies.
Listening to the World's Oceans: Searching for Marine Mammals by Detecting and Classifying Terabytes of Bioacoustic Data in Clouds of Noise
This session describes how Cornell University Bioacoustics Research Program data scientists use MATLAB® to develop high-performance computing software to process and analyze terabytes of acoustic data.
A MATLAB Distributed Computing Server license provides access to a specific number of MATLAB workers that run simultaneously on a cluster. The cluster requires only the server license. Additional toolbox or blockset licenses are not required for each computer in the cluster. During application execution on the cluster, MATLAB workers provide licenses for the toolboxes and blocksets that the user who launches the application is licensed to use.
As a result, multiple MATLAB and Simulink users, each licensed for different toolboxes and blocksets, as well as users of software components generated by MATLAB Compiler from parallel MATLAB programs, can run computations on the server using one MATLAB Distributed Computing Server license.
View webinar: Parallel Computing with MATLAB for Administrators
MATLAB Distributed Computing Server can be installed on all hardware platforms and operating systems that MATLAB and Simulink support. Server workers can execute MATLAB GPU code on CUDA-enabled GPUs that are available on the computer on which the workers are running.
Multiple MATLAB Distributed Computing Server workers can be launched on a single computer. However, the benefits accrue only with sufficient availability of RAM and enough processing cores on that computer. The recommendation is to run one worker per processing core.
Learn more about system requirements for MATLAB Distributed Computing Server.
MATLAB Distributed Computing Server can be integrated with any scheduler. The server comes with MATLAB job scheduler, which is intended for personal or workgroup clusters that run MATLAB jobs exclusively.
MATLAB Distributed Computing Server supports commercially available third-party schedulers, either directly or indirectly. Platform LSF, Microsoft Windows HPC Server, Altair PBS Pro, and TORQUE are directly supported. All other schedulers, such as Grid Engine, can be integrated using the server’s generic scheduler API (sample integration scripts are available in the product). For all schedulers, server workers are launched in the same way as other programs that run on the cluster.
Learn more about scheduler support and integration.
Detailed instructions for configuring the installation are available online. Installation instructions include customizations for operating systems and integration with various schedulers.
Learn how to set up MATLAB Distributed Computing Server on a cluster.