optimization - Co znamenají pojmy „vázané na CPU“ a „vázané na I / O“?

Translate

Co znamenají pojmy „CPU CPU“ a „I / O bound“?

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

Všechny odpovědi

Translate

Je to docela intuitivní:

Program je vázán na CPU, pokud by šel rychleji, kdyby CPU byly rychlejší, tj. Většinu svého času tráví jednoduše používáním CPU (výpočty). Program, který počítá nové číslice π, bude typicky vázán na CPU, jde jen o křupavá čísla.

Program je vázán na I / O, pokud by šel rychleji, kdyby byl I / O subsystém rychlejší. Který přesný I / O systém je určen, se může lišit; Obvykle to spojuji s diskem, ale samozřejmě je také běžná síť nebo komunikace obecně. Program, který hledá některá data v obrovském souboru, se může stát vázán na I / O, protože překážkou je pak čtení dat z disku (tento příklad je dnes možná trochu staromódní se stovkami MB / s přicházející z SSD).

Zdroj
Translate

CPU Boundznamená, že rychlost, jakou proces postupuje, je omezena rychlostí CPU. Úkol, který provádí výpočty na malé množině čísel, například vynásobením malých matic, bude pravděpodobně vázán na CPU.

I / O Boundznamená rychlost, jakou proces postupuje, je omezena rychlostí I / O subsystému. Úkol, který zpracovává data z disku, například počítání počtu řádků v souboru, bude pravděpodobně vázán na I / O.

Paměť vázánaznamená rychlost, jakou proces postupuje, je omezena velikostí dostupné paměti a rychlostí přístupu k paměti. Úkol, který zpracovává velké množství dat v paměti, například vynásobení velkých matic, bude pravděpodobně Bound Memory.

Mezipaměť vázánaznamená rychlost, jakou je postup procesu omezen množstvím a rychlostí dostupné mezipaměti. Úkol, který jednoduše zpracuje více dat, než se vejde do mezipaměti, bude vázán do mezipaměti.

I / O Bound by bylo pomalejší než Memory Bound by bylo pomalejší než Cache Bound by bylo pomalejší než CPU Bound.

Řešení vázání I / O nemusí nutně získat více paměti. V některých situacích může být přístupový algoritmus navržen podle omezení I / O, paměti nebo mezipaměti. VidětCache Oblivious Algorithms.

Zdroj
Translate

CPU bound znamená, že program je úzkým hrdlem CPU nebo centrální procesorové jednotky, zatímcoI / Ovázaný znamená, že program je zúžen I / O nebo vstupem / výstupem, jako je čtení nebo zápis na disk, síť atd.

Obecně platí, že při optimalizaci počítačových programů se člověk snaží najít úzké místo a odstranit ho. Vědomí, že váš program je vázán na CPU, pomáhá, aby člověk zbytečně neoptimalizoval něco jiného.

[A pod „úzkým hrdlem“ mám na mysli věc, díky níž je váš program pomalejší, než by měl jinak.]

Zdroj
Translate

Další způsob, jak formulovat stejnou myšlenku:

  • Pokud zrychlení CPU nezrychlí váš program, může to býtI / Ovázaný.

  • Pokud zrychlení I / O (např. Použití rychlejšího disku) nepomůže, může být váš program vázán na CPU.

(Použil jsem „může být“, protože je třeba vzít v úvahu jiné zdroje. Příkladem je paměť.)

Zdroj
Translate

Když váš program čekáI / O(tj. čtení / zápis na disk nebo síťové čtení / zápis atd.), CPU může dělat další úkoly, i když je váš program zastaven. Rychlost vašeho programu bude většinou záviset na tom, jak rychle se může IO stát, a pokud jej chcete zrychlit, budete muset zrychlit I / O.

Pokud ve vašem programu běží spousta programových pokynů a nečekáte na I / O, pak se říká, že je vázán na CPU. Zrychlení CPU způsobí, že program bude rychlejší.

V obou případech nemusí být klíčem k urychlení programu zrychlení hardwaru, ale optimalizace programu tak, aby se snížilo množství IO nebo CPU, které potřebuje, nebo aby se to stalo I / O, zatímco to také dělá náročné na CPU věci.

Zdroj
Alma Lee
Translate

I / O bound odkazuje na podmínku, ve které je čas potřebný k dokončení výpočtu určen hlavně dobou strávenou čekáním na dokončení operací vstupu / výstupu.

Toto je opakem úlohy vázané na CPU. Tato okolnost nastává, když je rychlost, při které jsou požadována data, pomalejší než rychlost, kterou spotřebovávají, nebo jinými slovy, více času je vyžadováno požadováním dat než jejich zpracováním.

Zdroj
dua
Translate

Procesy vázané na IO: trávíte více času IO než výpočty, máte mnoho krátkých dávek CPU. Procesy vázané na CPU: strávit více času výpočty, několik velmi dlouhých dávek CPU

Zdroj
Translate

Proces I / O Bound: - Pokud je většina části životnosti procesu strávena ve stavu I / O, pak je proces vázán na ai / o. Příklad: -kalkulačka, internetový průzkumník

Proces vázaný na CPU: - Pokud většinu času v procesu strávíte v CPU, pak jde o proces vázaný na CPU.

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