Per mine current understanding, Ideally for best perormance, we should not create threads more than number of cores in processor as there will be overheads like thread switching. But this video Apache Spark Video says at 91 minute, we should oversubscribe the thread i.e. create more threads than cores for better performaance .
Only Advantage i can think of creating extra thread all tasks will get cpu cycles in kind of round robin fashion instead of limited threads finishing first set of task then pick another set.
I am not sure which one is correct ?