Benchmark (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
AttoBot (discussione | contributi)
m Bot: Correzione di uno o più errori comuni
m Refusi
 
(37 versioni intermedie di 25 utenti non mostrate)
Riga 1:
Con il termine '''benchmark''' si intende un insieme di [[collaudo del software|test]] (collaudo o prova) del [[software]] volti a fornire una misura delle prestazioni di un [[computer]] per quanto riguarda diverse operazioni. Vi è in realtà una seconda definizione, relativa ai test di particolari software: in questo caso il benchmark è la determinazione della capacità di detto software di svolgere più o meno velocemente, precisamente o accuratamente, un particolare compito per cui è stato progettato.
{{S|teorie dell'informatica}}
Con il termine '''benchmark''' si intende un insieme di test (prova) [[software]] volti a fornire una misura delle prestazioni di un [[computer]] per quanto riguarda diverse operazioni.
 
Vi è una seconda definizione, relativa ai test di particolari software: in questo caso il benchmark è la determinazione della capacità di detto software di svolgere più o meno velocemente, precisamente o accuratamente, un particolare compito per cui è stato progettato.
 
== Tipologie ==
Riga 19 ⟶ 16:
Un problema che affligge i test di benchmark condotti dai produttori è che i programmi di test potrebbero essere scelti o costruiti in modo da privilegiare le caratteristiche dei propri prodotti.
 
Nel 2014 Intel chiude una class action decennale, ripagando alcuni degli utenti che fra novembre 2000 e giugno 2002 comprarono un [[Pentium 4]] di prima generazione (Willamette) invece che un AMD Athlon, in quanto i test benchmark restituivano valori migliori per il Pentium 4, in quanto i test si basavano su operazioni in cui i Pentium andavano meglio, evitando quelle in cui gli Athlon avrebbero primeggiato. Alla fine il punteggio era calcolato correttamente, ma non era necessariamente veritiero.<ref>[AMD aveva ragione: i benchmark favorirono i Pentium 4: http://www.tomshw.it/cont/news/amd-aveva-ragione-i-benchmark-favorirono-i-pentium-4/60336/1.html AMD {{Webarchive|url=https://web.archive.org/web/20141228042705/http://www.tomshw.it/cont/news/amd-aveva -ragione: -i -benchmark -favorirono -i-pentium-4/60336/1.html Pentium|data=28 4]dicembre 2014 }}</ref>
 
== Principi di benchmarking ==
Ci sono sette caratteristiche fondamentali per i benchmark<ref>{{Cita conferenza|nome1=Wei|cognome1=Dai|nome2=Daniel|cognome2=Berleant|titolo=Benchmarking Contemporary Deep Learning Hardware and Frameworks: a Survey of Qualitative Metrics|data=dicembre 12–14, 2019|città=Los Angeles, CA, USA|conferenza=2019 IEEE First International Conference on Cognitive Machine Intelligence (CogMI)|editore=IEEE|doi=10.1109/CogMI48466.2019.00029|pp=148-155|url=https://dberleant.github.io/papers/BenchmarkingContemporaryDeepLearningHardwareAndFrameworks.pdf}}</ref>. Queste proprietà chiave sono:
 
# Rilevanza: i benchmark dovrebbero misurare caratteristiche relativamente vitali.
# Rappresentatività: le metriche delle prestazioni di riferimento dovrebbero essere ampiamente accettate dall'industria e dal mondo accademico.
# Equità: tutti i sistemi dovrebbero essere paragonati in modo equo.
# Ripetibilità: è possibile verificare i risultati del benchmark.
# Rapporto costo-efficacia: i test di benchmark sono economici.
# Scalabilità: i test di benchmark dovrebbero funzionare su sistemi che possiedono una gamma di risorse da bassa ad alta.
# Trasparenza: le metriche di benchmark dovrebbero essere facili da capire.
 
== Tipi di benchmark ==
# Programma reale
#* software di elaborazione testi
#* software strumento di CAD
#* software applicativo dell'utente (es.: MIS)
# Component Benchmark / Microbenchmark
#* La routine principale consiste in una parte di codice relativamente piccola e specifica.
#* misurare le prestazioni dei componenti di base di un computer<ref>{{Cita pubblicazione|url=http://www.da.isy.liu.se/pubs/ehliar/ehliar-ssocc2004.pdf|titolo=Benchmarking network processors|nome1=Andreas|cognome1=Ehliar|nome2=Dake|cognome2=Liu}}</ref>
#* può essere utilizzato per il rilevamento automatico dei parametri hardware del computer come il numero di registri, la dimensione della cache, la latenza della memoria, ecc.
# Kernel
#* contiene codici chiave
#* normalmente astratto dal programma reale
#* kernel popolare: Livermore loop
#* benchmark linpack (contiene una subroutine di [[algebra lineare]] di base scritta in linguaggio [[Fortran|FORTRAN]])
#* i risultati sono rappresentati in Mflop / s.
# Benchmark sintetico
#* Procedura per la programmazione di benchmark sintetici:
#** acquisire statistiche di tutti i tipi di operazioni da molti programmi applicativi
#** ottenere proporzione di ciascuna operazione
#** scrivere il programma in base alla proporzione di cui sopra
#* I tipi di benchmark sintetici sono:
#** Cote
#** Dhrystone
#* Questi sono stati i primi benchmark per computer standard del settore generici. Non ottengono necessariamente punteggi più alti sui moderni computer in pipeline.
# Benchmark I/O
# Benchmark di database
#* misurare il [[throughput]] e i tempi di risposta dei sistemi di gestione dei database (DBMS)
# Benchmark paralleli
#* utilizzato su macchine con più core e / o processori, o sistemi costituiti da più macchine
 
== Benchmark comuni ==
=== Standard di settore (verificato e verificabile) ===
 
* Business Applications Performance Corporation (BAPCo)
* Embedded Microprocessor Benchmark Consortium (EEMBC)
* [[Linked data|Linked Data]] Benchmark Council (LDBC)
** Semantic Publishing Benchmark (SPB): un benchmark LDBC ispirato all'industria dei media / editoria per testare le prestazioni dei motori RDF<ref>{{Cita web|url=http://ldbcouncil.org/benchmarks/spb|titolo=LDBC Semantic Publishing Benchmark|autore=LDBC|opera=LDBC SPB|editore=LDBC|accesso=2 luglio 2018}}</ref>
** Social Network Benchmark (SNB): un benchmark LDBC per testare le prestazioni dei motori RDF costituito da tre benchmark distinti (Interactive Workload, Business Intelligence Workload, Graph Analytics Workload) su un set di dati comune<ref>{{Cita web|url=http://ldbcouncil.org/benchmarks/snb|titolo=LDBC Social Network Benchmark|autore=LDBC|opera=LDBC SNB|editore=LDBC|accesso=2 luglio 2018}}</ref>
* Standard Performance Evaluation Corporation (SPEC), in particolare SPECint e SPECfp
* [[Transaction processing|Transaction Processing]] Performance Council (TPC): benchmark DBMS
** TPC-A: misura le prestazioni in ambienti di database ad alta intensità di aggiornamento tipici delle applicazioni di elaborazione delle transazioni in linea (OLTP)<ref>{{Cita web|url=http://www.tpc.org/tpca/default.asp|titolo=TPC-A|autore=Transaction Processing Performance Council|editore=Transaction Processing Performance Council|accesso=2 luglio 2018|dataarchivio=2 luglio 2018|urlarchivio=https://web.archive.org/web/20180702204829/http://www.tpc.org/tpca/default.asp|urlmorto=sì}}</ref>
** TPC-C: un benchmark di elaborazione delle transazioni in linea (OLTP)<ref>{{Cita web|url=http://www.tpc.org/tpcc/default.asp|titolo=TPC-C|autore=Transaction Processing Performance Council|editore=Transaction Processing Performance Council|accesso=2 luglio 2018|dataarchivio=5 dicembre 2008|urlarchivio=https://web.archive.org/web/20081205084657/http://www.tpc.org/tpcc/default.asp|urlmorto=sì}}</ref>
** TPC-H: un benchmark di supporto decisionale<ref>{{Cita web|url=http://www.tpc.org/tpch/default.asp|titolo=TPC-H|autore=Transaction Processing Performance Council|editore=Transaction Processing Performance Council|accesso=2 luglio 2018|dataarchivio=18 dicembre 2008|urlarchivio=https://web.archive.org/web/20081218052607/http://www.tpc.org/tpch/default.asp|urlmorto=sì}}</ref>
 
=== Benchmark open source ===
 
* Benchmark multiutente AIM: composto da un elenco di test che possono essere combinati per creare un "mix di carico" che simuli una funzione specifica del computer su qualsiasi sistema operativo di tipo UNIX.
* Bonnie ++ - benchmark del [[file system]] e del disco rigido
* BRL-CAD - suite di benchmark indipendente dall'architettura multipiattaforma basata su prestazioni di ray tracing multithread; baseline contro un VAX-11/780; e utilizzato dal 1984 per valutare le prestazioni relative della CPU, le differenze del compilatore, i livelli di ottimizzazione, la coerenza, le differenze di architettura e le differenze del sistema operativo.
* Collective Knowledge (Conoscenza collettiva): framework personalizzabile e multipiattaforma per il crowdsourcing di benchmark e ottimizzazione dei carichi di lavoro degli utenti (come il deep learning) su hardware fornito da volontari
* Coremark: benchmark di elaborazione integrata
* Data Storage Benchmark - una continuazione RDF del LDBC Social Network Benchmark, dal progetto Hobbit<ref>{{Cita web|url=https://github.com/hobbit-project/DataStorageBenchmark|titolo=Data Storage Benchmark|data=28 luglio 2017|accesso=2 luglio 2018}}</ref>
* DEISA Benchmark Suite - benchmark di applicazioni scientifiche HPC
* Dhrystone: prestazioni aritmetiche di interi, spesso riportate in DMIPS (Dhrystone milioni di istruzioni al secondo)
* DiskSpd: strumento da riga di comando per il benchmarking dello storage che genera una varietà di richieste su file, partizioni o dispositivi di archiviazione del computer
* Embench™: benchmark portatili e open source, per il benchmarking di sistemi profondamente integrati; presuppongono la presenza di nessun sistema operativo, supporto minimo per le librerie C e, in particolare, nessun flusso di output. Embench è un progetto della Free and Open Source Silicon Foundation.
* Faceted Browsing Benchmark (Benchmark di navigazione sfaccettata): sistemi di benchmark che supportano la navigazione attraverso i dati collegati tramite transizioni iterative eseguite da un utente intelligente, dal progetto Hobbit<ref>{{Cita web|url=https://github.com/hobbit-project/faceted-benchmark|titolo=Faceted Browsing Benchmark|data=27 luglio 2017|accesso=2 luglio 2018}}</ref>
* Fhourstones: un benchmark intero
* HINT: progettato per misurare le prestazioni complessive della CPU e della memoria
* Iometer - Strumento di misurazione e caratterizzazione del sottosistema I / O per sistemi singoli e cluster.
* IOzone - Benchmark del filesystem
* Kubestone - Operatore di benchmarking per Kubernetes e OpenShift
* Benchmark LINPACK - tradizionalmente utilizzati per misurare i FLOPS
* Livermore loop
* Benchmark paralleli NAS
* NBench - suite di benchmark sintetici che misura prestazioni aritmetiche di interi
* PAL: un punto di riferimento per i motori fisici in tempo reale
* PerfKitBenchmarker: una serie di benchmark per misurare e confrontare le offerte cloud.
* Phoronix Test Suite - suite di benchmarking multipiattaforma open source per Linux, OpenSolaris, FreeBSD, OSX e Windows. Include una serie di altri benchmark per semplificare l'esecuzione.
* POV-Ray - rendering 3D
* Tak (funzione): un semplice benchmark utilizzato per testare le prestazioni di ricorsione
* Benchmark TATP - Benchmark elaborazione transazioni di applicazioni di telecomunicazione
* TPoX - Un benchmark di elaborazione delle transazioni XML per i database XML
* VUP (VAX unit of performance) - chiamato anche VAX MIPS
* Whetstone: prestazioni aritmetiche in virgola mobile, spesso riportate in milioni di istruzioni Whetstone al secondo (MWIPS)
 
=== Benchmark di Microsoft Windows ===
 
* BAPCo: MobileMark, SYSmark, WebMark
* CrystalDiskMark
* Futuremark: 3DMark, PCMark
* PiFast
* SuperPrime
* Super PI
* Cote
* Windows System Assessment Tool, incluso con [[Windows Vista]] e versioni successive, che fornisce un indice ai consumatori per valutare facilmente i propri sistemi
* Worldbench (fuori produzione)
*InfinityBench<ref>{{Cita web|url=https://www.infinitysoftwarehouse.com/Product/InfinityBench.aspx|titolo=InfinityBench|accesso=17 ottobre 2021}}</ref>
*[https://infinitybench.refinityx.com InfinityBench 2]<ref>{{Cita web|lingua=en|autore=RefinityX|url=https://infinitybench.refinityx.com/|titolo=Professional System Benchmarking Tool|sito=InfinityBench 2|accesso=9 giugno 2025}}</ref>
 
== Note ==
<references />
 
== CollegamentiAltri esterniprogetti ==
{{interprogetto|preposizione=sul|wikt=benchmark}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC||benchmark}}
* {{cita web|http://www.hwmaster.com/forum/come-costruire-un-banchetto-da-benchmark-t10225.html|Come costruire un tavolo da benchmark}}
{{Portale|informatica}}