MultiTâche et multi-coeur (Xp/Vista/Seven) [Résolu]

botelec 41 Messages postés vendredi 20 juin 2003Date d'inscription 11 septembre 2010 Dernière intervention - 2 févr. 2010 à 12:17 - Dernière réponse : botelec 41 Messages postés vendredi 20 juin 2003Date d'inscription 11 septembre 2010 Dernière intervention
- 15 mars 2010 à 18:32
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.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 13 févr. 2010 à 22:00
3
Merci
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.

Merci cs_rt15 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de cs_rt15
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 13 févr. 2010 à 11:59
0
Merci
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).
Commenter la réponse de cs_rt15
botelec 41 Messages postés vendredi 20 juin 2003Date d'inscription 11 septembre 2010 Dernière intervention - 13 févr. 2010 à 14:38
0
Merci
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.
Commenter la réponse de botelec
botelec 41 Messages postés vendredi 20 juin 2003Date d'inscription 11 septembre 2010 Dernière intervention - 22 févr. 2010 à 10:56
0
Merci
Merci RT15,
Je suis d accord avec ta remarque et celle-ci me permet de repartir vers de nouvelles orientations de recherche.
Commenter la réponse de botelec
laflaf3d 8 Messages postés lundi 15 février 2010Date d'inscription 18 juin 2015 Dernière intervention - 15 mars 2010 à 14:33
0
Merci
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
Commenter la réponse de laflaf3d
botelec 41 Messages postés vendredi 20 juin 2003Date d'inscription 11 septembre 2010 Dernière intervention - 15 mars 2010 à 18:32
0
Merci
Salut laflaf3d,

Merci à toi pour le partage de ton expérience.

Je viens juste de poster une source qui illustre le problème et cette même solution 'bidouille" avec l'affinité.

http://www.delphifr.com/code.aspx?ID=51440

Et saib a peut être une réelle solution que j'essaye de mettre en oeuvre avec un WaitForSingleObject.

ici:
http://www.delphifr.com/forum/sujet-COMPATIBILITE-XP-GT-VISTA-GT-SEVEN-PROBLEME-AVEC_1376006.aspx#8

Cordialement.
Mat.
Commenter la réponse de botelec

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.