Support for third-party kernel modules on host operating systems
AssigneeRed Hat, Inc.
InventorsJeremy John Eder, Marko Zvonko Kaiser
Life of this patent
Estimating the term…
Abstract
An example method of running an application workload includes detecting a request from a client for a hardware element for executing a workload of an application, the hardware element using a kernel driver to communicate with a host operating system and being abstracted by a node running on the host operating system. The method also includes creating a container on the node. The method further includes allocating the hardware element for the workload to execute in the container. The method also includes loading, by the container, the kernel driver into the host operating system. The method further includes running, by the container, the workload inside the container using the hardware element.
Claims20
A method of running an application workload, comprising:
- detecting a request from a client for a hardware element for executing a workload of an application, the hardware element being abstracted by a node running on a host operating system, and the host operating system being devoid of a kernel driver that interfaces with the hardware element;
- allocating the hardware element for the workload to execute in a container, the container being on the node;
- loading, by the container, the kernel driver into the host operating system in response to detecting the request, wherein the kernel driver interfaces with the hardware element;
- and
- running, by the container, the workload inside the container using the hardware element.
A system for running an application workload, comprising:
- a kernel driver support system that detects a request from a client for a hardware element for executing a workload of an application, wherein the hardware element uses a kernel driver to communicate with a host operating system and is abstracted by a node running on the host operating system;
- an orchestrator that creates a main container on the node and allocates the hardware element on which the workload executes;
- a privileged container that loads the kernel driver into the host operating system, wherein the privileged container runs inside the main container;
- and
- a workload container that runs the workload inside the workload container using the hardware element, wherein the workload container runs inside the main container,
- wherein a host machine includes a file system that is immutable, and the host machine includes the kernel driver support system, the orchestrator, the privileged container, and the workload container.
A machine-readable medium comprising a plurality of machine-readable instructions that when executed by one or more processors is adapted to cause the one or more processors to perform a method comprising:
- detecting a request from a client for a hardware element for executing a workload of an application, the hardware element being abstracted by a node running on a host operating system;
- determining, based on the hardware element and a version of the host operating system, a kernel driver associated with the hardware element;
- allocating the hardware element for the workload to execute in the container;
- compiling, by the container, the kernel driver;
- loading, by the container, the kernel driver into the host operating system;
- and
- running, by the container, the workload inside the container using the hardware element.
Dependencies are inferred from the claim text.