Is there a way to ensure MJS schedules workers on different servers instead of filling up each server one by one?
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have been using Matlab Parallel Server and MJS to split up a large time consuming process over several servers. The process does not use a lot of computing power, but cannot be parallelized except by creating additional workers (I am using Matlab to run a 3rd party software using an SDK).
This means that I need to have multiple workers on each server in order to perform the process faster.
Each additional worker per server does decrease my total time, but there are diminishing returns.
What would be ideal would for the jobs to be spread as evenly across the servers as possible, but what I am seeing is that jobs fill up workers on each server sequentially.
i.e. if I have 60 jobs, 6 servers, 90 workers as 15 workers per server.
I am seeing:
Server 1: 15/15
Server 2: 15/15
Server 3: 15/15
Server 4: 15/15
Server 5: 0/15
Server 6: 0/15
Instead of:
Server 1: 10/15
Server 2: 10/15
Server 3: 10/15
Server 4: 10/15
Server 5: 10/15
Server 6: 10/15
I've thought to create an individual cluster for each server, and then send jobs sequentially to each cluster, but I don't know if this will create problems at the head node. It definitely will make result acquistion and error logging more difficult.
Is there some other way to set this up?
Thanks
0 comentarios
Respuestas (1)
Alvaro
el 26 de En. de 2023
There might be a workaround with the startworker and stopworker scripts.
Alternatively, you could try using a different scheduler.
In the meantime, I have forwarded to the relevant team your interest in being able to schedule jobs to specific nodes in the cluster.
0 comentarios
Ver también
Categorías
Más información sobre Third-Party Cluster Configuration en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!