Internet

Benchmarks: hvad er det? Hvad er det til? historie, typer og tip

Indholdsfortegnelse:

Anonim

Benchmarks er en væsentlig del af vores daglige hardwareanalyse, de giver os mulighed for at tilbyde dig en videnskabeligt sammenlignelig måling mellem forskellige komponenter som CPU'er, grafikkort, lagerenheder osv. I dag vil vi dedikere nogle linjer til dens historie, dens typer, hvordan de fungerer, hvad de måler, hvad er de mest almindelige foranstaltninger, og vi vil også give dig nogle tip til, hvordan du udfører dem, og hvilke vi skal stole på.

Det, vi ved i dag i pc eller mobilverden som benchmarks, er teknikker, der er arvet fra det industrielle miljø, som har gjort det muligt for begyndelsen af denne revolution at tage beslutningstagning baseret på sammenlignelige data i et kontrolleret miljø.

Verden for moderne computere anvender disse teknikker til næsten ethvert af sine mange forskellige domæner, og hjemmebrugere har også brugt dem som en pålidelig måde at lære om vores systems ydeevne og muligheder såvel som et vigtigt informationspunkt, når at tage vigtige beslutninger, såsom køb af vores nye computer, mobiltelefon, grafikkort osv.

I dag vil vi tale om historien om pc-benchmarks, de typer benchmarks, der findes, og hvilke komponenter i vores system der er mere egnede til denne type test, der ikke kun er ydeevne.

Indholdsindeks

historie

Benchmark eller målesystem anvender et kontrolleret miljø og genkendelige mål, der er videnskabeligt sammenlignelige og verificerbare og har eksisteret sammen med computerenes verden, siden den eksisterer. Benchmarken som sådan er blevet demokratiseret til det punkt, at en del af dens grundlæggende essens er gået tabt, hvilket er, at det kan kontrolleres og kontrolleres af tredjepart. Nu bruger vi det mere som en hurtig sammenligning af ydeevnen, men sporbarheden af ​​dens ægthed af tredjepart er bestemt stort set tabt.

De mest klassiske benchmarkmetoder har altid henvist til beregningskapaciteten på systemets CPU, selvom den i nyere tid har varieret mellem forskellige komponenter, da disse har fået overvægt og betydning inden for en computer.

De to mest klassiske måleenheder, der stadig anvendes, er Dhrystones og Whetstones. Begge er på en eller anden måde blevet grundlaget for alle de syntetiske benchmarks, som vi kender i dag.

Den ældste er Whetstones (en lokalitet i Det Forenede Kongerige, hvor atomenergiafdelingen i Det Forenede Kongeriges statsmagtselskab var placeret), og Dhrystone kom senere med navnet på den første (våd og tør).

Den første blev designet i 70'erne og den anden er fra 80'erne og begge er grundlaget for den sammenlignende ydelse, som vi har haft i de efter hinanden følgende år. Whetstones, forenkling, bød et indblik i processorens computerkraft i flydepunktoperationer, operationer med stort antal decimaler.

Dhrystone er dens modstykke, da den er dedikeret til grundlæggende instruktioner uden decimaler, begge gav et klart billede af ydelsen af ​​en processor fra to helt forskellige, men komplementære fremgangsmåder. Hvidsten og Dhrystone stammer fra to koncepter, som vi bruger meget mere almindeligt i dag, MIPS og FLOP.

Efter disse målinger kom andre som FLOP (Floating-point aritmetic - floating point aritmetic), som i vid udstrækning er vigtigere nu i en computer, end det nogensinde har været, fordi det er grundlaget for avanceret beregning i mange moderne teknikker. såsom kunstig intelligens algoritmer, medicinske algoritmer, vejrprognose, uklar logik, kryptering osv.

LINPACK blev udviklet af ingeniøren Jack Dongarra i 1980'erne og bruges fortsat i dag til at måle den flydende punktberegningskapacitet i alle typer systemer. I øjeblikket er der versioner optimeret af arkitektur, CPU-producent osv.

FLOPS udfylder vores artikler på grafikkort (helt sikkert den enkelt eller dobbelt præcision lyder velkendt), processorer og er grundlaget for beregning af strømbehov og hardwareudvikling for enhver supercomputer, der er i drift eller udvikling.

FLOP er i dag den mest krævede ydelsesmåleenhed i branchen, men den er altid blevet kombineret med MIPS (millioner af instruktioner pr. Sekund), hvilket er en interessant måling, da den giver os antallet af instruktioner Grundlæggende aritmetik, som en processor kan udføre pr. Sekund, men det afhænger mere af processorens arkitektur (ARM, RISC, x86 osv.) Og programmeringssproget end andre måleenheder.

Efterhånden som ydelsen er kommet frem, er multiplikatorerne sket. Vi måler nu ydelsen af ​​hjemme-CPU'er i GIPS og GFLOPS. Basen forbliver den samme, klassiske aritmetiske operationer. Sisoft Sandra tilbyder fortsat denne type måling i nogle af dens syntetiske benchmarks.

MIPS er også blevet mere henvist til CPU'en som et klassisk element, og FLOP har udvidet til andre blomstrende områder, f.eks. Behandlingskapacitet eller generel beregning af tidligere processorer, der er meget orienteret til specifikke opgaver såsom GPU'er, som vi alle monterer på vores processorer eller på vores dedikerede udvidelseskort.

Til disse grundlæggende koncepter har tiden tilføjet nye måleenheder, der er lige så meget eller vigtigere end disse i en moderne computer eller supercomputer. Dataoverførsel er en af ​​disse mål, der er blevet meget vigtig og måles i øjeblikket i IOP'er (input- og output-operationer pr. Sekund) og også i andre former, såsom MB / GB / TB-lagringstiltag sammenlignet med den tid det tager at transit fra et punkt til et andet (MBps - Megabyte per sekund).

AS-SSD kan måle ydelsen på en harddisk i MBps eller IOP'er.

I øjeblikket bruger vi også overførselsmålet, i dets forskellige multiplikatorer, som en måde at fortolke hastigheden af ​​informationstransit mellem to punkter, hvornår man skal udsende bestemte oplysninger, vi faktisk skal have genereret lidt mere information. Dette afhænger af den protokol, der bruges til overførsel af information.

Et klart eksempel, og at vi bruger meget, er i PCI Express-grænsefladen. I henhold til denne protokol skal vi for hver 8 bit information, som vi vil flytte (0 eller 1s), generere 10 bit information, da den ekstra information er til kontrol af kommunikationen, der sendes til fejlkorrektion, dataintegritet osv.

Andre velkendte protokoller, der også introducerer dette "tab" af reel information, er IP'en, den du bruger til at læse denne artikel, og som gør, at din 300MT / s-forbindelse faktisk tilbyder lidt mindre end 300 Mbps hastighed.

Derfor bruger vi Gigatransfer eller overførslen, når vi henviser til rå information, der sendes af grænsefladen, og ikke til de oplysninger, der faktisk behandles i modtageren. En 8GT / s PCI Express 3.0-databus sender faktisk 6, 4 GBps information for hver linje, der er forbundet mellem punkterne. Overførsel er blevet meget vigtig med integrationen af ​​PCI Express-protokollen i alle de vigtigste busser på en hjemme- og professionel computer.

I nyere tid begyndte vi også at kombinere målinger som en måde at relatere processorkraften med andre meget vigtige faktorer i moderne computing, idet forbrug er et af disse mål, der introduceres som en sammenlignende skala mellem to systems ydeevne. Energieffektiviteten er lige så meget eller mere vigtig i dag end processtyrken, og det er derfor let at se benchmarks, der sammenligner processtyrken i henhold til wattets forbrug af det element, der måles.

Faktisk henviser en af ​​de store lister over supercomputere ikke så meget til computerens bruttokraft blandt alle dens computernoder, men til udviklingen af ​​denne magt baseret på watt eller energi, der forbruges af hele systemet. Green500-listen (FLOPS pr. Watt - FLOPS pr. Watt) er et klart eksempel på, hvordan forbrug nu er grundlæggende i enhver selvrespektende benchmark, selvom vi uden tvivl fortsætter med at se på TOP500-listen, der ikke har denne faktor som en konditioneringsfaktor.

Typer af benchmarks

Selvom vi kan tale om mange flere familier eller typer af benchmarks, vil jeg forenkle listen i de to mest almindelige klasser af dem, der er tættest på os alle som mere eller mindre avancerede brugere.

På den ene side har vi de syntetiske benchmarks, der stort set er dem, der tilbyder os mål, som vi har talt om før. Syntetiske benchmarks er programmer, der udfører kontrollerede test med en mere eller mindre stabil programkode orienteret til en bestemt platform og arkitektur. Det er programmer, der udfører meget specifikke test, der kan integrere en eller flere af vores komponenter, men hvor den samme test eller tests altid udføres uden ændringer.

Billed gengivelse har altid været en god metode til at kende ydeevnen af ​​en CPU i et moderne system, da det er en krævende opgave. Cinebench R15 har også flere test, en til GPU og to til CPU, hvor vi kan kende ydeevnen for systemer med flere kerner og procestråde.

De tilbyder et kontrolleret testmiljø, hvor der ikke er ændringer undtagen for versioner, og hvor disse ændringer er korrekt dokumenteret, så brugeren ved, hvilke versioner der kan sammenlignes med hinanden. Disse typer programmer kan teste forskellige delsystemer på vores computer separat med andre kodestykker eller specifikke benchmarks for at udføre en bestemt type test eller kombineret, der kan påvirkes af ydeevnen for en, to eller flere systemkomponenter. Benchmarken integreret i et spil eller programmer som Cinebench, Sisoft Sandra, SuperPI, 3DMark,… er klare eksempler på syntetiske benchmarks.

Andre syntetiske benchmarks, som vi ikke bør forveksle med reelle benchmarks, er dem, der simulerer udførelsen af ​​rigtige programmer, eller som udfører handlingskripts i rigtige programmer, de er også syntetiske, da der ikke er nogen tilfældighed i testen. PC Mark er et klart eksempel på en syntetisk benchmark-program, som vi kan forveksle med et reelt benchmark.

Den egentlige benchmark er en meget anden testmetode, fordi den accepterer tilfældigheden ved at bruge et program til at måle dets ydeevne. Spillere er vant til at udføre denne type benchmarks eller performance-test, når vi tilpasser kvalitetsparametrene for et spil til mulighederne for vores hardware.

Det er et rigtigt mål at måle præstationen for et spil, mens du spiller.

Når du åbner den FPS, som spillet giver, og forsøger at opnå den ønskede 60FPS kontinuerligt, udfører de en rigtig benchmark. Det samme kan ekstrapoleres til enhver anden type program, og hvis du er en udvikler, når du optimerer koden til dit program, foretager du også rigtige benchmark-tests, hvor ændringer er din kode eller måde at udføre den på en platform til stabil eller variabel hardware.

Begge typer benchmarks er vigtige, de første giver os mulighed for at sammenligne vores system med andre i et kontrolleret miljø, og den anden er en måde at optimere vores operation, hvor der også tilføjes to vigtige faktorer, tilfældigheden i udførelsen og den menneskelige faktor. Begge faktorer giver et yderligere synspunkt på ydelsen af ​​den komponent eller komponenter, som vi vil teste.

Overvejelser ved benchmarking

For at et benchmark skal være nyttigt og effektivt, er vi nødt til at tage hensyn til visse faktorer, der virkelig er vigtige. Sammenligning mellem forskellige platforme og arkitekturer introducerer en vigtig usikkerhedsfaktor, så denne type benchmarks, der giver dig muligheden for at sammenligne iOS-mobiltelefoner med Windows x86-computere, for at give et eksempel, skal du tage dem med en pincet, da det ikke kun ændrer sig operativsystemkerne, men processorarkitekturer er meget forskellige. Udviklerne af denne type benchmarks (for eksempel Geekbench) introducerer korrektionsfaktorer mellem deres forskellige versioner, der næppe er kontrollerbare.

Derfor er den første nøgle for et benchmark, der kan sammenlignes mellem forskellige hardware, at testøkosystemet ligner mest muligt benchmarkplatformen, operativsystemet, driverne og softwareversionen. Der vil helt sikkert være elementer her, som vi ikke kan kontrollere homogenisering, som grafikcontrolleren, hvis vi tester AMD-grafik mod Nvidia-grafik, men resten er vi nødt til at prøve at gøre det så stabilt som muligt. I dette tilfælde vil vi også medtage hardware, da du sammenligner grafikkort, din ting er at bruge det samme operativsystem, den samme processor, de samme hukommelser og alle driftsparametre og holde dem de samme, herunder parametre for kvalitet, opløsning og test i benchmark. Jo mere stabilt vores testøkosystem er, des mere pålidelige og sammenlignelige vil vores resultater være.

Vi anbefaler at læse Hvordan man kan vide, om min processor har en flaskehals?

En anden ting, som vi er nødt til at tage højde for, er, at benchmark-tests normalt har en stressfaktor på den hardware, som vi skal teste, og normalt udsætter denne hardware for situationer, der normalt ikke forekommer i den normale brug af systemet. Hver benchmark, som vi tager fra vores harddisk, grafikkort eller processor, sender dem til situationer, der kan være farlige for hardwaren, så vi skal etablere de passende foranstaltninger, så spændingspunktet ikke bliver et brudspunkt eller også i et element i ydelsesreduktion, da mange komponenter har beskyttelsessystemer, som de reducerer deres ydeevne i tilfælde af for eksempel temperaturer uden for deres anvendelsesområde. Tilstrækkelig afkøling, hvileperioder mellem test, korrekt tilførsel af komponenterne under test…. alt skal være i en ideel situation for testen at køre glat.

På den anden side bruger vi også nøjagtigt denne type benchmarks for at udsætte systemet for stress for at se dets stabilitet i denne type situation, det er en anden måde at anvende et benchmark, da det ikke kun søger at kende ydeevnen, men også om systemet er stabilt og endnu mere, hvis systemet fungerer som det skal i disse stressende situationer.

konklusion

For dem af os, der er dedikeret til at teste computerhardware professionelt, er benchmarken et arbejdsredskab, og takket være det har brugerne en videnskabelig og verificerbar måde at sammenligne eller kende ydelsen af ​​vores næste computer i hvert af dens undersystemer med præcision. sammenlignelig med værktøjer, der bruges på det industrielle niveau.

En testtabel, som den, du ser på billedet, forsøger at nøjagtigt standardisere testmetoden, så den komparative benchmark er så pålidelig som muligt og kan testes, når der introduceres variationer, der ændrer resultaterne.

Men som enhver "laboratorietest", for at den skal være pålidelig, skal de rigtige betingelser være på plads for, at den kan udføres, og endnu mere for, at den kan sammenlignes mellem forskellige systemer.

I dag har vi fortalt dig lidt om historien til denne type program, dens forskellige typer, hvordan de fungerer, og hvordan man får pålidelige oplysninger fra dem. De er nyttige, men for mig er de blot endnu et stykke information at huske på, og jeg vil altid placere det bag personlig erfaring og aktiv test med rigtige programmer, som vi vil bruge hver dag.

En benchmark er fint at lægge et minimum af ydeevne i vores beslutningsproces, men de bør ikke være definerende af disse beslutninger og som et sidste tip undgå syntetiske benchmarks, der hævder at være i stand til at sammenligne ydelse mellem arkitekturer, operativsystemer osv.

Internet

Valg af editor

Back to top button