Contra la pared de la memoria - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Contra la pared de la memoria

Hola y mil gracias por leerme. Yo soy Simón Sánchez y esta vez vamos a hablar sobre Contra la pared de la memoria

Entre Intel, Microsoft y una serie de empresas más pequeñas, ha habido algunos avances esperanzadores en el software de procesadores multinúcleo. Pero incluso si logramos desarrollar aplicaciones multinúcleo inteligentes, debemos recordarnos que el muro de la memoria se avecina. A pesar del estancamiento en las velocidades de reloj de la CPU, la proliferación de núcleos continúa ampliando la brecha entre el rendimiento del microprocesador y el rendimiento de la memoria.

El problema no es nuevo, ciertamente no para los técnicos de antaño. los misiva clásica en la pared de la memoria (PDF) fue escrito en 1994 por los investigadores Wulf y McKee de la Universidad de Virginia. Llegaron a la conclusión de que nos dirigíamos al desastre en un futuro próximo, en unos 10 años. Afortunadamente, no tuvieron en cuenta que la memoria caché aumentaría tanto en tamaño (KB a MB) como en complejidad (tres niveles, captación previa, etc.). Además, los controladores de memoria integrados se convertirían en la norma, lo que ayudaría a mejorar el acceso a DRAM.

Pero las realidades fundamentales del hardware permanecen. El ancho de banda y la latencia de la memoria principal (DRAM estática) no se mantuvieron al día con el rendimiento de la CPU. Actualmente, las cachés del procesador brindan acceso a datos con latencias de alrededor de uno o dos nanosegundos, mientras que las latencias de DRAM son alrededor de 100 veces más grandes. Asimismo, el ancho de banda se reduce a medida que pasa de la memoria caché a la memoria principal. Finalmente, una aplicación genera un error de caché y el procesador se bloquea, haciendo girar sus bits durante 100 ciclos o más hasta que los datos se recuperan (o se envían) a la memoria principal. Un acceso a la caché L3 también cuesta decenas de ciclos de procesador.

Para HPC, la pared de memoria es más grande y más cercana que para otros dominios informáticos. Las aplicaciones con gran consumo de datos y con un uso intensivo de la informática imponen grandes exigencias al subsistema de memoria. UN artículo reciente sobre IEEE Spectrum destaca un estudio en Sandia que simuló el rendimiento de aplicaciones HPC con un número creciente de núcleos:

Sin otra forma de mejorar aún más el rendimiento del procesador, los fabricantes de chips han apostado por su futuro poniendo cada vez más núcleos de procesador en el mismo chip. Los ingenieros de Sandia National Laboratories, Nuevo México, simularon futuras computadoras de alto rendimiento que contienen microprocesadores de 8, 16 y 32 núcleos que los fabricantes de chips afirman que son el futuro de la industria. Los resultados son angustiosos.

En efecto. En un gráfico que recuerda un poco al gráfico de acciones NASDAQ de este año, la simulación de Sandia predice que para algunos tipos de aplicaciones HPC, el rendimiento aumenta modestamente de dos a cuatro núcleos e incluso más modestamente de cuatro a ocho. Pero después de ocho núcleos, el rendimiento en realidad cae y cae libremente más allá de los 16 núcleos.

El impacto implícito en el multinúcleo parece un poco fuera de lugar. Si la simulación se ejecutara en un procesador de un solo núcleo con velocidades de reloj crecientes, presumiblemente vería un aumento del rendimiento de manera similar a medida que duplica y cuadriplica las velocidades de reloj, con el cuello de botella de la memoria ejerciendo su efecto de frenado. Sin embargo, en algún momento, el rendimiento se estabiliza tan pronto como la CPU llega al límite de la memoria.

Teóricamente, dividir el cálculo en varios núcleos debería ayudar a mitigar el efecto de la pared de memoria, ya que existe una buena posibilidad de que algunos núcleos todavía se estén ejecutando felizmente en la caché, mientras que otros están atascados esperando los datos de la memoria principal. Pero el estudio de Sandia predice una caída del rendimiento por encima de los ocho núcleos, algo similar al de Fred Brooke «.Mes mítico del hombre«Debe estar en progreso. En ese modelo, agregar recursos adicionales ralentiza el proceso, principalmente debido a la sobrecarga adicional en la comunicación. Es la ley de Moore en contra. Ley de Brooke, con el segundo excediendo al primero.

La categoría de aplicaciones de HPC que los ingenieros de Sandia estaban estudiando es lo que ellos llaman «ciencias de la computación», un genérico que usan para describir el código intensivo en computación que busca patrones en bases de datos muy grandes. Las aplicaciones utilizadas para ayudar en la gestión de desastres naturales y la lucha contra el terrorismo entran en esta categoría. A diferencia de los modelos de acceso a datos más predecibles de los códigos HPC que modelan un sistema físico, como un huracán o un campo petrolífero, se tiende a acceder de forma irregular a las aplicaciones informáticas. Las localidades espaciales y temporales son más bajas en este tipo de códigos y esto sobrecarga toda la jerarquía de la memoria.

Se desconoce en gran medida hasta qué punto el ancho de banda y la latencia de la memoria limitan el rendimiento de HPC en general, aunque la evidencia anecdótica sugiere un problema creciente. En SC08 el mes pasado, IDC informó que los usuarios están golpeando la pared con multinúcleo. Si se trata de una situación generalizada, empeorará rápidamente.

Según un informe del censo de sitios de usuarios de HPC de abril de 2008 de Tabor Research, la base instalada de sistemas HPC se encuentra solo a la mitad de su transición de un solo núcleo a multinúcleo, y los chips de CPU de un solo núcleo representan actualmente más de la mitad de los procesadores. totales. Sucedió hace ocho meses, así que quizás ya hayamos superado el punto de inflexión. El informe concluye que se espera que la transición a multinúcleo se complete en los próximos años. Esto sucederá si no es por otra razón que no sea la posibilidad de comprar procesadores de un solo núcleo. El último chip de servidor de un núcleo de Intel se lanzó hace más de tres años.

Y aunque el informe dice que la memoria por núcleo va en aumento, de 1,36 GB / núcleo en los sistemas anteriores a 2005 a 2,96 GB / núcleo en los sistemas implementados en el primer trimestre de 2008, el muro de memoria no es un problema. capacidad. En algunos casos, más memoria se traducirá en más ancho de banda agregado, pero generalmente se agrega DRAM adicional para evitar la pared de E / S aún más abrumadora en el disco.

Sería un ejercicio interesante realizar un seguimiento del tamaño de la caché por núcleo en los sistemas HPC distribuidos, ya que las cachés más grandes eran la mayor defensa contra el muro de la memoria. La caché ha crecido exponencialmente para intentar mantenerse al día con los núcleos que se multiplican. Los últimos chips Shanghai Opteron de cuatro núcleos de AMD tienen 6 MB de caché L3, 2 MB de L2 y 256 KB de L1. El procesador Intel Harpertown correspondiente tiene hasta 12 MB de L2 y 128 KB de L1 (pero no L3). Los Dunnington de cuatro y seis núcleos más pesados ​​en caché tienen 6 MB de L2 y hasta 16 MB de L3, junto con 96 KB de L1 por núcleo.

A largo plazo, la reducción del tamaño de la pared de memoria puede tener lugar una vez que se comercialicen los dispositivos de memoria 3D y / o las interconexiones ópticas. Si no es así, espere ver jerarquías de caché mucho más grandes e inteligentes.

Deberías compartir en tu Facebook para que tus amigos opinen

??? ? ? ???

Comparte