Performance Windows 7 auf XEN Server Farm

sve

Registered User
Ich möchte auf mehreren physikalischen Servern möglichst mit XEN Server von Citrix eine Plattform für eine sehr performante Windows 7 Installation realisieren. Das MS OS soll somit EINMAL auf mehreren Servern laufen...generell machbar? Ich habe im Forum nichts gefunden, wer hat dazu Idenn und Anregungen?
 
Last edited by a moderator:
Nachtrag

Ich möchte meinen Wunsch noch etwas beeser erläutern. Als Basis dienen 3 bis 4 Server, eventuell mit 64 Bit. Diese sind über 2 mal 1Gbit NICs an einem GB Switch gebunden. Das ganze soll als Cluster dienen und mit einem Hypervisor zu einem Verbundgeschaltet werden. Darauf kommt dann eine 64 Bit Windows 7 Installation. Das Gast OS muß denken, es wäre eine Hardware. Die Hardware wird bei Ebay besorgt, eventuell F&S Primergy RX 200 oder 300 Reihe S1. Kennt jemand die maximale CPU Bestückung?
Ok, nun hoffe ich auf Ideen, Anregungen und Meinungen...
 
Das was du vor hast, ist IMHO aktuell technisch nicht möglich. Alle mir bekannten Virtualisierungslösungen zielen drauf ab, mehrere virtuelle Systeme auf einem oder mehreren physischen Hosts (mehr oder weniger automatisch) zu verteilen.
Das was du verlangst, kann man mit etwas technischem Aufwand für Kompiliervorgänge oder vorgegebene Mathematische Berechnungen anwenden. Aber für eine Windows Workstation wohl etwas unpraktisch. Zumal die Interprozesskommunikation dann über die Ethernet Schnittstellen laufen müsste. Selbst wenn man durch die reine Prozessorleistung theoretisch ein schnelleres System "bekommen" würde; so ist die Zeit die die Prozesse auf einander warten der Performancekiller schlecht hin.
Vergiss die Idee.

Wenn du uns verrätst, was eigentlich Ziel der Übung sein soll, können wir dir vielleicht Alternativen nennen.
 
Das ganze funktioniert, wenn du unter deine Virtualisierung einen High Performance Cluster (HPC) baust. Die mir bekannte Opensource-Lösung für HPC unterstützt allerdings nur KVM als Virtualisierung.
 
Flugsimulator auf mehreren Rechnern

Vielen Dank für eure ersten Antworten. Mein Zeil ist es auf der Gastmaschine MS Flugsimulator 2010 zu installieren. Weniger zum Spielen als vielmehr zum testen, insbesondere die Herausforderung der 3D Karte die in diesem Falle softwaretechnisch umgesetzt werden muß, ist sehr spannend, da bestimmt keine Virtualisierung eine gute 3D Karte mit allen Funktionen an das Gastsystem weiterreichen wird. Mein Ziel also ein sehr performantes Windows 7 OS. Vor ca. einem Jahr habe ich im Internet ähnliches entdeckt, finde aber bei Dr. Goo... nichts mehr. Ich werde KVM probieren und berichten. Bitte um mehr Ratschläge und Ideen...
 
mr_brain, und an welche Software denkst du dabei? ;)
Ich bezweifel immer noch, dass man eine Windows Workstation vernünftig in einem HPC zum laufen bekommt.

sve, KVM allein wird dir nichts nützen, denn das macht auch nur das, was ich vorher schon schrieb. :)
 
mr_brain, gibts speziell zu dem hier vorliegenden Variante Erfahrungswerte?

Ich hab mich da gerade mal etwas eingelesen. Soweit meine Erkenntnisse bisher reichen, kann Caos Linux auch nicht das, was hier gefordert wird.
Es kann zwar virtualisieren (KVM) und eine SSI Umgebung bereitstellen (nur für Linux!). Aber es kann keine einzelne KVM Instanz auf mehreren Nodes gleichzeitig betreiben. Weil es soweit ich bisher herauslesen konnte, nur komplette Prozesse zwischen den Nodes im HPC hin und her verschiebt. Die KVM Instanz ist für das Hostsystem aber nun mal nur ein einzelner Prozess.
Damit sind wir wieder bei dem Punkt, was ich vorhin schon ansprach: mehrere virtuelle Maschinen über mehrere Hosts (mehr oder weniger automatisch) verteilen ist kein Problem. Eine Instanz auf mehreren Hosts wäre aber IMHO unmöglich.

Selbst wenn der Host die Prozesse innerhalb der virtualisierten Instanz auf unterschiedliche Nodes verteilen könnte, hätten wir hier noch das Problem, dass wir von einer einzelnen Anwendung sprechen, welche definitiv nur auf einer Node ausgeführt würde.

So wie sich sve das also gedacht hat, wird es nicht funktionieren.

IMHO gab es mal eine Möglichkeit allein die Grafik Berechnungen auf andere Systeme zu verteilen. In wiefern das unter Windows funktionieren würde, weiß ich nicht. Aber wenn ich mich recht entsinne, betraf das auch nur die Teilung des Bildes in kleine Abschnitte, die Berechnung davon wurde ausgelagert und über den dort angeschlossenen Monitor ausgegeben. Man würde also nur die Bildfläche vergrößern. Wird sve auch nicht sonderlich viel nützen.

Wobei ich mich frage, was dort großartig zu rendern sein soll. Der Flugsimulator ist dafür ausgelegt, auf einzelnen Workstations zu funktionieren. Im normalfall sollte man hier doch mit entsprechenden Prozessoren, Ram und Grafikkarten (SLI/Crossfire) genügend Ressourcen bereitstellen können.
 
Perceus "Clustered virtualization: Using a clustered virtualization platform, VM’s are easily managed and scheduled at scale. The VM-capable VNFS capsules allow for even stateless virtualization and support KVM, Xen, and VMWare"
 
Ich glaub du hast mich falsch verstanden. Das es auch Windows virtualisieren kann, weiß ich. Aber die Cluster Infrastruktur (SSI) läuft innerhalb von Linux. Mit der ganz normalen alt-bekannten Struktur Prozessname, cmdline und PID.
Somit läuft auch der KVM Prozess (eine PID) innerhalb dieser Umgebung. Den Prozess (PID der einzelnen KVM Instanz, indem Fall des Windows 7 Systems, definitiv nur ein Prozess) kann er dank SSI recht problemlos zwischen den Nodes hin und her schieben. Aber einen einzelnen Prozess auf mehrere Nodes aufteilen?

Von den Windows Prozessen sieht das Linux SSI doch gar nichts.

Vielleicht kommt hier ja auch noch einer vorbei, der mit sowas schon mal wirklich praktische Erfahrung sammeln konnte. ;)
 
Nein aber es sieht so aus als waere es -wie auch die bereits vorhin angegebene Loesungen- ausschliesslich auf Linux ausgerichtet. Eine virtuelle Windows-Machine ist ein Prozess im Hostsystem und kann somit nicht die Leistung auf mehrere Nodes "mal einfach so" aufteilen.

Ich verstehe deine Anforderungen nicht ganz... auf der einen Seite weisst du dass Software-Rendering SEHR viel CPU fressen wird, auf der anderen sprichst du von einem sehr leistungsfaehigen Rechner.
da bestimmt keine Virtualisierung eine gute 3D Karte mit allen Funktionen an das Gastsystem weiterreichen wird.
Afaik unterstuetzt KVM PCI(e)-Passthrough und kann somit die volle Schnittstelle zur Verfuegung stellen. Wieso muss ueberhaupt virtualisiert werden?
 
Da fällt mir aber ein Stein vom Herzen! Wenn es bei KVM ein Passthrough gibt, erspart man sich natürlich das Softwarerendering. Erstmal vielen Dank an alle für die Links, insbesondere der Hinweis auf Windows HPC Server ist sehr interessant.

@d4f Der Sinn dieses Aufbaus ist leicht erklärt : Einen performanten Server oder High End Spiele PC ist leicht gekauft: Man geht los, zieht 2000 € vom Konto und besorgt sich dafür die neuste Hardware und schon kann es losgehen. Mir zu langweilig...
Für ein Viertel des Geldes gebrauchte Hardware bei Ebay schiessen und trotzdem anspruchsvolle Software ( wie eben der MS Flugsimulator 2010 ) benutzen können, das ist für mich die Kür...OK, wenn Lautstärke ein Thema ist oder gar Stromverbrauch, dann kann ich natürlich nicht glänzen ;-)...aber wenn der neuste Spiele PC nach einem Jahr nicht mehr aufzurüsten ist, weil die Hardware sich halbjährlich "neu erfindet", dann gibts bei mir einen neuen alten Server bei Ebay für schlappe 80 € und der Cluster wird einfach erweitert. :D
 
Cluster koennen nur jeweils getrennte Prozesse (paralleles Rechnen) beschleunigen, Computerspiele haben in aller Regel maximal 3 Threads (Engine, AI, User-Interface/Grafik) welche zudem eine SEHR gute Kommunikation aneinander brauchen.
Bei wissenschaftlichen Berechnungen kann ein Kern mal paar Millisekunden auf einen anderen Warten, bei Spielen waere das ein No-Go.

80Euro/Rechner? Fuer diesen Preis erhaelst du nicht viel brauchbares...
Wahrscheinlich muesste ein Cluster nur um ohne Overhead, Latenz, ... gleiche BogoMIPS liefern zu koennen 50 Machinen oder mehr umfassen, die Systeme welche ich sah waren allesamt alte Pentium3... (Also 4000Euro)

Wenn du alles mit einbeziehst wird eine Neuanschaffung (zirka 800 Euro, weit weg von den genannten 2000 fuer ein brauchbares "Gaming"-System) mit gelegentlichen Ergaenzungen/Upgrades nicht soo teuer.

Auf meinem ueber 2 Jahre alten nicht-zu-teuer Laptop kann ich Dead Space II auf 1680x1050 mit hoher Grafikeinstellung spielen...

(Das ganze basiert jetzt auf der Annahme dass es moeglich WAERE, afaik ist es aber zumindest fuer Windows und Computerspiele NICHT moeglich und wuerde imho aus den oben genannten Gruenden keinen Sinn machen)
 
Danke d4f für Deine Überlegungen...ok, mit 80 € mein ich z.B. F&S RX300 S2 mit 64 Bit Option, 4 GB RAM, SCSI Festplatten ca. 150 GB und 2 x 1GB LAN bei Ebay...davon 6,einen performanten Storageserver und GB Switch...
Ich bin nicht so tief in der Materie, als das ich Deine technischen Bedenken beurteilen kann, deshalb nehm ich es erstmal als gegeben hin, leider...
Jedoch werde ich trotzdem weitermachen, ich will einen Hypervisor für mehrere Maschinen finden...mir gehts dabei mehr um das Probieren...zudem finde ich bei Google kaum etwas zu diesem Thema, was die Sache umsomehr reizvoller macht. Pioniergeist? Vielleicht...
Klar gibts Notebooks älterer Bauart, die in so manchen 3D Spielen glänzen können, ehrlich gesagt kenn ich nur den Flugsimulator als "Spiel", bin kein Zocker...ein persönlicher Cluster mit Thinclient zuhause aber reizt mich. Sollte es gelingen denke ich schon an eine Wasserkühlung lol
 
Die Verwendung von zahlreichen Rechnerknoten macht nur bei hochgradig parallelisierbaren Berechnungen Sinn (Siehe HPC Computing, Jugene, etc.). Dort ist die Berechnungsgeschwindigkeit in der Tat korreliert mit der Zahl an Kernen, die dafür verwendet werden. Allerdings müssen die Berechnungen dafür speziell auf Parallelisierbarkeit und das spezielle Cluster OS angepasst werden.

Spiele sind aber:
- wenig parallelisierbar
- nicht auf eine sehr große Anzahl von Knoten angepasst (man wird max. von 2-4 Kernen ausgehen)
- unter Windows nicht auf dem richtigen OS
- mit DirectX auf einer Technologie programmiert, die gleichfalls nicht auf massiv parallelisierbare Prozesse abgestimmt ist

Die beste Variante ist da noch, per NVidia SLI bzw ATI Crossfire die Grafikperformance zu erhöhen. In entsprechende Grafikkartenlösungen zu investieren ist davon abgesehen günstiger und energieeffizienter als das was Du vorher so genannt hast.

Virtualisierung wird hier nichts bringen, außer, dass man mit KVM vielleicht auf einer ordentlichen 3D Karte unter Linux eine Windows VM betreiben kann auf der das Spiel dann läuft. Performanceverlust wird man damit aber wohl in Kauf nehmen müssen.
 
Jedoch werde ich trotzdem weitermachen, ich will einen Hypervisor für mehrere Maschinen finden...
Das ist nun aber eine vollkommen andere Anforderung als ursprünglich in diesem Thread. Im gegensatz zu der vorhergehenden, lässt sich diese mit gutem Gewissen schnell und einfach beantworten: Alle, egal ob VMware, Xen, KVM, Virtuozzo, OpenVZ, Virtualbox oder wie sie nicht alle heißen, können das. ;)

Edit:
Oder meinst du mit "Machinen" wieder die Hostsysteme? Das kannst du wiederrum vergessen. Ein Hypervisor läuft auf einer Hardware. Punkt. Es gibt diverse Migrationsmöglichkeiten zwischen diesen und Möglichkeiten für Shared-Storage. Ändert aber nichts am Grundgedanken.
 
Last edited by a moderator:
Back
Top