Hilfreiche Ratschläge

Netzwerke für Supercomputer

Pin
Send
Share
Send
Send


Distributed Computing ist ein Weg, um zu einigen interessanten Projekten beizutragen. Wenn Ihr Computer inaktiv ist, teilen Sie seine Leistung mit dem SETI-Projekt, das nach außerirdischen Zivilisationen sucht. In diesem Fall analysiert Ihr Computer Satellitendaten und Informationen, die von Teleskopen empfangen wurden.

Dieser Artikel hilft Ihnen bei der Teilnahme an Projekten (z. B. SETI) mit verteiltem Computing. Der Artikel führt Sie auch in BOINC ein, eine verteilte Computersoftware.

Du brauchst einen Computer. Wenn Sie bereits eine haben, gehen Sie zum Abschnitt Quellen und Links und installieren Sie die BOINC-Software. Wenn Sie sich nicht für das SETI-Projekt interessieren, finden Sie nachfolgend eine Liste weiterer Projekte.

Wenn viel Geld

Unabhängig davon stellen wir die extrem teure, aber produktive Reihe von Prozessoren am Intel Xeon LGA1567-Sockel fest.
Der Top-Prozessor dieser Serie ist der E7-8870 mit zehn 2,4-GHz-Kernen. Der Preis beträgt $ 4616. Für solche CPUs veröffentlichen HP und Supermicro! Acht-Prozessor! Servergehäuse. Acht Xeon E7-8870-Prozessoren mit 10 Kernen und 2,4 GHz und HyperThreading-Unterstützung 8 * 10 * 2 = 160 Threads, die im Windows Task-Manager als einhundertsechzig Diagramme der Prozessorauslastung (Matrix 10 x 16) angezeigt werden.

Damit acht Prozessoren in das Gehäuse passen, werden sie nicht sofort auf die Hauptplatine gelegt, sondern auf separate Platinen, die in die Hauptplatine passen. Das Foto zeigt vier Motherboards mit auf dem Motherboard installierten Prozessoren (jeweils zwei). Dies ist eine Supermicro-Lösung. In der HP-Lösung verfügt jeder Prozessor über eine eigene Karte. Die Kosten für eine HP Lösung betragen zwei bis drei Millionen, abhängig von der Anzahl der Prozessoren, des Arbeitsspeichers und mehr. Das Supermicro-Chassis kostet 10.000 US-Dollar, was attraktiver ist. Darüber hinaus kann Supermicro vier Coprozessor-Erweiterungskarten in die PCI-Express x16-Ports stecken (übrigens wird noch Platz für einen Infiniband-Adapter sein, um einen Cluster von diesen zusammenzustellen), aber nur zwei in HP. Um einen Supercomputer zu schaffen, ist eine Plattform mit acht Prozessoren von Supermicro attraktiver. Das folgende Foto aus der Ausstellung zeigt den kompletten Supercomputer mit vier GPU-Boards.

Es ist jedoch sehr teuer.

Kommunikationsnetzwerke

Die Effektivität eines Supercomputers in vielen Anwendungen wird maßgeblich durch das Arbeitsprofil mit Speicher und Netzwerk bestimmt. Das Profil der Arbeit mit dem Speicher wird normalerweise durch die räumlich-zeitliche Lokalisierung von Anrufen beschrieben - durch die Größe der Anrufe und die Streuung ihrer Adressen, und das Profil der Arbeit mit dem Netzwerk wird durch die Verteilung der Knoten, mit denen Nachrichten ausgetauscht werden, die Austauschrate und die Nachrichtengrößen beschrieben.

Die Leistung eines Supercomputers bei Aufgaben mit intensivem Datenaustausch zwischen Knoten (Modellierungsprobleme, Probleme in Diagrammen und unregelmäßigen Gittern, Berechnungen mit dünnen Matrizen) wird hauptsächlich von der Netzwerkleistung bestimmt, sodass die Verwendung herkömmlicher kommerzieller Lösungen (z. B. Gigabit-Ethernet) äußerst ineffizient ist. Ein echtes Netzwerk ist jedoch immer eine Kompromisslösung, bei deren Entwicklung Prioritäten zwischen Preis, Leistung, Energieverbrauch und anderen Anforderungen gesetzt werden, die sich weitgehend widersprechen: Versuche, eine Eigenschaft zu verbessern, können zu einer Verschlechterung der anderen führen.

Ein Kommunikationsnetz besteht aus Knoten, von denen jeder über einen Netzwerkadapter mit einem oder mehreren Routern verbunden ist, die wiederum über Hochgeschwindigkeitskommunikationskanäle (Links) miteinander verbunden sind.

Abb. 1. Topologie 4D-Torus (3x3x3x3)

Die Netzwerkstruktur, die bestimmt, wie genau die Knoten des Systems miteinander verbunden sind, wird durch die Netzwerktopologie (normalerweise ein Gitter, ein Torus oder ein dicker Baum) und eine Reihe von Strukturparametern bestimmt: die Anzahl der Messungen, die Anzahl der Baumebenen, die Abmessungen der Torusseiten, die Anzahl der Switches auf Baumebenen, die Anzahl der Netzwerkknoten Ports auf Routern usw. Abbildung 1 zeigt ein Beispiel für die Topologie eines vierdimensionalen Torus 3x3x3x3.

Die Architektur des Routers bestimmt die Struktur und Funktionalität der Blöcke, die für die Datenübertragung zwischen Netzwerkknoten verantwortlich sind, sowie die erforderlichen Eigenschaften der Protokolle der Kanal-, Netzwerk- und Transportschicht, einschließlich Routing-, Arbitrierungs- und Datenflusssteuerungsalgorithmen. Die Architektur des Netzwerkadapters bestimmt die Struktur und Funktionalität der Blöcke, die für die Interaktion zwischen Prozessor, Speicher und Netzwerk verantwortlich sind. Insbesondere werden MPI-Operationen auf dieser Ebene unterstützt: RDMA (Remote Direct Memory Access - direkter Zugriff auf den Speicher eines anderen Knotens ohne Beteiligung seines Prozessors). Empfangsbestätigungen bei einem anderen Knoten des Pakets, Behandlung von Ausnahmesituationen, Aggregation von Paketen.

Um die Leistung eines Kommunikationsnetzwerks zu bewerten, werden am häufigsten drei Merkmale verwendet: Bandbreite (übertragene Datenmenge pro Zeiteinheit), Kommunikationsverzögerung (Datenübertragungszeit über das Netzwerk), Nachrichtentempo (In der Regel wird die Zustellrate beim Senden, Empfangen und Senden von Paketen zwischen den internen Einheiten des Routers separat berücksichtigt.)

Der Vollständigkeit halber werden diese Eigenschaften für verschiedene Arten von Verkehr gemessen, beispielsweise wenn ein Knoten Daten an alle anderen sendet oder umgekehrt alle Knoten Daten an einen senden oder wenn alle Knoten Daten an zufällige Ziele senden. Funktionalitätsanforderungen werden an moderne Netzwerke gestellt:

  • effektive Implementierung der Shmem-Bibliothek als Option zur Unterstützung des Einweg-Kommunikationsmodells und von GASNet, auf dem die Implementierung vieler PGAS-Sprachen basiert,
  • effiziente Implementierung von MPI (normalerweise erfordert dies eine effektive Unterstützung des Mechanismus von Ringpuffern und Bestätigungen für empfangene Pakete),
  • effektive Unterstützung für kollektive Operationen: Broadcasting (gleichzeitiges Senden der gleichen Daten an viele Knoten), Reduktion (Anwenden einer binären Operation, zum Beispiel Addition der von verschiedenen Knoten empfangenen Werte), Verteilen von Array-Elementen über die Gruppe von Knoten (Streuung), Zusammensetzen eines Array von Elementen, befindet sich an verschiedenen Knoten (sammeln),
  • Effektive Unterstützung für Synchronisationsoperationen zwischen Knoten (zumindest Barrier-Synchronisation), effektive Interaktion mit einem Netzwerk einer großen Anzahl von Prozessen auf einem Knoten und Gewährleistung einer zuverlässigen Paketlieferung.

Wichtig ist auch eine effektive Unterstützung der Arbeit des Adapters mit dem Arbeitsspeicher des Hosts, ohne dass ein Prozessor beteiligt ist.

Ausländische Hochgeschwindigkeitsnetze

Alle Kommunikationsnetze können in zwei Klassen unterteilt werden: kommerzielle und kundenspezifische Netze, die als Teil von Computersystemen entwickelt wurden und nur bei ihnen verfügbar sind. Unter den kommerziellen Netzwerken ist der Markt zwischen InfiniBand und Ethernet aufgeteilt - in der Top500-Liste (Juni 2011) verwenden 42% der Systeme InfiniBand und 45% Gigabit-Ethernet. Wenn sich InfiniBand auf das Segment der Hochleistungssysteme konzentriert, die für komplexe Rechenaufgaben mit einer großen Anzahl von Kommunikationen ausgelegt sind, besetzt Ethernet traditionell eine Nische, in der der Datenaustausch zwischen Knoten unkritisch ist. In Supercomputern wird das Ethernet-Netzwerk aufgrund seiner geringen Kosten und Verfügbarkeit häufig als Hilfsdienstnetzwerk verwendet, um die Störung des Steuerverkehrs und des Aufgabenverkehrs zu verringern.

Das Inifiniband-Netzwerk konzentrierte sich ursprünglich auf Konfigurationen mit der Fat-Tree-Topologie, aber die neuesten Versionen von Switches und Routern (hauptsächlich von QLogic hergestellt) unterstützen die mehrdimensionale Torustopologie (unter Verwendung der Torus-2QoS-Routing-Engine) sowie eine Hybridtopologie aus dem 3D-Torus und fetter Baum. Der Sandia RedSky-Supercomputer, der Anfang 2010 zusammengebaut wurde und nun auf Platz 16 der Top500-Liste steht, ist eines der ersten Großprojekte mit dem InfiniBand-Netzwerk und dem Topologie-3D-Torus (6 x 6 x 8). Außerdem wird der effektiven Unterstützung von RDMA-Vorgängen und der Shmem-Bibliothek (insbesondere Qlogic Shmem) große Aufmerksamkeit geschenkt.

Die Popularität von InfiniBand ist auf die relativ geringen Kosten, das entwickelte Software-Ökosystem und die effektive Unterstützung von MPI zurückzuführen. InfiniBand hat jedoch seine Nachteile: eine geringe Nachrichtenübertragungsrate (40 Millionen Nachrichten pro Sekunde in den neuesten Lösungen von Mellanox), eine geringe Übertragungseffizienz bei kurzen Paketen, eine relativ große Verzögerung (mehr als 1,5 μs für Übertragungen von Knoten zu Knoten und zusätzliche 0,1 μs für Übertragungen von Knoten zu Knoten. 0,5 μs pro Transitknoten), schwache Unterstützung für die Toroid-Topologie. Generell kann behauptet werden, dass InfiniBand ein Produkt für den Massenanwender ist und bei seiner Entwicklung ein Kompromiss zwischen Effizienz und Vielseitigkeit eingegangen wurde.

Zu erwähnen ist auch das Netzwerk Extoll, das zur Markteinführung vorbereitet wird - die Entwicklung der Universität Heidelberg unter der Leitung von Professor Ulrich Bruening. Das Hauptaugenmerk bei der Entwicklung dieses Netzwerks liegt auf der Minimierung von Verzögerungen und der Erhöhung der Zustellrate bei der Einwegkommunikation. Es ist geplant, dass Extoll über eine 3D-Torustopologie verfügt und optische Verbindungen mit einer Bandbreite von 10 Gbit / s pro Spur (serieller Datenübertragungskanal innerhalb der Verbindung) und einer Breite von 12 Spuren pro Verbindung verwendet. Jetzt gibt es Prototypen des Extoll-Netzwerks auf FPGA: R1 - basierend auf Virtex4, R2 Ventoux - ein Layout mit zwei Knoten basierend auf Virtex6. Die Einweg-Bandbreite pro Verbindung beträgt 600 MB / s (für R1). Außerdem werden zwei Schnittstellen (HyperTransport 3.0 und PCI Express gen3) mit einem Prozessor unterstützt, über die dieses Netzwerk in Intel- und AMD-Plattformen integriert werden kann. Extoll unterstützt verschiedene Arten der Organisation von Einwegdatensätzen, eine eigene MMU (Memory Management Unit, ein Übersetzungsblock für virtuelle Adressen in physikalische Adressen) und atomare Operationen.

Im Gegensatz zu kommerziellen Netzwerken nehmen benutzerdefinierte Netzwerke einen viel geringeren Marktanteil ein, sie werden jedoch in den leistungsstärksten Supercomputern von Cray, IBM, SGI, Fujitsu, NEC und Bull verwendet. Beim Entwerfen von benutzerdefinierten Netzwerken haben Entwickler mehr Freiheit und versuchen, aufgrund der geringeren Bedeutung der Marktattraktivität des Endprodukts progressivere Ansätze zu verwenden, um in erster Linie das Problem zu lösen, eine maximale Leistung für eine bestimmte Aufgabenklasse zu erzielen.

Der Supercomputer K Computer verwendet ein proprietäres Tofu-Kommunikationsnetz (TOrus FUsion), ein skalierbarer 3D-Torus, dessen Knoten Gruppen von 12 Knoten enthalten (Knotengruppen sind durch 12 Netzwerke mit einem 3D-Torus verbunden, und jeder Knoten aus dieser Gruppe hat seinen eigenen Ausgang 3D Torus Netzwerk). Die Knoten in jeder Gruppe sind durch einen 3D-Torus mit den Seiten 2x3x4 ohne doppelte Verknüpfungen miteinander verbunden, was einem 2D-Torus mit den Seiten 3x4 entspricht (so erhalten wir einen 5D-Torus mit festen zwei Dimensionen). Somit verfügt der Tofu-Netzwerkknoten über 10 Verbindungen mit einem Einwegdurchsatz von jeweils 40 Gbit / s. Die Barrier-Synchronisation von Knoten und die Reduzierung (Ganzzahl und Gleitkomma) werden in der Hardware unterstützt.

Das Hauptziel bei der Entwicklung des Supercomputers Tianhe-1A bestand darin, eine hohe Energieeffizienz zu erzielen und einen eigenen Prozessor und ein Netzwerk zu entwickeln, die InfiniBand QDR überlegen sind. Der Supercomputer besteht aus 7168 Rechenknoten, die durch das eigene Arch-Netzwerk mit der Thick-Tree-Topologie verbunden sind. Das Netzwerk besteht aus 16-Port-Routern mit einer Einweg-Verbindungsbandbreite von 8 GB / s und einer Verzögerung von 1,57 μs. RDMA-Operationen werden unterstützt und kollektive Operationen optimiert.

Klassische Vertreter von Systemen, die eine Toroidtopologie zum Kombinieren von Rechenknoten verwenden, sind Systeme für die IBM Blue Gene-Reihe, bei denen in den ersten beiden Generationen - Blue Gene / L (2004) und Blue Gene / P (2007) - die 3D-Torustopologie verwendet wurde. Das Netzwerk in Blue Gene / P weist relativ schwache Verbindungen mit einer einseitigen Bandbreite von 0,425 GB / s auf, was eine Größenordnung unter der Bandbreite seiner heutigen InfiniBand-QDR-Verbindung liegt. Die hardwarebasierte Unterstützung für Barrier-Synchronisation und kollektive Operationen (in separaten baumartigen Netzwerken) ermöglicht jedoch eine gute Skalierbarkeit echte Anwendungen. Darüber hinaus sind alle Schnittstellen und Routing-Einheiten in den BPC-Mikroprozessor (Blue Gene / P Chip) integriert, wodurch Verzögerungen bei der Nachrichtenübertragung erheblich reduziert werden. Das Kommunikationsnetzwerk der nächsten Generation, Blue Gene / Q, verfügt über eine 5D-Tor-Topologie und verfügt im Gegensatz zu seinen Vorgängern nicht über separate Netzwerke für Barrier-Synchronisation und kollektiven Betrieb. Der Blue Gene / Q-Chip wurde zum ersten Mal zu Multi-Core-Multi-Thread - vier Hardware-Threads pro Kern mit 16 Kernen, wodurch die Netzwerkanforderungen geschwächt und die Verzögerungstoleranz sichergestellt werden können. Der Verbindungsdurchsatz wurde auf 2 GB / s erhöht, bleibt jedoch im Vergleich zu Cray Gemini oder Extoll gering. Der niedrige Durchsatz in diesen Systemen wird durch die große Abmessung des Torus (eine große Anzahl von Verbindungen) und folglich durch den kleinen Durchmesser des Netzwerks (deutlich kleiner als der von Netzwerken mit einer 3D-Torustopologie mit der gleichen Anzahl von Knoten) ausgeglichen. Verfügbare Quellen berichten über die Schaffung von zwei Supercomputern mit Blue Gene / Q-Transpetaflops: Sequoia mit einer Leistung von 20 PFLOPS und Mira - 10 PFLOPS. Wir können daraus schließen, dass Blue Gene / Q auf Aufgaben fokussiert ist, die Zehntausende von Rechenknoten mit Netzwerkverkehr vom Typ "All-to-All" verwenden.

Ein weiterer Befürworter des Ansatzes zum Aufbau von Kommunikationsnetzwerken mit einer Toroid-Topologie ist Cray, das weiterhin die 3D-Tor-Topologie verwendet, während der Durchsatz und die Anzahl der Verbindungen, die benachbarte Knoten verbinden, erhöht werden. Die aktuelle Generation des Cray-Toroid-Netzwerks ist das Cray-Gemini-Netzwerk. Ein Gemini-Router entspricht zwei Routern der vorherigen SeaStar2 + -Generation, dh zwei Netzwerkknoten. In Gemini werden daher anstelle von 6 Verbindungen 10 zum Verbinden mit benachbarten Knoten verwendet (2 dienen zum Verbinden von zwei Adaptern miteinander).

Die Komponenten (Netzwerkadapter, Switches, Router) eines Netzwerks für einen Supercomputer sind im Gegensatz zu Prozessoren häufig teurer und der Zugriff darauf ist eingeschränkter. Beispielsweise werden die Switches für das InfiniBand-Netzwerk, das wichtigste kommerzielle Netzwerk für Supercomputer, von nur zwei Unternehmen hergestellt, die beide von den USA kontrolliert werden. Dies bedeutet, dass mangels eigener Entwicklungen auf dem Gebiet der Hochgeschwindigkeitsnetze die Schaffung moderner Supercomputer in jedem Land außer den USA, China oder Japan leicht gesteuert werden kann.

Inländische Netze

Die Entwicklung von Kommunikationsnetzen für den Einsatz in Supercomputern wird von einer Reihe inländischer Organisationen durchgeführt: dem RFNC VNIIEF (über diese Entwicklungen gibt es nur sehr wenige Informationen in offenen Quellen), dem Institut für Softwaresysteme der Russischen Akademie der Wissenschaften und RSK SKIF, dem IPM RAS und dem Forschungsinstitut Kvant (MVS-Express-Netzwerk) ").

Das 3D-Tor-Kommunikationsnetz für den russisch-italienischen Supercomputer SKIF-Aurora basiert vollständig auf dem Altera Stratix IV-FPGA, was die relativ geringe Bandbreite pro Verbindung (1,25 GB / s) erklärt (die FPGA-Ressourcen sind sehr begrenzt).

Im MVS-Express-Netzwerk werden die Rechenknoten mit PCI Express 2.0 integriert, und die Knoten sind über 24-Port-Switches verbunden. Das Netzwerk hat eine Topologie in der Nähe von Fat Tree. Der Netzwerkadapter im Rechenknoten verfügt über einen Port mit einer Breite von 4 Lanes, wodurch der One-Way-Spitzendurchsatz pro Verbindung 20 Gbit / s beträgt, ohne den Codierungsaufwand zu berücksichtigen. Der Vorteil der Verwendung von PCI Express in MVS-Express liegt in der effizienten Unterstützung von Shared Memory mit der Möglichkeit der Einwegkommunikation. Infolgedessen eignet sich das Netzwerk zur Implementierung der Shmem-Bibliothek und der PGAS-Sprachen (UPC, CAF).

Mit Unterstützung des Ministeriums für Industrie und Handel der Russischen Föderation arbeitet NICEVT OJSC an der Entwicklung des Angara-Kommunikationsnetzwerks mit einer 4D-Tor-Topologie, das zur Grundlage für die Entwicklung von Haustechnologien für die Entwicklung von Supercomputern werden kann.

Netzwerk "Angara"

Die Hauptziele der Entwicklung des Angara-Netzwerks:

  • effektive Unterstützung für Einwegkommunikation (put / get) und PGAS-Sprachen (als Hauptmittel der parallelen Programmierung),
  • Effektive MPI-Unterstützung
  • Freisetzung des eigenen Kristalls (um hohe Datenübertragungsraten und geringe Verzögerungen zu erreichen),
  • adaptive ausfallsichere Paketübertragung,
  • effektive Arbeit mit modernen Prozessoren und Chipsätzen.

In der ersten Ausbaustufe dieses Netzwerks (2006) wurden verschiedene Netzwerkoptionen simuliert und die Hauptentscheidungen zu Topologie, Routerarchitektur, Routing-Algorithmen und Arbitration getroffen. Neben der Toroid-Topologie wurden Cayley-Netzwerke und der „dicke Baum“ berücksichtigt. Der vierdimensionale Torus wurde aufgrund seines einfacheren Routings, der guten Skalierbarkeit und der hohen Konnektivität im Vergleich zu kleineren Tori ausgewählt. Die Netzwerkmodellierung ermöglichte es, die Auswirkung verschiedener Parameter der Netzwerkarchitektur auf die wichtigsten Leistungsmerkmale im Detail zu untersuchen, um die Muster für den Datenverkehr von Aufgaben mit intensivem unregelmäßigem Speicherzugriff zu verstehen. Als Ergebnis wurden optimale Puffergrößen, die Anzahl der virtuellen Kanäle ausgewählt und mögliche Engpässe analysiert.

Im Jahr 2008 erschien der erste Prototyp eines FPGA-Routers - ein Netzwerk-Layout von sechs Knoten auf Virtex4, verbunden mit einem 2x3-Torus, auf dem die Grundfunktionalität des Routers getestet, die fehlertolerante Datenübertragung erarbeitet, der Treiber und die Bibliothek auf niedriger Ebene geschrieben und getestet sowie die Shmem-Bibliotheken portiert wurden MPI Startete jetzt ein Layout der dritten Generation, das aus neun Knoten besteht, die in einem zweidimensionalen Torus 3x3 verbunden sind. Собран стенд с двумя узлами для тестирования новых разъемов и каналов передачи данных, предполагаемых к использованию с будущими кристаллами маршрутизатора ВКС. При разработке принципов работы сети ряд деталей был позаимствован из работ и , а также в том или ином виде из архитектур IBM Blue Gene и Cray SeaStar.

Сеть «Ангара» имеет топологию 4D-тор. Поддерживается детерминированная маршрутизация, сохраняющая порядок передачи пакетов и предотвращающая появление дедлоков (взаимных блокировок), а также адаптивная маршрутизация, позволяющая одновременно использовать множество путей между узлами и обходить перегруженные и вышедшие из строя участки сети. Besonderes Augenmerk wurde auf die Unterstützung kollektiver Operationen (Rundsendung und Reduzierung) gelegt, die unter Verwendung eines virtuellen Subnetzes mit der Topologie eines Baums implementiert wurden, der einem mehrdimensionalen Torus überlagert ist. Das Netzwerk auf Hardwareebene unterstützt zwei Arten von Remote-Schreib-, Lese- und Atomic-Operationen (Addition und Exklusiv-ODER). Das Fernleseausführungsschema (Senden einer Anforderung und Empfangen einer Antwort) ist in Fig. 4 gezeigt. 2 (Fernaufzeichnung und atomare Operationen werden auf ähnliche Weise ausgeführt). In einem separaten Block wird die Logik implementiert, um vom Netzwerk empfangene Nachrichten zu aggregieren, um den Anteil der Nutzdaten pro Transaktion bei der Übertragung über eine Schnittstelle mit einem Host zu erhöhen (ein Host ist eine Prozessor-Speicher-Brücken-Brücke).

Abb. 2. Schema der Fernablesung im Angara-Netzwerk

Auf der Datenverbindungsschicht wird die ausfallsichere Paketübertragung unterstützt. Es gibt auch einen Mechanismus zum Umgehen ausgefallener Kommunikationskanäle und -knoten durch Neuerstellen von Routingtabellen. Um verschiedene Dienstoperationen durchzuführen (insbesondere Routing-Tabellen zu konfigurieren / neu zu erstellen) und einige Berechnungen durchzuführen, wird ein Dienstprozessor verwendet. Die Host-Schnittstelle verwendet PCI Express.

Abb. 3. Die Struktur des Rechenknotens mit einem Netzwerkadapter / Router "Angara"

Die Hauptblöcke des Routers:

  • Schnittstelle mit dem Host-System, das für den Empfang und das Senden von Paketen auf der Host-Schnittstelle verantwortlich ist,
  • eine Injektions- und Ausstoßeinheit, die Pakete bildet, die an das Netzwerk gesendet werden sollen, und die Header von Paketen analysiert, die vom Netzwerk kommen,
  • eine Anforderungsverarbeitungseinheit, die Pakete verarbeitet, die Informationen aus dem Speicher des Hostsystems benötigen (beispielsweise Lese- oder Atomoperationen),
  • eine Netzwerkeinheit für kollektive Operationen, die mit kollektiven Operationen verbundene Pakete verarbeitet, insbesondere Reduktionsoperationen durchführt, Broadcast-Anforderungspakete generiert,
  • eine Dienstoperationseinheit, die Pakete verarbeitet, die zum und vom Dienstcoprozessor gehen,
  • einen Schalter, der Eingänge von verschiedenen virtuellen Kanälen und Eingänge von Injektoren mit Ausgängen zu verschiedenen Richtungen und Ejektoren verbindet,
  • Kommunikationskanäle zum Senden und Empfangen von Daten in eine bestimmte Richtung,
  • eine Datenübertragungseinheit zum Senden von Paketen in einer gegebenen Richtung und eine Empfangs- und Weiterleitungseinheit zum Empfangen von Paketen und zum Entscheiden über ihr zukünftiges Schicksal.

Die Host-Interaktion (der auf dem Zentralprozessor ausgeführte Code) mit dem Router wird ausgeführt, indem in die Speicheradressen geschrieben wird, die den Adressen der Ressourcenbereiche des Routers zugeordnet sind (speicherabgebildete Eingabe / Ausgabe). Auf diese Weise kann die Anwendung ohne Beteiligung des Kernels mit dem Router interagieren, was den Aufwand für das Senden von Paketen verringert, da das Umschalten in den Kernelkontext und zurück mehr als hundert Taktzyklen dauert. Zum Senden von Paketen wird einer der Speicherbereiche verwendet, der als Ringpuffer betrachtet wird. Es gibt auch einen separaten Bereich zum Ausführen von Operationen ohne Kopieren des Speichers (Daten werden aus dem Speicher gelesen und durch den Adapter des Kommunikationsnetzwerks durch DMA-Operationen geschrieben) und einen Bereich mit Steuerregistern. Der Zugriff auf bestimmte Ressourcen des Routers wird vom Nuklearmodul gesteuert.

Um eine höhere Effizienz zu erzielen, wurde entschieden, dass nur eine Rechenaufgabe auf einem Knoten ausgeführt werden sollte. Dadurch wurde der mit der Verwendung des virtuellen Speichers verbundene Overhead beseitigt, Aufgabenstörungen vermieden, die Architektur des Routers aufgrund des Fehlens einer vollständigen MMU vereinfacht und alle vermieden Seine Arbeit verzögert die Kommunikation und vereinfacht das Netzwerksicherheitsmodell, wodurch die Sicherheit der Prozesse verschiedener Aufgaben auf einem Knoten wegfällt. Diese Lösung hatte keine Auswirkungen auf die Funktionalität des Netzwerks, da sie in erster Linie für große Aufgaben gedacht ist (im Gegensatz zu InfiniBand, einem universellen Netzwerk für Aufgaben unterschiedlicher Größe). Eine ähnliche Entscheidung wurde bei IBM Blue Gene getroffen, wo eine Einschränkung der Eindeutigkeit der Aufgabe für den Abschnitt eingeführt wird.

Auf Hardware-Ebene wird das gleichzeitige Arbeiten mit dem Router von vielen Threads / Prozessen einer Task unterstützt - es wird in Form von mehreren Injektionskanälen implementiert, die von Prozessen über mehrere Ringpuffer zum Aufzeichnen von Paketen verwendet werden können. Die Anzahl und Größe dieser Puffer kann sich dynamisch ändern.

Der Hauptprogrammiermodus für das Angara-Netzwerk ist die gemeinsame Nutzung von MPI, OpenMP und Shmem sowie von GASNet und UPC.

Nach Abschluss der Verifizierung und des Prototyping des Netzwerks ist die Freigabe eines VLSI-Chips geplant. Ein Prototyp eines VLSI-Stapels dient zum Debuggen grundlegender technologischer Lösungen, eines technologischen Prozesses und zur experimentellen Überprüfung der Simulationsergebnisse. Der Prototyp wird alle grundlegenden Funktionen enthalten, mit der PCI Express gen2 x16-Schnittstelle arbeiten und Verbindungen mit einem Durchsatz von 75 Gbit / s herstellen.

Es ist geplant, das Angara-Netzwerk in zwei Versionen auf den Markt zu bringen: als separates kommerzielles Netzwerk in Form von PCI-Express-Karten für Clustersysteme mit Standardprozessoren und -chipsätzen sowie als Teil eines am NICEVT entwickelten Vier-Sockel-Blade-Systems auf Basis von AMD-Prozessoren.

Pin
Send
Share
Send
Send