2010-04-07 1 views
0

Je me demandais s'il serait possible d'exécuter l'application pas à 100% du cpu mais à une quantité spécifique du cpus. Je vois un usage différent de cela,Comment atteindre une fraction spécifique (disons 80%) du cpus et équilibrée sur eux

  • nous pouvons mieux équilibrer l'application simultanée (on peut vouloir avoir un équilibre application de 50% d'avoir des applications juste/Agent/...)
  • je me demandais aussi si le la consommation d'énergie ne serait pas mieux si les CPUs ne marche pas tourner à plein régime mais à un niveau inférieur (disons 80%)

Que pensez-vous Thx exemples sont les bienvenus :)

+0

Une langue préférée pour garder la discussion dans? –

+0

Il existe de nombreuses techniques utilisées pour diviser une tâche entre des cœurs de processeur. Pour limiter la charge totale, je pense que la solution la plus simple consiste simplement à limiter le nombre de cœurs que votre application peut utiliser. –

+0

@alex: C++ ou C# serait bien, mais je peux en lire quelques autres :) @alexandre: Eh bien, c'est juste le point que vous n'allez pas avoir le travail équilibré à travers les cœurs. – user246456

Répondre

1

Vous pouvez faites-le facilement. Allez dans votre BIOS et abaissez la fréquence au pourcentage désiré et pendant que vous êtes là, vous pourrez peut-être abaisser la tension de votre CPU aussi.
Core Parking* seems to be already there dans Windows 7 et Windows Server 2008 R2. Pour citer:

« parking Core est une nouvelle fonctionnalité qui sélectionne dynamiquement un ensemble de processeurs qui devraient rester inactif et ne pas courir des threads en fonction de la politique de puissance actuelle et leur utilisation récente Le planificateur tentera d'honorer cela. sélection quand il décide quels processeurs exécuteront des threads, permettant aux cœurs parqués d'entrer dans des états inactifs profonds où ils consomment très peu d'énergie. "

(. Si l'on veut un programmateur qui permet d'atteindre des températures de pointe plus bas pour les noyaux de traitement, it has been done as well, for Linux)

* Il semble que il y a un brevet ainsi: Power-aware thread scheduling and dynamic use of processors

1

La consommation d'énergie peut être faite pire en n'exécutant pas les processeurs à plein régime, si elles se limitent déjà déjà. De nos jours, de nombreux processeurs prennent en charge le downclocking en fonction de la charge, au point qu'ils n'utilisent pratiquement pas de puissance s'ils sont autorisés à dormir. La meilleure stratégie pour s'endormir rapidement consiste à faire le travail nécessaire le plus rapidement possible. Si vous réduisez artificiellement à 80%, votre processeur est plus éveillé, ce qui réduit les économies d'énergie que vous pouvez obtenir en utilisant une vitesse d'horloge inférieure. D'un autre côté, si vous savez que le processeur sera occupé tout le temps, quoi qu'il en soit, il ne sera jamais mis en veille de toute façon.

1

Ce travail appartient au système d'exploitation, pas à l'application.

Certains systèmes d'exploitation prennent en charge des groupes de contrôle ou de segmentation, ou des zones ou des conteneurs. Peu importe comment ils les appellent, ils permettent de limiter l'utilisation des ressources d'une application.

Questions connexes