axelmertes
Goto Top

Kann man mit Branched Cache auch ein rein lokales Netzwerk beschleunigen?

Hallo Zusammen!

Aus der Anwendung im Bereich digitale Bildbearbeitung heraus, frage ich mich ob man mit Branched Cache auch ein rein lokales Netzwerk beschleunigen kann.

Wir wissen, das sehr viele Daten immer und immer wieder gelesen werden (z.B. beim Videoschnitt, Farbkorrektur, Texturen beim Rendering etc,).
Die Datenmenge ist dabei relativ groß, weshalb in den einzelnen Workstations und Render Nodes das RAM als Windows-eigener Puffer nicht greift - abgesehen davon, ob Windows überhaupt Daten aus Netzwerklaufwerken so cached.

Ideal wäre, wenn jeder Rechner lokal z.B. auf einer SSD die Daten cachen würde und zunächst dort nachschaut, bevor die Daten vom Server oder über den Server vom Storage geladen werden.
Perfekt wäre, wenn sich die Clients untereinander über den Inhalt ihrer Caches austauschen würden und Daten ggf. sogar aus dem Cache eines anderen Clients statt vom Server geladen werden würden.
Damit reduziert man die Zugriffe auf den Server und den Storage massiv.

Für SANs gibt es das neuerdings, FabriCache von QLogic. Allerdings für eine kleine Firma wie unsere völlig unbezahlbar, bei Kosten von 7000 bis 12000 Euro pro Karte...

Im Grund macht Branched Cache genau das, was ich suche, jedoch ist hier alles auf WAN ausgelegt. Das Protokoll scheint nicht schnell zu sein oder die Latenzen sind zu lange eingestellt.

Man beachte:
Wir rüsten hier gerade auf 10 GBit Ethernet um - zwischen ALLEN Maschinen - um schnellen I/O in alle Richtungen zu haben.
Insofern sind die Zugriffszeiten sehr kurz. Im Server will ich ein Tiered Storage Model mit SSD Cache RAID einbauen, womit wir relative latenzfrei aus einem SSD RAID mit deutlich über 2 GByte/s ins Ethernet (per Dual Link 10 GBit) einspeisen. Damit dürfte das ziemlich am Limit sein.

Die Idee ist nun, ob man Branched Cache so einstellen kann und ob es in der Realität dann auch so funktioniert, das sich die Clients aus lokalen SSD Caches die Daten zufeuern, die ggf. langsamer aus dem Server kämen, um den Server so zu entlasten und gleichzeitig dort die Bandbreite für notwendige (nirgends lokal gecachte) Zugriffe frei zu machen.

Hat jemand das schon mal versucht oder weiß wie es geht oder warum es eben nicht gehen kann?

Ich habe vor geraumer Zeit schon einmal einen Test gemacht, aber vermutlich IP v6 nicht konfiguriert. Die Ergebnisse waren eher ernüchternd und "wirkungslos".

Es gibt von Romexsoftware den PrimoCache, der das wunderbar mit lokalen Block Storages implementiert. Super schnell und effizient. Mit SMB Shares/Netzwerklaufwerken geht das aber nicht. In einem echten SAN mit shared access auf alle Partitionen geht es auch nicht, weil die Cache Invalidierung nicht möglich ist (schlecht, wenn einer was im Cache hat, was ein anderer überschrieben hat).

Branched Cache hat alle diese Nachteile nicht. Es müsste nur so konfiguriert sein, das es extrem schnell antwortet, damit keine unnötigen Latenzen auftreten.

Mir ist klar, das in einem 10 GBit Netzwerk das allein schon eine Herausforderung darstellt, wo doch ein solches Netzwerk recht flink antworten sollte. Aber gerade die Summe der Bandbreiten die hier laufen, machen ein lokales Caching sinnvoller denn je, damit die Bandbreiten für tatsächlich notwendigen Datenverkehr freigehalten werden.

QLogic z.B. gibt die Redzuierung der Zugriffe auf den Storage mit fast 90% an. Genau das sehe ich so hier auch, wenn wir "händisch" cachen und Daten in lokale SSD Caches umlagern (z.B. OCZ RevoDrive 3x2, 1 GByte/s schreiben, 1.5 GByte/s lesen).

Es würde mich sehr freuen, wenn jemand mit Erfahrung zu Branched Cache was dazu sagen kann!

Gruß,
Axel

Content-Key: 239768

Url: https://administrator.de/contentid/239768

Printed on: April 23, 2024 at 16:04 o'clock

Member: emeriks
emeriks Jun 02, 2014 at 12:04:14 (UTC)
Goto Top
Hi,
wenn ich mich nicht irre, dann kann man den Branch Cache nur auf Windows Server Systemen aktivieren, nicht auf Workstations. Wenn Du also mit Deinem Ansatz darauf setzen wolltest, dann müsste jeder betreffende Client ein Windows Server OS haben. Dann könnte man versuchen zu tricksen, in dem man die die Clients in einem anderen Subnet betreibt als die Server und im AD für das Client Subnet einen neuen AD-Standort anlegt. Ob das allein dann schon ausreicht, dass der lokale Branch Cache dann den Ursprungs-Server als "remote" ansieht und die Daten für "local" puffert, weiß ich nicht, das müsste man ausprobieren. Es wäre auch denkbar, dass da auch noch Leitungslatenzen gemessen und berücksichtigt werden.
Wenn man kein extra Client Subnet hat, dann könnte man auch für jeden Client einen eigenen Subnet-Einrag im AD anlegen (mit 32-Bit-Maske) und diese dann alle zu einem neuen Standort zusammenfassen. Sowas habe ich schonmal bei Schulungen gemacht, um Replikationslatenzen im AD zu provozieren.

E.
Member: AxelMertes
AxelMertes Jun 02, 2014 at 12:30:49 (UTC)
Goto Top
Nein, so kann das leider nicht sein.

Branched Cache gibt es bereits ab Windows 7 auch explizit auf Client Seite. Es gibt zwei Wege es zu nutzen:

1. Server Remote -> Lokale Clients mit jeweils Cache (sie tauschen untereinander Daten aus ihren Caches aus).
2. Server Remote -> Server/Client Lokal mit 1 Cache, alle anderen nutzen den Cache im lokalen Server/Client.

Es geht nur entweder/oder, nicht beide Modelle. Mir schwebt Variante 1 vor.

Dennoch Danke fürs mitdenken!

Gruß,
Axel
Member: emeriks
emeriks Jun 02, 2014 at 12:41:23 (UTC)
Goto Top
Zitat von @AxelMertes:
1. Server Remote -> Lokale Clients mit jeweils Cache (sie tauschen untereinander Daten aus ihren Caches aus).
2. Server Remote -> Server/Client Lokal mit 1 Cache, alle anderen nutzen den Cache im lokalen Server/Client.

Es geht nur entweder/oder, nicht beide Modelle. Mir schwebt Variante 1 vor.
OK.
Und wenn Du das dann mal so probierst, wie ich geschrieben habe, indem Du die Clients rein AD-technisch in einen anderen Standort verfrachtest?

E.
Member: AxelMertes
AxelMertes Jun 02, 2014 at 13:47:05 (UTC)
Goto Top
Das kann ich mal versuchen. Wird nicht ganz einfach da einen Testaufbau zu machen und daher etwas dauern...

Mit AD meinst Du Active Directory?
Nutzen wir eigentlich nicht, aber wenn es hilft, wäre es vielleicht einen Versuch wert.

Hat denn irgendwer vielleicht Branched Cache schon in Anwendung und könnte das nachstellen Daten von einem lokalen Server zu ziehen?
Das stelle ich mir so herum relativ einfach vor.

Es ist in der Tat interessant zu wissen, wonach Branched Cache entscheidet ob ein Server lokal oder remote ist. Der Adressraum dürfte ggf. in einem VPN sogar identisch sein dürfen. Wird die Latenz gemessen?
Wenn ja, wo ist der Schwellwert definiert und wie klein kann man den einstellen?
Oder wir einfach nur irgendwo beschrieben das der Server in Ganzweitweg ist, und die Clients alle hier?

Weiß jemand dazu näheres?

Gruß,
Axel
Member: Dani
Dani Jun 02, 2014 at 16:52:13 (UTC)
Goto Top
Hi Axel,
grundsätzlich brauchst du im RZ ein Gerät das Branch Cache versteht. Dazu eignet sich ein Windows Server 2008R2/2012/2012R2 bestens. Es gibt auch Storagehersteller die das in ihrem Betriebssystem verbaut habem. Wir nutzen es mit Netapp FAS-Systeme ohne Probleme. Wie der genaue Ablauf ist kannst du im Technet nachlesen.

Um es im LAN nutzbar zu machen, musst du die Latenz via GPO auf 0 heruntersetzen. Ich bin leider gerade unterwegs und kann dir den genauen Pfad nicht nachschauen. Damit sollte das Ganze im LAN funktionieren. Wichtig, nach Anwendung der GPO einen Neustart durchführen. Da haben wir schon verrückte Sachen im Lab erlebt.

Hat denn irgendwer vielleicht Branched Cache schon in Anwendung und könnte das nachstellen Daten von einem lokalen Server zu ziehen?
Ich bin leider untwegs... wir nutzen es ausschließlich für WAN-Strecken.


Grüße,
Dani
Member: AxelMertes
AxelMertes Jun 02, 2014 at 17:04:31 (UTC)
Goto Top
Hallo Dani,

das klingt schon mal sehr vielversprechend.
Das mit dem GPO sagt mir leider nichts, aber "Herabsetzen von Latenzen" scheint mir der richtige Ansatz zu sein. Fragt sich wie kurz die Latenzen in einem 10 GBit Netzwerk real sein müssen um schneller als der Server zu sein.

Wenn jemand das zufällig aus dem FF weiß wie und wo das mit dem GPO eingestellt wird, wäre ich für eine Info sehr dankbar.
Ich geh derweil mal auf die Suche, ob ich das selbst finde.

Vielen Dank schon mal!

Gruß,
Axel
Member: Dani
Dani Jun 02, 2014 updated at 17:10:50 (UTC)
Goto Top
GPO = Group Policy Object (Gruppenrichtlinie).

Ich habe zufällig noch etwas im Technet zur Konfiguration gefunden.
Die Latenz gibt an, ab wann BC die Datei zwischenspeichern soll. Darum "0" eintragen...


Grüße,
Dani
Mitglied: 108012
108012 Jun 02, 2014 at 17:10:21 (UTC)
Goto Top
Das mit dem GPO sagt mir leider nichts, aber "Herabsetzen von Latenzen"
scheint mir der richtige Ansatz zu sein.
- Gruppenrichtlinien
- Gruppenrichtlinien-Verwaltungskonsole
- Gruppenrichtlinien für Anfänger

Hier auch noch mal ein paar Links dazu aus dem TechNet dazu.


Gruß
Dobby
Member: AxelMertes
AxelMertes Jun 02, 2014 at 17:17:46 (UTC)
Goto Top
Danke!

Ich denke damit habe ich etwas Rüstzeug und kann das mal austesten. Bin gespannt obs geht.

Schönen Abend noch,

Axel
Member: marc-1303
marc-1303 Jul 30, 2014 at 05:35:26 (UTC)
Goto Top
Hallo AxelMertes

Gibt es schon Erfahrungswerte zur Anwendung von BranchCache allgemein und im LAN? oder gar im WAN?
Ich befasse mich aktuell auch mit der Einführung zwecks Anbindung von Clients an einem entfernten Standort.

Grüsse
Marc
Member: Dani
Dani Jul 30, 2014 at 07:23:05 (UTC)
Goto Top
Moin Marc,
bitte eröffne einen eigenen Thread. Hier geht es auschließlich um BC im LAN.


Gruß,
Dani
Member: marc-1303
marc-1303 Jul 30, 2014 at 07:54:46 (UTC)
Goto Top
Hallo Dani

Danke für die Hinweis. Das werde ich machen, aber erst nachdem ich mich ordentlich bei allen mir zur Verfügung stehenden Quellen informiert habe.
Ich will mir ja nicht einen Shitstorm einheimsen face-wink

Grüsse
Marc