gpt4 book ai didi

parallel-processing - 在GPU上运行OS内核级计算是否有意义?

转载 作者:行者123 更新时间:2023-12-04 01:37:12 29 4
gpt4 key购买 nike

我注意到GPU可以具有数百个内核,因此可以大大加快并行计算的速度。似乎在OS内核中,没有并行算法用于加速。

人们在用户中使用OpenMP进行并行计算,但是为什么不在内核空间中进行呢?我猜想OS内有许多任务需要并行处理,例如处理多个网络连接和数据包,进行加密操作,管理内存,搜索?...某些防火墙通过匹配模式,面向研究的OS来过滤和监视网络流可能还会在运行程序之前对其进行分析,这既耗时又可能是可并行的。

那么,为什么操作系统不使用GPU来提高其性能和吞吐量呢?在GPU上运行OS计算是否有意义?

最佳答案

GPU并行处理应用程序要求您运行完全相同的操作数百次。此外,您只能进行什么操作-分支通常不是一个选择,也不能遍历指针链。

大多数内核操作不适合此模型;内核所做的大部分工作都是通过指针(包括锁定)来管理资源。这根本不适合GPU模型。至于其他操作,您引用:


密码学:GPU非常适合尝试破解密码算法,但这不是内核的工作。它通常运行一次加密操作。在这种情况下,CPU速度要快得多,因为它只需要执行一次。
处理网络流量:数据包到达的时间不同,需要以低延迟进行处理。 GPU可能能够执行无状态的防火墙处理,但是您需要分批处理数据包,并一次处理数百个数据包,这样才能受益匪浅-这会损害延迟和抖动,因此就剩下工作了到CPU。此外,状态跟踪需要对连接跟踪表进行共享的锁定访问,而这是GPU无法实现的。
管理内存:这是一个具有大量锁定的指针密集型操作,因此,GPU甚至不适合远程使用。此外,延迟至关重要,将作业发送到GPU意味着大量延迟。
搜索:现代OS内核不搜索。这是用户空间的工作-再次,这是非常指针繁重的工作。


GPU非常适合于数学内核,在数学内核中,吞吐量至关重要,而延迟是一个小问题-数值模拟之类的东西。通常,它们不适用于数据管理或延迟很关键的地方-这正是OS内核所做的事情。这就是为什么操作系统通常不使用GPU加速的原因。

OS内核可以使用并确实使用其他类型的硬件加速功能-一些机器具有专门设计用于快速执行一次性加密计算的特殊加密硬件内核。这些可以被内核很好地利用,因为它们更适合内核所面临的特定问题。

关于parallel-processing - 在GPU上运行OS内核级计算是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5242164/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com