Erste Schritte mit EFA und MPI für HPC Workloads auf Amazon EC2 - Amazon Elastic Compute Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erste Schritte mit EFA und MPI für HPC Workloads auf Amazon EC2

Dieses Tutorial hilft Ihnen, einen EFA MPI AND-fähigen Instance-Cluster für HPC Workloads zu starten.

Schritt 1: Bereiten Sie eine Sicherheitsgruppe mit EFA aktivierter Option vor

An EFA erfordert eine Sicherheitsgruppe, die den gesamten eingehenden und ausgehenden Verkehr zur und von der Sicherheitsgruppe selbst zulässt. Mit dem folgenden Verfahren wird eine Sicherheitsgruppe erstellt, die den gesamten eingehenden und ausgehenden Verkehr zu und von der Gruppe selbst zulässt und die aus Verbindungsgründen eingehenden SSH Datenverkehr von einer beliebigen Adresse aus zulässt. IPv4 SSH

Wichtig

Diese Sicherheitsgruppe dient nur zu Testzwecken. Für Ihre Produktionsumgebungen empfehlen wir, dass Sie eine SSH Regel für eingehenden Datenverkehr erstellen, die nur Datenverkehr von der IP-Adresse aus zulässt, von der aus Sie eine Verbindung herstellen, z. B. die IP-Adresse Ihres Computers oder einen Bereich von IP-Adressen in Ihrem lokalen Netzwerk.

Weitere Szenarien finden Sie unter Sicherheitsgruppenregeln für verschiedene Anwendungsfälle.

Um eine Sicherheitsgruppe mit EFA aktivierter Option zu erstellen
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Security Groups (Sicherheitsgruppen) und anschließend Create Security Group (Sicherheitsgruppe erstellen) aus.

  3. Führen Sie im Fenster Create Security Group Folgendes aus:

    1. Geben Sie für Security group name (Name der Sicherheitsgruppe) einen beschreibenden Namen für die Sicherheitsgruppe ein, wie etwa EFA-enabled security group.

    2. (Optional:) Geben Sie unter Description (Beschreibung) eine kurze Beschreibung der Sicherheitsgruppe ein.

    3. Wählen Sie für VPCdie Instances aus, VPC in denen Sie Ihre EFA -fähigen Instances starten möchten.

    4. Wählen Sie Sicherheitsgruppe erstellen aus.

  4. Wählen Sie die von Ihnen erstellte Sicherheitsgruppe aus und kopieren Sie dann auf der Registerkarte Details die Security group ID (Sicherheitsgruppen-ID).

  5. Bei noch ausgewählter Sicherheitsgruppe wählen Sie Actions (Aktionen), Edit inbound rules (Eingangsregeln bearbeiten) aus und gehen dann folgendermaßen vor:

    1. Wählen Sie Regel hinzufügen aus.

    2. Wählen Sie für Type (Typ) die Option All traffic (Gesamter Datenverkehr) aus.

    3. Wählen Sie bei Source type (Quellentyp) Custom (Benutzerdefiniert) aus und fügen Sie die Sicherheitsgruppen-ID, die Sie kopiert hatten, ins Feld ein.

    4. Wählen Sie Regel hinzufügen aus.

    5. Wählen Sie für Typ die Option SSH.

    6. Wählen Sie als Quelltyp die Option Anywhere- ausIPv4.

    7. Wählen Sie Save rules (Regeln speichern) aus.

  6. Bei noch ausgewählter Sicherheitsgruppe wählen Sie Actions (Aktionen), Edit outbound rules (Ausgangsregeln bearbeiten) aus und gehen dann folgendermaßen vor:

    1. Wählen Sie Regel hinzufügen aus.

    2. Wählen Sie für Type (Typ) die Option All traffic (Gesamter Datenverkehr) aus.

    3. Wählen Sie bei Destination type (Zieltyp) Custom (Benutzerdefiniert) aus und fügen Sie die Sicherheitsgruppen-ID, die Sie kopiert hatten, ins Feld ein.

    4. Wählen Sie Save rules (Regeln speichern) aus.

Schritt 2: Starten einer temporären Instance

Starten Sie eine temporäre Instanz, mit der Sie die EFA Softwarekomponenten installieren und konfigurieren können. Sie verwenden diese Instanz, um eine EFA -enabled -Instance zu erstellen, AMI von der aus Sie Ihre EFA -enabled Instances starten können.

So starten Sie eine temporäre Instance
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances und dann Instances starten aus, um den Launch Instance Wizard zu öffnen.

  3. (Optional) Geben Sie im Bereich Name and tags (Name und Tags) einen Namen für die Instance an, z. B. EFA-instance. Der Name wird der Instance als Ressourcen-Tag (Name=EFA-instance) zugewiesen.

  4. Wählen Sie im Abschnitt Anwendungs- und Betriebssystemimages eines der unterstützten Betriebssysteme aus. AMI

  5. Wählen Sie im Bereich Instance type (Instance-Typ) einen supported instance type (unterstützten Instance-Typ) aus.

  6. Wählen Sie im Bereich Key pair (Schlüsselpaar) das Schlüsselpaar aus, das für die Instance verwendet werden soll.

  7. Wählen Sie im Bereich Network settings (Netzwerkeinstellungen) Edit (Bearbeiten) aus und führen Sie dann Folgendes aus:

    1. Wählen Sie unter Subnetz das Subnetz aus, in dem die Instance gestartet werden soll. Wenn Sie kein Subnetz auswählen, können Sie die Instanz für EFA nicht aktivieren.

    2. Wählen Sie bei Firewall (security groups) Firewall (Sicherheitsgruppen) Select existing security group (Vorhandene Sicherheitsgruppe auswählen) und dann die Sicherheitsgruppe aus, die Sie im vorherigen Schritt erstellt haben.

    3. Erweitern Sie den Bereich Advanced network configuration (Erweiterte Netzwerkkonfiguration) und wählen Sie bei Elastic Fabric Adapter Enable (Aktivieren) aus.

  8. Konfigurieren Sie im Bereich Storage (Speicher) die Volumes nach Bedarf.

  9. Wählen Sie im Bereich Summary (Zusammenfassung) rechts Launch instance (Instance starten) aus.

Anmerkung

Erwägen Sie, die Verwendung von sowohl IMDSv2 für die temporäre Instanz als auch für dieAMI, die Sie in Schritt 9 erstellen, vorzuschreiben, sofern Sie dies nicht bereits IMDSv2als Standard für das Konto festgelegt haben. Weitere Informationen zu den IMDSv2 Konfigurationsschritten finden Sie unterKonfigurieren von Instance-Metadatenoptionen für neue Instances.

Schritt 3: Installieren der EFA-Software

Installieren Sie den Kernel, die EFA Treiber, Libfabric und den EFA MPI Open-Stack, die für die Unterstützung EFA auf Ihrer temporären Instanz erforderlich sind, mit -enabled.

Die Schritte unterscheiden sich je nachdem, ob Sie es EFA mit OpenMPI, mit Intel MPI oder mit Open MPI und Intel verwenden möchten. MPI

So installieren Sie die EFA-Software
  1. Stellen Sie eine Verbindung zu der Instance her, die Sie gestartet haben. Weitere Informationen finden Sie unter Connect zu Ihrer Linux-Instance her mit SSH.

  2. Um sicherzustellen, dass alle Ihre Softwarepakete aktuell sind, führen Sie ein schnelles Softwareupdate auf Ihrer Instance aus. Dieser Vorgang kann einige Minuten dauern.

    • Amazon Linux 2023, Amazon Linux 2, RHEL 8/9, Rocky Linux 8/9

      $ sudo yum update -y
    • Ubuntu und Debian

      $ sudo apt-get update && sudo apt-get upgrade -y
    • SUSELinux für Unternehmen

      $ sudo zypper update -y
  3. Starten Sie die Instance neu und stellen Sie die Verbindung zur Instance wieder her.

  4. Laden Sie die EFA-Software-Installationsdateien herunter. Die Software-Installationsdateien sind in einer komprimierten Tarball-Datei (.tar.gz) verpackt. Laden Sie die neueste stabile Version mit dem folgenden Befehl herunter.

    $ curl -O https://efa-installer.amazonaws.com/aws-efa-installer-1.34.0.tar.gz

    Sie erhalten die neueste Version auch, indem Sie anstelle der Versionsnummer im vorangegangenen Befehl latest eingeben.

  5. (Optional) Überprüfen Sie die Authentizität und Integrität der Datei EFA tarball (.tar.gz).

    Diese Vorgehensweise wird empfohlen, um die Identität des Software-Publishers zu überprüfen und sicherzustellen, dass die Datei seit ihrer Veröffentlichung nicht verändert oder beschädigt wurde. Wenn Sie die Tarball-Datei nicht überprüfen möchten, überspringen Sie diesen Schritt.

    Anmerkung

    Falls Sie es vorziehen, die Tarball-Datei stattdessen mit einer SHA256 Prüfsumme MD5 oder zu überprüfen, finden Sie weitere Informationen unter. Überprüfen Sie das EFA Installationsprogramm anhand einer Prüfsumme

    1. Laden Sie den öffentlichen GPG Schlüssel herunter und importieren Sie ihn in Ihren Schlüsselbund.

      $ wget https://efa-installer.amazonaws.com/aws-efa-installer.key && gpg --import aws-efa-installer.key

      Der Befehl sollte einen Schlüsselwert zurückgeben. Notieren Sie sich den Schlüsselwert. Sie benötigen ihn im nächsten Schritt.

    2. Überprüfen Sie den Fingerabdruck des GPG Schlüssels. Führen Sie den folgenden Befehl aus und geben den Schlüsselwert aus dem vorherigen Schritt an.

      $ gpg --fingerprint key_value

      Der Befehl sollte einen Fingerabdruck zurückgeben, der mit 4E90 91BC BB97 A96B 26B1 5E59 A054 80B1 DD2D 3CCC identisch ist. Wenn der Fingerabdruck nicht übereinstimmt, führen Sie das EFA Installationsskript nicht aus und kontaktieren Sie uns AWS Support.

    3. Laden Sie die Signaturdatei herunter und überprüfen Sie die Signatur der EFA Tarball-Datei.

      $ wget https://efa-installer.amazonaws.com/aws-efa-installer-1.34.0.tar.gz.sig && gpg --verify ./aws-efa-installer-1.34.0.tar.gz.sig

      Das folgende Beispiel zeigt eine Ausgabe.

      gpg: Signature made Wed 29 Jul 2020 12:50:13 AM UTC using RSA key ID DD2D3CCC gpg: Good signature from "Amazon EC2 EFA <ec2-efa-maintainers@amazon.com>" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 4E90 91BC BB97 A96B 26B1 5E59 A054 80B1 DD2D 3CCC

      Wenn das Ergebnis Good signature enthält und der Fingerabdruck mit dem Fingerabdruck übereinstimmt, der im vorherigen Schritt zurückgegeben wurde, fahren Sie mit dem nächsten Schritt fort. Wenn nicht, führen Sie das EFA Installationsskript nicht aus und kontaktieren Sie uns AWS Support.

  6. Extrahieren Sie die Daten aus der komprimierten .tar.gz-Datei und wechseln Sie in das extrahierte Verzeichnis.

    $ tar -xf aws-efa-installer-1.34.0.tar.gz && cd aws-efa-installer
  7. Installieren Sie die EFA-Software. Führen Sie je nach Anwendungsfall einen der folgenden Schritte durch.

    Anmerkung

    EFAunterstützt nicht NVIDIA GPUDirect unter SUSE Linux. Wenn Sie SUSE Linux verwenden, müssen Sie zusätzlich die --skip-kmod Option angeben, um die Installation von kmod zu verhindern. Standardmäßig erlaubt SUSE Linux keine out-of-tree Kernelmodule.

    Open MPI and Intel MPI

    Wenn Sie die Software EFA zusammen mit Open MPI und Intel verwenden möchtenMPI, müssen Sie die EFA Software mit Libfabric und Open MPI installieren und Schritt 5: Intel MPI installieren abschließen.

    Führen Sie den folgenden Befehl ausMPI, um die EFA Software mit Libfabric und Open zu installieren.

    Anmerkung

    Ab EFA Version 1.30.0 sind sowohl Open MPI 4 als auch Open MPI 5 standardmäßig installiert. Sie können optional die Version von Open angebenMPI, die Sie installieren möchten. Um nur Open MPI 4 zu installieren, schließen Sie ein--mpi=openmpi4. Um nur Open MPI 5 zu installieren, fügen Sie hinzu--mpi=openmpi5. Um beide zu installieren, lassen Sie die --mpi-Option weg.

    $ sudo ./efa_installer.sh -y

    Libfabric ist auf /opt/amazon/efa installiert. Open MPI 4 ist installiert auf/opt/amazon/openmpi. Open MPI 5 ist installiert auf/opt/amazon/openmpi5.

    Open MPI only

    Wenn Sie die Software MPI nur EFA mit Open verwenden möchten, müssen Sie die EFA Software mit Libfabric und Open installierenMPI, und Sie können Schritt 5: Intel MPI installieren überspringen. Führen Sie den folgenden Befehl ausMPI, um die EFA Software mit Libfabric und Open zu installieren.

    Anmerkung

    Ab EFA Version 1.30.0 sind sowohl Open MPI 4 als auch Open MPI 5 standardmäßig installiert. Sie können optional die Version von Open angebenMPI, die Sie installieren möchten. Um nur Open MPI 4 zu installieren, schließen Sie ein--mpi=openmpi4. Um nur Open MPI 5 zu installieren, fügen Sie hinzu--mpi=openmpi5. Um beide zu installieren, lassen Sie die --mpi-Option weg.

    $ sudo ./efa_installer.sh -y

    Libfabric ist auf /opt/amazon/efa installiert. Open MPI 4 ist installiert auf/opt/amazon/openmpi. Open MPI 5 ist installiert auf/opt/amazon/openmpi5.

    Intel MPI only

    Wenn Sie die Software MPI nur EFA mit Intel verwenden möchten, können Sie die EFA Software ohne Libfabric und Open MPI installieren. In diesem Fall MPI verwendet Intel seine eingebettete Libfabric. Wenn Sie sich dafür entscheiden, müssen Sie Schritt 5: Intel MPI installieren abschließen.

    Führen Sie den folgenden Befehl ausMPI, um die EFA Software ohne Libfabric und Open zu installieren.

    $ sudo ./efa_installer.sh -y --minimal
  8. Wenn das EFA Installationsprogramm Sie auffordert, die Instanz neu zu starten, tun Sie dies und stellen Sie dann erneut eine Verbindung zur Instanz her. Melden Sie sich andernfalls von der Instance ab und wieder an, um die Installation abzuschließen.

Schritt 4: (Optional) Aktivieren Sie Open 5 MPI

Anmerkung

Führen Sie diesen Schritt nur aus, wenn Sie Open MPI 5 verwenden möchten.

Ab EFA Version 1.30.0 sind sowohl Open MPI 4 als auch Open MPI 5 standardmäßig installiert. Alternativ können Sie wählen, ob Sie nur Open MPI 4 oder Open MPI 5 installieren möchten.

Wenn Sie sich in Schritt 3: Installation der Software für die Installation von Open MPI 5 entschieden haben und beabsichtigen, die EFA Software zu verwenden, müssen Sie die folgenden Schritte ausführen, um sie zu aktivieren.

Um Open MPI 5 zu aktivieren
  1. Fügen Sie Open MPI 5 zur PATH Umgebungsvariablen hinzu.

    $ module load openmpi5
  2. Stellen Sie sicher, dass Open MPI 5 für die Verwendung aktiviert ist.

    $ which mpicc

    Der Befehl sollte das Open MPI 5-Installationsverzeichnis - zurückgeben/opt/amazon/openmpi5.

  3. (Optional) Gehen Sie wie folgt vor, um sicherzustellen, dass Open MPI 5 bei jedem Start der Instanz zur PATH Umgebungsvariablen hinzugefügt wird:

    bash shell

    Fügen Sie module load openmpi5 zu /home/username/.bashrc und /home/username/.bash_profile hinzu.

    csh and tcsh shells

    Fügen Sie module load openmpi5 zu /home/username/.cshrc hinzu.

Wenn Sie Open MPI 5 aus der PATH Umgebungsvariablen entfernen müssen, führen Sie den folgenden Befehl aus und entfernen Sie den Befehl aus den Shell-Startskripts.

$ module unload openmpi5

Schritt 5: (Optional) Intel installieren MPI

Wichtig

Führen Sie diesen Schritt nur aus, wenn Sie Intel verwenden möchtenMPI. Wenn Sie nur Open verwenden möchtenMPI, überspringen Sie diesen Schritt.

Intel MPI benötigt eine zusätzliche Installation und Konfiguration mit Umgebungsvariablen.

Voraussetzung

Stellen Sie sicher, dass der Benutzer, der die folgenden Schritte ausführt, über sudo-Berechtigungen verfügt.

Um Intel zu installieren MPI
  1. Gehen Sie wie folgt vor, um das MPI Intel-Installationsskript herunterzuladen

    1. Besuchen Sie die Intel-Website.

    2. Wählen Sie im Bereich Intel MPI Library auf der Webseite den Link für das Offline-Installationsprogramm für die Intel MPI Library for Linux.

  2. Führen Sie das Skript für die Installation aus, das Sie im vorherigen Schritt heruntergeladen haben.

    $ sudo bash installation_script_name.sh
  3. Wählen Sie im Installationsprogramm Accept & install (Akzeptieren und installieren) aus.

  4. Lesen Sie das Intel-Verbesserungsprogramm durch, wählen Sie die entsprechende Option und dann Begin Installation (Mit der Installation beginnen) aus.

  5. Nach abgeschlossener Installation wählen Sie Schließen aus.

  6. Standardmäßig MPI verwendet Intel seine eingebettete (interne) Libfabric. Sie können Intel so konfigurierenMPI, dass es stattdessen die Libfabric verwendet, die im Lieferumfang des EFA Installationsprogramms enthalten ist. In der Regel wird das EFA Installationsprogramm mit einer neueren Version von Libfabric als Intel ausgeliefert. MPI In einigen Fällen ist die im Lieferumfang des EFA Installationsprogramms enthaltene Libfabric leistungsfähiger als die von Intel. MPI Um Intel für die Verwendung der Libfabric MPI zu konfigurieren, die im Lieferumfang des EFA Installationsprogramms enthalten ist, führen Sie je nach Shell einen der folgenden Schritte aus.

    bash shells

    Fügen Sie die folgende Anweisung zu /home/username/.bashrc und /home/username/.bash_profile hinzu.

    export I_MPI_OFI_LIBRARY_INTERNAL=0
    csh and tcsh shells

    Fügen Sie die folgende Anweisung zu /home/username/.cshrc hinzu.

    setenv I_MPI_OFI_LIBRARY_INTERNAL 0
  7. Fügen Sie Ihrem Shell-Skript den folgenden Quell-Befehl hinzu, um das vars.sh-Skript aus dem Installationsverzeichnis zum Einrichten der Compiler-Umgebung bei jedem Start der Instance zu beziehen. Führen Sie je nach Shell einen der folgenden Schritte durch.

    bash shells

    Fügen Sie die folgende Anweisung zu /home/username/.bashrc und /home/username/.bash_profile hinzu.

    source /opt/intel/oneapi/mpi/latest/env/vars.sh
    csh and tcsh shells

    Fügen Sie die folgende Anweisung zu /home/username/.cshrc hinzu.

    source /opt/intel/oneapi/mpi/latest/env/vars.csh
  8. Standardmäßig verwendet Intel MPI standardmäßig den TCP /IP-Netzwerkstapel, wenn er aufgrund einer Fehlkonfiguration nicht verfügbar EFA ist, was zu einer langsameren Anwendungsleistung führen kann. Sie können dies verhindern, indem Sie I_MPI_OFI_PROVIDER auf efa setzen. Dies führt dazuMPI, dass Intel mit dem folgenden Fehler ausfällt, wenn er nicht verfügbar EFA ist:

    Abort (XXXXXX) on node 0 (rank 0 in comm 0): Fatal error in PMPI_Init: OtherMPI error, MPIR_Init_thread (XXX)........: MPID_Init (XXXX)..............: MPIDI_OFI_mpi_init_hook (XXXX): open_fabric (XXXX)............: find_provider (XXXX)..........: OFI fi_getinfo() failed (ofi_init.c:2684:find_provider:

    Führen Sie je nach Shell einen der folgenden Schritte durch.

    bash shells

    Fügen Sie die folgende Anweisung zu /home/username/.bashrc und /home/username/.bash_profile hinzu.

    export I_MPI_OFI_PROVIDER=efa
    csh and tcsh shells

    Fügen Sie die folgende Anweisung zu /home/username/.cshrc hinzu.

    setenv I_MPI_OFI_PROVIDER efa
  9. Standardmäßig druckt Intel MPI keine Debugging-Informationen. Sie können verschiedene Ausführlichkeitsstufen angeben, um die Debugging-Informationen zu steuern. Mögliche Werte (in der Reihenfolge der bereitgestellten Details) sind: 0 (Standard), 1, 2, 3, 4, 5. Level 1 und höher druckt libfabric version und libfabric provider. Wird verwendetlibfabric version, um zu überprüfen, ob Intel die interne Libfabric oder die Libfabric verwendet, die im Lieferumfang des Installationsprogramms enthalten MPI ist. EFA Wenn es die interne Libfabric verwendet, wird der Version ein impi angehängt. Wird verwendetlibfabric provider, um zu überprüfen, ob Intel MPI das EFA TCP /IP-Netzwerk verwendet. Wenn es verwendetEFA, ist efa der Wert. Wenn es TCP /IP verwendet, ist tcp;ofi_rxm der Wert.

    Um Debugging-Informationen zu aktivieren, führen Sie je nach Shell einen der folgenden Schritte durch.

    bash shells

    Fügen Sie die folgende Anweisung zu /home/username/.bashrc und /home/username/.bash_profile hinzu.

    export I_MPI_DEBUG=value
    csh and tcsh shells

    Fügen Sie die folgende Anweisung zu /home/username/.cshrc hinzu.

    setenv I_MPI_DEBUG value
  10. Standardmäßig MPI verwendet Intel den gemeinsamen Speicher (shm) des Betriebssystems für die Kommunikation innerhalb der Knoten und Libfabric (ofi) nur für die Kommunikation zwischen Knoten. Im Allgemeinen bietet diese Konfiguration die beste Leistung. In einigen Fällen kann die Intel MPI Shm Fabric jedoch dazu führen, dass bestimmte Anwendungen auf unbestimmte Zeit hängen bleiben.

    Um dieses Problem zu lösen, können Sie Intel zwingen, Libfabric sowohl für die Kommunikation innerhalb der Knoten als auch für die Kommunikation zwischen Knoten MPI zu verwenden. Führen Sie dazu je nach Shell einen der folgenden Schritte aus.

    bash shells

    Fügen Sie die folgende Anweisung zu /home/username/.bashrc und /home/username/.bash_profile hinzu.

    export I_MPI_FABRICS=ofi
    csh and tcsh shells

    Fügen Sie die folgende Anweisung zu /home/username/.cshrc hinzu.

    setenv I_MPI_FABRICS ofi
    Anmerkung

    Der EFA Libfabric-Anbieter verwendet den gemeinsam genutzten Speicher des Betriebssystems für die Kommunikation innerhalb der Knoten. Das bedeutet, dass die Einstellung von I_MPI_FABRICS auf ofi zu einer ähnlichen Leistung führt wie die Standardkonfiguration shm:ofi.

  11. Melden Sie sich von der Instance ab. Melden Sie sich anschließend wieder an.

Wenn Sie Intel nicht mehr verwenden möchtenMPI, entfernen Sie die Umgebungsvariablen aus den Shell-Startskripten.

Schritt 6: Ptrace-Schutz aktivieren

Um die Leistung Ihrer HPC Anwendung zu verbessern, verwendet Libfabric den lokalen Speicher der Instanz für die Kommunikation zwischen Prozessen, wenn die Prozesse auf derselben Instanz ausgeführt werden.

Die Shared-Memory-Funktion verwendet Cross Memory Attach (CMA), was vom Ptrace-Schutz nicht unterstützt wird. Wenn Sie eine Linux-Distribution verwenden, beider standardmäßig Ptrace-Schutz aktiviert hat, z. B. Ubuntu, müssen Sie ihn deaktivieren. Wenn für Ihre Linux-Distribution standardmäßig kein Ptrace-Schutz aktiviert ist, überspringen Sie diesen Schritt.

So deaktivieren Sie den Ptrace-Schutz

Führen Sie eine der folgenden Aufgaben aus:

  • Führen Sie den folgenden Befehl aus, um den Ptrace-Schutz vorübergehend zu deaktivieren.

    $ sudo sysctl -w kernel.yama.ptrace_scope=0
  • Um den Ptrace-Schutz dauerhaft zu deaktivieren, fügen Sie kernel.yama.ptrace_scope = 0 zu /etc/sysctl.d/10-ptrace.conf hinzu und starten Sie die Instance neu.

Schritt 7. Bestätigen der Installation

So bestätigen Sie die erfolgreiche Installation
  1. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Installation erfolgreich MPI war:

    $ which mpicc
    • Für Open MPI sollte der zurückgegebene Pfad Folgendes enthalten /opt/amazon/

    • Für Intel MPI sollte der zurückgegebene Pfad Folgendes /opt/intel/ enthalten: Wenn Sie nicht die erwartete Ausgabe erhalten, stellen Sie sicher, dass Sie das MPI vars.sh Intel-Skript bezogen haben.

  2. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die EFA Softwarekomponenten und Libfabric erfolgreich installiert wurden.

    $ fi_info -p efa -t FI_EP_RDM

    Der Befehl sollte Informationen über die EFA Libfabric-Schnittstellen zurückgeben. Das folgende Beispiel zeigt die Befehlsausgabe.

    provider: efa fabric: EFA-fe80::94:3dff:fe89:1b70 domain: efa_0-rdm version: 2.0 type: FI_EP_RDM protocol: FI_PROTO_EFA

Schritt 8: Installieren Sie Ihre Anwendung HPC

Installieren Sie die HPC Anwendung auf der temporären Instanz. Das Installationsverfahren hängt von der jeweiligen HPC Anwendung ab. Weitere Informationen finden Sie unter Software auf Ihrer AL2 Instance verwalten im Amazon Linux 2-Benutzerhandbuch.

Anmerkung

Installationsanweisungen finden Sie in der Dokumentation Ihrer HPC Anwendung.

Schritt 9: Erstellen Sie ein EFA -enabled AMI

Nachdem Sie die erforderlichen Softwarekomponenten installiert haben, erstellen Sie eine, AMI die Sie zum Starten Ihrer EFA -fähigen Instances wiederverwenden können.

Um eine AMI aus Ihrer temporären Instanz zu erstellen
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die temporäre Instance aus, die Sie erstellt haben, und wählen Sie anschließend Actions (Aktionen), Image und Create Image (Image erstellen) aus.

  4. Gehen Sie bei Create Image (Image erstellen) wie folgt vor:

    1. Geben Sie unter Bildname einen aussagekräftigen Namen für das AMI ein.

    2. (Optional) Geben Sie unter Bildbeschreibung eine kurze Beschreibung des Zwecks von ein. AMI

    3. Wählen Sie Create Image (Image erstellen) aus.

  5. Wählen Sie im Navigationsbereich AMIs.

  6. Suchen Sie die AMI Datei, die Sie in der Liste erstellt haben. Warten Sie, bis der Status von pending zu available wechselt, bevor Sie mit dem nächsten Schritt fortfahren.

Schritt 10: Starten Sie EFA -fähige Instances in einer Cluster-Placement-Gruppe

Starten Sie Ihre EFA -aktivierten Instances in einer Cluster Placement-Gruppe. Verwenden Sie dabei die Sicherheitsgruppe EFA -enabledAMI, die Sie in Schritt 7 erstellt haben, und die Sicherheitsgruppe EFA -enabled, die Sie in Schritt 1 erstellt haben.

Anmerkung
  • Es ist nicht unbedingt erforderlich, Ihre EFA -fähigen Instances in einer Cluster Placementgroup zu starten. Wir empfehlen jedoch, Ihre EFA -aktivierten Instances in einer Cluster Placement-Gruppe auszuführen, da dadurch die Instances in einer einzigen Availability Zone in einer einzigen Availability Zone in einer einzigen Availability Zone gestartet werden.

  • Um die Verfügbarkeit von Kapazitäten sicherzustellen, wenn Sie die Instances Ihres Clusters skalieren, können Sie eine Kapazitätsreservierung für Ihre Cluster-Placement-Gruppe erstellen. Weitere Informationen finden Sie unter Erstellen Sie Kapazitätsreservierungen in Cluster-Platzierungsgruppen.

So starten Sie eine Instance
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances und dann Instances starten aus, um den Launch Instance Wizard zu öffnen.

  3. (Optional) Geben Sie im Bereich Name and tags (Name und Tags) einen Namen für die Instance an, z. B. EFA-instance. Der Name wird der Instance als Ressourcen-Tag (Name=EFA-instance) zugewiesen.

  4. Wählen Sie im Abschnitt Anwendungs- und Betriebssystemimages die Option Meine AMIs aus und wählen Sie dann AMI die Images aus, die Sie im vorherigen Schritt erstellt haben.

  5. Wählen Sie im Bereich Instance type (Instance-Typ) einen supported instance type (unterstützten Instance-Typ) aus.

  6. Wählen Sie im Bereich Key pair (Schlüsselpaar) das Schlüsselpaar aus, das für die Instance verwendet werden soll.

  7. Wählen Sie im Bereich Network settings (Netzwerkeinstellungen) Edit (Bearbeiten) aus und führen Sie dann Folgendes aus:

    1. Wählen Sie unter Subnetz das Subnetz aus, in dem die Instance gestartet werden soll. Wenn Sie kein Subnetz auswählen, können Sie die Instanz für EFA nicht aktivieren.

    2. Wählen Sie bei Firewall (security groups) Firewall (Sicherheitsgruppen) Select existing security group (Vorhandene Sicherheitsgruppe auswählen) und dann die Sicherheitsgruppe aus, die Sie im vorherigen Schritt erstellt haben.

    3. Erweitern Sie den Bereich Advanced network configuration (Erweiterte Netzwerkkonfiguration) und wählen Sie bei Elastic Fabric Adapter Enable (Aktivieren) aus.

  8. (Optional) Konfigurieren Sie im Bereich Storage (Speicher) die Volumes nach Bedarf.

  9. Wählen Sie im Bereich Advanced details (Erweiterte Details) bei Placement group name (Placement-Gruppen-Name) die Cluster-Placement-Gruppe aus, in der die Instances gestartet werden sollen. Wenn Sie eine neue Cluster-Placement-Gruppe erstellen müssen, wählen Sie Create new placement group (Neue Placement-Gruppe erstellen).

  10. Geben Sie im Bereich Zusammenfassung auf der rechten Seite für Anzahl der Instanzen die Anzahl der Instances mit EFA aktivierter Funktion ein, die Sie starten möchten, und wählen Sie dann Launch instance aus.

Schritt 11: Beenden der temporären Instance

Zu diesem Zeitpunkt benötigen Sie die Instance, die Sie in Schritt 2 gestartet haben, nicht mehr. Sie können die Instance beenden, damit keine weiteren Kosten dafür anfallen.

So beenden Sie die temporäre Instance:
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die temporäre instance aus, die Sie erstellt haben, und wählen Sie anschließend Actions (Aktionen), Instance state (Instance-Zustand) und Terminate instance (Instance beenden) aus.

  4. Wählen Sie Terminate (Kündigen) aus, wenn Sie zur Bestätigung aufgefordert werden.

Schritt 12: Passwortlos aktivieren SSH

Damit Ihre Anwendungen auf allen Instanzen in Ihrem Cluster ausgeführt werden können, müssen Sie den kennwortlosen SSH Zugriff vom Leader-Knoten auf die Mitgliedsknoten aktivieren. Der Führungsknoten ist die Instance, von der aus Sie die Anwendungen ausführen. Die verbleibenden Instances im Cluster sind die Mitgliedsknoten.

Um die kennwortlose SSH Verbindung zwischen den Instanzen im Cluster zu aktivieren
  1. Wählen Sie eine Instance im Cluster als Führungsknoten aus und stellen Sie eine Verbindung zu ihr her.

  2. Deaktivieren Sie strictHostKeyChecking und aktivieren Sie ForwardAgent für den Führungsknoten. Öffnen Sie ~/.ssh/config mit dem bevorzugten Texteditor und fügen Sie Folgendes hinzu.

    Host * ForwardAgent yes Host * StrictHostKeyChecking no
  3. Generieren Sie ein RSA key pair.

    $ ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa

    Das Schlüsselpaar wird im $HOME/.ssh/-Verzeichnis erstellt.

  4. Ändern Sie die Berechtigungen des privaten Schlüssels auf dem Führungsknoten.

    $ chmod 600 ~/.ssh/id_rsa chmod 600 ~/.ssh/config
  5. Öffnen Sie ~/.ssh/id_rsa.pub mit Ihrem bevorzugten Texteditor und kopieren Sie den Schlüssel.

  6. Gehen Sie für jeden Mitgliedsknoten im Cluster wie folgt vor:

    1. Stellen Sie eine Verbindung mit der Instance her.

    2. Öffnen Sie ~/.ssh/authorized_keys mit Ihrem bevorzugten Texteditor und fügen Sie den öffentlichen Schlüssel hinzu, den Sie zuvor kopiert haben.

  7. Um zu testen, ob das passwortlose System wie SSH erwartet funktioniert, stellen Sie eine Verbindung zu Ihrem Leader-Knoten her und führen Sie den folgenden Befehl aus.

    $ ssh member_node_private_ip

    Sie sollten eine Verbindung zum Mitgliedsknoten herstellen können, ohne zur Eingabe eines Schlüssels oder Passworts aufgefordert zu werden.