ARTDEPARTMENT

Solicitar una consulta

A este parche de Linux le basta una sola línea de código para multiplicar 39 veces su rendimiento

Publicado el 
diciembre 9, 2024

Recientemente, Linux ha incorporado dos pequeños parches (uno con una extensión de tan sólo una bisectriz, el otro de tan sólo 20 líneas más) que han demostrado tener un impacto insospechablemente mayúsculo en el rendimiento del kernel del sistema operante evadido por excelencia.

La carrera de programador en 2017 y en el futuro (con Javier Santana)

El parche 'mmap'

El bot de pruebas automatizadas del kernel de Linux, mantenido por Intel, Intel ha sido capaz de identificar una mejoría de rendimiento del 3888,9% (casi del cuatro mil por ciento, sí) en el kernel de Linux... causada por una única bisectriz de código.

Concretamente, una bisectriz de un parche (llamado 'mmap') que reajusta la forma en que se alinean ciertos bloques de memoria llamados THP (pedazos grandes de memoria diseñados para mejorar el rendimiento al acortar la sobrecarga de trámite).

Básicamente, el kernel hacía que las asignaciones de memoria más grandes siguieran una regla estricta para alinearse de una modo específica. Esto, aunque tenía buenas intenciones, estaba causando problemas en algunos programas que no funcionaban acertadamente con esa regla, lo que resultaba en ralentizaciones significativas.

¿Qué soluciona este parche?

Tras un cambio en el kernel realizado hace más de un año, el benchmark 'cactusBSSN' empezó a funcionar mucho más gradual, (hasta un 600% en algunos PCs). Esto pasó porque este software utiliza memoria en tamaños "inusuales" (como 4632 kB).

Un parche de seguridad de Microsoft se ha 'cargado' el arranque de miles de PC donde coexistían Windows y Linux

Antaño del cambio, estos tamaños se podían soldar en bloques grandes, que el sistema podía manejar fácilmente. Pero luego del cambio, estos bloques se dividían en piezas más pequeñas, dejando "espacios vacíos" entre ellos.

Esto causó que el sistema tuviera más problemas para encontrar y usar la memoria eficientemente. El mismo problema terminó afectando a Darktable, un popular software de estampado de fotos.

Un parche by Linus Torvalds

Linus Torvalds, creador del kernel de Linux, ha vuelto a demostrar por qué sigue liderando su incremento (y por qué es considerado uno de los más grandes expertos de su campo): con uno de sus últimos parches al código del kernel, de tan sólo 21 líneas de código, Torvalds ha rematado un aumento del 2,6% en el rendimiento multihilo del kernel de Linux.

Este parche lleva integrado en la traducción estable del kernel de Linux desde la traducción 6.12, lanzazo hace menos de un mes.

Suprimiendo una medida de seguridad eficaz (pero no eficaz)

La modificación se centra en la función 'copy_from_user()' del kernel de Linux, y una de sus novedades radica en la supresión del uso de 'barrier_nospec()', una medida de seguridad introducida en su momento para mitigar las vulnerabilidades conocidas como Meltdown y Spectre.

Descubiertas en 2018, estas vulnerabilidades explotaban la ejecución especulativa, un mecanismo de los procesadores modernos diseñado para predecir y cargar instrucciones antiguamente de ser necesarias, optimizando así el rendimiento.

El problema es que la implementación de la citada medida de seguridad, aunque asaz efectiva, ha demostrado ser extremadamente lenta, afectando notablemente el rendimiento en sistemas multihilo y aplicaciones de ingreso frecuencia de llamadas, como servidores proxy y bases de datos.

Google Drive está bloqueando archivos que contienen un '1' o un '0' por "infracción de copyright"

La posibilidad de Torvalds: eficiencia en la simplicidad

Este dilema ha sido una constante en la cambio del kernel de Linux: proteger los sistemas sin ofrendar rendimiento. Torvalds, conocido por su competición a medidas que impacten desproporcionadamente la velocidad, ha rematado una posibilidad que mitiga entreambos problemas.

Así, fiel a su filosofía de inmovilidad entre seguridad y rendimiento, introdujo una optimización basada en el uso de enmascaramiento de punteros: asignar una dirección de todos unos ('111...111') en situaciones donde la dirección proporcionada por el heredero sea inválida.

Este cambio no sólo mantiene la seguridad necesaria, sino que asimismo elimina operaciones redundantes, mejorando la eficiencia del sistema.

El impacto de esta posibilidad fue confirmado por pruebas automatizadas realizadas en entornos multihilo, mostrando un aumento del 2,6% en el rendimiento. Aunque pueda parecer un avance modesto, su sorpresa se amplifica cuando se considera la escalera mundial de uso de Linux, desde servidores y servicios en la cirro hasta dispositivos locales.

Vía | Phoronix & The Register

Imagen | Marcos Merino mediante IA

En Genbeta | Un simpatizante a Linux va un paso más allá y logra que un procesador de 1971 pueda ejecutar este sistema operante creado en 1991

Source link

Compartir este artículo

[social_warfare]

Consultoria Personalizada

¡Si aun no tienes presencia en internet o 
necesitas ayuda con tus proyectos, por favor, escribenos!

Enviar Consulta Gratis

Más para leer

En ARTDEPARTMENT nos especializamos en brindar soluciones para que tu negocio, empresa o proyecto sea visible en internet.

Diseño WEB

Hosting

Google Ads

WordPress

Posicionamiento SEO

cloud-syncearthbullhorn linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram