Salut,
Mon programme est codé en C, utilise les thread POSIX de la lib pthread.
Il créer plusieurs thread, un thread par client connecté en TCP/IP.
Ma question : dois-je faire quelques choses pour que chaque thread s'exécute sur un processeur / cœur différent ? si oui, comment optimiser ?
Merci.
# Non
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 1.
La seule optimisation facile et efficace que je puisse suggérer est la suivante : pour des calculs très lourds, éviter de faire tourner plus de filaments que l'on n'a de processeurs.
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Non
Posté par nicoww . Évalué à 1.
Je conclus que le noyau décide où affecter tel ou tel thread, si calculs lourd : un thread max par processeur.
[^] # Re: Non
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 1.
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Non
Posté par Frédéric Perrin (site web personnel) . Évalué à 6.
Ceci dit, sauf si tu as des besoins très spécifiques, c'est probablement beaucoup plus simple, plus portable de laisser le noyau gérer tout ça. On a eu assez de guerres sur les ordonnanceurs, il faudrait peut-être espérer qu'ils sont maintenant au point et lui laisser faire le boulot...
[^] # Re: Non
Posté par Samuel Thibault (site web personnel) . Évalué à 3.
Mais dans ce cas-ci, autant laisser le noyau se débrouiller, il y a
arrivera très bien.
# user-level vs kernel-level
Posté par neologix . Évalué à -1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.