¿Por qué 12.04 elimina el sabor del núcleo del servidor?

13

Ubuntu está eliminando el sabor del servidor, como se especifica en las notas de la versión 12.04:

Al igual que con Beta-1, el núcleo Beta-2 ya no tiene sabores de núcleo amd64 -server y -generic separados. Estos se han fusionado en un sabor de núcleo único genérico para ayudar a reducir la carga de mantenimiento durante la vida útil de esta versión LTS.

Las diferencias entre -generic y -server parecen estar relacionadas con la preferencia, la interrupción del temporizador y el planificador de E / S, como se indica en: https://help.ubuntu.com/10.10/serverguide/C/preparing-to-install .html # intro-kernel-diffs

Estoy pidiendo especificaciones técnicas.

  1. ¿Qué pasa ahora?
  2. ¿La edición del servidor ejecutará el kernel de escritorio sin penalización de rendimiento?
  3. ¿Está esto justificado de alguna manera?
  4. ¿Qué pasa con esas diferencias?
  5. ¿Se pueden cambiar en el espacio de usuario?
  6. No son aplicables a partir de 12.04?
  7. Si la respuesta es sí, ¿este cambio implicará una penalización de rendimiento?

Todas ellas son preguntas que pueden ser respondidas. Estoy pidiendo un cambio específico en un paquete, no otra cosa.

gentakojima
fuente

Respuestas:

10

Como notó en los anuncios de la versión, los sabores genéricos y del núcleo del servidor se fusionaron para la versión 12.04 en un esfuerzo por reducir la carga de mantenimiento durante la vida útil del LTS. Los dos sabores del kernel en realidad solo diferían con respecto a las 2 opciones principales de configuración del kernel: el planificador de E / S predeterminado y el modelo de preferencia.

Esto se discutió en detalle en la lista de correo del equipo Ubuntu Kernel

Como se señaló en ese hilo, el planificador de E / S predeterminado cambió de "fecha límite" a "cfq". Sin embargo, cualquiera que desee permanecer con el planificador de E / S de Deadline podría hacerlo en el momento del arranque configurandoelevator=deadline .

El modelo de preferencia cambió de CONFIG_PREEMPT_NONE a CONFIG_PREEMPT_VOLUNTARY. En este momento, desafortunadamente no tengo ningún punto de referencia de rendimiento disponible para señalarlo. Espero que esto ayude un poco. Gracias.

Leann Ogasawara
fuente
7

Su pregunta de "por qué" se responde dentro de la cotización que estaba proporcionando, porque es más fácil de mantener de esta manera. La funcionalidad del núcleo está parametrizada bastante bien, puede cambiar cosas como el planificador en tiempo de ejecución, por lo que no es necesario presionar para que se compilen diferentes valores predeterminados.

Para conocer las razones exactas y la discusión de los detalles, debe preguntar en la lista de correo de Ubuntu KernelTeam; consulte la página informativa de KernelTeam Wiki para obtener información de contacto.

syneticon-dj
fuente
2

Lo que sucede ahora es que solo hay un núcleo para el servidor y el escritorio. El planificador IO se puede cambiar en tiempo de ejecución si lo desea, pero CFQ es el planificador más completo y con mantenimiento activo, por lo que es un buen valor predeterminado. El que use hace poca diferencia en la mayoría de las cargas de trabajo. El núcleo del servidor solía deshabilitar incluso la preferencia voluntaria del núcleo porque, en teoría, podría ceder ligeramentemejor rendimiento, pero no conozco ninguna medida de rendimiento que realmente muestre algún beneficio allí, por lo que, en la práctica, los servidores no se verán afectados al pasar al modelo de premption de escritorio. El kernel también no tiene marcas (CONFIG_NO_HZ), lo que significa que programa las interrupciones del temporizador solo cuando sea necesario en función de los temporizadores de aplicaciones que se ejecutan actualmente en lugar de un intervalo fijo, y creo que este ha sido el caso para varias versiones ahora, a pesar de lo que dice la guía del servidor .

TL; DR: No hubo ningún beneficio al mantener otro kernel para servidores, por lo que la práctica se detuvo.

psusi
fuente
El planificador de E / S no realmente marca la diferencia, especialmente para la virtualización de cargas de trabajo. Eche un vistazo aquí: publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/topic/liaat/… , concluye "en general, la figura muestra que el planificador de E / S de Deadline supera al planificador de E / S CFQ, especialmente en escenarios de subprocesos múltiples " .
syneticon-dj