Verwendung von HPC-Managern wie Slurm auf mehreren Servern im LAN

Verwendung von HPC-Managern wie Slurm auf mehreren Servern im LAN

Ich habe Zugriff auf eine Gruppe von Servern, die mit einem 1-GB-LAN verbunden sind, und jeder von ihnen hat mehr als 40 Kerne und das Betriebssystem Ubuntu. Sie alle haben ein gemeinsames NAS. Ich habe SLURM auf einigen von ihnen installiert und so konfiguriert, dass jeder Server sowohl ein Kontroll- als auch ein Rechenknoten ist und die Server nicht verbunden sind. Die erforderlichen Analysen sind bioinformatisch und CPU-gebunden, aber mit Dateien im GB-Bereich. Meine Fragen lauten wie folgt:

  1. Dies ist kein Computercluster, richtig? Was wäre nötig, um diese Server zu einem einzigen Cluster zu verbinden?
  2. Ist es sinnvoll, HPC-Manager wie Slurm in dieser Konfiguration zu verwenden? Wie würden die Daten geteilt? Sie haben zwar ein gemeinsames NAS, aber die direkte Ausführung von Berechnungen auf dem NAS ist im Vergleich zu den lokalen Dateien sehr langsam.

Meine ideale Lösung wäre, die Dateien auf einen lokalen Rechner zu ziehen (idealerweise unabhängig von ihrem Standort, aber NAS könnte der gemeinsame Hub sein), die Berechnung durchzuführen und möglicherweise die Ausgabedateien zurückzugeben. Ist das eine unangemessene Anfrage oder ein gelöstes Problem?

Dank im Voraus!

Antwort1

Ja, das ist ein Computercluster. Ich habe eine weit gefasste Definition, nämlich mehrere Computerknoten, die mit derselben Arbeitslast betraut sind. Große Build-Farmen mit mehreren Hosts, auf denen Computer-Worker laufen, kommen in Frage. Dasselbe gilt für die riesigen Systeme auf der TOP500-Liste.

Noch wichtiger ist, dass Sie die Fähigkeit von Slurm nutzen, mehrere Knoten zu verwalten. Andernfalls ist es ziemlich komplex, wenn sich ein Controller nur selbst verwaltet, obwohl er im Vergleich zu einfacheren Systemen nicht viele Funktionen bietet. Fügen Sie alle Knoten hinzu und teilen Sie sie in Partitionen auf.

Jobs, die mehr als einen Knoten anfordern, erfordern, dass die Programme mehrere Knoten unterstützen, wie bei MPI. Bei normalen Programmen, die dies nicht tun, beschränken Sie die Anforderungen einfach auf einen Knoten.

Speicher: Sie müssen etwas entwerfen, um Dateien an die Knoten zu senden. Normalerweise umfassen die Optionen:

  • Kopieren Sie Dateien in den lokalen Speicher jedes Knotens. (slurm sbcast)
  • Verteilen Sie einen verteilten Speicher auf die Festplatten vieler Knoten. (Lustre, Ceph)
  • Auf jedem Knoten bereitgestellte Hochleistungsdateifreigabe. (Alle Flash-Arrays unterstützen NFS)

verwandte Informationen