Performanse računara

Performanse ili karakteristike računara predstavljaju odnos između korisnog rada ostvarenog pomoću kompjuterskog sistema ili računarske mreže, vremna i korišćenih resursa. U zavisnosti od konteksta, visoke performanse računara mogu se predstaviti pomoću jednu ili više karaktiristika:

Tehničke i netehničke definicije uredi

Performanse bilo kog kompjuterskog sistema mogu se oceniti u merljivom, tehničkom smislu, koristeći jednu ili više metrika gore navedenih. Na ovaj način predstava može biti

  • U poređenju odnosa na druge sisteme ili isti sistem pre/posle promena
  • U apsolutnom smislu, npr za ispunjavanje ugovornih obaveza

Dok se gornja definicija odnosi na naučni, tehnički pristup, sledeću definiciju daje Arnold Allen koja će biti korisna za ne-tehničku publiku:

Reč performans  u performansu računara znači isto što znači performans u drugim kontekstima, to jest, znači "Kako dobro računar radi posao koji bi trebalo da uradi?"[1]

Kao aspekt kvaliteta softvera uredi

Performansi softvera računara, naročito softverska aplikacija, vreme odziva je jedan aspekt kvaliteta softvera koji je važan za ljudsko - računarske interakcije.

Inženjerske performanse uredi

Performanse inženjera u okviru sistema inženjeringa, obuhvata skup uloga, veština, aktivnosti, prakse, alata i isporuka primenjujući u svakoj fazi razvoja sistema životnog ciklusa koji osigurava da će rešenje biti projektovano, implementirano i operativno podržano u susretu performansi uslova propisanih za rešenje .

Inženjerske performane kontinuirano se bavi ustupcima između tipova performansa. Povremeno CPU dizajner može da pronađe način da napravi procesor sa boljim ukupnim performansama poboljšanjem jednog od aspekata performansa, u nastavku, bez žrtvovanja performansa procesora u drugim oblastima. Na primer, izgradnja CPU boljeg izlaz, bržeg tranzistora.

Međutim, ponekad guranje jednog tipa performansa na ekstremni dovodi do CPU sa gorim ukupnim performansima, jer drugi važni aspekti su žrtvovani da bi dobili jedan broj impresivnog izgleda, na primer, sat stope procesora (vidi megaherca mit).

Aplikacije inženjerskog performansa uredi

Aplikacija inženjerskog performansa ( AIP ) je specifična metodologija u inženjerskom performansu dizajnirana da odgovori na izazove povezane sa performansima aplikacija u svim distribucijama mobila , oblaka i zemaljskih IT okruženja . Ona obuhvata uloge, veštine, aktivnosti, prakse , alate i isporuke primjenjujući u svakoj fazi ciklusa primene da osigurana aplikacija će biti dizajnirana , primenjena i operativno podržana da zadovolji zahteve ne - funkcionalnih performansa.

Aspekti performansa uredi

Računarski performans metrik (stvari koje se mere) uključuje dostupnost, vreme odziva , kapacitet kanala , kašnjenje , završetak vremena , vreme usluga , propusni opseg, protok , relativnu efikasnost , skalabilnost , performanse po vatu , kompresiju , dužinu instrukcija staze i ubrzanje . CPU reperi su omogućeni.[2]

Dostupnost uredi

Dostupnost sistema se obično meri kao faktor pouzdanosti - kako pouzdanost raste, tako i dostupnost ( to jest , manja nedostupnost) . Dostupnost sistema takođe može biti povećana za strategiju fokusiranja na povećanje održavanja i ne na pouzdanost . Poboljšanje održavanja je generalno lakše nego pouzdanost . Procene održavanja (stope popravke ) su generalno preciznije . Međutim, pošto su neizvesnosti u procenama pouzdanosti u većini slučajeva vrlo velike , verovatno je da dominiraju dostupnost ( predviđanje neizvesnosti ) problema , čak i dok je nivo održavanja veoma visok.

Vreme odziva uredi

Vreme odziva je ukupan iznos vremena potreban da se odgovori na zahtev za uslugu . U računarstvu , ta usluga može biti bilo koja jedinica rada iz jednostavnog diska IO do učitava kompleksne veb stranice. Vreme odziva je zbir tri broja:[3]

  • Vreme servisa- Koliko je vremena potrebno da se uradi posao koji smo tražili.
  • Vreme čekanja - Koliko dugo zahtev mora da sačeka zahteve na čekanju ispred njega pre nego što stigne da radi.
  • Vreme prenosa - Koliko vremena treba da zahtev za računar pravi rad i da daje odgovor nazad do podnosioca zahteva.

Brzina obrade uredi

Većina potrošača bira arhitekturu računara (obično Intel IA32 arhitekturu) da bi mogli da pokrenu veliku bazu već postojećih, već sastavljenih softvera. Biti relativno neobavešten o kompjuterskim testovima , neki od njih biraju neki određeni CPU na osnovu radne frekvencije (vidi megaherca mit).

Neki dizajneri sistema grade paralelni kompjuter birajući procesore zasnovane na brzini za dolar.

Kapacitet kanala uredi

Kapacitet kanala je najuža gornja granica po stopi od informacija koje se mogu pouzdano prenositi preko komunikacionog kanala. Uz pomoć teoreme bučno-kodirajućeg kanala, kapacitet kanala datog kanala je limitirajuća informacija stope ( u jedinicama informisanja po jedinici vremena ) koji se mogu postići sa proizvoljno malim verovatnoćama greški.[4][5]

Teorija informacija, razvijena od strane Klod E. Šenona tokom Drugog svetskog rata , definiše pojam kapacitet kanala i daje matematički model kojim se može izračunati. Ključni rezultat navodi da kapacitet kanala , kako je gore definisano, koji daje maksimum uzajamnih informacija između ulaza i izlaza kanala , gde se povećanje koristi u odnosu na raspodelu ulaznog.[6]

Latentnost uredi

Latentnost je vreme kašnjenja između uzroka i efekta neke fizičke promene u sistemu koji se posmatra. Kašnjenje je rezultat ograničene brzine kojom svaka fizička interakcija se može održavati. Ova brzina je uvek manja ili jednaka brzini svetlosti . Dakle, svaki fizički sistem koji ima prostorne dimenzije različite od nule će iskusiti neku vrstu kašnjenja.

Precizna definicija latencije zavisi od sistema koji se posmatra i prirodom stimulacije. U komunikaciji , donja granica kašnjenja određuje materijal koji se koristi za komunikaciju. U pouzdanim dvosmernim komunikacionim sistemima , kašnjenje ograničava maksimalnu stopu da bi se informacija mogla prenositi , jer često postoji limit na iznos od informacija koje su " u ​​letu " u ​​bilo kom trenutku . U oblasti interakcije čovek- mašina , primetna kašnjenja ( kašnjenja između onoga što korisnik komanduje i kada računar daje rezultate ) imaju snažan uticaj na korisnikovo zadovoljstvo i upotrebljivost.

Kompjuteri pokreću setove instrukcija koje se nazivaju procesi. U operativnim sistemima , izvršenje procesa može se odložiti ako drugi procesi se takođe izvršavaju. Pored toga , operativni sistem može zakazati kada da izvrši radnju koju proces komanduje. Na primer, pretpostavimo da proces nalaže da izlazni napon računarske kartice bude postavljen visoko-nikso-visoko-nisko i tako dalje po stopi od 1000 herca . Operativni sistem može da odluči da podesi raspored svake tranzicije ( visoko-nisko ili nisko - visoko ) na osnovu unutrašnjeg sata . Latencija je kašnjenje između instrukcije procesa komandne tranzicije i hardvera zapravo prelaz napona od visoke do niske ili niske do visoke.

Sistemski dizajneri grade u realnom vremenu računarskih sistema da garantuju odgovor na najgori mogući . To je lakše da rade kada CPU ima niski prekid kašnjenja i kada ima deterministički odgovor.

Protok uredi

U mreži računara , protok je mera brzine prenosa dostupnih ili konzumiranih resursa podataka, izražen u bitu po sekundi ili sadržaocima njega ( bit/s , kbit/s, Mbit/s , Gbit /s , itd).

Protok ponekad definiše neto brzinu (vrhunac brzine, brzina prenosa ili fizički sloj koristan), kapacitet kanala ili maksimalni protok logički ili fizički komunikacije puta u digitalnom komunikacionom sistemu. Na primer, testovi protoka mere maksimalni protok računarske mreže. Razlog za ovo korišćenje je da prema Hartlejevom zakonu, maksimalna brzina prenosa fizičkog komunikacionog linka je proporcionalna njenom protoku opsega u hercima, što se ponekad zove frekvencijski opseg, spektralni protok, RF protok, protok signala ili analogni protok.

Protok uredi

Uopšteno govoreći , propusna moć je stopa proizvodnje ili stopa po kojoj nešto može biti obrađeno.

U komunikacionim mrežama, protok je u suštini sinonim za digitalnu pprotok potrošnje. U bežičnim mrežama ili celularnim komunikacionim mrežama, sistem spektralne efikasnosti u bit/s/hc /jedinici površine, bit/s/hc/sajt ili bit/s/hc/ćelija, je maksimalni protok sistema (agregatni protok) podeljen od strane analognog protoka i neke mere zone pokrivanja sistema prostora.

U integrisanim krugovima, često blok u dijagramu toka podataka ima jedan ulaz i jedan izlaz, i radi na diskretnim paketima informacija. Primeri takvih blokova su FFT moduli ili binarni multiplikatori. Pošto su jedinice protoka recipročne jedinice za kašnjenje prostiranja, koja je 'sekunda po poruci' ili 'sekunda po izlazu', protok se može koristiti za odnos računarskih uređaja koji vrše namensku funkciju kao što je ASIK ili ugrađen procesor za komunikacioni kanal, pojednostavljivanje analize sistema.

Relativna efikasnost uredi

Skalabilnost uredi

Skalabilnost je sposobnost sistema, mreže, ili procesa da obradi sve veći obim posla na sposoban način ili da njegovu sposobnost uveća za komfort rasta.

Potrošnja struje uredi

Količina električne energije koju koristi računar. Ovo postaje posebno važno za sisteme sa ograničenim izvorima energije kao što su solarna, baterije, ljudske snage.

Performansi po vatu uredi

Dizajneri sistema grade paralelne kompjutere, kao što su hardver gugla, skup procesora zasnovan na njihovoj brzini po vatu snage, jer trošak pokreće procesor da nadmašuje troškove samog procesora.[7]

Odnos kompresije uredi

Kompresija je korisna jer pomaže da se smanji upotreba resursa, kao što su skladištenje podataka prostora ili prenosnog kapaciteta. Zato što komprimovani podaci moraju biti dekompresirani da bi se mogli koristiti, ova dodatna obrada nameće računarske ili druge troškove putem dekompresije; ova situacija je daleko od toga da bude besplatan ručak. Kompresija podataka podleže prostorno-vremenskoj složenosti kompromisa.

Veličina i težina uredi

Ovo je važna karakteristika performansa mobilnih sistema, od pametnih telefona koje držite u džepu do prenosnih sistema u svemirskom brodu.

Uticaj na životnu sredinu uredi

Efekat računara na životnu sredinu, tokom proizvodnje i reciklaže, kao i tokom upotrebe. Merenja se vrše sa ciljevima smanjenja otpada, smanjenja opasnih materija, i minimiziranja ekoloških otisaka jednog računara.

Benčmark uredi

Budući da postoji toliko mnogo programa za testiranje CPU u svim aspektima performansa, razvijen je benčmark

Najpoznatiji testovi su SPEKint i SPEKfp benčmark razvio Standardni performans evulacione korporacije i KonzumerMark benčmark koji je razvio  EEMBC

Testiranje softverskog performansa uredi

U softverskom inženjeringu, testiranje performansi je u opštem testiranju da se utvrdi kako sistem radi u smislu odziva i stabilnosti u okviru određenog posla. Takođe može da posluži da se ispitaju, mere, potvrde ili provere drugi kvalitetni atributi sistema, kao što su skalabilnost, pouzdanost i upotreba resursa. 

Testiranje performansa je podskup performansa inženjerstva, u nastajanju prkase nauke računara koja nastoji da izgradi performanse u implementaciji, dizajna i arhitekture sistema.

Profilisanje (analiza performansa) uredi

U softverskom inženjeringu, profilisanje ("program profilisanja", "softver profilisanja") je oblik dinamičke analize programa koji meri, na primer, prostor (memorija) ili vremenska kompleksnost programa, upotreba određenih uputstva ili frekvencija i trajanje poziva funkcija. Najčešća upotreba profilisanja informacija jeste da pomogne optimizaciji programa. 

Profilisanje se postiže instrumentalno ili programskim izvornim kodom ili njegovim binarnim izvršnim oblikom koristeći alatku za profiler (ili kod profilera). Veliki broj različitih tehnika može koristiti profiler, kao što je zasnovano na događajima, statistici, instrumentalizovanjem i metodama simulacije.

Zvučni performans uredi

Performans zvuka je poboljšanje performansa sistema. Ovo je obično računarska aplikacija, ali isti metodi se mogu primeniti na ekonomskim tržištima, birokratije ili drugim složenim sistemima. Motivacija za takvu aktivnost se zove problem performansa, što može biti stvarna ili predviđena. Većina sistema će odgovoriti na povećano opterećenje sa određenim stepenom smanjenja performansa. Sposobnost sistema da prihvati veći teret se zove skalabilnost, i dopuna sistema za upravljanje većim teretom je sinonim za podešavanja performansa.

Sistematsko podešavanje sledi ove korake:

  1. Procenite problem i uspostaviti numeričke vrednosti koje kategorišu prihvatljivo ponašanje. 
  2. Merenje performansa sistema pre modifikacije.
  3.  Odredite deo sistema koji je kritičan za poboljšanje performansa. To se zove usko grlo.
  4.  Izmena tog dela sistema za uklanjanje uskog grla.
  5. Merenje performansi sistema nakon izmene.
  6. Ako modifikacija čini performanse boljim, usvojiti ga. Ako modifikacija čini performanse gorim, vratiti kako je bilo.

Percepcija performansa uredi

Percepcija performanse, u kompjuterskom inženjeringu, odnosi se na koliko brzo softver izgleda da obavlja svoj zadatak. Koncept se odnosi uglavnom na aspekte prihvatanja korisnika.

Količina vremena aplikacija potrebna da pokrene, ili skine fajl za preuzimanje, nije napravljena brže pokazujući početni ekran (vidi uvodni ekran) ili dijalog o napretku fajla. Međutim, to zadovoljava neke ljudske potrebe: izgleda brže korisniku, kao i da obezbeđuje vizuelni šlagvort sa kojim zna da se rukuje na njihov zahtev.

U većini slučajeva, povećanje realnog povećanja performansa uočenih performansa, ali kada pravi performanse ne može biti povećan zbog fizičkih ograničenja, tehnike mogu da se koriste za povećanje performansa percepcije o trošku neznatno smanjuju prave performanse.

Performans jednačine uredi

Ukupna količina vremena (t) u obavezi da izvrši pojedinačan reper programa je

  , ili ekvivalentno
 [8]

gde

  • P = 1/t  je "predstava" u smislu vremeza izvršenje
  • N je broj instrukcija zapravo izvršenih (dužina instrukcije puta). Gustina šifra skupa instrukcija snažno utiče N. Vrednost N se može tačno odrediti korišćenjem simulatora skupa instrukcija (ako je dostupan) ili samostalna procena delimično na osnovu procenjenog ili stvarne frekvencije distribucije ulaznih varijabli i uvidom generisanog mašinskog koda od HLL kompajlera. Ne može se odrediti iz broja linija HLL izvornog koda. N nije pod uticajem drugih procesa koji rade na istom procesoru. Značajna Poenta je da hardver obično ne vodi evidenciju o (ili barem da lako dostupna) vrednosti N za izvedene programe. Vrednost stoga može samo da se precizno odrediti skupom instrukcija simulacija, koje se retko praktikuju.
  • fje sat frekvencija u ciklusima u sekundi.
  • C=  je prosečan ciklusa po instrukciji (CPI) za ovaj reper.
  • I=  je prosečna instrukcija po ciklusu (IPC) za ovaj reper. 

Čak i na jednoj mašini, drugi kompajler ili isti prevodilac sa različitim kompajlerima optimizacije prekidača može promeniti N i IPC-reper izvršavanja brže ako novi kompajler može da poboljša N ili S bez pravljenja drugog gore, ali često postoji kompromis između njih je-bolje je, na primer, da koriste nekoliko komplikovanih instrukcija koje uzimaju dosta vremena da se izvrši, ili da koristite uputstva koja izvršavaju veoma brzo, iako je potrebno više njih da izvrši reper?

Od CPU dizajnera se često zahteva da sprovede određeni skup instrukcija, tako da ne može da promeni N. Ponekad dizajner fokusira na poboljšanje performansa tako što značajno poboljšava u f (s tehnikama kao što je dublji cevovod i brži keš), dok (nadamo se) ne žrtvuju previše S dovodi do brzine demona CPU dizajna. Ponekad dizajner fokusira na poboljšanje performansa tako što značajno poboljšava u IPC (sa tehnikama kao što su van reda izvršenja, superskalar procesor, veća keš memorija, keš sa poboljšanim hit stopama, poboljšana grana prognoze, spekulativno izvršavanje, itd), dok (nadamo se) ne žrtvuju previše frekvencije sata vodeći na pametan dizajn CPU. [9]Za dati set instrukcija (a samim tim fiksnim N) i poluprovodnim procesom, maksimalno jednan nit performanse (1/t) zahteva ravnotežu između pametne tehnike i tehnik brzine.[8]

Vidi još uredi

Reference uredi

  1. ^ Computer Performance Analysis with Mathematica by Arnold O. Allen, Academic Press. $1.1 Introduction. (1994). str. 1.
  2. ^ Measuring Program Similarity: Experiments with SPEC CPU Benchmark Suites, CiteSeerX: „10.1.1.123.501”. CiteSeerX 10.1.1.123.501 . 
  3. ^ Wescott 2013
  4. ^ Saleem Bhatti. „Channel capacity”. Lecture notes for M.Sc. Data Communication Networks and Distributed Systems D51 -- Basic Communications and Networks. Arhivirano iz originala 2007-08-21. g. 
  5. ^ Jim Lesurf. „Signals look like noise!”. Information and Measurement, 2nd ed. 
  6. ^ Thomas M. Cover; Joy A. Thomas (2006). Elements of Information Theory. John Wiley & Sons, New York. ISBN 9780471748816. 
  7. ^ Carey, Bridget (09. 12. 2005). „Power could cost more than servers, Google warns - CNET”. News.cnet.com. Pristupljeno 06. 01. 2016. 
  8. ^ a b Paul DeMone.
  9. ^ "Brainiacs, Speed Demons, and Farewell" Arhivirano na sajtu Wayback Machine (12. oktobar 2007) by Linley Gwennap 1999

Literatura uredi