Me di cuenta de que una GPU puede tener cientos de núcleos, de modo que un cálculo en paralelo puede acelerarse en gran medida con ellos. Parece que en un kernel de sistema operativo, no se utilizan algoritmos paralelos para la aceleración.¿Tiene sentido ejecutar cálculos del nivel de kernel del sistema operativo en una GPU?
Las personas hacen cálculos paralelos en usuarios-ritmo con OpenMP, pero ¿por qué no en kernel-space? Supongo que hay muchas tareas dentro del SO que requieren procesamiento paralelo, como procesar múltiples conexiones de red y paquetes, realizar operaciones de criptografía, administrar la memoria, buscar ... Algunos firewalls filtran y monitorean los flujos de red al hacer coincidir patrones, sistemas operativos orientados a la investigación también puede analizar el programa antes de ejecutarlo, lo que lleva mucho tiempo y puede ser paralelizable.
¿Por qué los sistemas operativos no usan GPU para mejorar su rendimiento y rendimiento? ¿Tiene sentido ejecutar cálculos de sistema operativo en la GPU?
Gracias, acepto que la latencia es la debilidad de la computación GPU. El software PacketShader reclama una latencia de cientos de microsegundos, ¿no está seguro de si todavía es muy lento? La criptografía, no sé si los servidores de archivos utilizan cifrado fs/disco o no, la GPU puede ayudar en este tipo de casos. Acerca del puntero, parece que CUDA 4.0 tiene un espacio de dirección de memoria unificada que incluye no solo múltiples memorias GPU, sino también la memoria principal, ¿no sirve de nada? Tengo curiosidad de por qué las personas no ponen funcionalidades útiles en el kernel, especialmente las cosas de seguridad, creo que el kernel es lo único en lo que podemos confiar ... –
Podemos confiar en el kernel porque la gente lo pone lo menos posible: Incluso si el servidor usa un disco encriptado, enviar un solo sector a la GPU para su descifrado es más lento que hacerlo en la CPU. Es difícil acumular suficientes operaciones para que el paralelismo de la GPU sea útil. E incluso si tiene un espacio de direcciones unificado, las GPU simplemente no están diseñadas para etapas de direccionamiento de múltiples punteros. Una vez más, las operaciones típicas en el kernel no son adecuadas para aprovechar las fortalezas de la GPU, por lo que obtienen el efecto completo de las debilidades de la GPU. – bdonlan