Can MATLAB Distributed Server Run in the Background?

1 view (last 30 days)
I have an embassingly parralel rendering task, where each frame of a movie is inspected and optomized. Our lab has dozen of powerful desktop machines i7 + Tesla that are often underutilized. Each one controls a device, and when that device is not in use, the machine has almost no load.
I want to launch my matlab jobs on every machine, but also have a second user logged in doing their normal work such as browsing the internet or work in office.
The machines run Windows, and I was under the impression that Windows did not tolerate multiple users logged in at once (unless you buy the terminal server).
I am wondering if the Beowulf like configuration I have in mind is possible to realize with MATLAB Distributed Computing Server on Windows machines?
My background is primarily in writting c++ code for highend clusters.

Accepted Answer

Jason Ross
Jason Ross on 6 Feb 2013
Edited: Jason Ross on 6 Feb 2013
Windows does not tolerate multiple users logged into the desktop at any time (without terminal services), but it's perfectly fine with multiple users running as services. Look in your Task Manager and you'll see your own processes, as well as "SYSTEM" and "Network Service" -- which are "special" user accounts.
MDCS is installed as a service and runs (by default) as the Local System user, or it can be configured to run as a Windows user. In either case, it will happily execute jobs in the background in the manner you desire. You can install MDCS and set up the desired number of worker MATLAB processes you want on each machine, and then submit away. You will need to designate one machine as a "head node", although that doesn't need to be an exclusive machine by any means.
Things can get a little tricky with the Tesla cards. If they are hooked up to a monitor, they are going to be running in WDDM mode and not accessible to processes other than the desktop for running computations. If they are not hooked up to a monitor, then they will (should) be in TCC mode and can be accessed by a process running as a service.
  2 Comments
Leo Simon
Leo Simon on 28 Feb 2013
I'm used to running matlab jobs in the background on a linux machine, but unfortunately some machines still have windows on them. Would you mind explaining to a windows novice what I have to do. In a nice world, I would be able to run
nohup matlab
from the dos command line, but alas I'm sure the world isn't this nice.
Thanks!
Leo
Jason Ross
Jason Ross on 1 Mar 2013

I'm not sure I understand exactly, but I'll try. Keep in mind the original question was about MDCS / Parallel Computing and not the MATLAB desktop per se. If you are running MDCS or Parallel Computing Toolbox, the MATLAB worker processes run in the background entirely and don't pop up windows at all. They just run and do their work. This applies to any platform MATLAB runs on.

In terms of a nohup type command on Windows, I'm not sure it applies. The way I've understood nohup is that you want the process to live on after the shell that started it terminates. On Windows you can launch from the icon or from the command line, but the program isn't tied to the command shell that launched it.

If you are trying to get different behaviors, there are a list of command line options for launching on Windows here:

http://www.mathworks.com/help/matlab/ref/matlabwindows.html

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Parallel Server in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!