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

Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
- - Dernière réponse : botelec
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
- 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
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de cs_rt15
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
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
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
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
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
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
Messages postés
8
Date d'inscription
lundi 15 février 2010
Dernière intervention
18 juin 2015
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
Messages postés
41
Date d'inscription
vendredi 20 juin 2003
Dernière intervention
11 septembre 2010
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.