Computer cluster


A Computercluster ist ein Satz von Computers Das arbeitet zusammen, damit sie als einzelnes System angesehen werden können. nicht wie Netzcomputer, Computercluster haben jeweils Knoten Eingestellt, um dieselbe Aufgabe auszuführen, die von Software gesteuert und geplant wird.
Die Komponenten eines Clusters sind normalerweise durch schnell miteinander verbunden lokale Netzwerke, mit jedem Knoten (Computer verwendet als Server) Ausführen einer eigenen Instanz von einem Betriebssystem. In den meisten Fällen verwenden alle Knoten dieselbe Hardware[1] und das gleiche Betriebssystem, wenn auch in einigen Setups (z. B. Verwendung Open Source -Cluster -Anwendungsressourcen (Oscar)) können verschiedene Betriebssysteme auf jedem Computer oder unterschiedliche Hardware verwendet werden.[2]
Cluster werden normalerweise bereitgestellt, um die Leistung und Verfügbarkeit über den eines einzelnen Computers zu verbessern, während sie normalerweise viel kostengünstiger sind als einzelne Computer mit vergleichbarer Geschwindigkeit oder Verfügbarkeit.[3]
Computercluster entstanden durch die Konvergenz einer Reihe von Computertrends, einschließlich der Verfügbarkeit kostengünstiger Mikroprozessoren, Hochgeschwindigkeitsnetzwerke und Software für leistungsstarke Leistung verteiltes Computer. Sie haben eine breite Palette an Anwendbarkeit und Einsatz, von kleinen Unternehmensclustern mit einer Handvoll Knoten bis zu einigen der schnellsten Supercomputer in der Welt wie z. IBMs Sequoia.[4] Vor dem Aufkommen von Clustern, einzelne Einheit Fehlertoleranz Mainframes mit Modulare Redundanz waren angestellt; Die niedrigeren Vorabkosten für Cluster und die erhöhte Geschwindigkeit der Netzwerkgewebe haben die Einführung von Clustern bevorzugt. Im Gegensatz zu hoher Zuverlässigkeits-Mainframes sind Cluster billiger, um zu skalieren, haben jedoch auch die Komplexität des Fehlerbehebung, da in den Clustern-Fehlermodi für laufende Programme nicht undurchsichtig sind.[5]
Grundlegendes Konzept

Der Wunsch, mehr Rechenleistung und bessere Zuverlässigkeit zu erhalten, indem eine Reihe von kostengünstigen Kosten orchestriert kommerzielle Off-the-Shelf Computer hat eine Vielzahl von Architekturen und Konfigurationen geführt.
Der Computer -Clustering -Ansatz verbindet normalerweise (aber nicht immer) eine Reihe leicht verfügbarer Computerknoten (z. lokales Netzwerk.[6] Die Aktivitäten der Computerknoten werden durch "Clustering Middleware" orchestriert, eine Softwareschicht, die auf den Knoten sitzt und es den Benutzern ermöglicht, den Cluster als nach und großer kohäsive Computereinheit zu behandeln, z. über ein Einzelsystembild Konzept.[6]
Computerclustering beruht auf einem zentralisierten Managementansatz, wodurch die Knoten als orchestrierte gemeinsame Server verfügbar sind. Es unterscheidet sich von anderen Ansätzen wie z. Peer-To-Peer oder Raster Computing die auch viele Knoten verwenden, aber mit viel mehr Verteilte Natur.[6]
Ein Computercluster kann ein einfaches Zwei-Knoten-System sein, das nur zwei PC-Computer verbindet oder sehr schnell ist Supercomputer. Ein grundlegender Ansatz zum Aufbau eines Clusters ist der von a Beowulf Cluster, der mit einigen PCs gebaut werden kann, um eine kostengünstige Alternative zu traditioneller zu erstellen High Performance Computing. Ein frühes Projekt, das die Lebensfähigkeit des Konzepts zeigte, war der 133-Knoten Stein Soupercomputer.[7] Die Entwickler verwendeten Linux, das Parallele virtuelle Maschine Toolkit und das Schnittstelle zur Nachrichtenübergabe Bibliothek, um hohe Leistung zu relativ niedrigen Kosten zu erzielen.[8]
Obwohl ein Cluster aus nur wenigen PCs bestehen kann, die von einem einfachen Netzwerk verbunden sind, kann die Clusterarchitektur auch verwendet werden, um ein sehr hohes Leistungsniveau zu erzielen. Das Top500 halbjährliche Liste der 500 am schnellsten Supercomputer Enthält oft viele Cluster, z. Die schnellste Maschine der Welt im Jahr 2011 war die K Computer was hat a Verteilter Speicher, Clusterarchitektur.[9]
Geschichte

Greg Pfister hat erklärt, dass Cluster von keinem bestimmten Anbieter erfunden wurden, sondern von Kunden, die nicht alle ihre Arbeiten an einem Computer passen konnten oder ein Backup benötigten.[10] PFISTER schätzt das Datum in den 1960er Jahren. Die formale technische Basis des Cluster -Computing als Mittel, um parallele Arbeit jeglicher Art zu erledigen, wurde wohl von erfunden Gene Amdahl von IBM, der 1967 veröffentlichte, was als wegweisendes Papier zur parallelen Verarbeitung angesehen wurde: Amdahls Gesetz.
Die Geschichte der frühen Computercluster ist mehr oder weniger direkt in die Geschichte der frühen Netzwerke verbunden, da eine der Hauptmotivationen für die Entwicklung eines Netzwerks darin bestand, Computerressourcen zu verknüpfen und einen De -facto -Computercluster zu erstellen.
Das erste als Cluster entwickelte Produktionssystem war die Burroughs B5700 Mitte der 1960er Jahre. Dies erlaubte bis zu vier Computer, jeweils entweder ein oder zwei Prozessoren, um eng an ein gemeinsames Speicherspeicher -Subsystem gekoppelt zu werden, um die Arbeitsbelastung zu verteilen. Im Gegensatz zu Standard -Multiprozessorsystemen kann jeder Computer neu gestartet werden, ohne den Gesamtbetrieb zu stören.
Das erste kommerzielle, lose gekoppelte Clustering -Produkt war DataPoint Corporation "Angehängter Ressourcencomputer" (ARC) -System, entwickelt 1977 und verwendet Arcnet als Cluster -Schnittstelle. Das Clustering per se startete erst dann bis zu Digital Equipment Corporation veröffentlichte ihre Vaxcluster Produkt im Jahr 1984 für die VMs Betriebssystem. Die Arc- und Vaxcluster -Produkte unterstützten nicht nur paralleles Computing, sondern auch gemeinsam Dateisysteme und peripher Geräte. Die Idee war, die Vorteile der parallele Verarbeitung zu bieten und gleichzeitig die Zuverlässigkeit und Einzigartigkeit der Daten zu erhalten. Zwei andere bemerkenswerte frühe Handelscluster waren die Tandem Himalayan (ein Produkt mit Hochverfügbarkeit von 1994) und die IBM S/390 Parallele Sysplex (Auch um ca. 1994, hauptsächlich für die geschäftliche Verwendung).
Innerhalb des gleichen Zeitrahmens, während Computercluster Parallelität außerhalb des Computers in einem Commodity -Netzwerk verwendeten. Supercomputer begann, sie innerhalb desselben Computers zu benutzen. Nach dem Erfolg der CDC 6600 1964 die Cray 1 wurde 1976 geliefert und über interne Parallelität eingeführt Vektorverarbeitung.[11] Während frühe Supercomputer Cluster ausschlossen und sich darauf verlassen konnten geteilte Erinnerungmit der Zeit einige der schnellsten Supercomputer (z. B. die K Computer) stützte sich auf Cluster -Architekturen.
Attribute von Clustern

Computercluster können für unterschiedliche Zwecke konfiguriert werden, die von den Geschäftsbedürfnissen der Allgemeinzwecke wie der Unterstützung von Web-Service bis hin zu rechnenintensiven wissenschaftlichen Berechnungen reichen. In beiden Fällen kann der Cluster a verwenden hohe Verfügbarkeit sich nähern. Beachten Sie, dass die nachstehend beschriebenen Attribute nicht exklusiv sind und ein "Computercluster" auch einen Ansatz mit hoher Verfügbarkeit usw. verwenden kann.
"Lastverteilung"Cluster sind Konfigurationen, in denen Cluster-Nodes die Berechnung der Workload teilen, um eine bessere Gesamtleistung zu erzielen. Beispielsweise kann ein Webserver-Cluster verschiedenen Knoten unterschiedliche Abfragen zuweisen, sodass die Gesamtantwortzeit optimiert wird.[12] Ansätze zum Lastausgleich können sich jedoch zwischen Anwendungen signifikant unterscheiden, z. Ein für wissenschaftlicher Berechnungen verwendetes Hochleistungscluster würde die Belastung mit verschiedenen Algorithmen eines Webserver-Cluster ausgleichen, die möglicherweise nur ein einfaches verwenden können Round-Robin-Methode durch Zuweisen jeder neuen Anforderung einem anderen Knoten.[12]
Computercluster werden eher für rechnerischintensive Zwecke als für die Handhabung verwendet IO-orientiert Vorgänge wie Webdienst oder Datenbanken.[13] Zum Beispiel könnte ein Computercluster unterstützen Computersimulationen von Fahrzeugunfällen oder Wetter. Sehr eng gekoppelte Computercluster sind für Arbeiten ausgelegt, die sich nähern können. "Supercomputing".
"Hochverfügbarkeitscluster" (auch bekannt als Failover Cluster oder HA -Cluster) verbessern die Verfügbarkeit des Cluster -Ansatzes. Sie arbeiten durch redundante Knoten, die dann verwendet werden, um Service zu bieten, wenn Systemkomponenten ausfallen. HA -Cluster -Implementierungen versuchen, die Redundanz von Clusterkomponenten zur Beseitigung zu verwenden Einzelpunkte des Versagens. Für viele Betriebssysteme gibt es kommerzielle Implementierungen von Clustern mit hoher Verfügbarkeit. Das Linux-ha Das Projekt wird häufig verwendet gratis Software HA -Paket für die Linux Betriebssystem.
Vorteile
Cluster sind hauptsächlich mit der Leistung ausgelegt, die Installationen basieren jedoch auf vielen anderen Faktoren. Fehlertoleranz (Die Fähigkeit, dass ein System weiterhin mit einem fehlerhaften Knoten arbeitet) gestattet Skalierbarkeitund in Hochleistungssituationen, niedrige Häufigkeit von Wartungsroutinen, Ressourcenkonsolidierung (z. ÜBERFALLEN) und zentrales Management. Zu den Vorteilen gehört, dass die Datenwiederherstellung im Falle einer Katastrophe aktiviert und parallele Datenverarbeitung und hohe Verarbeitungskapazität bereitgestellt wird.[14][15]
In Bezug auf die Skalierbarkeit bieten Cluster dies in ihrer Fähigkeit, Knoten horizontal hinzuzufügen. Dies bedeutet, dass dem Cluster mehr Computer hinzugefügt werden können, um seine Leistung, Redundanz und Fehlertoleranz zu verbessern. Dies kann eine kostengünstige Lösung für einen höhere Cluster im Vergleich zur Skalierung eines einzelnen Knotens im Cluster sein. Diese Eigenschaft von Computerclustern kann es ermöglichen, dass größere Rechenlast durch eine größere Anzahl von Computern mit niedrigerer Leistung ausgeführt werden.
Beim Hinzufügen eines neuen Knotens zu einem Cluster steigt die Zuverlässigkeit, da der gesamte Cluster nicht abgenommen werden muss. Ein einzelner Knoten kann zur Wartung abgenommen werden, während der Rest des Clusters die Last dieses einzelnen Knotens annimmt.
Wenn Sie eine große Anzahl von Computern miteinander zusammengetan haben, eignet sich dies für die Verwendung von verteilte Dateisysteme und ÜBERFALLENbeide können die Zuverlässigkeit und Geschwindigkeit eines Clusters erhöhen.
Design und Konfiguration

Eines der Probleme bei der Gestaltung eines Clusters ist, wie eng die einzelnen Knoten gekoppelt sind. Beispielsweise kann ein einzelner Computerjob häufig zwischen Knoten kommunizieren: Dies impliziert, dass der Cluster ein dediziertes Netzwerk teilt, dicht gelegen ist und wahrscheinlich homogene Knoten hat. Das andere Extrem ist der Ort, an dem ein Computerjob einen oder wenigen Knoten verwendet und nur wenig oder gar keine Kommunikation zwischen den Noten benötigt, um sich zu nähern Raster Computing.
In einem Beowulf ClusterDie Anwendungsprogramme sehen nie die Rechenknoten (auch Slave -Computer genannt), sondern interagieren nur mit dem "Master", der ein spezifischer Computer ist, der die Planung und Verwaltung der Sklaven bearbeitet.[13] In einer typischen Implementierung verfügt der Master über zwei Netzwerkschnittstellen, die mit dem privaten Beowulf -Netzwerk für die Sklaven kommuniziert, das andere für das Allzwecknetzwerk der Organisation.[13] Die Sklavencomputer verfügen normalerweise über eine eigene Version desselben Betriebssystems sowie den lokalen Speicher und Speicherplatz. Das private Sklavennetzwerk verfügt jedoch möglicherweise auch über einen großen und gemeinsam genutzten Dateiserver, der globale persistente Daten speichert, auf die die Sklaven bei Bedarf zugegriffen werden.[13]
Ein besonderer Zweck 144-Knoten Degima -Cluster wird auf astrophysikalische N-Körper-Simulationen mit dem Parallel-Treecode mit mehreren Walkern abgestimmt und nicht mit wissenschaftlichen Berechnungen für allgemeine Zwecke.[16]
Aufgrund der zunehmenden Rechenleistung jeder Generation von SpielekonsoleEs ist ein neuer Gebrauch aufgetreten, in dem sie umgewandelt werden High Performance Computing (HPC) Cluster. Einige Beispiele für Spielkonsolencluster sind Sony PlayStation Cluster und Microsoft Xbox Cluster. Ein weiteres Beispiel für Verbraucherspielprodukte ist das Nvidia Tesla Personal Supercomputer Workstation, die mehrere Grafikbeschleuniger -Prozessor -Chips verwendet. Neben Game-Konsolen können auch High-End-Grafikkarten verwendet werden. Die Verwendung von Grafikkarten (oder vielmehr deren GPUs) zur Durchführung von Berechnungen für das Grid -Computing ist weitaus wirtschaftlicher als die Verwendung von CPUs, obwohl sie weniger präzise sind. Wenn sie jedoch doppelte Präzisionswerte verwenden, werden sie genauso präzise, um mit CPUs zu arbeiten, und sind immer noch viel kostengünstiger (Kaufkosten).[2]
Computercluster sind historisch gesehen auf separatem physischen Laufen geführt Computers mit dem gleichen Betriebssystem. Mit dem Aufkommen von VirtualisierungDie Clusterknoten können auf separaten physischen Computern mit unterschiedlichen Betriebssystemen ausgeführt werden, die oben mit einer virtuellen Ebene gestrichen werden, um ähnlich auszusehen.[17][Klarstellung erforderlich] Der Cluster kann auch in verschiedenen Konfigurationen virtualisiert werden, wenn die Wartung stattfindet. Eine Beispielimplementierung ist Xen als Virtualisierungsmanager mit Linux-ha.[17]
Datenaustausch und Kommunikation
Datenübertragung
Wie in den 1980er Jahren die Computercluster erschienen, waren es auch Supercomputer. Eines der Elemente, die die drei Klassen zu dieser Zeit auszeichneten, war, dass sich die frühen Supercomputer angewiesen hatten geteilte Erinnerung. Bisher verwenden Cluster in der Regel kein physikalisch geteiltes Speicher, während viele Supercomputerarchitekturen ihn ebenfalls aufgegeben haben.
Die Verwendung von a jedoch Clustered Dateisystem ist wichtig für moderne Computercluster. Beispiele sind die IBM Allgemeines Parallel Dateisystem, Microsoft's Cluster Shared Volumes oder der Oracle Cluster -Dateisystem.
Nachrichtenübergang und Kommunikation
Zwei weit verbreitete Ansätze für die Kommunikation zwischen Clusterknoten sind MPI (Schnittstelle zur Nachrichtenübergabe) und PVM (Parallele virtuelle Maschine).[18]
PVM wurde am entwickelt Oak Ridge National Laboratory Um 1989 war MPI verfügbar. PVM muss direkt an jedem Clusterknoten installiert werden und bietet eine Reihe von Softwarebibliotheken, die den Knoten als "parallele virtuelle Maschine" malen. PVM bietet eine Laufzeitumgebung für Nachrichtenüberwachung, Aufgaben- und Ressourcenverwaltung sowie Fehlerbenachrichtigung. PVM kann von Benutzerprogrammen verwendet werden, die in C, C ++ oder FORTRAN usw. geschrieben wurden.[18][19]
MPI entstand Anfang der neunziger Jahre aus Diskussionen zwischen 40 Organisationen. Die anfänglichen Anstrengungen wurden von gestützt von ARPA und Nationale Wissenschaftsstiftung. Anstatt neu zu beginnen, stützte sich das Design von MPI auf verschiedene Funktionen, die in kommerziellen Systemen der Zeit erhältlich sind. Die MPI -Spezifikationen führten dann zu bestimmten Implementierungen. MPI -Implementierungen verwenden normalerweise TCP/IP und Sockelverbindungen.[18] MPI ist jetzt ein weit verbreitetes Kommunikationsmodell, mit dem parallele Programme in Sprachen wie z. B. geschrieben werden können C, Forran, Python, etc.[19] Im Gegensatz zu PVM, das eine konkrete Implementierung liefert, ist MPI eine Spezifikation, die in Systemen wie implementiert wurde Mpich und Offene MPI.[19][20]
Clustermanagement

Eine der Herausforderungen bei der Verwendung eines Computerclusters ist die Kosten für die Verwaltung, die manchmal so hoch sein können wie die Kosten für die Verwaltung von unabhängigen Maschinen, wenn der Cluster n Knoten hat.[21] In einigen Fällen bietet dies einen Vorteil für gemeinsame Gedächtnisarchitekturen mit niedrigeren Verwaltungskosten.[21] Dies hat auch gemacht virtuelle Maschinen Beliebt, aufgrund der Leichtigkeit der Verwaltung.[21]
Aufgabenplanung
Wenn ein großer Multi-Benutzer-Cluster auf sehr große Datenmengen zugreifen muss, Aufgabenplanung wird eine Herausforderung. In einem heterogenen CPU-GPU-Cluster mit einer komplexen Anwendungsumgebung hängt die Leistung jedes Jobs von den Eigenschaften des zugrunde liegenden Clusters ab. Daher bieten die Zuordnung von Aufgaben auf CPU -Kerne und GPU -Geräte erhebliche Herausforderungen.[22] Dies ist ein Bereich der laufenden Forschung; Algorithmen, die sich kombinieren und ausdehnen Karte verkleinern und Hadoop wurden vorgeschlagen und untersucht.[22]
Knotenausfallmanagement
Wenn ein Knoten in einem Cluster fehlschlägt, Strategien wie "wie"Fechten"Kann verwendet werden, um den Rest des Systems in Betrieb zu halten.[23][24] Zaun ist der Prozess des Isolierens eines Knotens oder des Schutzes der gemeinsamen Ressourcen, wenn ein Knoten fehlfunktioniert zu sein scheint. Es gibt zwei Klassen von Zaunmethoden; Einer deaktiviert einen Knoten selbst, und der andere macht den Zugriff auf Ressourcen wie gemeinsam genutzte Festplatten ab.[23]
Das Stonith Die Methode steht für "den anderen Knoten in den Kopf schießen", was bedeutet, dass der vermutete Knoten deaktiviert oder ausgeschaltet ist. Zum Beispiel, Kraftzäune Verwendet einen Power -Controller, um einen inoperablen Knoten auszuschalten.[23]
Das Ressourcenzäune Herangehensweise macht den Zugriff auf Ressourcen ab, ohne den Knoten abzuschalten. Dies kann beinhalten Persistierende Reservierungszäune über die Scsi3, Faserkanalzäune, um die zu deaktivieren Faserkanal Port, oder Globales Netzwerkblockgerät (GNBD) Fechten, um den Zugriff auf den GNBD -Server zu deaktivieren.
Softwareentwicklung und -verwaltung
Parallele Programmierung
Laden Sie Ausgleichscluster wie Webserver verwenden Cluster -Architekturen, um eine große Anzahl von Benutzern zu unterstützen Aufgabe Parallelität Ohne Multi-Knoten-Zusammenarbeit ist das Hauptziel des Systems den schnellen Benutzerzugriff auf gemeinsam genutzte Daten. "Computercluster", die komplexe Berechnungen für eine kleine Anzahl von Benutzern durchführen, müssen jedoch die parallelen Verarbeitungsfunktionen des Clusters und der Partition "dieselbe Berechnung" unter mehreren Knoten nutzen.[25]
Automatische Parallelisierung von Programmen bleibt eine technische Herausforderung, aber Parallele Programmiermodelle Kann verwendet werden, um eine höhere zu bewirken Grad der Parallelität über die gleichzeitige Ausführung verschiedener Teile eines Programms auf verschiedenen Prozessoren.[25][26]
Debuggen und Überwachung
Das Entwickeln und Debuggen paralleler Programme in einem Cluster erfordert parallele Sprachprimitive und geeignete Tools, wie sie von den diskutierten Hochleistungs -Debugging -Forum (HPDF), was zu den HPD -Spezifikationen führte.[19][27] Werkzeuge wie Totalview wurden dann entwickelt, um parallele Implementierungen auf Computerclustern zu debuggen, die verwenden Schnittstelle zur Nachrichtenübergabe (MPI) oder Parallele virtuelle Maschine (PVM) für die Übergabe von Nachrichten.
Das Universität von Kalifornien, Berkeley Netzwerk von Workstations (Jetzt) System sammelt Clusterdaten und speichert sie in einer Datenbank, während ein in Indien entwickeltes System wie Parmmon visuell Beobachtung und Verwaltung großer Cluster ermöglicht.[19]
Anwendungsprüfung Kann verwendet werden, um einen bestimmten Status des Systems wiederherzustellen, wenn ein Knoten während einer langen Multi-Knoten-Berechnung fehlschlägt.[28] Dies ist in großen Clustern von wesentlicher Bedeutung, da die Anzahl der Knoten zunimmt, ebenso wie die Wahrscheinlichkeit eines Knotenversagens bei schweren Rechenlasten. Checkpointing kann das System in einen stabilen Zustand wiederherstellen, damit die Verarbeitung fortgesetzt werden kann, ohne die Ergebnisse neu zu berechnen.[28]
Implementierungen
Die Linux -Welt unterstützt verschiedene Cluster -Software. Für Anwendungsclustering gibt es DistcC, und Mpich. Linux Virtual Server, Linux-ha - Direktorbasierte Cluster, mit denen eingehende Anfragen nach Diensten über mehrere Clusterknoten verteilt werden können. Mosix, Linuxpmi, Kerrighed, OpenSI sind ausgewachsene Cluster in die integriert Kernel Dies sorgt für eine automatische Prozessmigration zwischen homogenen Knoten. OpenSI, OpenMosix und Kerrighed sind Einzelsystembild Implementierungen.
Microsoft Windows Computer Cluster Server 2003 basierend auf der Windows Server Die Plattform bietet Stücke für Hochleistungs-Computing wie den Jobplaner, die MSMPI-Bibliotheks- und Management-Tools.
Glit ist eine Reihe von Middleware -Technologien, die von der erstellt wurden Ermöglichung von Gittern für E-Science (Egee) Projekt.
Schläge wird auch verwendet, um einige der größten Supercomputer -Cluster zu planen und zu verwalten (siehe Top500 -Liste).
Andere Ansätze
Obwohl die meisten Computercluster dauerhafte Vorrichtungen sind, Versuche Flash Mob Computing wurden gemacht, um kurzlebige Cluster für bestimmte Berechnungen zu erstellen. Jedoch größer Freiwilligen Computing Systeme wie BOINC-Basierte Systeme hatten mehr Anhänger.
Siehe auch
Grundlegendes Konzept Verteiltes Computer | Spezifische Systeme Computerfarmen |
Verweise
- ^ "Cluster vs Grid Computing". Paketüberfluss.
- ^ Bader, David; Pennington, Robert (Mai 2001). "Cluster Computing: Anwendungen". Georgia Tech College of Computing. Archiviert von das Original Am 2007-12-21. Abgerufen 2017-02-28.
- ^ "Nuclear Weapons Supercomputer reboims World Geschwindigkeitsrekord für uns". Der Telegraph. 18. Juni 2012. Archiviert vom Original am 2022-01-12. Abgerufen 18. Juni 2012.
- ^ Gray, Jim; Rueter, Andreas (1993). Transaktionsverarbeitung: Konzepte und Techniken. Morgan Kaufmann Publishers. ISBN 978-1558601901.
- ^ a b c Enokido, Tomoya; Barolli, Leonhard; Takizawa, Makoto (23. August 2007). Netzwerkbasierte Informationssysteme: Erste Internationale Konferenz, NBIS 2007. p. 375. ISBN 978-3-540-74572-3.
- ^ William W. Hargrove, Forrest M. Hoffman und Thomas Sterling (16. August 2001). "Der Do-it-yourself Supercomputer". Wissenschaftlicher Amerikaner. Vol. 265, Nr. 2. S. 72–79. Abgerufen 18. Oktober, 2011.
- ^ Hargrove, William W.; Hoffman, Forrest M. (1999). "Cluster Computing: Linux zum Extrem genommen". Linux Magazine. Archiviert von das Original am 18. Oktober 2011. Abgerufen 18. Oktober, 2011.
- ^ Yokokawa, Mitsuo; et al. (1.–3. August 2011). Der K-Computer: Japanische Supercomputerentwicklungsprojekt der nächsten Generation. Internationales Symposium über Elektronik und Design mit geringer Leistung (ISLPD). S. 371–372. doi:10.1109/iSlped.2011.5993668.
- ^ Pfister, Gregory (1998). Auf der Suche nach Clustern (2. Aufl.). Upper Saddle River, NJ: Prentice Hall PTR. p.36. ISBN 978-0-13-899709-0.
- ^ Hill, Mark Donald; Jouppi, Norman Paul; Sohi, Gurindar (1999). Lesungen in Computerarchitektur. S. 41–48. ISBN 978-1-55860-539-8.
- ^ a b Sloan, Joseph D. (2004). Hochleistungs -Linux -Cluster. ISBN 978-0-596-00570-2.
- ^ a b c d Daydé, Michel; Dongarra, Jack (2005). Hochleistungs -Computing für Computational Science - Vecpar 2004. S. 120–121. ISBN 978-3-540-25424-9.
- ^ "IBM Cluster -System: Vorteile". IBM. Archiviert von das Original am 29. April 2016. Abgerufen 8. September 2014.
- ^ "Bewertung der Vorteile des Clustering". Microsoft. 28. März 2003. archiviert von das Original am 22. April 2016. Abgerufen 8. September 2014.
- ^ Hamada, Tsuyoshi; et al. (2009). "Ein neuartiger Parallelalgorithmus mit mehreren Walkern für die Barnes-Hut-Treecode auf GPUs-für die kostengünstige, hohe Leistungs-N-Körper-Simulation". Informatik - Forschung und Entwicklung. 24 (1–2): 21–31. doi:10.1007/s00450-009-0089-1. S2CID 31071570.
- ^ a b Mauer, Ryan (12. Januar 2006). "Xen Virtualisierung und Linux -Clustering, Teil 1". Linux Journal. Abgerufen 2. Juni 2017.
- ^ a b c Milicchio, Franco; Gehrke, Wolfgang Alexander (2007). Verteilte Dienstleistungen mit OpenAFS: Für Unternehmen und Bildung. S. 339–341. ISBN 9783540366348.
- ^ a b c d e Prabhu, C.S.R. (2008). Raster- und Cluster -Computing. S. 109–112. ISBN 978-8120334281.
- ^ Gropp, William; Luk, Ewing; Skjellum, Anthony (1996). "Eine leistungsstarke, tragbare Implementierung der Schnittstelle zur Passion von MPI-Nachrichten". Parallele Computing. 22 (6): 789–828. Citeseerx 10.1.1.102.9485. doi:10.1016/0167-8191 (96) 00024-5.
- ^ a b c Patterson, David A.; Hennessy, John L. (2011). Computerorganisation und Design. S. 641–642. ISBN 978-0-12-374750-1.
- ^ a b K. Shirahata; et al. (30. November - 3. Dezember 2010). Hybrid-Karten-Aufgabenplanung für GPU-basierte heterogene Cluster. Cloud Computing Technology and Science (Cloudcom). S. 733–740. doi:10.1109/cloudcom.2010.55. ISBN 978-1-4244-9405-7.
- ^ a b c "Alan Robertson Ressourcenzäune mit Stonith" (PDF). IBM Linux Research Center, 2010. Archiviert von das Original (PDF) am 2021-01-05.
- ^ Vargas, Enrique; Bianco, Joseph; Deeths, David (2001). Sun Cluster -Umgebung: Sonnencluster 2.2. Prentice Hall Professional. p. 58. ISBN 9780130418708.
- ^ a b Aho, Alfred V.; Blum, Edward K. (2011). Informatik: Hardware, Software und Herz davon. S. 156–166. ISBN 978-1-4614-1167-3.
- ^ Rauber, Thomas; Rünger, Gudula (2010). Parallele Programmierung: Für Multicore- und Cluster -Systeme. S. 94–95. ISBN 978-3-642-04817-3.
- ^ Francioni, Joan M.; Pfannkuchen, Cherri M. (April 2000). "Ein Debugging-Standard für Hochleistungs-Computing". Wissenschaftliche Programmierung. Amsterdam, Niederlande: IOS Press. 8 (2): 95–108. doi:10.1155/2000/971291. ISSN 1058-9244.
- ^ a b Sloot, Peter, ed. (2003). Computerwissenschaft: ICCS 2003: Internationale Konferenz. S. 291–292. ISBN 3-540-40195-4.
Weitere Lektüre
- Baker, Mark; et al. (11. Januar 2001). "Cluster Computing White Paper". Arxiv:CS/0004014.
- Marcus, Evan; Stern, Hal (2000-02-14). Blaupausen für hohe Verfügbarkeit: Entwerfen von widerstandsfähigen verteilten Systemen. John Wiley & Sons. ISBN 978-0-471-35601-1.
- Pfister, Greg (1998). Auf der Suche nach Clustern. Prentice Hall. ISBN 978-0-13-899709-0.
- Buyya, Rajkumar, hrsg. (1999). Hochleistungscluster Computing: Architekturen und Systeme. Vol. 1. NJ, USA: Prentice Hall. ISBN 978-0-13-013784-5.
- Buyya, Rajkumar, hrsg. (1999). Hochleistungscluster Computing: Architekturen und Systeme. Vol. 2. NJ, USA: Prentice Hall. ISBN 978-0-13-013785-2.
Externe Links
- IEEE Technischer Ausschuss für skalierbares Computing (TCSC)
- Zuverlässige skalierbare Cluster -Technologie, IBM[Permanent Dead Link]
- Tivoli System Automatisierung Wiki
- Großer Clustermanagement bei Google with Borg, April 2015, von Abhishek Verma, Luis Pedrosa, Madhukar Korupolu, David Oppenheimer, Eric Tune und John Wilkes