Számítógép teljesítmény - Computer performance

A számítástechnika , számítógép teljesítményét az az összeg, hasznos munkát végezzük, a számítógépes rendszer . Konkrét összefüggéseken kívül a számítógép teljesítményét a számítógépes program utasításainak végrehajtásának pontossága, hatékonysága és sebessége alapján becsülik meg . A magas számítógép-teljesítmény esetén a következő tényezők egyike vagy több érintett lehet:

Műszaki és nem műszaki meghatározások

Bármely számítógépes rendszer teljesítménye mérhető, technikai szempontból értékelhető, a fent felsorolt ​​egy vagy több mutató felhasználásával. Így lehet az előadás

  • Összehasonlítva más rendszerekkel vagy ugyanazzal a rendszerrel a változások előtt / után
  • Abszolút értelemben, pl. Szerződéses kötelezettség teljesítéséhez

Míg a fenti meghatározás tudományos, technikai megközelítéshez kapcsolódik, az Arnold Allen által megadott következő meghatározás hasznos lenne egy nem technikai közönség számára:

A teljesítmény a számítógépes teljesítményben ugyanazt jelenti, amit a teljesítmény más összefüggésekben jelent, vagyis azt: "Mennyire jól teljesíti a számítógép azt a munkát, amelyet állítólag el kell végezni?"

A szoftverminőség szempontjaként

A számítógépes szoftver teljesítménye, különösen a szoftveralkalmazás válaszideje, a szoftver minőségének egyik szempontja , amely fontos az ember és a számítógép interakcióiban .

Teljesítménymérnöki munka

A rendszertervezési teljesítménytervezés magában foglalja a rendszerek fejlesztésének életciklusának minden szakaszában alkalmazott szerepek, készségek, tevékenységek, gyakorlatok, eszközök és teljesítések halmazát, amely biztosítja, hogy egy megoldást megtervezzenek, kivitelezzenek és működőképesen támogassanak a teljesítménykövetelményeknek való megfelelés érdekében a megoldáshoz definiált.

A teljesítménymérnöki tevékenység folyamatosan foglalkozik a teljesítménytípusok közötti kompromisszumokkal. Esetenként a CPU-tervező megtalálhatja a módját, hogy jobb általános teljesítményű CPU- t készítsen azáltal, hogy javítja az alábbiakban bemutatott teljesítmény egyik szempontját, anélkül, hogy feláldozná a CPU teljesítményét más területeken. Például a CPU felépítése jobb, gyorsabb tranzisztorokból .

Néha azonban toló egyféle teljesítmény, hogy egy szélsőséges vezet a CPU rosszabb teljesítményét, mert más fontos szempontok megöltük, hogy egy látványos megjelenésű számot, például a chip órajelét (lásd a megahertz mítosz ).

Alkalmazásteljesítmény-tervezés

Az Application Performance Engineering (APE) egy speciális módszertan a teljesítménytechnikán belül , amely az egyre elosztottabb mobil, felhő és földi informatikai környezetekben az alkalmazás teljesítményével kapcsolatos kihívások megválaszolására szolgál. Magában foglalja az alkalmazás életciklusának minden szakaszában alkalmazott szerepeket, készségeket, tevékenységeket, gyakorlatokat, eszközöket és teljesítéseket, amelyek biztosítják, hogy egy alkalmazást úgy tervezzenek meg, valósítsanak meg és működjenek, hogy az megfeleljen a nem funkcionális teljesítmény követelményeinek.

A teljesítmény szempontjai

A számítógép teljesítménye mérőszámok (dolgokat intézkedés) közé tartozik a rendelkezésre álló , válaszidő , csatorna kapacitása , látencia , teljesítési idő , szolgálati idő , sávszélesség , áteresztőképesség , relatív hatékonyságát , a skálázhatóság , teljesítmény per watt , tömörítési arány , használati úthossz és felgyorsítja . CPU- referenciaértékek állnak rendelkezésre.

Elérhetőség

A rendszer elérhetőségét általában a megbízhatóságának tényezőként mérik - a megbízhatóság növekedésével a rendelkezésre állás (vagyis kevesebb állásidő ) is növekszik . A rendszer elérhetőségét növelheti az a stratégia is, amely a tesztelhetőség és a karbantarthatóság növelésére összpontosít, nem pedig a megbízhatóságra. A karbantarthatóság javítása általában könnyebb, mint a megbízhatóság. A karbantarthatósági becslések (javítási arányok) szintén általában pontosabbak. Mivel azonban a megbízhatósági becslések bizonytalanságai a legtöbb esetben nagyon nagyok, valószínűleg ez dominálja a rendelkezésre állási (előrejelzési bizonytalansági) problémát, még akkor is, ha a karbantarthatósági szint nagyon magas.

Válaszidő

A válaszidő az a teljes idő, amely a szolgáltatás iránti kérelem megválaszolásához szükséges. A számítás során ez a szolgáltatás bármilyen munkaegység lehet az egyszerű lemezes IO- tól a komplex weboldal betöltéséig . A válaszidő három szám összege:

  • Szolgálati idő - Mennyi ideig tart a kért munka elvégzése.
  • Várakozási idő - Mennyi ideig kell várnia a kérelemnek az előtte sorban lévő kérelmekre, mielőtt futna.
  • Átviteli idő - Mennyi időbe telik a kérés áthelyezése a munkát végző számítógépre és a válasz visszaküldése a kérőre.

Feldolgozási sebesség

A legtöbb fogyasztó számítógépes architektúrát választ (általában Intel IA32 architektúra), hogy képes legyen futtatni egy már meglévő, előre lefordított szoftvert. Mivel viszonylag tájékozatlanok a számítógépes referenciaértékekről, néhányuk az operációs frekvencia alapján választ egy adott CPU-t (lásd megahertzes mítosz ).

Egyes párhuzamos számítógépeket építő rendszertervezők a dollárenkénti sebesség alapján választják a CPU-kat.

Csatorna kapacitás

A csatorna kapacitása a kommunikációs csatornán megbízhatóan továbbítható információ sebességének legszorosabb felső határa . A zajos csatornás kódolási tétel szerint egy adott csatorna csatornakapacitása az a korlátozó információsebesség ( információegységekben / időegységben), amely önkényesen kis hiba valószínűséggel érhető el.

Az információelmélet , amelyet Claude E. Shannon dolgozott ki a második világháború alatt , meghatározza a csatorna kapacitás fogalmát, és matematikai modellt nyújt, amellyel kiszámítható. A legfontosabb eredmény azt állítja, hogy a csatorna kapacitását a fentiekben meghatározottak szerint a csatorna bemenete és kimenete közötti kölcsönös információ maximuma adja meg , ahol a maximalizálás a bemeneti eloszláshoz viszonyul.

Késleltetés

A látencia egy késleltetés a rendszerben megfigyelt valamilyen fizikai változás oka és következménye között. A látencia a fizikai interakció korlátozott sebességének eredménye. Ez a sebesség mindig kisebb vagy egyenlő a fénysebességgel. Ezért minden fizikai rendszer, amelynek térbeli dimenziói eltérnek a nullától, valamilyen késleltetést fog tapasztalni.

A látencia pontos meghatározása a megfigyelt rendszertől és a stimuláció jellegétől függ. A kommunikációban a késés alsó határát a kommunikációhoz használt közeg határozza meg. Megbízható kétirányú kommunikációs rendszerekben a késleltetés korlátozza az információk továbbításának maximális sebességét, mivel gyakran korlátozódik az információ mennyisége, amely bármely pillanatban "repülés közben" van. Az ember-gép interakció területén az érzékelhető késés (késleltetés annak között, amit a felhasználó parancsol, és amikor a számítógép megadja az eredményeket) erősen befolyásolja a felhasználói elégedettséget és a használhatóságot.

A számítógépek folyamatnak nevezett utasításkészleteket futtatnak. Az operációs rendszerekben a folyamat végrehajtása elhalasztható, ha más folyamatok is végrehajtanak. Ezenkívül az operációs rendszer ütemezheti, hogy mikor kell végrehajtani a folyamat által parancsolt műveletet. Tegyük fel például, hogy egy folyamat azt parancsolja, hogy a számítógépkártya feszültségkimenetét magas-alacsony-magas-alacsony értékre állítsák be, és így tovább 1000 Hz frekvenciával. Az operációs rendszer dönthet úgy, hogy az egyes átmenetek (magas-alacsony vagy alacsony-magas) ütemezését belső óra alapján állítja be. A késleltetés a késleltetés az átmenetet parancsoló folyamatutasítás és a feszültséget magasról alacsonyra vagy alacsonyról magasra váltó hardver között.

A valós idejű számítástechnikai rendszereket felépítő tervezők garantálni akarják a legrosszabb esetre történő reagálást. Ezt könnyebb megtenni, ha a CPU alacsony megszakítási késleltetéssel rendelkezik, és amikor determinisztikus válaszú.

Sávszélesség

A számítógépes hálózatban a sávszélesség a rendelkezésre álló vagy elfogyasztott adatkommunikációs erőforrások bitsebességének mérése, másodpercenként bitben vagy annak többszörösében (bit / s, kbit / s, Mbit / s, Gbit / s stb.) Kifejezve.

A sávszélesség néha meghatározza a digitális bitsebességet (más néven csúcssebességet, információs sebességet vagy a fizikai réteg hasznos bitsebességét), a csatorna kapacitását, vagy egy logikai vagy fizikai kommunikációs út maximális átviteli sebességét egy digitális kommunikációs rendszerben. Például a sávszélesség-tesztek mérik a számítógépes hálózat maximális áteresztőképességét. Ennek a használatnak az az oka, hogy Hartley törvénye szerint a fizikai kommunikációs kapcsolat maximális adatátviteli sebessége arányos annak hercben mért sávszélességével, amelyet néha frekvenciasávnak, spektrális sávszélességnek, RF sávszélességnek, jel sávszélességnek vagy analóg sávszélességnek neveznek.

Átbocsátás

Általánosságban elmondható, hogy az áteresztőképesség a termelés sebessége vagy az a sebesség, amellyel valamit fel lehet dolgozni.

A kommunikációs hálózatokban az áteresztőképesség lényegében egyet jelent a digitális sávszélesség-fogyasztással. A vezeték nélküli hálózatok , vagy cellás kommunikációs hálózatok , a rendszer spektrális hatékonyság bit / s / Hz / terület egység, bit / s / Hz / webhely vagy bit / s / Hz / sejt, a rendszer maximális áteresztőképesség (aggregált áteresztőképesség) osztva a analóg sávszélesség és a rendszer lefedettségének bizonyos mértéke.

Az integrált áramkörökben egy adatfolyam-diagram blokkjának gyakran egyetlen bemenete és egyetlen kimenete van, és különálló információcsomagokon működnek. Ilyen blokkok például az FFT modulok vagy a bináris szorzók . Mivel az egységek az átmenő azok a kölcsönös az egység késleltetési , amely „másodperc üzenetet” vagy „másodperc output”, áteresztőképesség lehet használni, hogy kapcsolódnak olyan számítástechnikai eszköz teljesítő dedikált funkciót, mint például egy ASIC , vagy beágyazott processzor a kommunikációs csatorna, egyszerűsítve a rendszerelemzést.

Relatív hatékonyság

Méretezhetőség

A skálázhatóság a rendszer, a hálózat vagy a folyamat azon képessége, hogy növekvő mennyiségű munkát képes képes kezelni, vagy annak a képessége, hogy kibővíthető legyen a növekedés befogadásához

Energiafogyasztás

A számítógép által felhasznált villamos energia mennyisége ( energiafogyasztás ). Ez különösen fontossá válik a korlátozott áramforrásokkal rendelkező rendszerek esetében, mint például a napenergia, az elemek és az emberi erő.

Teljesítmény wattonként

A párhuzamos számítógépeket építő rendszertervezők , például a Google hardverei a CPU-kat az egy watt teljesítményre jutó sebességük alapján választják, mert a CPU áramellátásának költségei meghaladják magának a CPU-nak a költségeit.

Az űrrepülő számítógépek esetében a feldolgozási sebesség wattra vonatkoztatva hasznosabb teljesítménykritérium, mint a nyers feldolgozási sebesség.

Tömörítési arány

A tömörítés azért hasznos, mert segít csökkenteni az erőforrás-felhasználást, például az adattárolási helyet vagy az átviteli kapacitást. Mivel a tömörített adatokat felhasználás céljából le kell tömöríteni, ez az extra feldolgozás számítási vagy egyéb költségeket jelent a dekompresszió révén; ez a helyzet korántsem egy ingyenes ebéd. Az adattömörítés tér-idő komplexitás kompromisszum alatt áll.

Méret és súly

Ez a mobil rendszerek fontos teljesítményjellemzője, a zsebében tartott okostelefonoktól kezdve az űrhajó hordozható beágyazott rendszerein keresztül.

Környezeti hatás

A számítógép vagy a számítógépek hatása a környezetre, a gyártás és az újrahasznosítás, valamint a használat során. A méréseket a hulladék csökkentése, a veszélyes anyagok csökkentése és a számítógép ökológiai lábnyomának minimalizálása céljából végzik .

Tranzisztorszám

A tranzisztorszám az integrált áramkörön (IC) található tranzisztorok száma . A tranzisztorszám az IC komplexitásának leggyakoribb mértéke.

Referenciaértékek

Mivel nagyon sok program teszteli a CPU-t a teljesítmény minden vonatkozásában, benchmarkokat dolgoztak ki.

A leghíresebb referenciaértékek a Standard Performance Evaluation Corporation által kifejlesztett SPECint és SPECfp referenciaértékek, valamint az Embedded Microprocessor Benchmark Consortium EEMBC által kidolgozott Certification Mark benchmarkok .

Szoftverteljesítmény-tesztelés

A szoftvertechnikában a teljesítménytesztet általában annak tesztelésével hajtják végre, hogy megállapítsák, hogyan teljesít egy rendszer az érzékenység és a stabilitás szempontjából egy adott munkaterhelés mellett. Ez a rendszer egyéb minőségi jellemzőinek, például a skálázhatóság, a megbízhatóság és az erőforrás-felhasználás vizsgálatára, mérésére, validálására vagy ellenőrzésére is szolgálhat.

A teljesítményteszt a teljesítménytechnika részhalmaza, egy kialakuló informatikai gyakorlat, amely arra törekszik, hogy a teljesítményt beépítse a rendszer megvalósításába, tervezésébe és architektúrájába.

Profilozás (teljesítményelemzés)

A szoftverfejlesztés , a profil ( „program profilalkotás”, „szoftver profilalkotás”) egy formája dinamikus program elemzése , hogy az intézkedések, például a tér (memória) vagy idő bonyolultsága program , a használat konkrét utasítás , vagy gyakorisága és függvényhívások időtartama. A profilalkotási információk leggyakoribb felhasználása a program optimalizálása .

A profilalkotást úgy lehet elérni, hogy vagy a program forráskódját, vagy annak binárisan futtatható formáját instrumentáljuk egy profiler (vagy kód profiler ) nevű eszközzel . A profilozók számos különböző technikát alkalmazhatnak, például eseményalapú, statisztikai, műszeres és szimulációs módszereket.

Teljesítmény növelés

A teljesítményhangolás a rendszer teljesítményének javítása . Ez tipikusan számítógépes alkalmazás, de ugyanazok a módszerek alkalmazhatók a gazdasági piacokon, a bürokráciákon vagy más összetett rendszereken is. Az ilyen tevékenység motivációját teljesítményproblémának nevezzük, amely lehet valós vagy várható. A legtöbb rendszer a megnövekedett terhelésre bizonyos fokú csökkenő teljesítménnyel reagál . A rendszer nagyobb terhelés elfogadásának képességét skálázhatóságnak nevezzük , és a rendszer módosítása nagyobb terhelés kezelésére a teljesítményhangolás szinonimája.

A szisztematikus hangolás a következő lépéseket követi:

  1. Értékelje a problémát, és állítson be numerikus értékeket, amelyek kategorizálják az elfogadható viselkedést.
  2. Mérje meg a rendszer teljesítményét a módosítás előtt.
  3. Határozza meg a rendszer azon részét, amely kritikus a teljesítmény javításához. Ezt hívják szűk keresztmetszetnek .
  4. Módosítsa a rendszer azon részét, hogy eltávolítsa a szűk keresztmetszetet.
  5. Mérje meg a rendszer teljesítményét a módosítás után.
  6. Ha a módosítás javítja a teljesítményt, fogadja el. Ha a módosítás rontja a teljesítményt, tegye vissza a régi helyzetre.

Észlelt teljesítmény

Az észlelt teljesítmény a számítástechnikában arra utal, hogy egy szoftverfunkció milyen gyorsan teljesíti feladatát. A koncepció főként a felhasználói elfogadási szempontokra vonatkozik.

Az az idő, amely alatt az alkalmazás elindul, vagy egy fájl letölthető, nem válik gyorsabbá az indítási képernyő (lásd: Splash képernyő) vagy a fájl előrehaladása párbeszédpanel megjelenítésével. Ez azonban kielégít bizonyos emberi igényeket: gyorsabban jelenik meg a felhasználó számára, valamint vizuális jelzést ad, hogy tudassa velük, hogy a rendszer kezeli a kérésüket.

A legtöbb esetben a valós teljesítmény növelése növeli az észlelt teljesítményt, de amikor a fizikai teljesítmény korlátai miatt nem lehet növelni a valós teljesítményt, technikák alkalmazhatók az észlelt teljesítmény növelésére.

Teljesítményegyenlet

Egy adott benchmark program végrehajtásához szükséges teljes idő ( t ):

, vagy azzal egyenértékűen

hol

  • a "teljesítmény" a végrehajtás ideje szempontjából
  • a ténylegesen végrehajtott utasítások száma (az utasításút hossza ). A kód sűrűsége az utasításkészletet erősen befolyásolja N . Az N értéke pontosan meghatározható egy utasításkészlet-szimulátor használatával (ha van ilyen) vagy becsléssel - maga részben a bemeneti változók becsült vagy tényleges frekvenciaeloszlásán, valamint egy HLL fordítóból generált gépi kód megvizsgálásán alapul . A HLL forráskód sorainak száma alapján nem határozható meg. Az N-t nem befolyásolják ugyanazon a processzoron futó egyéb folyamatok. A lényeg itt az, hogy a hardver általában nem követi nyomon (vagy legalábbis könnyen elérhetővé teszi) az N értékét a futtatott programok esetében. Az értéket ezért csak utasításkészlet-szimulációval lehet pontosan meghatározni, amelyet ritkán gyakorolnak.
  • az óra frekvenciája másodpercenként.
  • ennek a referenciaértéknek az átlagos ciklusai egy utasításra (CPI).
  • a ciklusonkénti átlagos utasítások (IPC) ehhez a referenciaértékhez.

Még egy gépen is, egy másik fordító vagy ugyanaz a fordító különböző fordító optimalizálási kapcsolókkal megváltoztathatja az N és a CPI értékeket - a referenciaérték gyorsabban hajt végre, ha az új fordító képes N vagy C értéket javítani anélkül, hogy a másik rosszabbá válna, de gyakran van kompromisszum közöttük - jobb-e például néhány bonyolult utasítás végrehajtása, amelyek végrehajtása hosszú időt vesz igénybe, vagy nagyon gyorsan végrehajtott utasításokat használ, bár több kell belőlük a benchmark végrehajtásához?

A CPU-tervezőnek gyakran van szüksége egy adott utasításkészlet végrehajtására , és így nem változtathatja meg az N-t. Néha egy tervező a teljesítmény javítására összpontosít az f jelentős javításával (olyan technikákkal, mint a mélyebb csővezetékek és a gyorsabb gyorsítótárak), miközben (remélhetőleg) nem áldozik túl sok C - a sebesség-démon CPU kialakításához vezet. Előfordul, hogy a tervezők a teljesítmény javítására összpontosítanak a CPI jelentős javításával (olyan technikákkal, mint rendelésen kívüli végrehajtás , szuperskalár CPU-k, nagyobb gyorsítótárak, gyorsabb gyorsítótárak, jobb találati arány, jobb ág-előrejelzés , spekulatív végrehajtás stb.), Míg ( remélhetőleg) nem áldozunk túl sok órajel-frekvenciát - ami agyi CPU-kialakításhoz vezet. Egy adott utasításkészlet (és ezért fix N) és félvezető folyamat esetén a maximális egyszálas teljesítmény (1 / t) megköveteli az egyensúlyt az agytechnika és a speedracer technika között.

Lásd még

Hivatkozások

  1. ^ Számítógépes teljesítményelemzés Mathematicával, Arnold O. Allen, Academic Press, 1994. $ 1.1 Bevezetés, 1. oldal.
  2. ^ A program hasonlóságának mérése: Kísérletek a SPEC CPU Benchmark Suites programmal  , CiteSeerX 10.1.1.123.501
  3. ^ Wescott, Bob (2013). A Minden számítógép teljesítmény könyve, 3. fejezet: Hasznos törvények . CreateSpace . ISBN 1482657759.
  4. ^ Saleem Bhatti. "Csatorna kapacitás" . Előadási jegyzetek okl. Adatkommunikációs hálózatok és elosztott rendszerek D51 - Alapvető kommunikáció és hálózatok . Archiválva az eredetiből 2007-08-21.
  5. ^ Jim Lesurf. - A jelek zajnak tűnnek! . Információ és mérés, 2nd ed .
  6. ^ Thomas M. Cover, Joy A. Thomas (2006). Az információelmélet elemei . John Wiley & Sons, New York.
  7. ^ "Archivált másolat" . Archivált eredeti on 2005/03/27 . Letöltve: 2009.01.21 .CS1 maint: archivált másolat címként ( link )[1]
  8. ^ DJ Shirley; és MK McLelland. "A következő generációs SC-7 RISC űrrepülő számítógép" . o. 2.
  9. ^ a b Paul DeMone. Msgstr "A hihetetlenül zsugorodó CPU". 2004. [2] Archiválva: 2012.05.31., A Wayback Machine-nél
  10. ^ Linley Gwennap "Agymenők, sebességdémonok és búcsú"