Tovi: Run HPC Workloads with Kubernetes
Tovi is an innovative solution that enables organizations to deploy High Performance Computing (HPC) applications on Kubernetes. Tovi makes it super easy for HPC sites to modernize their software infrastructure and switch to containers.
Popularity of Containers and Kubernetes
Modern software infrastructure is built on a microservices framework. Indeed, containers are an increasingly popular method to enable software to run reliably when moved from one computing environment to another. The use of containers has exploded in recent years and this trend is expected to continue for the foreseeable future. The majority of containers are orchestrated, with Kubernetes being the most popular container orchestration platform available. Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. Managed Kubernetes services have seen significant growth in recent years and are still the standard for managing container environments in the cloud.
Containers, Kubernetes, and HPC Applications
Containers are extremely valuable for a wide range of HPC applications, however making the switch to containers can be very difficult. While Kubernetes is exceptional for orchestrating containers, it is very challenging to run HPC workloads with Kubernetes. Indeed, HPC applications are difficult to deploy on Kubernetes because Kubernetes jobs are typically long-running services that run to completion, whereas HPC applications often demand low-latency and high-throughput scheduling to execute jobs in parallel across many nodes and often require specialized resources like GPUs or access to limited software licenses.
Running Kubernetes Orchestration and HPC Workloads
Organizations seeking to deploy HPC applications on Kubernetes can try some of the following limited solutions:
- Support separate HPC and containerized infrastructures: This approach may have some utility for certain organizations that are already heavily invested in HPC infrastructure. However, this option increases infrastructure and management costs since it requires deploying new containerized applications on a separate cluster from the HPC cluster.
- Use an existing HPC workload manager and run containerized workloads: This may be a viable option for organizations with simple requirements and a desire to maintain their existing HPC scheduler. However, such an approach will preclude access to native Kubernetes features and consequently may constrain flexibility in managing long-running services where Kubernetes excels.
- Use Kubernetes native job scheduling features: This may be a viable option for organizations that have not invested much in HPC applications, but it is not practical for the majority of HPC users.
Solution: Tovi
Tovi was designed to address all the shortcomings above, thereby providing a robust and reliable solution to run HPC workloads with Kubernetes. Therefore, Tovi enables organizations to simultaneously reduce costs and maintain maximum flexibility. Tovi is built as a Kubernetes application, which means Tovi users can benefit from Kubernetes container orchestration and at the same time maintain all the benefits of a reliable and robust HPC workload manager. Tovi is simple, easy to use, and designed with the demands of a wide range of HPC applications in mind. Tovi lets users request resources instead of requesting time. Tovi handles the scheduling to maximize resource utilization and minimize wait times. Moreover, since Tovi is built as a Kubernetes application, adding and removing resources, updating system settings, and customizing the deployment is painless and often requires little or no downtime.
Get Tovi Today
Do better research, faster! Remove processing bottlenecks and speed up your development lifecycle.