2012-09-16 11 views
6

Estoy buscando algunos artículos/documentos sobre el impacto de mover una implementación de protocolo decir pila de TCP/IP desde el kernel al espacio de usuario. Obviamente tendrá un impacto, pero ¿cuánto? O hay literatura sobre cuánto cuesta el cambio de contexto. Me doy cuenta de que puede que no haya respuestas precisas porque dependerán de la aplicación. Asumiendo que es una pila de red, será genial si alguien puede proporcionar algunas entradas. Busqué en Google pero no puedo encontrar nada bueno excepto este User space Vs Kernel space program performance difference pero que no arroja suficiente luz.Implementación de protocolos en espacio de usuario versus espacio de kernel - implicación de rendimiento

+0

La pregunta, tal como está, está fuera de tema para SO, ya que está pidiendo un recurso externo en lugar de una respuesta a una pregunta de programación. AFAIK, la pila TCP en el espacio de usuario puede funcionar mejor que en el espacio del kernel siempre que la aplicación en la parte superior de la pila esté en el mismo proceso que la pila misma. Si desea una arquitectura tipo "micro-kernel" donde la pila es su propio proceso, pagará por otro conmutador de contexto, por lo que sería necesario diseñar algún tipo de sistema de notificación por lotes eficiente. – jxh

+0

Bueno, debe haber algo que valga la pena para gente como Solarflare/Mellanox para producir tarjetas y pilas que pasan por alto el kernel y se ejecutan prácticamente en su totalidad en el espacio de usuario (siempre y cuando esté en proceso). Imagine sin algún soporte de hardware, estas cosas son notoriamente difíciles de implementar. – Nim

Respuesta

0

Como sé que podría ver para las comparaciones del sistema de archivos, hay muchas implementaciones diferentes, como módulos del kernel y como módulos de fusibles. Puede ser que pueda encontrar información interesante en este tipo de componentes.

También en el campo de la red puedo mencionar que algunos controladores utilizan la capacidad de las tarjetas de red para calcular los hash para los marcos de Ethernet, y hay algo de eso. Si trabaja en el espacio de usuario, no puede usar ese truco. En resultado, puede obtener la compasión del rendimiento en el uso de tal truco como límite superior de la pena de rendimiento.

Cuestiones relacionadas