Introduction

Managing an HPC cluster through the command line is powerful but creates barriers for researchers who need quick access to computational resources. Web-based job scheduling portals bridge this gap by providing intuitive graphical interfaces for job submission, monitoring, and resource management without requiring users to memorize command-line syntax.

This article compares three leading open-source solutions for self-hosted HPC job scheduling web portals: Open OnDemand, Slurm Web, and OpenPBS Web Interface.

Why Self-Host an HPC Job Portal?

Research institutions and university HPC centers manage clusters serving hundreds of users across diverse disciplines. A self-hosted web portal offers several advantages over SSH-only access:

Lower barrier to entry: Domain scientists in biology, chemistry, or social sciences often lack command-line expertise. A web interface allows them to run simulations, submit batch jobs, and visualize results without learning Slurm or PBS commands.

Centralized resource management: Instead of distributing SSH keys and managing per-user configurations, administrators provide a single access point with role-based permissions. This simplifies compliance with institutional security policies.

Interactive computing: Modern HPC portals support Jupyter Notebooks, RStudio Server, and remote desktop sessions launched directly from the browser. Researchers access their familiar tools without manual port forwarding or VNC configuration.

Usage tracking and reporting: Built-in dashboards show queue status, resource utilization, and historical job data — critical for grant reporting and capacity planning. For broader cluster monitoring, see our HPC cluster monitoring guide.

If you need the underlying job schedulers themselves, check our HPC workload managers comparison. For container-based HPC environments, see our HPC container runtimes guide.

Comparison Table

FeatureOpen OnDemandSlurm WebOpenPBS
GitHub Stars470+575+794+
Backend SchedulerSlurm, PBS, LSF, Grid EngineSlurm onlyOpenPBS/TORQUE
Interactive AppsJupyter, RStudio, VNC Desktop, MATLABJob list + shellJob submission + monitoring
File BrowserYes (web-based)NoNo
AuthenticationLDAP, OIDC, SAML, CAS, ShibbolethSlurm user mappingPAM, Munge
DeploymentRPM/DEB packages, Puppet moduleNode.js + PythonC + Tcl/Tk
Last UpdatedJune 2026June 2026April 2026
LicenseMITGPL-3.0AGPL-3.0

Open OnDemand

Open OnDemand (osc/ondemand, 470+ stars) is the most full-featured HPC web portal, developed by the Ohio Supercomputer Center. It provides a complete browser-based interface for job management, file browsing, shell access, and interactive applications.

Installation on RHEL/Rocky Linux:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# Install the release RPM
sudo yum install -y https://yum.osc.edu/ondemand/latest/ondemand-release-web-latest-1-6.noarch.rpm

# Install OnDemand
sudo yum install -y ondemand

# Configure the dashboard
sudo vi /etc/ood/config/ood_portal.yml
# Set: servername: hpc.yourdomain.edu
# Set: port: 443

# Start the service
sudo systemctl enable httpd24-httpd ondemand-dex
sudo systemctl start httpd24-httpd ondemand-dex

# Verify
curl -k https://localhost/pun/sys/dashboard

Open OnDemand’s killer feature is Interactive Apps — pre-configured app launchers that spawn compute jobs running Jupyter, RStudio Server, VNC desktops, or MATLAB directly on cluster nodes through the web interface. Each app is defined as a simple YAML configuration.

Slurm Web

Slurm Web (edf-hpc/slurm-web, 575+ stars) provides a focused, lightweight alternative specifically for Slurm-based clusters. It offers a clean modern dashboard for job monitoring and management.

Installation:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Install from npm
git clone https://github.com/edf-hpc/slurm-web.git
cd slurm-web

# Install backend (slurm-web-agent)
cd agent
pip install -r requirements.txt
pip install .

# Configure agent
cat > /etc/slurm-web/agent.ini << 'EOF'
[agent]
bind = 0.0.0.0:5556
slurm_bin = /usr/bin

[security]
jwt_secret = your-secret-key-here
EOF

# Install frontend
cd ../frontend
npm install
npm run build

# Start services
systemctl start slurm-web-agent

Slurm Web focuses exclusively on job lifecycle operations: submit, monitor, hold, release, and cancel jobs through a responsive web interface. It uses the Slurm REST API for backend communication and supports real-time job status updates via WebSocket connections.

OpenPBS Web Interface

OpenPBS (openpbs/openpbs, 794+ stars) includes a built-in web-based job submission interface as part of its Professional Edition. The open-source community version provides a comprehensive CLI and API-based management suite.

Basic Setup:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# Install OpenPBS server
wget https://github.com/openpbs/openpbs/releases/latest/download/openpbs-server.tar.gz
tar xzf openpbs-server.tar.gz
cd openpbs-*

# Configure and install
./configure --prefix=/opt/pbs
make
sudo make install

# Start PBS services
sudo /opt/pbs/libexec/pbs_init
sudo /opt/pbs/sbin/pbs_server -t create

# Configure queue
sudo qmgr -c "create queue workq queue_type=execution"
sudo qmgr -c "set queue workq enabled=true"
sudo qmgr -c "set queue workq started=true"
sudo qmgr -c "set server scheduling=true"

OpenPBS integrates with Open OnDemand as a backend scheduler, creating a powerful combination: OpenPBS handles the queue management while Open OnDemand provides the web interface and interactive application layer.

Deployment Architecture

A typical HPC portal deployment involves three tiers:

  1. Web frontend: Apache/Nginx reverse proxy terminating SSL and serving the portal application
  2. Application tier: OnDemand Passenger apps or Slurm Web Node.js processes communicating with scheduler daemons
  3. Backend scheduler: Slurm controller (slurmctld) or PBS Server managing compute node resources

The portal server should be a dedicated VM or lightweight node — it does not require significant compute resources. Production deployments typically run on a 2-4 vCPU, 8GB RAM instance with SSD storage for user home directory access.

Security Considerations

Self-hosting an HPC web portal exposes cluster resources to browser-based access. Key security measures include:

  • TLS termination: Always deploy behind a reverse proxy with valid SSL certificates. Use Let’s Encrypt with Certbot for automated renewal.
  • Authentication integration: Connect to institutional LDAP/Active Directory rather than managing local user accounts. Open OnDemand supports OIDC, SAML, and Shibboleth for single sign-on.
  • Session management: Configure short session timeouts and enforce re-authentication for privileged operations and enable comprehensive audit logging for all user actions.
  • Network isolation: Restrict the portal server’s network access to only the necessary scheduler and compute node ports. Use firewall rules to prevent lateral movement.

Performance Benchmarks and Scaling Considerations

Web portal performance directly impacts user experience and adoption. In production benchmarks at a mid-size university cluster (200 nodes, 500 active users), Open OnDemand handles 150 concurrent dashboard sessions with an average page load time of 800ms when deployed on a 4-vCPU VM with 8GB RAM. Session memory overhead is approximately 50-80MB per active user due to the per-user Nginx/Passenger process model.

Slurm Web, built on Node.js and WebSocket connections, demonstrates lower per-user memory requirements (20-30MB per active connection) but achieves similar throughput — handling 200 concurrent users on the same hardware profile. Its event-driven architecture scales efficiently for read-heavy monitoring workloads.

OpenPBS with Open OnDemand as the frontend benefits from OnDemand’s built-in caching layer. For deployments exceeding 500 concurrent users, administrators should configure a Redis cache backend in /etc/ood/config/ood_portal.yml to offload session storage. A load-balanced OnDemand deployment with two application servers behind HAProxy reliably serves 1,000+ concurrent users at national HPC centers like OSC (Ohio Supercomputer Center).

For network planning, budget 500 Kbps per active user session for responsive dashboard updates. Interactive desktop sessions (VNC/RDP via OnDemand’s Interactive Apps) require 2-5 Mbps per session depending on resolution and color depth. Plan WAN connectivity accordingly if serving remote researchers.

FAQ

Which portal should I choose for a new HPC cluster?

If you need a full-featured solution with interactive apps (Jupyter, RStudio, VNC), choose Open OnDemand. It supports multiple scheduler backends and provides the most comprehensive feature set. If your cluster is Slurm-only and you want a lightweight monitoring dashboard, Slurm Web is an excellent fit.

Can I run the web portal on the same server as the scheduler?

Yes, for small clusters (under 50 nodes), the portal can co-reside with the scheduler daemon. For production deployments with hundreds of users, dedicate a separate server to the web portal to avoid resource contention and security concerns.

Does Open OnDemand support GPU job submission?

Yes. Open OnDemand allows you to configure GPU resource requests in job submission forms and interactive app launchers. Users can request specific GPU counts and types through the web interface, which maps to Slurm’s --gres=gpu:N or PBS’s -l ngpus=N directives.

How do I add custom interactive applications?

Open OnDemand uses a simple directory structure for apps. Create a new app by adding a YAML manifest (manifest.yml) and submission script (submit.yml.erb) under /var/www/ood/apps/sys/. The templating system uses ERB (Embedded Ruby) to dynamically generate job scripts based on user form input.

Is there a cost to use these tools?

All three — Open OnDemand, Slurm Web, and OpenPBS — are fully open-source with no licensing fees. Some institutions offer commercial support contracts for OpenPBS through Altair.


💰 想测试你的市场判断力?我用 Polymarket 做预测市场交易——这是全球最大的预测市场平台,从大选结果到技术监管时间线,什么都可以押注。和赌博不同,这是真正的信息市场:你懂的信息越多,胜率越高。我靠预测技术相关事件的走向已经赚了不少。用我的邀请链接注册:Polymarket.com