optimization - Mit jelent a "CPU kötött" és az "I / O kötött" kifejezés?

Translate

Mit jelentenek a "CPU kötött" és az "I / O kötött" kifejezések?

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

Minden válasz

Translate

Elég intuitív:

Egy program akkor van CPU-hoz kötve, ha gyorsabban haladna, ha a CPU gyorsabb lenne, azaz ideje nagy részét egyszerűen a CPU használatával tölti (számítások elvégzése). Az a program, amely kiszámítja a π új számjegyeit, általában CPU-hoz kötött, csak összezúzza a számokat.

Egy program I / O kötésű, ha gyorsabban menne, ha az I / O alrendszer gyorsabb lenne. Az, hogy pontosan mely I / O rendszert értjük, változhat; Jellemzően a lemezhez társítom, de természetesen a hálózatépítés vagy általában a kommunikáció is általános. Az a program, amely hatalmas adatokat keres át bizonyos adatoknál, I / O-kötéssé válhat, mivel a szűk keresztmetszet az adatok lemezről történő leolvasása (valójában ez a példa manapság talán régimódi, több száz MB / s-mal SSD-kről érkezik).

Forrás
Translate

CPU Boundazt jelenti, hogy a folyamat előrehaladásának sebességét a CPU sebessége korlátozza. Egy feladat, amely kis számhalmazon végez számításokat, például kis mátrixokat szoroz, valószínűleg CPU-hoz kötött.

I / O kötöttazt jelenti, hogy a folyamat előrehaladásának sebességét az I / O alrendszer sebessége korlátozza. Egy lemezről származó adatokat feldolgozó feladat, például egy fájl sorainak számolása, valószínűleg I / O kötésű.

Memória kötöttazt jelenti, hogy a folyamat előrehaladásának sebességét a rendelkezésre álló memória mennyisége és a memória elérésének sebessége korlátozza. A nagy mennyiségű memóriaadatot feldolgozó feladat, például nagy mátrixok szorzása, valószínűleg a memóriához kötött.

Gyorsítótár kötöttazt az arányt jelenti, amelyben a folyamat előrehaladását a rendelkezésre álló gyorsítótár mennyisége és sebessége korlátozza. Egy olyan feladat, amely egyszerűen több adatot dolgoz fel, mint amennyit a gyorsítótárba elfér, gyorsítótárba lesz kötve.

Az I / O Bound lassabb, mint a Memory Bound lassabb, mint a Cache Bound, mint a CPU Bound.

Az I / O kötés megoldása nem feltétlenül szükséges több memória megszerzéséhez. Bizonyos helyzetekben a hozzáférési algoritmust az I / O, a memória vagy a gyorsítótár korlátozásai köré lehetne tervezni. LátGyorsítótár feledékeny algoritmusok.

Forrás
Translate

A processzorhoz kötött azt jelenti, hogy a program szűk keresztmetszetet jelent a CPU vagy a központi processzor általI / Oa kötött azt jelenti, hogy a program szűk keresztmetszetet jelent az I / O, vagy a bemenet / kimenet, például olvasás vagy lemezre, hálózatra stb.

Általánosságban elmondható, hogy a számítógépes programok optimalizálásakor megpróbálja felkutatni a szűk keresztmetszetet és megszüntetni azt. Annak ismerete, hogy a program CPU-kötésű, segít abban, hogy az ember ne optimalizáljon feleslegesen mást.

[És "szűk keresztmetszet" alatt azt értem, ami miatt a programod lassabban halad, mint egyébként lenne.]

Forrás
Translate

Egy másik módszer ugyanezen gondolat megfogalmazására:

  • Ha a CPU felgyorsítása nem gyorsítja fel a programot, akkor az lehetI / Oösszekötött.

  • Ha az I / O felgyorsítása (pl. Gyorsabb lemez használata) nem segít, akkor lehet, hogy a program CPU-ra van kötve.

(Azért lehet, hogy "lehet", mert más erőforrásokat kell figyelembe vennie. Például a memória.)

Forrás
Translate

Amikor a program várI / O(pl. lemez olvasása / írása vagy hálózati olvasása / írása stb.), a CPU szabadon végezhet más feladatokat akkor is, ha a program le van állítva. A program sebessége leginkább attól függ, hogy az IO milyen gyorsan történhet, és ha fel akarja gyorsítani, akkor fel kell gyorsítania az I / O-t.

Ha a program sok program utasítást futtat, és nem várja az I / O-t, akkor azt mondják, hogy CPU-hoz kötött. A CPU felgyorsításával a program gyorsabban fut.

Mindkét esetben a program felgyorsításának kulcsa nem a hardver felgyorsítása lehet, hanem a program optimalizálása a szükséges IO vagy CPU mennyiségének csökkentése érdekében, vagy I / O végrehajtása, miközben CPU-intenzív is dolog.

Forrás
Alma Lee
Translate

Az I / O kötött olyan állapotra utal, amelyben a számítás befejezéséhez szükséges időt elsősorban az input / output műveletek befejezésére várva töltött idő határozza meg.

Ez ellentétes azzal, hogy egy feladat CPU-hoz kötött legyen. Ez a körülmény akkor merül fel, amikor az adatkérés sebessége lassabb, mint az elfogyasztott sebessége, vagy más szóval, több időt fordítanak az adatok kérésére, mint azok feldolgozására.

Forrás
dua
Translate

IO-hoz kötött folyamatok: több időt töltsön IO-val, mint a számítások, sok rövid CPU-burst van. CPU-hoz kötött folyamatok: több időt töltenek számításokkal, kevés nagyon hosszú CPU-burst

Forrás
Translate

I / O kötött folyamat: - Ha a folyamat élettartamának nagy részét i / o állapotban töltik, akkor a folyamat ai / o kötött folyamat. Példa: -számológép, Internet Explorer

CPU-hoz kötött folyamat: - Ha a folyamat életének nagy részét CPU-ban töltik, akkor ez CPU-val kötött folyamat.

Forrás
Leave a Reply
You must be logged in to post a answer.