Home [Hosting HPC in Azure] 2 -- Create HPC powered by Slurm Scheduler
Post
Cancel

[Hosting HPC in Azure] 2 -- Create HPC powered by Slurm Scheduler

How to Deploy a Slurm HPC cluster?

Simply follow the instructions using the CycleCloud UI:

Go through these and set up the cluster, I will come back and change the settings incrementally and restart the cluster to make sure every piece works. Bullet points in each section are options.

After creating the cluster, we can always come back and edit the settings. Restart the cluster to reload the settings.

Some detailed options won’t show up during the creation of the cluster. We need to go to the cluster main page -> Arrays -> Select what nodes to edit, then Edit.

About

Give your cluster a name.

Required Settings: set up vitural machines

  • Networking: VNet, Subnet, and Vnet Peering

    Do not skip this step, this is mandatory. The subnet drop box only shows the VNet within the target region. It is not meant for typing it yourself.

  • Selecting VMs:

    VMs have usage quota (upper cap) for each user. Contact Azure if you need more.

  • Num Login Nodes > 0, Login Node will launch using VM scale set and will face the users.
  • Num Login Nodes <= 0, Scheduler Scheduler will face the users and also for scheduler itself. This is fine.

Network Attached Storage: set up file storage, mounting NFS

  • Using Buildin NFS for /shared and /sched: They are network attached mounts and accessible on all nodes of the cluster.
    • /sched: Slurm’s configuration is linked in from the /sched directory. It is managed by the scheduler node.
    • /shared: Users’ home directories reside within the /shared mount point with the base homedir /shared/home.
  • Additional Filesystem Mount: ignore for now, we will set up later

Advanced Settings: Slurm settings, Azure settings, Software, etc.

  • Slurm Settings: See Setting up MySQL Flexible Server and Slurm. Can ignore this for now, we will set them up later.
  • Advanced Networking: Don’t choose Return Proxy and Public Head Node, I got error using it. I set the network through either assigning a load balancer to login VM scale set (see Login Node) or assigning a public IP to the scheduler node VM (see Scheduler).

Monitoring (Ignore)

Virtual Machines: setting upgrade policy (Ignore)

Security (Ignore)

Cloud-init: setting cloud-init script

  • We will use this to remove Azure provided Env module and use Lmod instead.
This post is licensed under CC BY 4.0 by the author.