EasyBuild is a software build and installation framework that allows the efficient management of scientific software on HPC systems. Originally developed by the HPC team at Ghent University, EasyBuild is today developed by the EasyBuild community which spans several hundred HPC sites globally.
As part of the 6th EasyBuild User Meeting (EUM’21), Microsoft provided dedicated Azure HPC Cloud resources to support a CernVM File System (CernVM-FS) tutorial which was organised and delivered by Kenneth Hoste (HPC team at Ghent University), Bob Dröge (University of Groningen), and Jakob Blomer (lead developer of CernVM-FS at CERN).
This CernVM-FS tutorial was organised in the context of the European Environment for Scientific Software Installations (EESSI) project, which aims to set up a shared repository of optimised scientific software installations that can be used across different platforms including personal workstations, cloud environments, and HPC clusters. CernVM-FS and EasyBuild are key components in the EESSI project, alongside other open source projects like archspec, Lmod, Gentoo Prefix, Ansible, Terraform, and ReFrame.
CernVM-FS was originally developed to assist High Energy Physics (HEP) collaborations to deploy software on the worldwide-distributed computing infrastructure used to run data processing applications.
The tutorial was split into an introductory talk by lead developer Jakob Blomer and four tutorial sessions with hands-on exercises and support provided through a dedicated Slack channel. Dedicated cloud resources in Microsoft Azure (sponsored by Microsoft) were made available to registered tutorial attendees for working on the hands-on exercises.
The CycleCloud environment set up by Kai Neuffer and Karl Podesta (Snr Technical Specialists from the Azure EMEA Global Black Belt Team) was found to be a very good fit for the tutorial. A cluster template was set up in CycleCloud so that a cluster could be created per attendee. The template was used to specify names and open ports for each of the different node types in the cluster, and once this was in place then creating the clusters was found to be very easy.
Clusters needed to be created manually via the Azure CLI with accounts also being assigned manually to the clusters. This took some effort, and as an advanced topic it was recommended that this could be automated in a production setup with a tool like Ansible or Puppet.
The green status bar shown in the example below shows all the nodes in the cluster which started successfully and were ready to be connected via the Secure Shell (SSH) protocol in the next stage of the exercise using an assigned username and the public IP address of the node:
With all the components for hosting and accessing a CernVM-FS repository in place, it could now be used and the next practical stages of the tutorial focused on adding files to the repository (referred to as publishing) by starting a transaction on the server and then publishing the changes, adding tags, recommendations around handling the metadata in a file catalog, and making use of nested catalogs by having separate catalogs for different subtrees of the repository.
Conclusion & Feedback
Over 30 people were registered, each of whom were assigned 4 Virtual Machines (VMs) with 2 cores each. As this was the first tutorial of this kind to make use of CycleCloud, a lesson learned for next time would be to ensure a larger pool of external IP addresses. However, this was overcome with assistance from Karl Podesta of the Azure EMEA Global Black Belt HPC team by relocating some of the clusters to another region (North Europe rather than West Europe) which provided extra IP addresses.
Minor teething-troubles aside, Dr Hoste reported that CycleCloud had been a good a good fit for the tutorial, both for attendees and for the tutorial organizers, and that it would certainly be something he would like to consider again for future tutorials:
“I feel that the Azure CycleCloud environment was a very good fit for the tutorial. Attendees found it quite intuitive to navigate, and it was very useful for us to have access to the individual clusters to help troubleshoot things in case something went wrong.
Overall, I think we can state that the CernVM-FS tutorial went well: content-wise the tutorial was well received, and we are also quite happy with how it worked out. We feel this will be a valuable asset for both
the EESSI and CernVM-FS communities going forward.”