Casa Misurazione delle prestazioni di storage in base ad applicazioni del mondo reale

Misurazione delle prestazioni di storage in base ad applicazioni del mondo reale

by Autore ospite

Immagina se la tua app di allenamento ti registrasse solo mentre eseguivi un regime semplice che non è mai cambiato o richiedesse alcun aggiustamento del tuo livello di sforzo. Il grafico 2D del tuo allenamento assomiglierebbe alla linea piatta su un cardiofrequenzimetro, fornendo poche informazioni sulla tua prestazione complessiva. Sfortunatamente, questo è l'aspetto della trama di un benchmark sintetico per le prestazioni di archiviazione delle workstation. Questi tipi di benchmark sono progettati per estrarre i valori di picco dal dispositivo di archiviazione utilizzando specifiche di accesso fortemente ottimizzate su firmware, driver e hardware.


Immagina se la tua app di allenamento ti registrasse solo mentre eseguivi un regime semplice che non è mai cambiato o richiedesse alcun aggiustamento del tuo livello di sforzo. Il grafico 2D del tuo allenamento assomiglierebbe alla linea piatta su un cardiofrequenzimetro, fornendo poche informazioni sulla tua prestazione complessiva. Sfortunatamente, questo è l'aspetto della trama di un benchmark sintetico per le prestazioni di archiviazione delle workstation. Questi tipi di benchmark sono progettati per estrarre i valori di picco dal dispositivo di archiviazione utilizzando specifiche di accesso fortemente ottimizzate su firmware, driver e hardware.

Il caso classico misura l'IO casuale con dimensioni di blocco di 4K con una profondità della coda molto elevata. In questo scenario, i fornitori hanno ampie opportunità di ottimizzare la coda di archiviazione e massimizzare il punteggio IOPS (operazioni di input/output al secondo) per il dispositivo. Al contrario, le applicazioni workstation reali hanno un intervallo IO medio di uno o due. Con profondità di coda così basse, il riordino e altre ottimizzazioni non hanno un effetto così drammatico sulle prestazioni; il collo di bottiglia si sposta alle capacità hardware grezze, anche con RAID o architetture di caching ibride/tiered aggressive.


Un grafico che traccia lo storage legge e scrive per un benchmark sintetico. L'asse X è l'offset da una posizione iniziale in cui si verifica un IO. L'asse Y è la dimensione del blocco della transazione effettuata in quella posizione. Una dimensione di blocco di 128K, ad esempio, proverebbe a leggere 128K di dati dall'unità in una posizione offset, tutto in un'unica richiesta.

Percorsi di archiviazione imprevedibili
Le applicazioni workstation reali non seguono percorsi prevedibili per accessi ottimali allo storage. Nel mondo dell'editing video non lineare, ad esempio, la dimensione del blocco si allinea maggiormente al formato contenitore o al metodo di codifica piuttosto che a una dimensione del blocco ottimale per trasferimenti di file molto grandi.

Sarebbe significativamente più veloce per un'applicazione utilizzare dimensioni di blocco di 128 KB per tutti i file di grandi dimensioni letti in memoria e quindi attraversare tali dati in dimensioni inferiori. Tuttavia, il fatto che l’applicazione imponga altri metodi, meno ottimali, di accesso allo spazio di archiviazione rende qualsiasi misurazione sintetica meno rappresentativa del modo in cui viene elaborato il lavoro reale.

Il montaggio video è solo un esempio. Quasi tutte le applicazioni, anche quelle dello stesso settore, utilizzano metodi di lettura/scrittura diversi, rendendo la misurazione degli stati di prestazione di picco in gran parte irrilevante. L'unico modo per misurare con precisione lo storage è imitare le operazioni così come si verificano all'interno delle applicazioni reali.

Migliorare la metodologia
Per il benchmark SPECwpc 2.1, pubblicato all'inizio del 2016, il sottocomitato SPEC Workstation Performance Characterization (SPECwpc) ha utilizzato IOMeter, uno strumento di misurazione e caratterizzazione del sottosistema IO, per simulare l'attività IO per una varietà di applicazioni professionali. La dimensione e la frequenza delle transazioni di archiviazione sono state raccolte da queste applicazioni e IOMeter ha utilizzato i dati per generare una stringa di transazioni di archiviazione in un periodo di tempo specificato.

Sebbene questa tecnica fosse migliore rispetto alla misurazione della larghezza di banda e della latenza massime di una workstation, non era ancora molto vicina a ciò che effettivamente fanno le applicazioni. Con la sua prossima versione, SPECwpc voleva imitare meglio il comportamento delle applicazioni, riflettendo al tempo stesso l'impatto dei nuovi dispositivi a stato solido, tecnologie come NAND e 3D Xpoint e varie opzioni di connettività PCIe.

Nello sviluppo del benchmark SPECworkstation 3, rilasciato nel novembre 2018, SPECwpc ha utilizzato Windows Process Monitor per tracciare le transazioni di archiviazione da un'ampia varietà di applicazioni professionali impegnate nel lavoro reale. SPECwpc ha quindi scritto un'utilità di riproduzione per tradurre le tracce in flussi di transazioni di archiviazione quasi identiche a quelle delle applicazioni reali.


Lettura/scrittura per l'applicazione SPECworkstation 3 Handbrake

Invece di utilizzare i dati effettivi delle applicazioni, che avrebbero una dimensione di centinaia di gigabyte, SPECwpc ha riempito le richieste di archiviazione con dati selezionati in modo casuale. L'utilità di riproduzione utilizza quindi più thread per scrivere su più file, proprio come l'applicazione vera e propria.

Il benchmark SPECworkstation 3 incorpora tracce provenienti da un'ampia varietà di applicazioni, tra cui media e intrattenimento (animazione 3D, rendering), sviluppo prodotto (CAD/CAM/CAE), scienze della vita (mediche, molecolari), servizi finanziari, energia (petrolio e gas ), operazioni generali e calcolo GPU.

Le applicazioni tracciate per il carico di lavoro di archiviazione SPECworkstation 3 includono 7zip, Adobe Media Encoder, Adobe Premier Pro, Ansys Icepak, Ansys Mechanical, Autodesk 3ds Max, Autodesk Maya, Autodesk Revit, Blender, CalculiX, Dassault Systémes Solidworks, Handbrake, Lammps, Microsoft Visual Studio 2015, Namd, il viewset energetico SPECviewperf 13 e il carico di lavoro WPCcfd SPECworkstation 3.


Lettura/scrittura per l'applicazione Calculix (CCX) nel benchmark SPECworkstation 3

Guardando al futuro
Il metodo di riproduzione utilizzato in SPECworkstation 3 genera thread in un modo ragionevolmente vicino all'applicazione reale, ma presenta ancora un problema centrale: la cronologia degli IO e qualsiasi sincronizzazione tra thread non viene preservata accuratamente. Ciò porta a casi in cui alcuni thread completano determinati I/O più velocemente e la concorrenza di IOP tra i vari thread non è perfettamente sincronizzata, con conseguenti variazioni occasionali da esecuzione a esecuzione.

Per SPECworkstation 4, il cui rilascio è previsto nel 2020, SPECwpc lavorerà per preservare la cronologia IO in modo da impedire agli IO di unirsi quando raggiungono il bus verso il dispositivo di archiviazione.

Un appello alla partecipazione
Sebbene non sia perfetto, il tracciamento delle operazioni di archiviazione da comandi di elaborazione di applicazioni reali come quelli generati dagli utenti di workstation in diversi settori rappresenta un importante passo avanti.

Il sottocomitato SPECwpc, che comprende rappresentanti di AMD, Dell, Fujitsu, HP, Intel, Lenovo e Nvidia, accoglie con favore input sui futuri carichi di lavoro da fornitori di dispositivi, sviluppatori di applicazioni e utenti interessati alle prestazioni di storage.

Come per altri benchmark SPEC, fornire i mezzi più accurati per acquisire e segnalare le prestazioni di storage delle workstation nel mondo reale aiuterà gli sviluppatori a tracciare un percorso per migliorare i loro processi in futuro.

– Alex mostra

Alex Shows è presidente del sottocomitato SPEC Workstation Performance Characterization (SPECwpc) e Distinguished Engineer presso Dell. I suoi 23 anni di esperienza nel settore includono 19 anni di progettazione, sviluppo e documentazione di software; 17 anni di convalida della progettazione di hardware e driver; e 10 anni di ricerca applicata nelle tecnologie hardware e software. Detiene 12 brevetti di cui sei in attesa di registrazione. 

Per saperne di più sul benchmarking della grafica e delle workstation, visitare il sito web SPEC/GWPG, iscriviti alla newsletter elettronica SPEC/GWPG, oppure unisciti alla Grafica e Gruppo LinkedIn Benchmarking workstation

Sono disponibili benchmark SPEC/GWPG per download gratuito a tutti, tranne ai fornitori di computer e prodotti e servizi correlati che non lo sono Persone del gruppo SPEC Graphics and Workstation Performance (SPECIFICHE/GWPG).