Linux_IBM_1

El ingeniero de IBM, Pratik Sampat, publicó un primer prototipo de una interfaz de espacio de nombres de CPU para el kernel de Linux. Este espacio de nombres de CPU se diseñó para abordar problemas de coherencia con los medios actuales para ver los recursos de CPU disponibles, así como para abordar posibles problemas de seguridad derivados de la comprensión del acceso / posicionamiento de recursos en el sistema.

Uno de los impulsores de esta propuesta de espacio de nombres de CPU de Linux son las formas mixtas de ver y administrar los recursos de la CPU en este momento ".El control y la interfaz de pantalla están bastante separados entre sí. Las restricciones se pueden establecer a través de interfaces de control como cgroups, mientras que muchas aplicaciones heredan o obtienen la vista del sistema a través de sysfs / procfs y asignan recursos como número de subprocesos / procesos, asignación de memoria basada en esa información. Esto puede provocar comportamientos de ejecución inesperados y tener un gran impacto en el rendimiento. "

Mientras tanto, los métodos alternativos se describen como menos que ideales en la carta de RFC",Las soluciones existentes al problema incluyen herramientas de espacio de usuario como LXCFS que pueden falsificar la información de sysfs montando en el archivo en línea de sysfs para estar en coherencia con los límites establecidos a través de cgroup cpuset. Sin embargo, LXCFS es una solución externa y debe configurarse explícitamente para las aplicaciones que lo requieran. Otra preocupación es también que herramientas como LXCFS no manejan todos los demás mecanismos de visualización como las estadísticas de carga de procfs. "

Mientras tanto, las implicaciones de seguridad descritas incluyen "un caso en el que un actor puede conocer la topología del nodo de la CPU, puede programar cargas de trabajo y seleccionar CPU de manera que el bus se inunde y provoque un ataque de denegación de servicio" o "un caso en el que se identifica la topología del sistema de la CPU puede ayudar a identificar núcleos que están cerca de buses y periféricos como GPU para obtener una ventaja de latencia indebida del resto de las cargas de trabajo ".

La propuesta de espacio de nombres de CPU liderada por IBM persigue el siguiente diseño:

  • Este prototipo de conjunto de parches introduce un nuevo mecanismo de espacio de nombres del kernel: el espacio de nombres de la CPU.
  • El espacio de nombres de la CPU aísla la información de la CPU virtualizando los ID de CPU lógicos y creando un mapa de CPU virtual codificado de los mismos. Se engancha en task_struct y son las traducciones de la CPU diseñadas para estar en una jerarquía plana, esto significa que cada CPU de espacio de nombres virtual se asigna a una CPU física en la creación del espacio de nombres. La ventaja de una jerarquía plana es que las traducciones son O (1) y los niños no necesitan atravesar el árbol para recuperar una traducción.
  • Este espacio de nombres permite que tanto las interfaces de control como las de visualización sean conscientes del contexto del espacio de nombres de la CPU, de modo que una tarea dentro de un espacio de nombres solo obtiene la vista y, por lo tanto, el control de sus recursos de CPU disponibles a través de un mapa de CPU virtual.
  • En un experimento del espacio de nombres de la CPU mientras se probaba con el servidor web Nginx, " Con el espacio de nombres de la CPU, vemos el número correcto de PID que se generan correspondientes a los límites de cpuset establecidos. La utilización de la memoria cae por encima del 92-95%, la latencia se reduce en 64 % y el rendimiento, como las solicitudes y la transferencia por segundo, no ha cambiado. "

Todavía hay una serie de deficiencias conocidas en el diseño actual, pero las cifras de rendimiento inicial son emocionantes. Más detalles sobre esta serie de parches "RFC" para la interfaz de espacio de nombres de CPU de Linux se pueden encontrar a través de este hilo de lista de correo . También hay más detalles sobre el esfuerzo a través de esta página web .

 

Fuente: phoronix | somoslibres

¿Quién está en línea?

Hay 8358 invitados y ningún miembro en línea