⬆️ ⬇️

Accelerating the Linux kernel using a GPU GPU

Utah State University research sponsored in part by NVIDIA aims to explore the Linux kernel acceleration using GPU GPU acceleration. Instead of simply allowing user applications to use the tremendous power of the proposed modern graphics processors, researchers hope to speed up parts of the Linux kernel by running it directly on the GPU.



From the study pages: “The idea of ​​the KGPU project is that the GPU GPU is considered as a computing coprocessor for the operating system, which allows parallel computing inside 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 intensive computing for the kernel. Simply put, the KGPU project makes vector computing inside the kernel possible. ”



In addition, "this allows you to truly parallelize the Linux kernel: not only process several requests at the same time, but also divide one large requested calculation 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 rather a research project. There are several factors that, in principle, exclude a KGPU project from the number of projects creating a mainstream in the foreseeable future. The big problem is that none of the open graphics drivers supported by the Linux kernel DRM subsystem (Direct Rendering Manager) is not yet capable of supporting GPGPUs. Support for the open computation language OpenCL Gallium3D with a state tracker is planned, but it will not be ready soon.

')

Another problem is that this current work is aimed only at the Linux kernel and encourages the use of CUDA with a GPU GPU. This work is sponsored by NVIDIA, so the university switched to using software and hardware architecture that is only supported on NVIDIA hardware when using their latest proprietary drivers. The best choice would be OpenCL, an open source computing language that can run on both 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 use by the encrypted file system eCryptfs, which shows promising results that take into account how well modern graphics processors can work with cryptography.



For those interested in learning more about the KGPU project to increase the Linux kernel using the GPU, we advise you to visit the service for Google Code software developers. Source codes are also available on a 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 need to be improved and be able to handle the open computing language OpenCL and / or other GPGPU interfaces.

Source: https://habr.com/ru/post/118926/



All Articles