Skip to content

HPC Workloads

VirtEngine extends the marketplace beyond containers and VMs to high-performance computing: batch jobs, MPI workloads, GPU compute, and interactive sessions running on real HPC clusters managed by SLURM, MOAB, or Open OnDemand.

Job submission virtengine tx hpc submit-job Routing enforcer strict / permissive / audit-only x/hpc decision cluster, capacity, staleness Scheduler adapter SLURM · MOAB · Open OnDemand HPC cluster compute nodes + node agents signed usage records + accounting → on-chain settlement
An HPC job's path: on-chain submission, routing enforcement against the x/hpc scheduling decision, scheduler adapter submission, and signed usage flowing back to settlement.
  • Clusters — providers register HPC clusters with type, region, endpoint, and capacity.
  • Queues — priced queues per cluster (price_per_hour, duration bounds, resource type).
  • Jobs — tenant submissions referencing an offering, with node/GPU counts, duration, budget, and the job script.
  • Scheduling decisions — which cluster a job should run on, recorded on-chain so placement is deterministic and auditable.
  • Workload templates — curated, signed job templates approved through governance.

Jobs move through scheduler-mirrored states:

pending → queued → starting → running → completed
↘ failed
↘ timeout
cancelled

The provider daemon fires lifecycle callbacks on each transition (submitted, queued, started, completed, failed, cancelled, timeout, suspended, resumed) and reports status on-chain.

Placement is not advisory. The provider daemon’s routing enforcer validates every submission against the on-chain scheduling decision, in one of three modes:

ModeBehavior
strict (default)Jobs must carry a valid, fresh decision for an available cluster; anything else is rejected
permissiveMissing/stale decisions trigger re-scheduling; fallback clusters allowed but logged
audit_onlyNo enforcement; all violations logged for monitoring

Decisions go stale after ~100 blocks / 600 seconds by default and must be refreshed. Violations (missing_decision, stale_decision, cluster_mismatch, cluster_unavailable, capacity_exceeded, unauthorized_fallback) are recorded as audit records with severity levels.

Five validated templates ship with the protocol:

Template IDTypeDescription
mpi-standardMPIStandard MPI parallel computing with OpenMPI
gpu-computeGPUGPU-accelerated compute with CUDA support
batch-standardBatchSingle-node batch processing
data-processingData ProcessingSpark/Dask data pipelines
interactive-sessionInteractiveJupyterLab and terminal sessions
Terminal window
virtengine hpc templates list # all templates
virtengine hpc templates list --type gpu # filter by type
virtengine hpc templates show mpi-standard

Custom templates are cryptographically signed by their publisher and require governance approval — the full flow is in HPC Workload Templates.

HPC usage records capture wall-clock seconds, CPU core-seconds, memory GB-seconds, GPU-seconds, node-hours, storage GB-hours, network transfer, and energy where available — signed and submitted on-chain like every other usage record, feeding the standard settlement pipeline.