Auteur Sujet: Hyper-Threading  (Lu 14204 fois)

0 Membres et 1 Invité sur ce sujet

corrector

  • Invité
Hyper-Threading
« Réponse #36 le: 04 mai 2015 à 00:16:50 »
Si je prends une base de données par exemple, je peux probablement faire un "select *" sur mon unique table, sans pour autant faire une lecture linéaire (depuis le début du fichier jusqu'à la fin).
Si tu fais un select je pense qu'il va utiliser l'index et pas lire "linéairement" un fichier.

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
Hyper-Threading
« Réponse #37 le: 04 mai 2015 à 17:14:57 »
Il faudra bien que le moteur charge ses index à un moment ...

Si tes threads sont très interdépendants, ça n'a peut être aucun intérêt de les paralléliser!

Sur une machine multi unités d'exécution (CPU ou "core"), tu as en général de nombreuses tâches en cours ou en attente d'exécution. Terminer plus vite une seule de ces tâche n'est pas forcèment utile.
Et en général, le gars qui est devant sa machine apprécie toujours que son application continue d'être réactive, même si elle est occupée à faire autre chose.
Avant d'y chercher un gain en terme de performance, l'avantage de disposer de plusieurs fils d'exécution, c'est de pouvoir y coller des boucles de traitement (rafraîchissement de l'interface graphique, traitement des E/S, etc) qui sont justement relativement indépendantes les unes des autres.

Les communications interprocessus ne sont pas forcèment moins efficaces que les communication intraprocessus. On peut utiliser exactement les mêmes outils : sémaphores, mutex, etc.
Outre le fait qu'il n'est pas toujours indispensable de sortir l'artillerie lourde des IPC classiques pour faire communiquer deux fils entre eux (tant qu'ils ne risquent pas de se marcher sur les pieds, c'est parfaitement inutile), si l'ordonnanceur décide de faire tourner deux processus lourds communicant sur le même cœur, il y aura commutation de contexte, tandis que ce ne sera pas nécessaire si ce sont deux processus légers.
Donc pas forcèment moins efficaces, non, mais potentiellement moins efficaces, certainement.

corrector

  • Invité
Hyper-Threading
« Réponse #38 le: 04 mai 2015 à 22:49:37 »
Outre le fait qu'il n'est pas toujours indispensable de sortir l'artillerie lourde des IPC classiques pour faire communiquer deux fils entre eux (tant qu'ils ne risquent pas de se marcher sur les pieds, c'est parfaitement inutile), si l'ordonnanceur décide de faire tourner deux processus lourds communicant sur le même cœur, il y aura commutation de contexte, tandis que ce ne sera pas nécessaire si ce sont deux processus légers.
Donc pas forcèment moins efficaces, non, mais potentiellement moins efficaces, certainement.
Qu'appelles-tu les "processus légers"? Les threads?

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
Hyper-Threading
« Réponse #39 le: 04 mai 2015 à 23:05:28 »
Oui.