Table of Contents
Fetching ...

Building the Palmetto API: Adding granular permissions and caching to the Slurm REST API without sacrificing compatibility

Ben Godfrey, Doug Dawson

Abstract

The development of administrative and computational research tools requires reliable programmatic interfaces with the cluster scheduler. The Research Computing and Data (RCD) team at Clemson University has developed the Palmetto API, a proxy for the native Slurm RESTful interface, slurmrestd, while providing advanced authentication, authorization, and caching. This paper details the design and implementation of this proxy, evaluates the performance benefits from caching, and verifies compatibility to existing slurmrestd clients. The result is a light-weight and secure method of exposing our cluster scheduler to tools and automations.

Building the Palmetto API: Adding granular permissions and caching to the Slurm REST API without sacrificing compatibility

Abstract

The development of administrative and computational research tools requires reliable programmatic interfaces with the cluster scheduler. The Research Computing and Data (RCD) team at Clemson University has developed the Palmetto API, a proxy for the native Slurm RESTful interface, slurmrestd, while providing advanced authentication, authorization, and caching. This paper details the design and implementation of this proxy, evaluates the performance benefits from caching, and verifies compatibility to existing slurmrestd clients. The result is a light-weight and secure method of exposing our cluster scheduler to tools and automations.

Paper Structure

This paper contains 24 sections, 2 figures, 2 tables.

Figures (2)

  • Figure 1: Palmetto API architecture diagram
  • Figure 2: Diagram showing authentication methods used at each part of the connection.