Es común decir que Linux es más rápido y por buenas razones. Pero como se indica en el título, ¿cuánto importa la elección del sistema operativo para el rendimiento del código de computación científica? Para algo en lo que el sistema operativo está más directamente involucrado (como jugar juegos o renderizar videos), seguro que puede haber una diferencia. Pero si ejecuto algunos códigos en MATLAB, resuelvo PDE en Julia, o estoy haciendo un poco de álgebra lineal en una GPU usando CUDA: ¿existe realmente una diferencia de rendimiento medible entre Windows, MacOS y Linux?
Me pregunto si alguien ha realizado puntos de referencia para ver si existe tal diferencia. ¿Quizás existen diferencias al usar algún software como MATLAB debido a las diferencias en los compiladores que usan? ¿O tal vez los controladores CUDA son mucho más rápidos para un sistema operativo que el otro? ¿O a veces los sistemas operativos interfieren mucho como el problema WDDM CUDA ?
Nota: Sé que hay otras razones para elegir un sistema operativo que está más allá del alcance de esta pregunta. Me pregunto específicamente sobre el rendimiento.
fuente
Respuestas:
En principio, debería haber poca diferencia, ya que los kits de herramientas subyacentes son generalmente similares, si no iguales: bibliotecas, compiladores (y hardware). En la práctica, puede haber una mejora al usar nodos 'delgados'. Eso no es GUI, no hay correo electrónico ejecutándose en segundo plano o cualquiera de los otros procesos que un sistema operativo puede tener para facilitar la experiencia del usuario. Puede ser más fácil configurar un sistema operativo 'servidor' en Linux directamente desde una distribución estándar que puede resultar en una máquina mucho más ágil para ejecutar un código intensivo de coma flotante. Incluso entonces, las ventajas no serían muy notables siempre que no haya actividad del usuario aparte del código en ejecución.
fuente
Recuerdo haber leído hace dos o tres años estadísticas sobre la distribución del sistema operativo para la Lista de las 500 computadoras más rápidas del mundo. El número de computadora en ejecución basado en Linux / Unix era 498, basado en Windows 2 y sin MacOS. Lamentablemente no pude volver a las estadísticas. Wikipedia artículo SuperComputer 's simplemente afirma:
"Aunque la mayoría de las supercomputadoras modernas usan el sistema operativo Linux, cada fabricante tiene su propio derivado específico de Linux, y no existe ningún estándar de la industria, en parte debido al hecho de que las diferencias en las arquitecturas de hardware requieren cambios para optimizar el sistema operativo para cada diseño de hardware" .
Incluso si este artículo no da los números de la distribución, da al menos una tendencia clara a las computadoras basadas en Linux. En un campo donde cada bit de rendimiento cuenta (y el dinero necesario para adaptar el sistema a la especificación de la supercomputadora probablemente no, así que no asumo que la naturaleza de código abierto es el mayor beneficio aquí).
En una estación de trabajo bastante normal, Linux también tiende a tener una mejor gestión de recursos, por ejemplo, menos uso de memoria, y tiende a ser más estable. Sin embargo, esta es una experiencia personal mía sin estadísticas detrás de ella y no debe generalizarse sin confirmación (Win 7 vs Ubuntu 14.04).
fuente