This issue of heterogenous workloads (or in your case heterogenous workers) and parfor's lack of proper support for them has come up a number of times over the years.
I solved this in my own domain because I know roughly how long it will process each piece of work, in advance. I then used the 'Longest Processing Time' scheduling algorithm, described at https://en.wikipedia.org/wiki/Multiprocessor_scheduling , to preallocate an array of length parpool().NumWorkers . Each element of the array has multiple pieces of work, which is what my scheduling algorithm optimises.
0 Comments
Sign in to comment.