Verwijderd schreef op maandag 25 juli 2011 @ 10:47:
Ik vind altijd dat er iets mis is met die trace based benchmarks.Een groot deel van de read en write operaties vinden plaats als er niet eens load is. Het is niet merkbaar of een losse 4k schrijfoperatie nu in 0.1ms of in 5 seconden gebeurt.
Wat bedoel je daarmee precies? Random reads merk je de latency juist heel erg; dat is het enige wat telt. Voor random writes is de latency minder belangrijk en heb je ook zoiets als 'achtergrond I/O'; zeker met NCQ enabled kunnen sommige writes en ook TRIM requests op de achtergrond gebeuren dus de gebruiker merkt niets van de snelheid van dit type I/O. Voor reads geldt vaak dat de gebruiker die wel merkt; omdat een programma compleet tot stilstand is gekomen totdat de read request wordt teruggestuurd.
Bij read operaties is vooral 4K van belang. Bij write operaties vooral sequentieel.
Hm dat zou ik zo snel niet zeggen.
1) random read 4K is erg optimaal en ook kunstmatig. Vaker heb je blokken van 512-byte, 3.5K, 7.5K, enzovoorts. Dat is moeilijker voor een
SSD dan pure 'synthetische' 4K performance. Dat is namelijk perfect aligned met de page size van
SSDs maar in de praktijk heb je dus ook non-aligned I/O.
2) write operaties op normale desktop systemen zijn enigszins zelfzaam; sequential write kom je maar zelfzaam tegen behalve kopiëeracties van de gebruiker zelf. Veel vaker heb je allerlei random writes die in 'bursts' gebeuren. Dus een applicatie schrijft wat meuk weg zoals je firefox profiel en tegelijkertijd wordt je journal + metadata geupdate. Dat zijn dus kleine plukjes writes die in kleine bursts gebeuren. Vaak is de performance van deze writes niet cruciaal.
Trace-benchmarks doen alle I/O tegen maximale load wat onnatuurlijk is en bij sommige
SSDs een groter nadeel geeft. Ook heb ik bezwaar dat de traces worden opgenomen op een vers geïnstalleerd systeem zodat de I/O veel meer sequentiëel is dan een systeem wat al een paar maanden mee gaat. Eigenlijk zou je dan pas traces moeten opnemen en dan krijg je waarschijnlijk dat random reads nog belangrijker zijn geworden.
Ik ben van mening dat de 4K read performance van alle specs de belangrijkste is in de '
SSD ervaring' van mensen. Dat deze random read performance van 0,2MB/s naar 20MB/s is gegaan is denk ik de grootste reden dat mensen zoveel betere snelheidservaring hebben met
SSDs ten opzichte van hardeschijven. Het is wel jammer dat zoveel mensen naar de hoge sequentiële getallen kijken. Aan de andere kant: vrijwel alle moderne
SSDs doen 20MB/s random read (qd=1) performance; daar zit nauwelijks/geen verschil in. Dat komt omdat het 100% latency bottlenecked is en er geen parallelle I/O kan plaatsvinden. Je gebruikt dan op enig moment nooit meer dan één NAND kanaal tegelijk.