matlab usage via NFS on HPC cluster without MDCS

15 views (last 30 days)
Hello
I have a question about using matlab on HPC cluster. I have concurrent license and whole matlab toolbox except MDCS. I installed matlab in /opt directory on head node of HPC cluster. And /opt directory is shared with whole computing nodes via NFS. Because I did not want to install matlab on whole computing nodes. License server is running on head node. But, I got a message from technical support in mathworks. matlab jobs will not work simultaneously via NFS. Because I have not MDCD. He said I have to install matlab on whole computing nodes.
Is there any way to use matlab via NFS without MDCS? Should I have MDCS to use matlab via NFS??
Sangmin

Answers (1)

Jason Ross
Jason Ross on 21 Jan 2013
First, to clear things up:
  • MATLAB will execute from an NFS mount as long as it gets a license. You can install it one place and run it from there as a standalone application. It will work just as if you have it installed locally.
  • Just by installing MATLAB on a NFS filesystem in a cluster does not open up the tools and commands from the Parallel Computing Toolbox or let you set up a cluster (using MDCS). If you want to use parfor, spmd, batch, job/task, set up a job manager or integrate with a scheduler (LSF, PBS, Torque, etc) from the MATLAB desktop you will need these toolboxes. This is true if you have it installed locally or on NFS.
  • There are people who do use various methods to start MATLAB passing in an m-file, not starting a desktop and getting results from that m-file, without the toolboxes. MATLAB's startup options are documented here. This is a "build and maintain it yourself" approach, and it may work for what you are trying to do -- or not.
Now, onto the recommendations:
  • Depending on the size and scale of your cluster, using MATLAB via NFS may be a really bad idea. Having all the cluster nodes start up and execute may (or may not) overwhelm your head node, network infrastructure or both. Or it may not -- it depends on how much processing power your head node has and what sort of networking equipment you have, not to mention the number of MATLABs you have executing. I'd keep a wary eye on your system loads and network bandwidth utilization as you scale. At some point you are highly likley to discover that you are going to get better performance by having the installation local on each node.
  • I also believe that it works better if you move licensing away from the head node, as if the head node becomes too busy serving NFS traffic from MATLAB (and associated data), it may not be able to serve licenses as well.
  • Think very critically about the "roll your own" approach, and think about the users that are going to be using (or are already) using your cluster. If they are asking to be able to submit jobs right from MATLAB, use things like matlabpool and parfor, spmd, etc -- you will most definitely need Parallel Computing Toolbox and probably MDCS. If you can get what you need done with the startup switches, maybe not -- but keep in mind that you will likely have to spend some time coding and/or building infrastructure to support this use model, and that will take some time and effort to do.
  • I don't know if you are sharing things and running things as a single user, but given that MATLAB keeps preference files and information about the MATLAB path in certain locations, things can get tricky quickly if that one users's environment changes, since I'll assume that you are also using home directories from NFS.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!