Le nombre Optimal de threads par noyau

Disons que j'ai un PROCESSEUR 4 cœurs, et je veux lancer un processus dans le minimum de temps. Le processus est idéalement parallélisables, donc, je peux utiliser des morceaux de celui-ci sur un nombre infini de fils et chaque thread prend la même quantité de temps.

Depuis que j'ai 4 coeurs, je n'ai pas s'attendre à une accélération en cours d'exécution de plus de threads que de cœurs, car un seul core est seulement capable d'exécuter un seul thread à un moment donné. Je ne sais pas beaucoup sur le matériel, si ce n'est qu'une supposition.

Est-il un avantage à utiliser une parallélisables processus sur plus de threads que de cœurs? En d'autres termes, mon processus de finition plus rapide, plus lent, ou dans environ la même quantité de temps si je l'exécute à l'aide de 4000 threads plutôt que 4 threads?

InformationsquelleAutor Juliet | 2009-11-11