Sono necessari consigli sul collo di bottiglia delle prestazioni dell'SSD


0

Immagino di aver bisogno di alcuni consigli avanzati su SSD, SATA, limiti di entrata / uscita ecc.

Sto programmando un'installazione video in cui continuo a leggere e scrivere molti dati:

Sul primo SSD, drive A, scrivo 50 frame al secondo (= 50 file al secondo) più leggo contemporaneamente altri 50 fps (dalla stessa unità!). Da un secondo SSD, drive B, ho letto altri 50 frame al secondo.

La domanda è: dov'è il collo della bottiglia? Sono riuscito a eseguire il mio programma a 25 fps ma non più velocemente (e avrei bisogno di farlo a 50 fps).

La quantità totale di dati non è in realtà così eccessiva: ogni frame è 1,8 MB, quindi ogni stream è di circa 90 MB / s, che scende a un totale di 180 MB / s in lettura più altri 90 MB / s in scrittura = 270 MB / s trasferimento dati totale in 150 operazioni di lettura / scrittura al secondo.

Ciò che mi confonde di più è il seguente:

  • Ottengo le stesse prestazioni quando eseguo la patch da due SSD separati di quando eseguo tutti e tre i flussi da uno solo senza usare il secondo SSD.
  • La velocità non aumenta sostanzialmente se riduco uno o due di questi flussi (e riduco la dimensione del file a 260 KB / file che equivale a soli 13 MB / s per flusso).
  • Tuttavia, aumenta (a 40-60 fps) se cambio tutti e tre i flussi a 260 KB / file.

Questo mi fa chiedere cosa stia succedendo ... sono le unità? È SATA? O altre cose di cui forse non ho mai sentito parlare? E cosa posso fare al riguardo?

Uso un Macbook Pro (Retina, inizio 2013, i7 2,6 GHz, 16 GB RAM, OS 10.9.2), l'unità A è un SSD Samsung 840 pro 256 GB collegato tramite fulmine, l'unità B è l'SSD Macbook interno da 512 GB (integrato da Apple).

Il mio programma è realizzato in MAX / MSP e utilizzo un formato di dati binari arbitrario e non compresso (.jxf). Posso escludere problemi di caricamento della CPU / GPU.


Un possibile problema è scrivere solo 1,8 MB alla volta. Prova, a scopo di test, scrivendo 2 frame nello stesso file. A SSD piace leggere / scrivere in blocchi più grandi> 8 MB, alcuni come fino a 32 MB contemporaneamente. Prova il benchmark ATTO per capire cosa intendo. majorgeeks.com/mg/getmirror/atto_disk_benchmark,2.html
cybernard

grazie per il tuo contributo! l'ho provato, ma dal momento che ho letto questi frame in modo casuale, questo sostanzialmente raddoppia la mia velocità di dati (il che peggiora le cose). a prescindere: nel frattempo ho fatto qualche altro test, anche con un pegasus j2 ssd-raid - che è incredibilmente veloce ma non ha prestazioni migliori. ormai sono convinto che sto solo colpendo qualche io o altri limiti di sata. ssd over pci potrebbe essere una soluzione, ma dal momento che lavoro su un laptop, questa almeno non è un'opzione in questo momento ...
user3647558

hai considerato RAID come un'opzione per ridurre al minimo il collo di bottiglia?

Con ogni fotogramma che è il proprio file, si forza molta amplificazione in scrittura man mano che molti metadati del file vengono aggiornati. Potresti essere in grado di ottimizzare il filesystem per scrivere di più sui metadati, ma probabilmente dovresti semplicemente usare un design di archiviazione più efficiente che non richiede così tante operazioni di directory. (Inoltre, disattiva l'aggiornamento dei tempi di accesso / modifica dei file. Ciò rende molte scritture extra.)
David Schwartz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.