CYBEN / AI← All systemsStart a project ↗
CASE STUDY / 26PRODUCT SYSTEM

HPC SLURM Management System

A web-based GUI and Ansible automation layer for SLURM-managed High-Performance Computing (HPC) clusters, eliminating CLI complexity for users and administrators.

  • HPC
  • Cloud
  • Full-Stack
HPC SLURM Management System case study cover
PROJECT VISUAL2026

Context

SLURM is the industry-standard workload manager for High-Performance Computing (HPC) clusters. However, its pure CLI interface creates significant operational friction for both cluster administrators configuring multi-node environments and researchers submitting batch jobs.

HPC-Slurm-Hex was built as an integrated GUI and automation platform that layers seamlessly over SLURM. It combines Ansible cluster provisioning with a containerized web interface for zero-CLI job submission, resource quota enforcement, user management, and security scanning.

The problem

HPC Administrators face complex, error-prone manual setup steps when distributing configuration files, munge keys, compilers, and monitoring services across master and worker nodes.

HPC Users (researchers and engineers) are required to manually write batch scripts, memorize CLI commands (sbatch, squeue, sacct), and manage SSH file transfers to monitor jobs and retrieve computational outputs.

Unvetted user job submissions also pose severe security threats to shared cluster environments if malicious code, crypto miners, reverse shells, or fork bombs are uploaded into job packages.

Product strategy

The strategy was to complement SLURM without modifying its core codebase, creating an abstraction layer that handles setup automation, user interactions, security screening, and monitoring off the main compute path.

  • Zero-CLI operations

    Enable researchers to upload code, run jobs, track progress, and download output files entirely through a clean web dashboard.

  • Automated infrastructure

    Provision full OpenHPC + SLURM clusters, MPI stacks, compilers, and exporters with a single Ansible execution.

  • Pre-submission security

    Screen uploaded job archives against 30+ threat signatures before files reach the FTP server or SLURM scheduler.

AuraNode turns that strategy into one native workspace with a provider-neutral backend.

Browser job submission

Upload ZIP archives or Git URLs with automated shell script detection (run.sh, main.sh) and sbatch execution.

Malicious code scanning

Inspect uploaded files against 30+ threat detection rules covering reverse shells, crypto miners, fork bombs, and privilege escalation.

RBAC & resource quotas

Enforce per-user and per-group CPU, GPU, and memory limits while controlling per-tab dashboard permissions.

Real-time cluster monitoring

Visualize live CPU, memory, GPU, and SLURM queue metrics via Prometheus and integrated Grafana dashboards.

System architecture

A web-based React/Vite dashboard communicates with Dockerized Express backend services, proxying job execution, metrics collection, and malware scanning across a multi-node SLURM HPC cluster.

Live request topologyPrompt travels right · tokens stream leftPrompt travels down · tokens stream up
State 01
Client / presentation

React + Vite Dashboard

Single-page interface for admins and users providing browser job submission, real-time node status, resource quota allocation, and interactive security scan reports.

  • React 19
  • Vite
  • MUI
  • Axios
State 02
Edge & Service Gateway

Nginx Reverse Proxy & Express Backend

Unifies frontend and REST endpoints, handles JWT auth, session rotation, per-file threat scanning, FTP handling, Nodemailer alerts, and CSV exports.

  • Express.js
  • Nginx
  • SQLite
  • JWT
State 03
Cluster Controller

SLURM Master API Agent

Runs on the SLURM controller node, wrapping sbatch, sacct, and scontrol commands into REST endpoints with Redis caching to avoid CLI latency.

  • Express.js
  • Redis
  • SLURM CLI
State 04
Compute Nodes

SLURM Worker API Agents

Lightweight Flask services on compute nodes handling job execution, node status health checks, and automated output zipping for results download.

  • Python
  • Flask
  • APScheduler
Worker dependenciesState · data · commerce
PromQL / Scrape

Prometheus + Grafana

Collects system and cluster metrics via Node, SLURM, and DCGM exporters, rendering real-time CPU, memory, and GPU graphs in Grafana.

Cache Read/Write

Redis Cache

Caches cluster job statuses (sacct) on the controller node with 3s TTL to reduce CLI execution overhead and improve response times.

SSH Automation

Ansible Playbooks

Automates OpenHPC, SLURM, MPI stacks, compilers, and monitoring exporter installation across master and worker nodes with a single command.

Request lifecycle

When a user submits a job, the React frontend uploads the archive to the Express backend where an inline security scanner checks files against 30+ threat signatures. Upon passing validation, the backend forwards the job specification to the Slurm Master API on the cluster controller node. The controller executes sbatch to schedule the execution on worker nodes. Background worker agents archive output directories upon job completion, allowing users to download results directly through the browser.

Separation of concerns

The Web GUI layer handles authentication, RBAC, session policies, and malware scanning off the HPC compute cluster. The Slurm Master agent isolates CLI execution (sbatch, sacct, scontrol) behind a clean REST interface with Redis caching, while Slurm Worker agents manage local task execution and result packaging on compute nodes. Prometheus and Grafana provide independent operational metrics collection across all cluster nodes.

Key experiences

The dashboard turns complex HPC administration and batch job submission into direct visual workflows.

01

Unified job dashboard

Track active, completed, failed, and cancelled jobs with real-time status indicators, allocated resources, and one-click output zipping.

02

Interactive security feedback

Failed uploads generate detailed threat reports displaying matched rules, affected files, line numbers, and severity levels.

03

Live resource telemetry

Filter live CPU load, RAM usage, GRES partitions, and GPU utilization graphs per node with configurable refresh rates.

04

Admin control panel

Manage users, groups, automated welcome email dispatch, node connections, and CSV job history exports for auditing.

Engineering decisions

React 19 & Vite for responsive management UI

Vite-powered single-page application built with MUI, Lucide icons, and cross-tab idle timeout protection.

Express REST backend with httpOnly JWT sessions

Handles authentication, RBAC, Nodemailer integration, and session lifecycle with SQLite session persistence.

Controller & worker API agents

Express + Redis on the master controller wraps sbatch/sacct; Flask + APScheduler on worker nodes handles local execution and result archiving.

Pre-submission rule scanner

AdmZip-based static analysis engine scanning scripts and config files prior to staging or execution.

Prometheus + Grafana telemetry pipeline

Scrapes Node Exporter, SLURM Exporter, and DCGM GPU metrics into embedded Grafana dashboards.

Ansible for end-to-end cluster setup

Automated provisioning of OpenHPC, SLURM, munge, NTP, compilers (GNU), MPI (OpenMPI/MPICH), and monitoring tools.

Current status / open-source release

A modern GUI and automation layer for HPC clusters.

HPC-Slurm-Hex bridges the gap between HPC infrastructure and modern web usability, providing an end-to-end management platform for research teams and system administrators.

The project is fully containerized via Docker Compose for the web GUI and includes battle-tested Ansible playbooks for cluster deployment under GNU GPLv3.

  • Ansible automated provisioning for OpenHPC + SLURM multi-node clusters
  • Containerized React 19 + Express web GUI with Nginx reverse proxy
  • Pre-submission malware security scanner with 30+ threat detection rules
  • Redis-cached Slurm master API and Flask compute node agents
  • Prometheus and Grafana real-time cluster monitoring integration
Continue exploring