Anmelden mit
Registrieren | Anmelden

Auslagerung auf SSD RAID0

Letzte Antwort: in Produkte: Meinungen, Erfahrungen, Empfehlungen

Hallo zusammen,

ich habe folgendes Problem.
Mein Arbeitsspeicher ist zu klein, da das Board nur 16GB RAM verträgt und dieser schon voll belegt ist habe ich überlegt die Auslagerungsdatei auf ein SSD-RAID 0 zu legen.

Ich verwende ein XEON-System mit 16GB RAM und Vista 64-Bit.

Die Auslagerungsdatei wird zur Zeit mit 50GB belegt, ich bräuchte aber mindestens den 4-fachen Speicher um sinnvoll rechnen zu können.
Als Rechenprogramm nutze ich Matlab 2009a 64-Bit.

Hat schon jemand Erfahrung mit dem Aufbau eines solchen Systems bzw. Kauftipps?

Gruß
Christian

Mehr über : auslagerung ssd raid0

Werbung stört? Dann Mitgliedskonto eröffnen

Du brauchst also mind. 200GB Speicher für die Auslagerungsdatei?
Das wird teuer. Empfehlenswert wäre da die Crucial M225 mikt 256GB und einem Preis von ca. 510 € (1,992 pro GB Speicher). die ist auch ohne RAID schon ordentlich schnell.
Alternativen:
- Super Talent Ultradrive GX MLC 256GB -> ab 549,99 € (2,148 € /GB)
- 2x Intel X25-M G2 Postville 160GB -> je ab 361,90 € (2,262/GB € /GB)

Du könntest auch mit dem Wechsel auf Windows 7 x64 einiges an Speicher sparen. Hatte mir extra für Vista x64 8GB Speicher zugelegt, die ich unter Windows 7 x64 selten zu 50% voll bekomme :) 

Edit:
auch sehr schnell - vor allem im RAID:
Die Seagate Momentus XT. Die knallt auch richtig und kostet deutlich weniger als eine SSD.,
- Preise: http://geizhals.at/deutschland/?cat=hd2s7&asuch=Momentu...
- Tests / Berichte auf THG: Kommentar: Festplattenlandschaft im Umbruch? und Momentus XT: Seagate Vereint HDD und Flash

bitti1 sagte:
Du brauchst also mind. 200GB Speicher für die Auslagerungsdatei?
Das wird teuer. Empfehlenswert wäre da die Crucial M225 mikt 256GB und einem Preis von ca. 510 € (1,992 pro GB Speicher). die ist auch ohne RAID schon ordentlich schnell.
Alternativen:
- Super Talent Ultradrive GX MLC 256GB -> ab 549,99 € (2,148 € /GB)
- 2x Intel X25-M G2 Postville 160GB -> je ab 361,90 € (2,262/GB € /GB)

Du könntest auch mit dem Wechsel auf Windows 7 x64 einiges an Speicher sparen. Hatte mir extra für Vista x64 8GB Speicher zugelegt, die ich unter Windows 7 x64 selten zu 50% voll bekomme :) 

Edit:
auch sehr schnell - vor allem im RAID:
Die Seagate Momentus XT. Die knallt auch richtig und kostet deutlich weniger als eine SSD.,
- Preise: http://geizhals.at/deutschland/?cat=hd2s7&asuch=Momentu...
- Tests / Berichte auf THG: Kommentar: Festplattenlandschaft im Umbruch? und Momentus XT: Seagate Vereint HDD und Flash



Hallo,

vielen Dank erst mal für deine Antwort.
Das das teuer wird ist mir klar. Ich dachte auch schon an ein Super Talent RAIDDrive WS (Anbindung über PCIe 8x)

Windows 7 kommt im Moment NOCH nicht in Frage, ist ein Firmenrechner und es wird vorraussichtlich Mitte 2011 bis Win 7 bei uns verfügbar ist.

Sollte man bei den SSD's nicht lieber auf die SLC anstatt auf die MLC-Technik setzen?

Gruß
Christian

cschmitti sagte:
Windows 7 kommt im Moment NOCH nicht in Frage

Dann schlag dir die Idee mit den SSDs gleich aus dem Kopf. Vista und XP sind kontraproduktiv für eine SSD.

Die Lösung mit einer oder zwei Seagate Momentus XT (ab 2 Stk. im RAID0) ist dann die bessere Lösung für dich.

Nachtrag:
Nochmal zur Begründung warum nur Windows 7 für eine SSD der geeignete Partner ist:
Zitat :
Da stellt sich möglicherweise die Frage: warum wird Windows 7 empfohlen?
die Antwort darauf lautet: weil Windows 7 als einziges Microsoft Betriebssystem in der Lage ist, eine SSD als SSD zu erkennen und korrekt anzusprechen.
Weder Windows XP noch Vista können dies von Haus aus und sind ohne Hilfsmittel auch nicht in der Lage, den so wichtigen Trim Befehl zu unterstützen. Davon abgesehen richtet nur noch Vista ein korrektes Partitions Alignment ein, XP kann nicht einmal das, was aber angesichts seines Alters auch nicht ernsthaft verwundert.

Quelle + weitere Infos: PC-Experience - SSD Optimierungen und FAQs

bitti1 sagte:
Dann schlag dir die Idee mit den SSDs gleich aus dem Kopf. Vista und XP sind kontraproduktiv für eine SSD.

Beispiel:

. VW Käfer (Deine Hybrid-Festplatte)
. 3er BMW auf Slicks (SSD mit Win7)
. 3er BMW auf Winterreifen (SSD mit XP)

Und Du schlägst ihm für das Rennen auf der Nordschleife den VW Käfer vor. Ich täte trotzdem den 3er BMW mit Winterreifen nehmen.

Schon mal die Preise von SLC-basierten SSDs dieser Groesse angeschaut? Da lohnt sich noch viel mehr, was sowieso bei einem solchen Problem zu empfehlen waere: mehr RAM. Und da dies mit dem derzeitigen Board wohl nicht moeglich ist, geht das einher mit einem Plattformwechsel oder -upgrade.

Ich weiss zwar nicht, was fuer Berechnungen Du damit machen moechtest, aber falls die CPU auf die Daten haeufig zugreifen muss (grosse Matrix), dann wird sie auch durch eine SSD massiv ausgebremst. (Bandbreite RAM: ~40GByte/s vs. max. Datenuebertragungsrate SSD: ~1...5GByte/s). Die Investition fuer eine SSD-Konfig dieser Geschwindigkeitsklasse uebersteigt aber die eines komplett neuen HW-Setups und ist trotzdem langsamer.

Mit Matlab laesst (afaik liess) sich nicht vollstaendig auf die Datenvorhaltung im RAM Einfluss nehmen, wie bei einer selbst programmierten Software. Letztendlich ist ein solcher Aufwand, der nur ausgedacht, um Hardwarelimitierungen durch Programmier"tricks" zu umgehen, bei solch kleinen Systemen (fast) immer teurer als ein Systemupgrade. Je groesser das System, desto mehr verschieben sich dann die Kostennachteile zur Hardware.

Die mathematische "Optimierung" hinsichtlich der durch die Hardware vorgegebenen Randbedingungen ist manchmal auch noch ein gangbarer Weg.

7oby sagte:
Ich täte trotzdem den 3er BMW mit Winterreifen nehmen.

Wenn man die SSD mit Vista oder Win7 partitioniert und mit irgendeinem Tool ab und zu TRIM ausführt, sollte es als Übergangslösung zu Windows 7 schon gehen.

Hab' auch wieder nur die Hälfte gelesen. Würde mir auch erst nochmal durchrechnen was ein System mit 64GB RAM kostet. Oder nochmal in die benutzten Matlab Bibliotheken reinschauen: Vielleicht gibt's auch noch eine günstigere Darstellungsform z.B. von Sparse Matrices.

Denn selbst wenn Du auf 64GB RAM aufrüstest: Hast Du dein Problem damit überhaupt gelöst oder brauchst am nächsten Tag dann 128GB RAM?

Die Auslagerungsdatei wuerde ich nicht in ein RAID 0 packen, sondern in ein RAID 1! Wenn der Controller von beiden Platten gleichzeitig lesen kann (austesten), duerfte die Performanze besser sein, da sich hier die I/O Leistung nahezu verdoppelt. Die Datentransferrate ist eigentlich voellig wurscht. Zwei Intel SSDs mit 160GByte sollten dann reichen. Zur Not wird Windows dann, falls du doch mal die Grenze sprengst, auf eine andere Platte auslagern. Somit haettest du noch mehr I/O-Leistung. Maximal ein RAID10 mit 4 SSDs.

An Sonsten eher eine SSD von Intel mit SLC-Speicher und SAS-Schnittstelle. RAID0 bringt fuer die Auslagerungsdatei garnichts, da hier die I/O-Leistung sinkt. Auf die Auslagerungsdatei werden keine großen Datenstroeme gezogen.

OK.

Warum SATA und nicht PCIe 8x?

Einen anderen Rechner zu beschaffen ist nicht ganz einfach.
Bin in der Großindustrie tätig und die IT mag keine Fremdrechner.

Die Lösung eines neuen Rechners in der Konfiguration die ich bräuchte wäre außerdem alles andere als ein Schnäppchen, was vor allem am RAM liegen würde.

Die Lösung mit schnellerer Festplatte (SSD) als bisher wäre also die günstigere.
Stellt sich nur die Frage: Welche Platte, welche Schnittstelle(SATA oder PCIe) und wie konfiguriert (einzelne Platte, RAID1, RAID5, RAID10).

Gruß
Christian

P.S.: Danke für eure bisherigen Antworten, hoffe auf weitere Meinungen!
:bounce: 

Die schnellste Loesung duerften PCie Karten sein, aber auch die Teuersten. Ums Testen, wie sich die Performanz bei unterschiedlichen RAID-Modis schlaegt, kommst du nicht herum. Und wenn du RAID 1 testest, wirst du keinerlei doppelte Transferrate erhalten, weil es vom Controller abhaengig ist, wie er jetzt von den Datentraegern liest. Die meisten COntroller lesen nur stur von der Master-Platte. Andere teilen intelligent die Auftraege auf die verschiedenen physikalischen Datentraeger auf. Somit hat jeder Auftrag nur die maximale Datentransferrate einer Platte zur Verfuegung, da aber zwei Auftraege gleichzeitig abgewickelt werden koennen, ist es trotzdem aeusserst schnell. Das kannst du nur schwierig messen.

fbd1788 sagte:
Dass Raid0 die I/O Leistung senkt halte ich für ein Gerücht, das von Leuten in die Welt gesetzt wurde die sich bei ihrem Raid keinen Kopf um Partitionaligment und Clustersize gemacht haben.


Ist kein Geruecht. Die Verwaltung des logischen Datentraegers kostet Zeit. Und Zeit kostet eben I/O-Leistung. Ein logischer Zusammenhang... Wenn du einen Hardware-RAID-Controller benutzt, wird die I/O-Leistung sogar dramatsich sinken, wenn du Pech hast. Da deren Durchsatz und Reaktionszeit begrenzt ist, kannst du bei kleineren Controllern dieser Bauart und der Verwendung einer Intel-SSD von einer Fehlinvestition sprechen. Besonders das Stripe bricht dem RAID 0 das Genick, was I/O Leistung angeht. Egal was du machst, das optimale Stripe-Size gibt es nicht. Und bei jedem Betriebssystem und jedem Controller kann das optimale Stripe-Size anders sein.

Die I/O Leistung kann aber auch bei einem RAID0 begrenzt steigen, wenn der Controller intelligent agieren kann und erkennt, ob sich die Anfragen auf Stripes befinden, die gleichzeitig aufgerufen werden koennen, da die Anfragen nicht die selben Stripes abdecken und auf verschiedenen physikalischen Datentraegern liegen. Das machen nur die wenigsten Controller. Ausserdem klappt das nur eingeschraenkt, wie bereits gesagt. Je kleiner die beim Erstellen des logischen Datentraegers gewaehlten Stripes, umso besser fuer die I/O Leistung/ Datentransferrate, solange die Systemperformanz das bewaeltigen kann und das OS/ Dateisystem mitspielt. Partitonsmanagement macht bei SSDs Performanztechnisch garkeinen Sinn (Trim bei Intel-SSDs ist ueberbewertet) Und das Cluster-Size ist auch ein Thema fuer sich. (Platz beim Partitionieren frei zu lassen ist Preis Leistungstechnisch gesehen der groeßte Schwachsinn, den ich je gesehen habe) Je nach Leistung des Systems/ des Hardware-RAID-Controllers und das verwendete Dateissystem/ Betriebssystem und den Verwendungszweck des Datentraegers ist das Stripe Size unterschiedlich zu waehlen. Im Schnitt sind 128K oder 64K optimal fuer den Durchschnitt/ Benchmark. Ich wuerde eher 4K nehmen und dann per "Diskpart Align" das Dateissystem und deren Datenbloecke auf die 4K-Stripes ausrichten. (Bin ich zu faul fuer). Das waere die einzige sinnvolle Moeglichkeit, die maximale Performanz zu erhalten. Das ist mit RAID 1, wenn der Controller/ der Treiber intelligent genug sind deutlich besser und einfacher zu bewerkstelligen. Hier muss man sich ums Align usw. keinen Kopp machen. Das Einzige, was garantiert nicht verbessert wird, ist die Schreib-Performanz. (Hier kann auch die I/O-Leistung sinken)

Da kann ich mich fffcmad nur anschließen!

Der Standard ist 32 oder 64!
Kleine Stripe Size; schnelle Zugriffe aber große Files brauchen länger zum kopieren
Große Stripe Size; langsamer Zugriff aber dafür kann man große Files schneller kopieren.
Von der Sicherheit her ist Raid 0 die schlechteste Lösung fällt eine Platte aus lassen sich die Daten schlecht rekonstruieren,
während der vollständige Ausfall eines einzelnen und entsprechend größeren Speichermediums einen vollständigen Verlust aller Daten zur Folge hätte. RAID 0 ist daher nur in Anwendungen zu empfehlen, bei denen Datensicherheit kaum von Bedeutung ist oder durch eine geeignete Form von Datensicherung anderweitig gewährleistet wird.

Naja, aber eigentlich sind 4K-Stripes Optimal, weil man praktisch fast immer, sobald die Datei groeßer ist, die doppelte Datentransferrate bekommt. (Align vorrausgesetzt) Dem steht eine hohe Systemlast oder sogar Ueberforderung des Datentraegers/ Controllers gegenueber.

Ich benutze privat auch RAID0. ich kenne deren Schwaechen nur zu gut. Besonders bei meinen SCSI-Systemen bin ich oft genug auf die Schnauze gefallen. Was nuetzen 180 - 280MB lesen, wenn die Platten bei 4K-Bleocken bei 1 - 7Mbyte/s rumkrepeln ^^

Wuerde ich alle SCSI-Laufwerke mal in ein RAID 1 packen (werde ich irgendwann einmal probieren) koennte ich vielleicht sogar noch etwas mit den 36GB-Platten anfangen ^^

Nehmen wir mal den Artikel: http://www.tomshardware.com/reviews/ich10r-sb750-780a,2...
Der ist jetzt nicht besonders gut (weil weder bei den SSD noch bei den Raids auf Alignment und Offset eingegangen wird - auch nicht darauf dass die Controller evtl. selbst mit nem falschen Offset oder zu großer Stripesize auf die SSDs schreiben) - aber er taugt immerhin für ein paar worstcase Messwerte.

Da sieht man recht schön, dass alle Controller, bis auf der LSI, gerundet bei den in den meisten Benchmarks angegeben 0,1ms Zugriffszeit landen. Nehmen wir mal an man kann auf die 10us Angaben da noch was geben, dann müsste man schon 'ne Queue Depth <2 nehmen um da ne Verschlechterung bei den IOps zu erreichen. Mal abgesehen davon dass das in dem Test 8 SSDs sind und man daher wohl auch an dem LSI Controller mit einer Queque Depth von 8 eine einzelne SSD bei den IOps locker schlagen sollte - was er (und auch alle anderen Controller) auch bei kleinen Blockgrößen tun, wenn man die Messergebnisse mit denen einer einzelnen SSD vergleicht.

Inwiefern die Zeit für die Verwaltung des Raids auch mit der Anzahl der Platten zunimmt kann ich aber keine Aussauge treffen. Wenn sie konstant bleibt würde ich mit dir mitgehen und zumindest nich den im Test verwendeten LSI Controller (und tendenziell auch eher keinen anderen PCIe Controller empfehlen) - sondern explizit einen ICH10R.

Ich würde auch 4k-Stripes und 4k-Cluster nehmen und das Aligment richtig einstellen - aber ich würde erwarten das sich die IOps im Vergleich zu einer normalen Platte bei einer Queue Depth >=2 nahezu verdoppeln. Auch beim Schreiben - wo dann auch der Vorteil gegenüber Raid1 ins Spiel kommt.

Was ich auch nicht ganz verstehe ist, wieso die Zeit für die Verwaltung eines Raid1 geringer ausfallen sollte und deswegen die IOps im Vergleich zu Raid0 größer sein sollen. Daher bezweifliche ich, dass Raid1 überhaupt eine bessere Option gegenüber Raid0 sein kann.

Ich lass mich aber auch gern mit Benchmarks überzeugen. Leider sind die sehr spärlich gesät.

Und es gibt imho die optimale Stripesize und die optimale Clustersize für jeden Anwendungsfall - natürlich nicht für alle gleichzeitig. Wenn mich die 1-7MB/s bei den SCSI Platten stören würden, würde ich aber definitv mit der Stripe- und Clustersize auf >16kB (der Wert hängt von den Platten ab) gehen. Und soviele kleine Dateien, dass man mit einer hohen Clustersize unglaublich viel Platz verschwendet hat man zumindest privat garnicht mehr - bzw. die Verschwendung ist verglichen mit der Kapazität der Datenträger verschwindend gering.

@doll-by-doll: Ausfallsicherheit ist in diesem speziellen Fall völlig unwichtig, weil es nur um die Auslagerungsdatei geht.

fbd1788 sagte:
Was ich auch nicht ganz verstehe ist, wieso die Zeit für die Verwaltung eines Raid1 geringer ausfallen sollte und deswegen die IOps im Vergleich zu Raid0 größer sein sollen. Daher bezweifliche ich, dass Raid1 überhaupt eine bessere Option gegenüber Raid0 sein kann.
Eine gute Zugriffszeit fördert zwar auch die IOps trotzdem sind's zwei völlig unterschiedliche Zahlen. Nur in Kürze:

. Die Zugriffszeit eines RAID0 ist geringfügig höher (= also schlechter; größere Zahl) als ohne RAID. Allerdings muss der zu lesende Block größer sein als die Clustergröße (z.B. 8kb bei 4kb Clustergröße). Misst man nur mit 512 Byte Zugriffen, so ist die Zugriffszeit gleich. Der Grund ist Wahrscheinlichkeitsrechnung: Wenn der erste Schreib-/Lesekopf zu greift, dann sucht der andere möglicherweise noch.
. Die Zugriffszeit eines RAID1 ist bei manchen RAID Controllern geringer im Vergleich zu kein RAID: Der Controller kann beide Platten losschicken und wer zuerst kommt, malt zuerst.
. Die I/O-Leistung (IOps) ist im allgemeinen bei RAID1 höher und skaliert teilweise sogar linear mit der Anzahl der Platten (RAID0, RAID10, RAID5, ...). Der Grund ist, dass die viele IOs auf viele Platten verteilt werden können und sie damit praktisch gleichzeitig abgearbeitet werden.

In der Praxis haben gute Controller (3ware/LSI) Mischformen: Die erhöhen beim RAID0 und beim RAID1 die IOps und die Bandbreite. Die können das für beide Formen und passen sich der IO-Traffic an: Hohe I/O Last - Verteilung auf alle Platten; geringe I/O Last - beschäftigen mehrerer Platten und welche zuerst Ergebnisse im RAID1 liefert, gewinnt.

--

RAM oder SSD. Kein RAID mit Platten. 8 Platten mit 15.000 U/min haben eine deutlich geringere I/O Leistung als eine einzige intel SLC Platte (2. Diagramm unten):
http://www.anandtech.com/show/2739/6

Gute Erklärung für konventionelle Platten 7oby. Daraus folgt aber auch, dass im konkreten Fall ein Raid0 mit SSDs die bessere Wahl als ein Raid1 mit SSDs ist.

Da es soviel ich weiß noch keinen TRIM Befehl für SSDs im Raid gibt wäre natürlich noch die Frage ob es nicht evtl. besser wäre die Auslagerungsdatei auf zwei SSDs (ohne RAID) zu verteilen.

Ah lese gerade: http://www.computerbase.de/artikel/laufwerke/2010/test_...

Damit hat sich das Problem mit TRIM wohl erledigt.
Werbung stört? Dann Mitgliedskonto eröffnen