Ga naar hoofdinhoud

Sparkrun-clusters

Een Sparkrun-cluster is een of meer NVIDIA DGX Spark-apparaten waarop Cordatus een workload voor inferentie over meerdere nodes kan plaatsen. LLM Launcher → Sparkrun-clusters is de plek waar u ze definieert, de voorcontroles uitvoert en ziet wat elk cluster op dit moment draagt.

Het cluster bouwen en er vervolgens op starten: het recept, de nodes, de logs en chatten met het endpoint

 


De clusterlijst

KolomBetekenis
NaamDe clusternaam, met de beschrijving eronder.
NodesEén badge per lid. De head-badge is node_0 — die bedient de API en houdt de clusterdefinitie vast; de rest zijn worker-nodes, en hun volgorde is de node-volgorde.
Gereedheidéén node, of SSH / CX7 met een wachtstatus zolang ze nog niet zijn geconfigureerd.
Head-statusOf het head-apparaat bereikbaar is.
Workloads{n} live / {n} totaal. Klik om uit te klappen.
AangemaaktWanneer het cluster is gedefinieerd.

Een rij uitklappen toont Workloads op dit cluster: receptnaam, TP=, status, model, endpoint, bedienende node en starttijd, waarbij Openen u naar de parameters van die workload op de pagina Containers brengt.

Een endpoint met (aangenomen) betekent dat de poort is teruggevallen op de standaardwaarde van de engine en nooit daadwerkelijk door het apparaat is gemeld.

Rij-acties:

  • Voorcontrole — voert de SSH-mesh-, CX7- en runtimecontroles opnieuw uit.
  • Bewerken — hernoemen of de beschrijving aanpassen. Het lidmaatschap is hier bewust niet bewerkbaar: de volgorde van de leden is de node-volgorde, dus die wijzigen hoort thuis in de wizard waar de head wordt gekozen en de voorcontrole opnieuw draait.
  • Verwijderen — verwijdert het cluster uit Cordatus en uit sparkrun op het head-apparaat.
notitie

Hernoemen in Cordatus hernoemt het cluster van sparkrun zelf niet — sparkrun houdt het onder de oude naam.


Een cluster aanmaken

Nieuw cluster opent de wizard. Die heeft drie stappen; vanaf deze pagina stopt hij na twee, omdat er geen recept wordt gestart.

Stap 1 — Cluster

Uw DGX Spark-apparaten worden getoond. Sleep ze naar twee plaatsen:

  • Head-node — precies één. Die bedient de API en houdt de clusterdefinitie vast.
  • Workers — zoveel als u wilt, en hun volgorde is de node-volgorde.

Een head op zichzelf is een geldig cluster met één node.

Ook in deze stap: Clusternaam (die het YAML-bestand op de head-node en de workloadrij een naam geeft) en een optionele Beschrijving.

Wat de stap niet zal doorlaten:

  • "Sleep ten minste één apparaat naar de Head-plek."
  • "{n} geselecteerde apparaten zijn offline. Ze moeten verbinding maken voordat u verdergaat."
notitie

Een cluster met één node heeft geen SSH-mesh om op te bouwen en geen CX7-verbinding om te configureren. Alleen de runtimecontrole geldt, en in stap 3 worden alleen recepten voor één node aangeboden.

Stap 2 — Voorcontrole

Drie controles, elk met een eigen kaart:

ControleWat het is
SSH-meshWachtwoordloze SSH tussen alle nodes. Cordatus leest eerst het SSH-account van elke node en configureert daarna de mesh. Wachtwoorden worden alleen voor deze installatie gebruikt en nooit opgeslagen.
CX7-netwerkDe snelle verbinding die voor tensorparallelisme wordt gebruikt. Vereist voor recepten met meerdere nodes.
sparkrun-runtimeDe sparkrun-CLI en de container-images op de head-node. Nu installeren installeert ze.

Wat een mislukte controle betekent, staat er letterlijk bij:

  • SSH niet beschikbaar → de start wordt volledig geblokkeerd, en het falende paar wordt op de SSH-kaart met naam genoemd.
  • CX7 niet beschikbaar → recepten met meerdere nodes zijn niet beschikbaar zolang deze verbinding weg is. Recepten voor één node starten gewoon.

Controles die al zijn geslaagd, blijven geslaagd — niets wordt onnodig herhaald. Per kaart zijn Opnieuw controleren en Opnieuw configureren beschikbaar.

Delen de nodes geen gemeenschappelijk inlogaccount, dan geeft Cordatus elke host met zijn eigen account aan sparkrun door in plaats van te gokken.

Stap 3 — Recept en nodes

Alleen wanneer u iets start, niet wanneer u alleen een cluster definieert. Zie hieronder.


Een workload starten

Begin bij de knop Sparkrun starten van een engine-applicatie (zie de Starthandleiding). De wizard voegt dan zijn derde stap toe.

  • Kies wat u wilt uitvoeren — de receptcatalogus die van de head-node wordt gelezen, te filteren op model, runtime of naam. Alleen wat past staat standaard aan, zodat u geen recepten krijgt aangeboden die dit cluster niet kan dragen. Toch alles weergeven overschrijft dat.
  • Catalogus bijwerken haalt de receptregistry's op de head-node opnieuw op.
  • YAML plakken neemt een sparkrun-recept over dat u al hebt. Het wordt gevalideerd tegen recipe_version 2 voordat er iets naar de head-node wordt geschreven.
  • Nodes voor deze uitvoering — welke nodes van het cluster deze workload bezet. Een recept dat minder nodes nodig heeft dan het cluster telt, meldt dat: "{n} node(s) van dit cluster blijven ongebruikt voor deze workload." Bij een recept dat niet aangeeft hoeveel nodes het nodig heeft, kiest u zelf.
  • Startopties — een Hugging Face-token (uit uw kluis of geplakt, of Geen token — anoniem ophalen) en een Receptnaam, die het YAML-bestand op de head-node en de workloadrij een naam geeft.

Starten op Sparkrun start het. De wizard toont daarna live voortgang met een Volledige log, het endpoint waarop de API zal antwoorden, en Endpoint kopiëren / Open API zodra het draait.

Mislukt het, dan blijft de workloadrij bestaan, zodat die onder Sparkrun-workloads vermeld blijft of u het hier nu opnieuw probeert of niet.


Workloads beheren

Draaiende workloads staan op het tabblad Sparkrun-workloads van de pagina Containers en onder hun cluster op deze pagina. Daar kunt u starten, stoppen, een start annuleren, verwijderen (door DELETE te typen) en het detailpaneel openen met Overzicht, Logs (één lezer per node, elke regel gelabeld met de node waar hij vandaan komt), Poorten, Toegangs-URL's, Engine-argumenten, Omgevingsvariabelen (waarden gemaskeerd) en de Recept-YAML.


Rechten

Clusters lezen en schrijven zijn aparte rechten. Zonder schrijfrechten zijn de acties Nieuw cluster, Bewerken en Verwijderen verborgen; zonder leesrechten meldt de pagina dat in plaats van een lege lijst te tonen.