Femme schreef op donderdag 14 augustus 2008 @ 11:13:
[...]
Het is absoluut niet zo dat cache alleen in uitzonderlijke situaties nuttig is. Sowieso kan het altijd helpen als er gelijktijdig lees- en schrijfacties plaatsvinden. Een grote write-back zorgt er immers voor dat de schrijfacties niet meteen naar de media weggeschreven hoeven worden, zodat de harde schijven eerst data kunnen inlezen die op dat moment gevraagd wordt en op een later (rustiger) moment de gegevens uit de write-back kunnen wegschrijven. Door het gecombineerd wegschrijven van data in combinatie met elevator seeks kan het aantal seeks op harde schijven sterk beperkt worden. Dit zorgt voor een grote tijdsbesparing en een veel soepelere ervaring tijdens heftig multi-tasken.
Precies: heftige multi-tasking. Dan heeft een controller idd nut. Hoeveel nut diezelfde controller heeft met het omgaan, van grote blokken verse data vertel je niet. Wat moet een "slimme cache" in hemelsnaam cachen bij uitpak acties van GB's aan data ? Die "slimme" cache zal nog steeds op de harddisks moeten wachten tot die het rauwe klusje geklaard hebben.
Op [html]<a href="http://tweakers.net/benchdb/testcombo/wide/?TestcomboIDs[1655]=1&TestcomboIDs[1672]=1&TestcomboIDs[1667]=1">deze pagina</a>[/html] kun je resultaten zien van een Mtron Mobi 3000 aan een nForce-controller, een simpele Areca ARC-1200 met 128MB geheugen en een Areca ARC-1280 met 256MB geheugen. In bijna alle situaties zorgt de extra cache voor een forse prestatiewinst.
Grappig dat je een review van SSD's erbij haalt om je bewijs te leveren. Helaas past daar niet veel data op en is peperduur in verhouding met conventionele harddisks.
Als je niet veel databewerkign doet kun je je afvragen of je uberhaupt behoefte hebt aan snelle storage.
Wat noem je veel ? Het gaat er volgens mij vooral om
wat voor acties je gaat doen met je array.
Ga je veel mutitasken en veel met kleine bestanden werken of ga je vooral met grote brokken data aan de slag. Dat maakt het verschil.
Het scheiden van data op verschillende harde schijven heeft als nadeel dat je nogal bewust om moet gaat met de plaatsing van de data om optimale prestaties te bereiken. Tevens ben je meer harde schijven nodig om redundancy te bereiken bij gelijke capaciteit. Dit is weer nadelig voor het energieverbruik en de geluidsproductie. De performance van de afzonderlijke arrays is lager dan wanneer alles op één groter array staat. Ik vind het daarom veel makkelijker om alle data op een raid 5-array te hebben staan met eventueel ssd's ernaast voor boot.
Dat scheiden is helemaal niet ingewikkelt, en je dwingt jezelf tegelijk tot een bepaalde "dicipline".
Reduncy kan je beperken tot de array waar je daadwerkelijk de bewerkte data bewaard. Voor de "werkarray" is dat niet perse nodig. Maar verschillende array's kan wel degelijk zuiniger uitpakken, als je een film kijkt bijv., op je spel speelt; moeten alle harddisks van je dikke array aan de slag. Doe je dat met een gescheiden, kleinere array, zijn dat er een aantal minder.
De performance van de afzonderlijke array's is idd theoretisch minder dan 1 hele grote. Alhoewel de schrijfperformance van RAID-5 ook niet geweldig is. Die prestaties evenaar je met gemak met een RAID-0 array met minder disk. Durf te wedden dat ik een "stored" rar file van bijv. 4.4GB sneller uitpak dan iemande met een Areca controller, dikke cache en 4 snelle harddisk (geen SSD's!!!).
Stored RAR-files, aangezien dan de CPU geen rol speelt in het uitpakproces. Al zal een compressed rarset waarschijnlijk ook sneller zal gaan met 2 array's.
Iemand die mijn 51sec kan verslaan met 2x 2 Sata array's ? Laat maar horen! Geen SSD resultaten aub, SSD is totaal nog niet interressant om grote klompen data op te bewaren.
Daarmee zeg ik niet dat je nooit een grote RAID-5 array moet gebruiken. Wat ik wel zeg, is dat meerdere kleine array's wel degelijk voordelen biedt boven 1 grote. Waaronder bijv. de data van de een naar de andere pompen; om die lege array daarna te vervangen door nieuwe disks bijv.
Op een raid-controller met een slimme cache is de impact van het heen en weer seeken een stuk kleiner. Lezen en schrijven gebeurt echter wel op de optimale snelheid die met vier schijven te bereiken is. Je kunt deze snelheid altijd benutten, niet alleen als je data op twee verschillende arrays tegelijkertijd zou benaderen.
Moet er wel iets in die cache zitten, waar je wat aan hebt. Met veel "verse" data; lijkt me dat vrij mager. Als je iets aan het uitpakken ben bijv,. moet het hier en nu en direct. FF wachten is er niet bij. Zie dan ook niet dat die cache voor magische effecten gaat zorgen; zoals sneller uitpakken zo als ik dat nu doe. Is dat wel zo; bewijs dat dan eens. Zelf heb ik het al getest, met software-raid onder XP. Een raid-0 array uitpak actie met 4 SATA2 WD400/500 RE2's duurt minstens 2 minuten.
Als ik hetzelfde doe met twee RAID-0 array's, ben ik in 50sec klaar.
Wil je me vertellen dat dezelfde actie, met een controller met cache, dat klusje sneller klaart?
Laat de cijfers maar zie dan, want ik zie niet in waar die winst dan vandaan zou moeten komen.
Natuurlijk, dit is maar een actie, 1 voorbeeld. Maar laat dit nou net de actie zijn(of soorgelijke acties) die ik vaak uitvoer. Gezien mijn eigen tests. ben ik nog steeds niet overtuigt dat een dure controller mij daarin winst gaat opleveren.
Zie [html]<a href="http://tweakers.net/benchdb/testcombo/wide/?TestcomboIDs[1046]=1&TestcomboIDs[1396]=1&TestcomboIDs[1343]=1">hier</a>[/html] voor wat resultaten. Hier zitten ook wat resultaten van een nForce Pro in die met twee Raptors in raid 0 gemiddeld wel sneller is dan een Areca ARC-1280 512MB met één schijf.
Wat je punt hier is ongaat me even