BeeGFS On Demand: Create Parallel Storage Instances with a Single Command with BeeOND
Nowadays, compute nodes of a cluster typically are equipped with internal flash drives to store the operating system and to provide a local temporary data store for applications. But using a local temporary data store is often inconvenient or not useful for distributed applications at all, as they require shared access to the data from different compute nodes and thus the high bandwidth and high IOPS of the SSDs is wasted. BeeGFS and more specifically BeeOND was created to solve this issue.
What is BeeOND?
BeeOND, aka “beyond” or short for “BeeGFS On Demand” was developed to solve the problems of HPC Storage. In particular, it’s accomplished by enabling the creation of a shared parallel file system for compute jobs on internal disks. The instances exist temporarily and exactly for the runtime of the compute job on the nodes that are allocated for the job. This in turn provides a fast, shared all-flash file system (if available) for the jobs as a very elegant way of burst buffering. These instances can also serve as the perfect place to store temporary data. This can also be used to remove a lot of nasty I/O accesses that would otherwise hit the spinning disks of your global file system.
What Makes BeeOND so Effective?
- Create parallel file system Instances ‘on the fly’
- Start/stop with a single command
- Can be integrated in a cluster batch system
- Common use case: Per-job parallel file system
- Aggregate the performance and capacity of local SSD/HDD in compute nodes in a job
- Take load from global storage
- Speed up ‘nasty’ i/o patterns
How Does it Work?
‘BeeGFS on Demand’ is based on the normal BeeGFS services, meaning your compute nodes will also run the BeeGFS storage and metadata services to provide the shared access to their internal drives. As BeeOND does not exclusively access the internal drives and instead, only stores data in a subdirectory of the internal drives, the internal drives are also still available for direct local access by applications.
While it is recommended to use BeeOND in combination with a global BeeGFS file system, it can be used independent of whether the global shared cluster file system is based on BeeGFS or on any other technology.
BeeOND simply creates a new separate mount point for the compute job. Any of the standard tools (like cp or rsync) can be used to transfer data into and out of BeeOND, but the BeeOND package also contains a parallel copy tool to transfer data between BeeOND instances and another file system, such as your persistent global BeeGFS.
Instances can be created and destroyed with just a single, simple command, which can easily be integrated into a cluster batch system, such as Slurm or Univa Grid Engine.