TL;DR: A new integration from Sylabs between Kubernetes and Slurm unlocks new possibilities for Singularity containers. Leading-edge use cases enabled. Details here.
SUG Series Introduction
The inaugural meeting of the Singularity User Group (SUG) was held March 12-13, 2019, at the San Diego Supercomputer Center (SDSC). The event attracted diverse representation from the international advanced computing community as conveyed through the post-event press release issued jointly by SDSC and Sylabs.
Over the course of the two-day event, over 20 talks were presented by members of the Singularity user, developer, and provider community. Because SUG generated a significant amount of interest, even from those who were unable to attend, we are sharing online each of the talks presented.
SUG Talk Introduction
When it comes to containerized applications and workflows, is the choice workload management OR orchestration? An emerging integration between Kubernetes and Slurm breaks down these previously isolated silos by introducing a workload management AND orchestration choice. Thus Kubernetes is augmented by those HPC affinities common to Slurm, and remains apprised of its resource utilization. The impact of the integration is best demonstrated through the use cases it enables – use cases that may, for example, need to combine compute and (micro)services capabilities into a single hybrid application workflow.
In his talk from SUG, Sylabs’ technical writer Ian Lumb introduces the Kubernetes-Slurm integration through the combination of a presentation and a demonstration. The abstract for Ian’s contributed talk entitled Managing and/or Orchestrating Containerized Workloads? is as follows:
In those compute clusters that have been used traditionally for High Performance Computing (HPC), requirements for the management of workload have been addressed for more than two decades. Through dependencies involving two or more ‘jobs,’ workload managers (WLMs) have some innate ability to allow for workflows, though this requirement is increasingly better serviced by ‘external’ capabilities – e.g., Nextflow is representative of possibilities that can be well addressed today. Even in isolation from other types, there is an emerging set of requirements that seek to execute HPC workloads via containers. For the most part, this is also well addressed by WLMs in traditional HPC compute clusters. What is less clear, however, are the full complement of requirements that relate to the execution of HPC or Enterprise Performance Computing (EPC) workloads via containers orchestrated by Kubernetes. Whereas Kubernetes’ simplistic complement of build-in scheduling policies may adequately address the requirements typical of microservices based deployments, it is evident that the needs of HPC and EPC workloads are not being addressed. And as hybrid use cases involving some combination of services alongside HPC or EPC workloads, unmet requirements manifest as an ever-widening gap. With the recent alpha release availability of the Singularity Container Runtime Interface (CRI), there now exists new possibilities for HPC and EPC workloads for orchestration via Kubernetes. Beyond supporting native passthrough involving the built-in scheduler for Kubernetes, work on the Singularity CRI has motivated other possibilities – other possibilities that would allow WLMs like Slurm to be utilized in a Kubernetes context. After briefly reviewing the traditional case for WLMs in HPC clusters, emphasis shifts to the possibilities and probabilities for applications containerized via Singularity in a Kubernetes container cluster.
Ian’s talk from SUG can be found below and here. Enjoy!
P.S. During the Q&A session, Ian draws upon Sylabs’ software engineer Michael Bauer for technical support. During the first part of Michael’s talk at SUG, an introduction Singularity CRI is provided.
P.P.S. Since the mid-March timeframe of SUG, this integration has evolved; for a sneak peek into its current status, you can have a look here.