Hi, I'm Alan
AI / ML Infrastructure Engineer
Alan Zamani

About

Nine years building production systems in Australia, eight at a Tier-1 national supercomputing centre. Designs, builds and operates multi-tenant GPU scheduling platforms: allocation and fair-share policies, quota and walltime enforcement, telemetry and self-service tooling across heterogeneous clusters. Built vScheduler, an open-source GPU session orchestrator in production since 2022 across 51 GPU nodes, with the accompanying paper published at ISC High Performance 2026. Now moving it to Kubernetes with a gated CI/CD pipeline, and building MCP servers that let LLM agents operate production infrastructure safely.

Work Experience

Pawsey Supercomputing Research CentreCSIRO
Pawsey Supercomputing Research Centre (CSIRO)
HPC Software Engineer, Visualisation Specialist
Mar 2018 - Present

One of Australia's two national supercomputing centres. Designs and operates the interactive GPU platform behind the centre's visualisation services: scheduling, remote access and the infrastructure underneath it.

  • Designed, built and shipped vScheduler (open source, github.com/PawseySC/vScheduler), a Python scheduling and orchestration service allocating GPU-backed interactive sessions across two production clusters (a Linux HPC partition and a Windows GPU cluster). In production since 2022 across 51 GPU nodes, serving 150-200 users and about 500 sessions (5,000 session-hours) a month.
  • Implemented two allocation models in one system: on-demand scheduling via a custom load balancer that ranks nodes on live utilisation and health, plus reservation-based allocation validated against a booking service. No open-source alternative combines both; the capability previously required commercial products such as AWS NICE DCV and NICE EnginFrame (an estimated USD 80,000 in licences at 200 users).
  • Built the control plane end to end: socket-based telemetry agents streaming session and health events, a MySQL state store as the single source of truth, systemd services, and quota, walltime and fair-share enforcement.
  • Shipped a Slurm-style operator CLI (vmanage, valloc, vkill, vquota, vinfo, vreport) with HTML reports.
  • Built automated hybrid HPC pipelines for Ansys Fluent and Ansys Mechanical: users pre- and post-process interactively on the Windows GPU cluster while solves run on the supercomputer, with Slurm jobs submitted on their behalf from the GUI and results returned automatically over key-based SSH or Ansys Remote Solve Manager (RSM), fully scripted and transparent to users.
  • Architected for failure isolation and portability (separated control and data planes, per-site deployable modules); owns releases and operations, shipping periodically and recovering monthly post-maintenance breakages (OS patches, Python upgrades, database connectivity) the same day.
  • Provisions the estate with Ansible across bare metal, KVM/Proxmox VMs as well as an in-house OpenStack cloud.
  • Engineered zero-touch, image-based provisioning for the 19-node Windows GPU cluster on open-source tooling (iPXE, wimboot): nodes network-boot, apply WIM/FFU images with unattended configuration and Group Policy, and return to service fully configured, every build defined as code in Git, saving an estimated USD 20,000.
  • Operates the clientless remote-access gateway: Apache Guacamole brokering persistent RDP, VNC and SSH sessions in the browser, behind a reverse proxy and institutional SSO.
  • Operates the centre's render farm and NVIDIA Omniverse environment.
  • Mentored two interns building data-science and digital rock physics applications on heavy numerical compute, and wrote the training material and public Confluence documentation that onboard users to the platform.
Stake
Stake
Software Engineer
Mar 2017 - Feb 2018

Built the customer-facing trading platform in a regulated financial-services environment.

  • Built account opening, order placement and portfolio monitoring in Angular on REST APIs and market-data feeds.

Education

UNSW Sydney
UNSW Sydney
MSc Petroleum Engineering
2015 - 2017

Thesis: Pore network modelling for coal seams

Computational research on 3D numerical flow simulation over networks modelled from large 3D datasets (micro-CT imaging), validated and benchmarked against an expensive reference (Lattice Boltzmann).

Skills

HPC operations

Slurm
GPU scheduling
Interactive HPC
Bare-metal provisioning (iPXE)
openDCIM

Automation & IaC

Ansible
Infrastructure as Code (IaC)
GitHub Actions/Jenkins

Engineering practice

Modern software development lifecycle (SDLC)
Agile/Scrum (Jira, Confluence)
Git workflows (GitHub, GitLab, Gitea)
CI/CD with gated promotion and automatic rollback
Containerised delivery
Versioned releases
Documentation

Containers, orchestration & virtualisation

Kubernetes
Docker/Helm
Kustomize
KVM/Proxmox

Platforms & observability

Linux
OpenStack private cloud
S3 object storage
Prometheus/Grafana

Languages & frameworks

Python
C++
Bash
TypeScript/Next.js
React/Angular

AI tooling

Claude Code
GitHub Copilot
OpenAI Codex
Ollama
My Projects

Selected work

vScheduler

vScheduler

In production

An open-source HPC scheduler for interactive GPU sessions, developed in-house and in production at Pawsey Supercomputing Research Centre since 2022 across 51 GPU nodes. Unifies a Linux HPC partition and a Windows GPU cluster under one centralised scheduling model, with both on-demand and reservation-based allocation, integrating Apache Guacamole and LibreBooking through their REST APIs.

Python
On-Demand/Booking-Based Scheduler
MySQL
Linux
ETL
Load Balance
Socket Communication
Orchestration
Remote Desktop Protocol
REST API
Session Management
Resource Allocation
Multi-tenant
HPC

vScheduler on Kubernetes

In development

vscheduler_mcp_k8s · zsh · 212×53

The full vScheduler stack moved from Ansible-provisioned VMs to Kubernetes and deployed declaratively from one Kustomize base, with dev and prod overlays. Credentials live in Secrets and settings in ConfigMaps, the shared database persists on a PersistentVolumeClaim, and schema setup runs as an idempotent Job. A Service per session node lets the scheduler reach each one through cluster DNS by the same naming pattern it uses in production.

Kubernetes
Kustomize
Docker
MariaDB
Apache Guacamole
LibreBooking

vScheduler MCP Server

In development

vscheduler-mcp · claude · 213×53

A Model Context Protocol server that lets LLM agents such as Claude Code operate vScheduler in natural language. Built on the official Python MCP SDK over streamable HTTP, it generates one typed tool per command from a YAML allowlist that validates every argument, and runs each call over key-based SSH from its own container. State-changing tools are flagged destructive so the client confirms first; results are checked, not trusted.

Model Context Protocol
MCP server
AI agent tool
LLM integration
A push to a feature branch is checked and deployed to the dev sandbox. A pull request into main must pass the same checks before it can merge; the merge builds the images once, tags them with the commit SHA, pushes them to the Gitea registry and deploys them to staging, where a smoke test gates the release. A protected v* tag promotes the exact image digest staging passed to prod, with no rebuild, and rolls back if the smoke test fails. Gitea, the registry and branch protection run on a Git server; the self-hosted runner and the k3s cluster run on a separate Linux host, and the deploy step needs only kubectl, so any Kubernetes cluster can stand in for it.

vScheduler Delivery Pipeline

In development

A self-hosted CI/CD pipeline for vScheduler on Kubernetes, built on Gitea Actions with GitHub Actions-compatible workflows. Required checks gate every merge; each image is built once, tagged by commit and promoted unchanged from dev through staging to a protected production environment, with a smoke test gating each promotion and automatic rollback on failure. Deploys need only kubectl, so it targets any Kubernetes cluster, on premises or cloud.

CI/CD
GitHub Actions
Gitea
k3s
Kustomize
Container registry

ParaView MCP for Visualisation

Proof of concept

Applying LLNL's open-source ParaView-MCP to interactive visualisation at Pawsey Supercomputing Research Centre: an MCP server that drives the ParaView application from natural language, where the agent reads the viewport back as an image and refines the scene from what it sees. It runs against a multi-client pvserver with the ParaView GUI attached, so a researcher watches the render being built as they describe it. Trialled to find where natural-language control helps people who are not ParaView experts, and where it still needs one.

Model Context Protocol
ParaView
Scientific visualisation
Multimodal LLM
Python

ParaView MCP: CPU and GPU sessions on Kubernetes

0:00 / 0:00
Publications

Peer-reviewed work

ISC High Performance

A Scheduler System for Interactive Visualization on HPC Resources

ISC High Performance 2026, Hamburg

First author. System design, implementation and evaluation.

Contact

Get in Touch

Open to AI / ML infrastructure roles in Australia.