Slurm

Schéma de base

digraph "arch" {
    subgraph cluster_hypervisor {
    rankdir="TD"
    label="Hypervisor #1"
    subgraph cluster_machine1 {
     label="Service VM"
     "slurmctld1"[label="slurmctld"]
    }
    subgraph cluster_machine4 {
     label="Service VM"
     "auks"[label="auks"]
    }
  }
  subgraph cluster_hypervisor2 {
    rankdir="TD"
    label="Hypervisor #2"
    subgraph cluster_machine2 {
     label="Service VM"
     "slurmctld2"[label="slurmctld"]
    }
    subgraph cluster_machine3 {
     label="Service VM"
     "slurmdbd"[label="slurmdbd"]
     "mariadb"[label="mariadb"]
    }
  }
  slurmctld1->slurmdbd[color=blue]
  slurmctld2->slurmdbd[color=blue]
  slurmdbd -> mariadb[color=blue4]
  slurmctld1 -> auks[color=red]
  slurmctld2 -> auks[color=red]

  slurmctld1 -> compute[dir=both,color=darkgreen]
  slurmctld2 -> compute[dir=both,color=darkgreen,style=dotted]
  compute -> auks[color=red]
  compute -> slurmdbd[color=blue]


{ rank = sink;
  Legend [shape=none, margin=0, label=<
  <TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
   <TR>
    <TD COLSPAN="2"><B>Legend</B></TD>
   </TR>
   <TR>
    <TD>DB Queries</TD>
    <TD BGCOLOR="BLUE"></TD>
   </TR>
   <TR>
    <TD>Auks/Kerberos traffic</TD>
    <TD BGCOLOR="RED"></TD>
   </TR>
   <TR>
    <TD>Client RPCs</TD>
    <TD BGCOLOR="DARKGREEN"></TD>
   </TR>
  </TABLE>
 >];
}
}

Description

L’architecture proposée repose sur un couple de contrôleurs slurm. Ce couple est composé de 2 machines avec un processus slurmctld sur chaque machine. Ces processus seront appairés avec la HA native de slurm.

Le processus slurmdbd sera hébergé sur une autre machine. La DB mariadb sera hebergée sur cette même machine avec une éventuelle réplication.

Le service auks n’étant pas en HA nativement, il sera hébergé sur une autre machine lui aussi.

L’accès aux noeuds de calcul se fera au travers du réseau ethernet avec un éventuel routage via une GWIP (et le RTHP) pour un accès à d’autres machines.