News TerraMaster F2-422: 10-GbE-NAS mit Intel Celeron für zwei Laufwerke

Ich will wirklich nicht behaupten, ich würde mich mit der konkreten linux implementierung vom smb und/oder nfs auf btrfs auskennen. Aber wenn jemand denkt, dass da einfach nur in einer Schleife einzelne Ethernetframes eingelesen und dann der Inhalt direkt auf die Festplatte geschrieben wird, ohne, dass da mehrer Ebenen an Puffern, Caches, Reordering und potentiell Datenverarbeitung dazwischen liegen hat ein viel zu einfaches Bild davon, wie Datei und Netzwerkoperationen auf heutigen Systemen implementiert sind. Z.B. puffert Linux schon mal standardmäßig jeden Schreibzugriff auf eine Filehandle und auch im Netzwerkstack wir schon ne ganze menge gepuffert, aggregiert und validiert (teils in HW, teils im Kernel), bevor der SMB Dienst die Daten überhaupt zu sehen bekommt - erst recht bei 10Gbit links.

Die entscheidende Frage ist nicht, ob gepuffert/gecached wird, sondern ob wir hier nur von ein paar dutzend MB reden, die halt einfach aus Effizienzgründen benötigt werden oder ob irgendwo ein Cache auf auf mehrere GB anwachsen kann um Ungleichheiten zwischen Netzwerk und Storage I/O ausgleichen zu können. Überlegt einfach mal: Wenn ich ein1GB file über ein 10Gbit Netz schicke, dann geht das schneller als ne Festplatte braucht um aus dem Standby aufzuwachen. Warum soll es nicht möglich sein, die Daten auf Empfängerseite erstmal entgegenzunehmen und dann wegzuschreiben wenn die Festplatte bereit ist?

Wie schon gesagt, ich sage nicht, dass es hier tatsächlich so ist, weil ich es schlicht nicht weiß und mir fallen durchaus 2-3 Probleme ein die dadruch enstehen würden. Ich weiß aber aus persönlicher Erfahrung, dass der RAM auf manchen Systemen (Sowohl in der Windows als auch in der Linux-welt) sehr wohl in größerem Umfang genutzt wird - und das schon bei 1Gbit lan. Daher würde ich mir schon etwas substantiellere Aussagen wünschen als einfach nur (paraphrasiert) "Würde ich nicht so implementieren" oder "In meinem vereinfachten mentalen Modell findet keine nennenswerte Pufferung statt".
 
Das er gar nicht genutzt wird habe ich auch nie behauptet. Man müsste es mal messen. Windows können wir da aber denke ich aus der Betrachtung ausnehmen, das wird auch bei 1TB Ram 100GB Puffern. Nur, wieso sollte man unabhängig vom Speicher überhaupt viel auslagern müssen wenn die CPU in der Lage ist in Echtzeit die Zielprotokolle zu übersetzen. 10Gbit/s klingt erstmal viel aber ist für heutige CPUs eigentlich keine Datenrate. Natürlich hat man dann die eigentlichen Zieldateien erstmal im Puffer, das kann aber ab gewissen Mengen eher zum Problem werden. Beispiel externe HDD -> man kopiert erstmal 200GB rüber und merkt nicht dass die Dateien zu 20GB im RAM liegen, nun verschwindet aber der Übertragungsbalken bei Windows sobald die Daten im RAM liegen, nicht jedoch erst wenn die Daten wirklich am Ziel sind. Zieht man jetzt die Platte ab, so ist die Übertragung hinfällig.
 
Zuletzt bearbeitet:
Zurück
Oben