MultiTâche et multi-coeur (Xp/Vista/Seven)

Résolu
botelec Messages postés 38 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 11 septembre 2010 - 2 févr. 2010 à 12:17
laflaf3d Messages postés 8 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 18 juin 2015 - 15 mars 2010 à 14:33
Bonjour à tous,

Je fais court, histoire de me faire comprendre.
Après plusieurs jours de tests, (et oui!) j'ai enfin déterminé d'ou vient la source de tous mes problèmes avec Vista et Seven : Le multi tâche dans une architecture multi-coeur.
Mes logiciel, ne fonctionnent donc pas sous vista ou seven et , il apparait que seul Xp gère correctement la répartition des threads d'une application multi-tâche dans un environnement multi-coeur.

Avez-vous remarqué ce phénomène ?

Pour info, j'utilise (comme beaucoup) les composants TServerSocket/TClientSocket. (Même s'ils sont dépréciés).
(Je donnerais plus de détails à ceux qui le souhaites)

J'attend vos retours avec impatience.
Merci,
MAt.

5 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
13 févr. 2010 à 22:00
Il se peut que le comportement de Vista/Seven soit un peu différent que celui de XP sur un processeur multicoeur.

Dans le cas d'un défaut de conception dans une application multi-thread, il est bien entendu évident que la probabilité de plantage/mauvais comportement est bien plus importante sur un multi-coeur. Sur un mono-coeur, les différents threads étant exécutés successivement, les problèmes ne surviennent que si le processeur passe d'un thread à un autre au mauvais moment.

Mais sans analyse du code de l'appli fautive difficile dans dire plus.
3
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
13 févr. 2010 à 11:59
Salut,

Désolé, mais si Vista ou Seven géraient incorrectement le multi-tâche et/ou le multi-threading sur un PC multi-coeur, ça se saurait. Le problème vient bien plus probablement de ton côté (Ou éventuellement de libs Delphi, mais là aussi, c'est assez peu probable).
0
botelec Messages postés 38 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 11 septembre 2010 1
13 févr. 2010 à 14:38
Salut,
Bien évidemment, c'est bien ce que je me disais..
Peut être même que j'avais besoin que quelqu'un me le confirme.. merci à toi rt15.
Mais alors,
Comment expliquer que mes applications fonctionnent normalement lorsque je me retrouve dans ces quatre cas:

1: Je désactive le fonctionnement multi-coeurs dans le bios. (Sous Vista/Seven lorsque le processeur possède plusieurs coeurs)
2: J'affecte par implémentation le fonctionnement du processus parent de l'appli uniquement sur le premier coeur ?
(Toujours lorsque le processeur possède plusieurs coeurs sur vista/Seven)
3: Je suis sous Vista ou Seven avec un processeur simple coeur.
4: Je reste sous XP quelque soit le processeur ?

C'est un constat difficile à comprendre pour moi et c'est pourquoi je viens sur le forum me faire conseiller.
0
botelec Messages postés 38 Date d'inscription vendredi 20 juin 2003 Statut Membre Dernière intervention 11 septembre 2010 1
22 févr. 2010 à 10:56
Merci RT15,
Je suis d accord avec ta remarque et celle-ci me permet de repartir vers de nouvelles orientations de recherche.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
laflaf3d Messages postés 8 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 18 juin 2015
15 mars 2010 à 14:33
Je ne sais pas si cela t'apportera de l'aide mais j'ai EXACTEMENT le même problème que toi sauf que mon développement est en C.
Sous XP, j'ai résolu les plantages en utilisant une fonction permettant de régler l'affinité des thread à un seul et même coeur. Par contre, sous VISTA, ce paramétrage de l'affinité ne semble pas résoudre le problème.
Et comme toi, lorsque je démarre mon OS sur un seul coeur, je n'ai pas de pb.

Cordialement
0
Rejoignez-nous