Matlab Pool - Multiple Machines

10 visualizaciones (últimos 30 días)
Alex Gregory
Alex Gregory el 5 de Ag. de 2012
I have an iterative model which due to it's nature takes days to run. If we assume the model is already optimised the only way to decrease the runtime is by using a parfor.
The machine with Matlab on has two cores available, however I do have access to several other machines on the same network with multiple cores. My question is, how do I hook these other machines in to my Matlab pool, so far I have only been able to add local processors?

Respuestas (2)

Titus Edelhofer
Titus Edelhofer el 5 de Ag. de 2012
Hi,
using the Parallel Computing Toolbox only gives access to start local workers only, i.e., on the same (physical) machine. So one thing you could do is to log on to the more powerful machine, start MATLAB there and run the program.
The MATLAB Distributed Computing Server (<http://www.mathworks.com/products/distriben>) allows you to distribute your computations across several machines.
Titus
  4 comentarios
Walter Roberson
Walter Roberson el 5 de Ag. de 2012
Note: the additional machines must be fairly similar for DCS to work. Same operating system, some architecture, some 32 vs 64 bits.
Edric Ellis
Edric Ellis el 7 de Ag. de 2012
Actually, MDCS does not require homogenous machine types or bitness - but running communicating jobs (such as MATLABPOOL) does. It's not recommended to mix worker types though. In fact, it's best to have the workers as similar as possible to avoid strange performance problems.

Iniciar sesión para comentar.


Walter Roberson
Walter Roberson el 5 de Ag. de 2012
Caution: parallel computing is not always faster. Parallel processing has a lot of overhead to start up, so if the tasks do not happen to match the strengths of the parallel processing, the code can end up being much slower.
Roughly speaking, if you can make long stretches of computation be completely independent of each other, then you are more likely to get benefits from parallel processing. The opposite of this is tightly bound iterative code where each calculation depends heavily on calculations done quite recently: that kind of code benefits more from faster CPUs instead of from multiple cores. (And if you want faster CPUs, and your budget has some spare room, consider the systems from Liquid Nitrogen Overclocking)

Community Treasure Hunt

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

Start Hunting!

Translated by