Speeding up the Linux kernel with the GPU

Original author: Michael Larabel
  • Transfer
University of Utah research, sponsored in part by NVIDIA, is aimed at studying Linux kernel acceleration using GPU acceleration. Instead of just letting the user’s applications take advantage of the tremendous power of today's advanced GPUs, researchers hope to speed up parts of the Linux kernel by running it directly on the GPU.

From the pages of the study: “The idea of ​​the KGPU project is to consider the GPU as a computing coprocessor for an operating system that allows parallel computing within the Linux kernel. This will make it possible to use SIMD (or SIMT in CUDA) to accelerate the functionality of the Linux kernel and introduce new functionality that was previously considered too computationally intensive for the kernel. Simply put, the KGPU project makes vector computing inside the kernel possible. ”

In addition, "it allows you to truly parallelize the Linux kernel: not only process multiple requests at the same time, but also divide one large requested computation into parts and distribute these parts through a large number of cores on the GPU."

Although this sounds like a new concept, at this stage it is more of a research project. There are several factors that, in principle, exclude the KGPU project from the list of projects creating the main direction in the foreseeable future. The big problem is that not one of the open graphics drivers supported by the Linux kernel DRM (Direct Rendering Manager) subsystem is capable of supporting GPGPU. Support is planned for the OpenCL Gallium3D open computing language with a state tracker, but it will not be ready soon.

Another problem is that this current work focuses only on the Linux kernel and encourages the use of CUDA with the GPU. This work is sponsored by NVIDIA, so the university switched to a software and hardware architecture that is only supported on NVIDIA hardware using their latest proprietary drivers. The best choice would be OpenCL, an open-source computing language that can run on AMD and NVIDIA GPUs as well as on an open production level.

Currently, in the development of the KGPU project, there is a GPU-accelerated AES cipher for using the encrypted eCryptfs file system, which shows promising results that take into account how well modern GPUs can work with cryptography.

Those who are interested in learning more about the KGPU project to increase the Linux kernel using the GPU are advised to visit the service for Google Code software developers. Source codes are also available on the web service for hosting projects and their joint development of GitHub. It would be interesting to see how the Linux kernel begins to use the processing capabilities provided by modern GPUs, but first, open kernel drivers should be improved and be able to handle the open computing language OpenCL and / or other GPGPU interfaces.

Also popular now: