A todos se nos ha colgado el PC alguna vez en nuestra vida y al padre de Linux varias veces, no obstante, lo que ha sacado de sus casillas a Linus Torvalds es que un componente del PC siga sin tener una característica que sí que se encuentra en servidores, ni más ni menos que la corrección de errores en la RAM. ¿Cuáles son sus argumentos para pedir dicho cambio? ¿Tiene razón el padre del sistema operativo del pingüino en exigir dicho cambio en el hardware?
Imaginad que sois programadores, y habéis estado compilando una gran sección de código durante más de horas para encontraros que de repente un dato en la RAM del sistema se ha modificado levemente enviando al traste el binario resultante. Pues eso es lo que le ha pasado al Padre de Linux a la hora de publicar una mejora del kernel de su sistema operativo.
¿Por qué se le ha colgado el PC al padre de Linux?
Hemos de partir que quienes acaban decidiendo las especificaciones de los diferentes tipos de memoria RAM es la JEDEC, la cual publica un extenso documento que han de seguir las dos partes a rajatabla. Por un lado, los fabricantes de los propios módulos o chips de memoria, dependiendo del caso, y por el otro lado los fabricantes y diseñadores de procesadores. Sin embargo, de un tiempo a esta parte, parece que hay una especificación que separa a la RAM de servidor de las utilizadas en sistemas domésticos. El llamado ECC o Error Correction Code.
Pues bien, durante el desarrollo del kernel de Linux, el padre del sistema operativo libre no dudo en criticar esta situación después de verse con problemas con su ordenador con procesador AMD, pero no ha sido a la empresa liderada por Lisa Su, a la que ha criticado, sino a su rival, Intel y con las siguientes palabras:
El único motivo por el cual Intel dice que «(la memoria con) ECC es solo para servidores y sistemas empotrados» es porque la gente del marketing de Intel ha convencido al resto que pueden vender chips inferiores a un alto precio si tienen la funcionalidad ECC. Mirad el tipo de hcips que Intel vende con ECC, esos que se ven junto a los Xeon y a los sistemas con Intel Atom, no suelen ser mejores.
No caigáis en esa mierda, el ECC no para servidores, es para todo el mundo y pagar un poco más por RAM no debería significar estar limitados en otras partes.
Las memorias que usan nuestros PC son del tipo dinámico, es por ello que tienden a perder información cada cierto tiempo y es donde los mecanismos de corrección de errores actúan con tal de hacer que la información se preserve. Por desgracia, en las RAM para PC doméstico esos mecanismos no vienen integrados.
¿Tiene sentido la crítica de Torvalds a Intel?
Dado que la pieza que comunica la RAM con el procesador es el controlador de memoria integrado y este se encuentra dentro de la circuitería de la CPU, la respuesta es un rotundo si. Es Intel la que ha hecho de que en el mercado doméstico no tengamos memorias con soporte ECC y esto ha llevado a retruco que la mayoría de fabricantes no lo incluyan en las memorias RAM que se venden.
La queja del veterano programador finlandés tiene motivo de ser, solo hace falta que una dirección de memoria se modifique para enviar al traste un programa y llegar incluso a colgar un PC. Esto en servidores que tienen que funcionar 24 horas del día y 7 días de la semana es fatídico y por eso se usa memoria con corrección de errores, por lo que el hecho de que Torvalds critique a Intel por no tener controladores de memoria con soporte ECC en sus Intel Core de portátiles y escritorio tiene sentido. Y es que si Intel lo hiciese inmediatamente AMD seguiría el camino y con ello también los fabricantes de módulos DIMM y SO-DIMM, así como los de placas base.