I was wondering if running parallel pools more than the number of dedicated physical cores can make a simulation faster or slower. I'm talking about simulations that work on very large data, which I believe requires Matlab to slice the global variables each time before handling them to the parallel workers.
Is there a general rule to follow, and should I always run a number of parallel workers that is equal to the number of physical cores?
Note: usually my computer can run 10 parallel pools, but I can use the following code to run more (it allocates huge amount of RAM, but this is not a problem for me):
c = parcluster('local');
c.NumWorkers = 30;
Details of machine: CPU: intel core i9-7900X, 330 GHz, RAM size: 64 GB