Associer une application à un processeur - Win XP Pro sur bi-Xéon en hp

Slt à tous!

Pour des besoins professionnels, j’utilise une machine composée, entre autre, de deux Xéons, avec hyper threading activé.

Le truc, c’est que cette bécane me sert à lancer plusieurs process en //, avec en + des outils de vision et de traitement acoustique.

Malheureusement, chaque appli se trouve affilié aux 4 CPU, alors que je voudrais affilier la vision sur un CPU, l’acoustique sur un autre etc.

  1. Est-ce que cela va vraiment améliorer les performances générales (la vision et l’acoustique sont mono thread, mais le reste est multi thread)

  2. Comment faire une affiliation une fois pour toute - c’est à dire ne pas être obligé de lancer les appli puis des les affilier selon ses désire à chaque lancement?

Merci à tous! :hello:

Ca ne sert à rien de forcer l’assignation à un CPU. Et je ne connais aucun moyen de forcer l’utilisation definitivement.

Windows gère très bien le multi-cpu, tu n’as aucun soucis à te faire, au contraire.

Par contre si tes applications mono-thread sont du style à bouffer 100% du temps CPU quand elles tournent, je te conseille de désactiver l’hyperthreading pour que Windows n’est pas l’impression qu’il peux se servir d’un CPU alors que non, ou pour eviter qu’il assigne les 2 applications gourmandes au même CPU pensant les assigner à 2 CPU distincts.

OK, merci beaucoup pour ces précisions…

En fait, ma demande vient d’un besoin simple:
J’ai une appli multi-threads (8 threads // maxi) qui gère un processus d’assemblage (réalisé par des opérateurs ‘humains’) est donc qui doit réagir le plus vite possbible (je suis pas en temps réel - Windows inside - mais j’essaye de libérer un max de ressources pour m’en approcher)

En parallèle, une appli de vision et de tests acoustique sur lesquels je peux me permettre un certain délais d’inactivité.

Le but était donc de forcer ces deux dernier processus sur 1 ou 2 CPU, quitte à les charger à 100% pour laisser les 2-3 autres CPU se charger de l’assemblage (et donc libérer un max de ressources -> augmentation de réactivité)

Je sui speut être dans le faux, mais compte tenu de l’impossibilité de faire du tr avec Windows, je me suis dit que c’était la meilleur solution.

Tu es dans le faux sur ton nombre de processeur, tu n’en a que 2 !

L’hyperthreading permet juste à un processeur de faire croire à Windows qu’il y a deux, dans le but d’ameliorer la réactivité d’un programme multithread.

En multiprocesseurs, Windows n’affectera jamais plus d’un CPU à un processus, même multithread. Donc, les autres programmes se contenteront de l’autre processeur. Même si Windows s’amusera à passer tes processus d’un processeur à l’autre.

Donc désactive l’hyperthreading pour être sûr que la puissance de tes processeurs ne soit pas partagée.

Ce que tu peux faire, c’est augmenter la priorité de l’application qui a besoin de puissance ; soit par une option intégrée soit en ligne de commandes (je ne me rappelle plus laquelle).

OK, je teste tout ça.

Merci beacoup pour les infos :jap:

si ton application est “monothreadée” je ne vois pas comment Windows pourrait l’assigner à 2 CPU :neutre:

ou alors tu experimente un concept qu’il faut que tu brevete pour le vendre à AMD/Intel et leurs CPU bi-core :ane:

Et comme le dit AOPG: windows est parfaitement à l’aise pour repartir les taches sur les CPU (il n’y a qu’à voir les test de CPU bi-core qui est un cas comparable)