Intel Diamond Rapids tendrá Discovery Dual para Linux y Windows: IMH y CBB independientes para liberar el potencial de la arquitectura
Intel diamond rapids tendrá nuevos discovery, imh diez y cbb dies
Parche Intel Diamonds Rapids CBB y IMH
Cada CPU contiene tablas y registros que actúan como un mapa interno para que los SO como Linux o Windows puedan leerlos para saber dónde están los controladores de memoria, el I/O, las interconexiones internas o los contadores de rendimiento. Sin Discovery, el Sistema Operativo estaría ciego, pero, ¿por qué este concepto es relevante ahora?
En generaciones anteriores como Sapphire Rapids, este proceso era relativamente sencillo. El procesador se comportaba como un gran bloque lógico, donde la mayoría de los elementos uncore, es decir, todo lo que no son núcleos de CPU, se descubrían a través de un único mecanismo basado en registros internos llamados MSR. Desde el punto de vista del SO, el chip era una entidad bastante unificada, pero Diamond Rapids rompe con esa idea, y aquí está la clave.
Y es que Intel ha fragmentado físicamente el procesador. En lugar de un diseño donde casi todo vive en el mismo dominio, Diamond Rapids separa funciones críticas en bloques claramente diferenciados, a saber. Por un lado, está el CBB, Core Building Block, que es el bloque donde viven los núcleos de CPU y la lógica directamente asociada al cómputo. Por otro lado, está el IMH, Integrated Memory and I/O Hub, que agrupa los controladores de memoria y de entrada y salida.
Esto no es solo una separación lógica, puesto que son dies distintos. El propio parche del kernel en Linux lo dice de forma explícita: Diamond Rapids puede tener hasta dos IMH separados del die de cómputo, por lo que cada uno de estos bloques físicos expone su propio mapa interno.
La gran novedad frente a sapphire rapids: el discovery ya no es único
Intel-Xeon-Diamond-Rapids-socket-LGA9324
En Diamond Rapids existe lo que podemos llamar Discovery dual, ya que el SO tiene que descubrir el hardware usando dos caminos distintos. Para simplificar la explicación y no hacerla demasiado larga y compleja, solo hay que entender que para los bloques asociados al CBB se utiliza MSR Discovery, es decir, lectura de registros internos del procesador, como se ha hecho tradicionalmente, pero para los bloques asociados al IMH se utiliza PCI Discovery, como si el sistema estuviera interrogando a dispositivos conectados por un bus PCI interno.
Esto es muy importante, porque nos dice cómo ve Intel estos bloques. El IMH no se comporta como una extensión del Core como CBB, sino como un dominio casi autónomo, con su propio espacio de descubrimiento y acceso. Desde el punto de vista de Windows o Linux, memoria e I/O ya no están simplemente “al lado” de los núcleos.
Además, Diamond Rapids introduce nuevos dominios Uncore que no existían como tales en Sapphire Rapids. Aparecen bloques específicos para comunicación die to die, para PCIe de nueva generación (en principio PCIe 6.0) para contadores de I/O que funcionan de forma autónoma mediante MMIO. Todo esto obliga a Linux a aprender nuevas reglas para interpretar el chip.
El por qué Intel hace esto es la pregunta clave, y la respuesta no está en el kernel, sino en la estrategia. Separar cómputo, memoria e I/O permite escalar cada parte de forma independiente dentro de una misma arquitectura general, es decir, más memoria sin tocar los núcleos, más carriles PCIe sin rediseñar la microarquitectura del Core, más flexibilidad en configuraciones multi socket y en cargas de trabajo donde el cuello de botella ya no está en el núcleo, sino fuera de él.
Sapphire Rapids fue el primer paso hacia un diseño modular, así que Diamond Rapids es el momento en el que Intel asume plenamente que el servidor moderno ya no es un chip monolítico o MCM tradicional, sino un conjunto de bloques especializados que tienen que hablar entre sí y, además, explicarse correctamente al Sistema Operativo.
La entrada Intel Diamond Rapids tendrá Discovery Dual para Linux y Windows: IMH y CBB independientes para liberar el potencial de la arquitectura aparece primero en El Chapuzas Informático.