Différences noeuds/processeurs/thread ? [Le calcul pour les nuls] - Hardware - Linux et OS Alternatifs
Marsh Posté le 21-06-2014 à 09:27:40
Grace à l'hyperthreading (si tu veux googler), un processeur peut exécuter plusieurs thread simultanément (enfin 2 en général).
Marsh Posté le 21-06-2014 à 11:27:26
Je@nb a écrit : Grace à l'hyperthreading (si tu veux googler), un processeur peut exécuter plusieurs thread simultanément (enfin 2 en général). |
2 coeurs logiques par core physique si hyperthreading
Mais ce n'est pas "2 threads" forcément... un thread c'est une portion d'un processus, une instruction, exécuté dans un certain ordre (ou pas )
Si on prend (grosso-modo) par exemple chez Intel :
Un core i3, 2 cores physiques, avec hyperthreading -> 4 coeurs logiques.
Un core i5, 4 cores physiques, sans hyperthreading -> 4 coeurs logiques.
Même nombre de coeurs logiques et à vitesse équivalente, il vaudrait mieux prendre un core i3 ? hé ben non si on recherche la puissance de calcul, car d'autres facteurs entreront en jeu, comme le cache.
Pourtant ils calculeront les threads de la même manière.
Marsh Posté le 22-06-2014 à 11:20:34
Le thread, c'est le flux d'instruction à exécuter (le programme en quelque sorte). Un processeur, c'est un objet qui a la capacité à exécuter des instructions.
Le processeur va donc exécuter les instructions de thread(s) (un ou plusieurs simultanément selon le processeur).
Marsh Posté le 22-06-2014 à 12:48:23
Merci à vous pour ces explications.
Je demandais ça, parce que mon chef (un anglophone donc y a peut-être des différences) me demande si, quand je fais tourner notre code, j'impose le nombre de thread ou le nombre de cpu mais du coup j'ai un peu de mal à voir l'intérêt d'en imposer un plutôt que l'autre. Enfin, j'ai pas un code assez optimisé pour me poser des questions type "est-ce que j'aurais assez de mémoire cache par proc", du coup j'aurais tendance à me dire que cœurs logiques ou physiques, on s'en fiche, je demande le nombre de tâches différentes et après OpenMPI se démerde avec l'architecture du calculateur.
Marsh Posté le 22-06-2014 à 15:51:15
Euuuh, y'a des explications très très vagues. Précisions, rangés dans l'ordre du plus petit au plus grand :
-Instruction
-Thread
-Processus
-Macro/Fonction
-Programme
-Infra
-Système
Un système, c'est l'association de plusieurs infrastructures composées de programmes, qui sont régies par différentes fonctions et macros, découpées en threads qui sont le plus petit groupement d'instructions donnant un résultat exploitable par l'utilisateur final.
Au niveau du découpage, soit tu agis sur les threads, soit sur les fonctions, mais l'optimisation au niveau instruction est très très très difficile a réaliser (implique de coder en bas niveau directement et de gérer un ordonnanceur, ou d'avoir une connaissance des latences et de mettre des interruptions aux endroits ou il faut)
Marsh Posté le 21-06-2014 à 04:38:15
- quelle est la différence entre un processeur et un "thread" ?
Je suis sur qu'un sympathique hfrien peut m'expliquer de manière pédagogique.
---------------
DVD | Ludothèque: BGG