COMPUTING

La programación inteligente del sistema operativo explica en parte la capacidad de respuesta de Apple M1

Cuando Apple lanzó el M1, una de las críticas persistentes de los usuarios finales fue la capacidad de respuesta de la CPU, incluso durante el uso normal del escritorio. Ahora, un desarrollador de macOS ha encontrado pistas sobre cómo Apple logró la mejora. No se trata de aumentar el rendimiento de la CPU, al menos no exactamente. Lo que Apple ha hecho es cambiar la forma en que iOS responde a las métricas de calidad de servicio (QoS) y cómo se programan las cargas de trabajo en el chip.

El Dr. Howard Oakley es autor, desarrollador de Mac y ex cirujano de la Royal Navy. Es recientemente escrito sobre sus comparaciones entre una Mac impulsada por M1 y su Mac Pro basada en Xeon, y cuán diferente se comporta macOS en las dos máquinas.

Antes de sumergirnos en sus hallazgos, me gustaría incluir un poco de contexto histórico. Uno de los desafíos de probar Hyper-Threading, cuando debutó en el Pentium 4, fue la dificultad de medir exactamente cómo afectó el comportamiento del sistema. Scott Wasson, entonces del Tech Report, acuñó el término “suavidad cremosa” para describir cómo se comportaba el P4 bajo carga en comparación con una CPU sin HT. Aunque los AMD Athlon XP del día podrían ser más rápidos en una carga de trabajo de un solo subproceso, Hyper-Threading mantuvo el sistema en respuesta.

Avance rápido hasta 2008-2009, y el lanzamiento y popularidad de la primera generación de Atom de Intel. Si bien ningún sistema Atom impulsado por Bonnell tenía mucha CPU de la que hablar, los netbooks basados ​​en el chipset Ion de Nvidia sintió como si estuvieran en una clase de dispositivo completamente diferente. A pesar de que la GPU Nvidia integrada solo descargó la interfaz de usuario de Windows 7, hizo que Ion se sintiera claramente superior en comparación con el chipset Intel 945.

Por lo tanto, tenemos antecedentes históricos de Windows para demostrar el impacto de la descarga adecuada de tareas y cuánto impacto puede tener en la capacidad de respuesta de las tareas. En la era moderna, macOS permite a los desarrolladores definir diferentes niveles de QoS. En una CPU x86, las pruebas del Dr. Oakley muestran que los subprocesos se ejecutan lo más rápido posible en cualquier configuración de QoS, siempre que una aplicación con una QoS más alta no se adelanta a ella. En sus pruebas, esto resultó en un tiempo de compresión constante de 5,6 a 6,6 segundos para un archivo de 10 GB. La prueba simultánea de varias instancias de la aplicación mostró que la versión con una QoS más alta se ejecutó en la misma ventana de 5.6 a 6.6 s, mientras que la ejecución con una QoS más baja tardó hasta 24 segundos. Todo esto es más o menos equivalente a lo que esperaríamos de Windows.

Sin embargo, el M1 no se comporta de esta manera. Aquí está el Dr. Oakley:

Imagen del Dr. Oakley, Compañía de luz ecléctica

Todas las operaciones con una QoS de 9 (en segundo plano) se ejecutaron exclusivamente en los cuatro núcleos Efficiency (Icestorm), incluso cuando eso dio como resultado que estuvieran completamente cargados y los núcleos Performance permanecieran inactivos. Las operaciones con QoS más alta, de 17 a 33, se ejecutaron en los ocho núcleos.

Apple, en otras palabras, ha cambiado la forma en que macOS trata al M1 para priorizar la capacidad de respuesta. En lugar de usarse para ejecutar tareas en segundo plano o actualizaciones del sistema operativo, los núcleos de FireStorm están reservados para aplicaciones de alta prioridad. Si la aplicación exige el máximo rendimiento, aún puede ejecutarse en los ocho núcleos, aunque es más probable que esto provoque algún grado de retraso en el escritorio. El sistema ejecutará preferentemente las tareas del sistema operativo en segundo plano, incluso cuando esto haga que se ejecuten mucho más lentamente, en nombre de mantener bajo el consumo de energía.

No hay una razón específica por la que una CPU x86 no se pueda ejecutar de esta manera. Si bien las CPU x86 siguen siendo casi completamente homogéneas, el sistema operativo podría, hipotéticamente, dedicar un conjunto específico de núcleos al procesamiento de tareas en segundo plano, mientras reserva el resto para un rendimiento máximo.

Esta es, como mínimo, una forma inteligente de que Apple mejore la experiencia del usuario final. Intel se mudará a su propia arquitectura híbrida con Alder Lake a finales de este año, y es posible que veamos que las CPU x86 híbridas de Windows 10 + implementan un sistema similar para minimizar el consumo de energía y maximizar el rendimiento.

Publicaciones relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar
Cerrar