The Qlustar development and engineering team has the simple principle to make Qlustar the optimal software platform for HPC, Storage and Cloud clusters. We achieve this by:
Qlustar consists of a single Core and multiple Edge platforms. By platform, we mean a specific Linux distribution, possibly for multiple CPU architectures.
The core platform provides all Qlustar components/packages including the installer. It is currently (and will be in the foreseeable future) based on Ubuntu LTS releases. On the other hand, edge platforms are not meant to be run on head-nodes and lack certain software components or packages (head- / service-node functionality).
While the head-nodes are bound to the core platform, all other nodes are free to run any of the supported core/edge platforms. Mixing of different edge platforms on different nodes within a single cluster is fully supported. E.g., you are able to run any mix of Ubuntu and CentOS in a single cluster.
Servers that are installed on disk and serve exclusively as head-/service nodes, will always run the core platform. Among the software components that are supported only in core are:
In general, any component for which the platform does not matter, and the provided service alone is relevant, will be provided only in core. The rationale to distinguish between a core and edge platforms is led by the idea that the nature of the components exclusively provided by the core platform is service-centric. Therefore, the choice of a Linux distribution doesn’t matter for this part of the architecture.
In contrast, Qlustar offers choice, where it’s needed: To select one or multiple edge platforms, that will satisfy the specific requirements (e.g. Linux distribution type and version, libraries) of applications/programs to be run by end users. Obviously this is needed mostly in HPC environments.
Currently, the only supported CPU architecture is x86_64. A port to arm64 is on the agenda. The date when it will be available, depends on the size of the market share this architecture will be able to grab in the HPC field.
Qlustar’s central software components are the juice of the distribution. They deliver the core functionality for the type of systems Qlustar is designed for (HPC / Storage / Cloud clusters) and are divided into the different Qlustar stack groups (HPC, Data, HA, …).
Some of these components are not part of the base Linux distribution. Qlustar provides all central components / packages with up-to-date versions (in most cases much more recent than the base distributions), with the best possible quality and configuration for clusters. For some components, Qlustar provides packages with multiple versions that sometimes are also installable in parallel. Examples: OpenMPI (multiple versions, installable in parallel) Lustre (multiple versions not installable in parallel).
The highlight of Qlustar is the management framework QluMan. It is responsible for managing and operating Qlustar clusters and is available exclusively in the Qlustar Cluster OS.
The Qlustar software package repository for a particular platform is a merge of the repository provided by the base (upstream) distribution and the packages provided by Qlustar.
Qlustar software packages carry a version appendix string indicating the Qlustar package
version as well as the base distribution codename.
Example: Package slurmctld_20.02.6-ql.2+12-focal_amd64.deb
Upstream version (SLURM) 20.02.6, Qlustar package version ql.2 for Ubuntu focal
/ architecture amd64.
Whenever possible/necessary, the versions of central software components will be the same in all platforms for a given Qlustar release. E.g. the SLURM version will be the same in all platforms of Qlustar 12.0.0. This ensures that all central edge platform components (running on compute nodes) work flawlessly with the corresponding core platform components (on the head-/service-nodes).
There are 3 types of releases: Major, feature, and maintenance. Apart from major releases, the release dates are more or less independent of the base distributions release dates.
Since Ubuntu LTS is our current core platform, we will target a new major release, whenever there is a new LTS release.
Feature releases have a typical cycle of 9-12 months. They feature major new versions of some of the central software components like QluMan, Lustre or OpenMPI, etc. To some extent, the cycle depends on the release dates of important upstream versions.
These introduce non-interruptive features in irregular intervals, decoupled from the usual Qlustar releases. No incompatibilities between Qlustar components are introduced. Most of the time these are improvements within QluMan.
Maintenance releases provide minor package updates (security/bug fixes). Often, QluMan will add some new features as well. Changes in a maintenance release are such that compatibility to a previous release is given.
Qlustar versions are composed of three digits characterizing the major, feature and maintenance
release numbers + an appendix indicating the upstream (Ubuntu, CentOS) codename.
Example: 12.1.1/focal
Major release 12, feature release 1, maintenance release 1 based on Ubuntu 20.04
(codename focal).
Note: Version naming/numbering for Qlustar releases is based on the scheme that was used for previous non-public releases. Hence, the first public release started at 8.0.0.
The support duration of a Qlustar platform release is equivalent to the support duration for the release of the underlying distribution.
Example: Support for the Qlustar platform Ubuntu Focal will end, once Ubuntu ends support for Focal.
Example: Current Qlustar release: 12.0.0. Upcoming feature release: 12.1.0.
While the Ubuntu Focal platform will receive new feature updates in 12.1.0 and any additional 12.x.0 release, there won’t be any new features in the 12.0.x series. As soon as 12.1.0 is out, 12.0.x and any previous release are entering maintenance mode which restricts updates to critical bug and security fixes.
Note: While a new Qlustar major release always implies a different version of the core platform (Qlustar 12 / Ubuntu 20.04 versus Qlustar 13 / Ubuntu 22.04), the version of edge platforms can remain the same (12.0.x/centos7 becomes 13.0.0/centos7).