optimization - Que signifient les termes «lié au processeur» et «lié aux E / S»?

Translate

Que signifient les termes «lié au processeur» et «lié aux E / S»?

This question and all comments follow the "Attribution Required."

Toutes les réponses

Translate

C'est assez intuitif:

Un programme est lié au processeur s'il irait plus vite si le processeur était plus rapide, c'est-à-dire qu'il passe la majorité de son temps à utiliser simplement le processeur (faire des calculs). Un programme qui calcule de nouveaux chiffres de π sera généralement lié au processeur, ce n'est que des nombres croquants.

Un programme est lié aux E / S s'il irait plus vite si le sous-système d'E / S était plus rapide. Le système d'E / S exact dont il est question peut varier; Je l'associe généralement au disque, mais bien sûr, la mise en réseau ou la communication en général est également courante. Un programme qui regarde dans un fichier énorme pour certaines données peut devenir lié aux E / S, puisque le goulot d'étranglement est alors la lecture des données du disque (en fait, cet exemple est peut-être un peu démodé de nos jours avec des centaines de Mo / s provenant des SSD).

La source
Translate

CPU liésignifie que la vitesse à laquelle le processus progresse est limitée par la vitesse du processeur. Une tâche qui effectue des calculs sur un petit ensemble de nombres, par exemple en multipliant de petites matrices, est susceptible d'être liée au processeur.

E / S liésignifie que la vitesse à laquelle un processus progresse est limitée par la vitesse du sous-système d'E / S. Une tâche qui traite les données du disque, par exemple, en comptant le nombre de lignes dans un fichier, est susceptible d'être liée aux E / S.

Mémoire liésignifie que la vitesse à laquelle un processus progresse est limitée par la quantité de mémoire disponible et la vitesse de cet accès mémoire. Une tâche qui traite de grandes quantités de données en mémoire, par exemple la multiplication de grandes matrices, est susceptible d'être liée à la mémoire.

Cache liésignifie la vitesse à laquelle la progression d'un processus est limitée par la quantité et la vitesse du cache disponible. Une tâche qui traite simplement plus de données qu'il n'en tient dans le cache sera liée au cache.

I / O Bound serait plus lent que Memory Bound serait plus lent que Cache Bound serait plus lent que CPU Bound.

La solution pour être lié aux E / S n'est pas nécessairement d'obtenir plus de mémoire. Dans certaines situations, l'algorithme d'accès peut être conçu autour des limitations d'E / S, de mémoire ou de cache. VoirAlgorithmes oublieux du cache.

La source
Translate

CPU lié signifie que le programme est goulot d'étranglement par le CPU ou l'unité centrale de traitement, tandis queE / Slié signifie que le programme est bloqué par les E / S ou les entrées / sorties, comme la lecture ou l'écriture sur disque, réseau, etc.

En général, lors de l'optimisation des programmes informatiques, on essaie de rechercher le goulot d'étranglement et de l'éliminer. Savoir que votre programme est lié au processeur aide, afin de ne pas optimiser inutilement autre chose.

[Et par "goulot d'étranglement", je veux dire ce qui fait que votre programme va plus lentement qu'il ne l'aurait fait autrement.]

La source
Translate

Une autre façon d'exprimer la même idée:

  • Si l'accélération du processeur n'accélère pas votre programme, il se peut queE / Slié.

  • Si l'accélération des E / S (par exemple en utilisant un disque plus rapide) n'aide pas, votre programme peut être lié au processeur.

(J'ai utilisé "peut-être" parce que vous devez prendre en compte d'autres ressources. La mémoire en est un exemple.)

La source
Translate

Lorsque votre programme attendE / S(c'est-à-dire un disque en lecture / écriture ou en lecture / écriture réseau, etc.), le processeur est libre de faire d'autres tâches même si votre programme est arrêté. La vitesse de votre programme dépendra principalement de la vitesse à laquelle les E / S peuvent se produire, et si vous souhaitez l'accélérer, vous devrez accélérer les E / S.

Si votre programme exécute de nombreuses instructions de programme et n'attend pas d'E / S, il est dit qu'il est lié au processeur. Accélérer le CPU rendra le programme plus rapide.

Dans les deux cas, la clé pour accélérer le programme n'est peut-être pas d'accélérer le matériel, mais d'optimiser le programme pour réduire la quantité d'E / S ou de CPU dont il a besoin, ou de lui faire faire des E / S alors qu'il consomme également beaucoup de CPU des trucs.

La source
Alma Lee
Translate

La limite d'E / S fait référence à une condition dans laquelle le temps nécessaire pour terminer un calcul est principalement déterminé par la période d'attente pour que les opérations d'entrée / sortie soient terminées.

C'est le contraire d'une tâche liée au processeur. Cette circonstance survient lorsque la vitesse à laquelle les données sont demandées est plus lente que la vitesse à laquelle elles sont consommées ou, en d'autres termes, plus de temps est passé à demander des données qu'à les traiter.

La source
dua
Translate

Processus liés aux E / S: passent plus de temps à faire des E / S qu'aux calculs, ont de nombreuses courtes rafales de processeur Processus liés au processeur: passez plus de temps à faire des calculs, quelques très longues rafales de processeur

La source
Translate

Processus lié aux E / S: - Si la majeure partie de la durée de vie d'un processus est passée à l'état d'E / S, alors le processus est lié à un processus ai / o Exemple: -calculator, Internet Explorer

Processus lié au processeur: - Si la majeure partie de la vie du processus est passée dans le processeur, alors il s'agit d'un processus lié au processeur.

La source
Leave a Reply
You must be logged in to post a answer.