Frage

Ich arbeite für eine große Firma, die eine Los läuft von x86-basierten Server, auf denen wir JVMs laufen.

Wir haben erfolgreich mit VMWare ESX experimentierten eine bessere Nutzung aus unserem Rechenzentrum zu erhalten. Aber dieses verbrauchen immer noch eine Menge Energie pro Verarbeitungseinheit.

Ich hatte eine tolle Idee, dass wir Großrechner auferstehen sollten wir entweder viel JVMs oder virtuelle Maschinen hosten kann.

Hat jemand versucht das? Gibt es guten Kosten-Nutzen?

Verlieren Sie Flexibilität? Z.B. wir haben Großrechner in anderen Teilen der Gesellschaft, aber sie scheinen viel steifer Nutzung der Maschinen .. viele Änderungssteuerung, lange Vorlaufzeiten etc

haben
War es hilfreich?

Lösung

All dies setzt voraus, Sie sprechen über Java auf Z / OS und Linux VMs nicht auf dem Mainframe laufen Vorteil der Kosteneinsparungen zu nehmen, die mit weniger Maschinen kommen.

Meine Gedanken auf die Virtualisierung sind am Ende dieses und es ist wahrscheinlich die Route, die Sie wollen, zu betrachten, aber ich werde mit Z / OS beginnen, da es ist, was Großrechner traditionell zugeordnet sind, und was ich habe Vertrautheit mit. Ich habe einige Erfahrung mit Mainframe-Java.

Die kurze Antwort ist, es hängt, aber wahrscheinlich nicht. Was genau sind Ihre Anwendungen? Der Mainframe ist ein schwieriges Umfeld im Vergleich zu x86-Servern. Wenn Sie mit I / O-intensive Workloads unter so etwas wie Websphere, könnte es sich lohnen, vorausgesetzt, Ihr Mainframe nicht ausgelastet ist.

Nach meiner Erfahrung Java ist schrecklich langsam auf einem Mainframe, aber das ist, weil das System habe ich eingestellt wurde für Entwickler Flexibilität, anstatt Leistung. Das geht nur Performance-Tuning zu beweisen, auf dem Mainframe in der Regel sehr viel komplizierter ist dann auf einem durchschnittlichen Server seit Großrechner viele mehr Workloads dann ein allgemeiner x86-Server ausgeführt wird.

Beachten Sie, dass der Mainframe in erster Linie für die I / O-Durchsatz ausgelegt und kann jeden normalen x86-Server an, dass übertreffen. Es wurde nicht entwickelt, um eine Menge von rechenintensiven Berechnungen zu tun, so wird eine kleine Gruppe von x86-Servern nicht übertreffen, wenn Ihr eine Menge Mathematik zu tun.

Die Änderung Kontrollen auf Großrechner gibt es einen guten Grund - wenn ein x86-Server ein Problem hat, können Sie es neu starten. Wenn ein Mainframe ein Problem hat, ist jede Sekunde, dass es nach unten das Unternehmen Geld kostet. Sie müssen auch berücksichtigen alle nativen Code Ihrer Anwendungen abhängen oder Bibliotheken von Drittanbietern, die nativen Code verwenden. Alles, was Code müßte portiert werden.

Konfiguration eines Mainframe dauert auch viel länger im Durchschnitt dann auf einem x86-Server. Ich würde vorschlagen, dass, wenn Sie ernsthaft in aussehen wollen, können Sie eine bessere Business Case als Energieeinsparungen machen, wie eine enge Integration mit aktuellen Business-Anwendungen und beginnen kleine entweder mit einem Proof of Concept oder eine neue Anwendung. Eine, die nicht geschäftskritisch ist, kann man erkennen, die Vorteile der Mainframe Stärken nehmen umgesetzt werden.

IBM-Mainframes können auch Linux laufen entweder im nativen Modus oder einer virtualisierten Umgebung ähnlich wie VMWare. Es sei denn, Ihr Unternehmen die Ausnahme von der Regel ist, würden Ihre Linux-Instanzen als virtuelle Maschinen laufen. Ich habe nicht viel Erfahrung mit diesem hatte aber, wenn Ihre Anwendung auf keinen nativen Code abhängig und läuft unter Linux, wäre es wahrscheinlich auf einem Mainframe arbeiten mit Linux. Für weitere Informationen über Linux auf Großrechnern finden Sie unter diesen Link .

Andere Tipps

IBM macht einen speziellen Java-Koprozessor, die Sie ernsthaft in Erwägung ziehen sollten. Ich würde nicht Java auf den allgemeinen Motoren laufen, da dies für lizenzierte Software MPU Gebühren erhöhen.

Wir haben umfangreiche Erfahrung Ausführen von Java unter Windows, Linux und auf IBM SystemI (oder iSeries oder AS / 400, abhängig von IBMs Stimmung in diesem Jahr) Minicomputer. Es ist meine Meinung, dass die Mini-Computer-Plattform viel weniger für Ihr Geld gegen modernen Multi-Core-x86-CPUs zu liefern scheint.

Beachten Sie, dass Java leichter zugute kommt heute mehrere Kerne aus, die zur Verfügung als typische Software, wegen seiner von Natur aus multithreaded Natur -. Dies noch mehr sein würde wahr, wie Sie mehrere JVMs laufen

Das heißt, Sie typischerweise in der Lage sein wird, viele mehr CPU-Kerne immer zur Verfügung mit einer besseren Bandbreite Speicher zuzugreifen auf einem Mini oder Mainframe, und einen besseren Durchsatz auf Disk-Subsysteme (insgesamt) so können diese Systeme sehr gut skalieren viel besser als Sie werfen mehr JVMs auf sie.

IBM ermöglicht dies. Einige ihrer Mainframes können Java-Beschleuniger-Prozessoren enthalten, die den Bytecode nativ für mehr Leistung laufen. Sie haben auch DB2-Beschleuniger und möglicherweise einige für XML-Operationen.

Ich habe noch nie mit einem von ihnen zu spielen bekommen, aber ich würde sicher gerne.

Obwohl ich seit 1975 in der Industrie bin, bin ich nicht mehr sicher, was ein „Mainframe“ ist. Meine aktuelle Entwicklungsmaschine hat vier 3GHZ Prozessoren darin, 8 GB RAM und 750 GB Festplattenspeicher (RAID 1, so ist es wirklich doppelt so hoch) und zwei 19-Zoll-Flachbildschirme.

Das ist, weil ich dort auf einem Vertrag bin. Die Mitarbeiter haben alle viel mächtiger Boxen als meine.

Ich verstehe, dass die Server-Maschinen, vor allem der Datenbankserver, sind viel schneller.

Mainframe?

Je nach Ihr Workload dies lohnt einen Blick auf!

Es gibt eine verwirrende Anzahl von Möglichkeiten, die Sie nur die IBM Hardware mit:

  1. Das auf jeden Fall lohnt sich die Add-On Java Prozessoren berücksichtigen. (Diese sind nicht wirklich, dass andere Form der Standard-CPUs sein gerade sie sind beschränkt auf java jvm Workloads - und - was am wichtigsten ist ausgeschlossen sind aus CPU-basierte Software-Lizenz-Pricing).

  2. Sie können multple Linux VMs jede ruuning thier eigene Java-Anwendung ausgeführt werden.

  3. Sie können mehrere native VMs thier minimalistischen Betriebssystem laufen verwendet genannt DOS werden, aber sie den Namen all paar Jahre ändern. Die Software-Lizenzen sind billiger als das Hauptbetriebssystem, aber es hat sehr begrenzt Funktionalität, die erweist sich als ein Vorteil sein, wenn Sie selbst ausführen enthalten Anwendungen.

  4. Sie können in dem Monster z / OS-Umgebung ausgeführt werden entweder: -

a. Innerhalb USS (Unix System Services), die ist so ziemlich eine vollständige UNIX       OS innerhalb des übergeordneten z / OS ausgeführt wird.

b. Führen Sie Ihre Java-Anwendung in einer eigenen gestarteten Task (== Unix-Daemon).

c. Führen Sie Ihre Anwendung innerhalb CICS.       (Wahrscheinlich nicht, wie Sie CICS / Java API verwenden müssen, wo würden Sie        normalerweise verwendet Servlet / J2EE APIs, so dass Sie App ein Umschreiben erforderlich machen würden.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top