Administrar la memoria en Multicore

Hola y mil gracias por leerme. En el teclado Simón Sánchez y en esta ocasión hablaremos sobre Administrar la memoria en Multicore

Mover datos dentro y fuera de la memoria de la computadora es un proceso que consume mucho tiempo y energía, por lo que las cachés han evolucionado como una forma de memoria local para almacenar datos de uso frecuente. A medida que avanzan los procesadores multinúcleo y de muchos núcleos, la administración de cachés se vuelve más difícil. Los investigadores del MIT sugieren que puede tener sentido dejar que el software, en lugar del hardware, administre estos bancos de memoria en chip de alta velocidad, ya que esto artículo a MIT News, explica.

Daniel Sánchez, profesor asistente en el Departamento de Ingeniería Eléctrica e Informática del MIT, es uno de los principales defensores de este nuevo enfoque basado en software. Durante la conferencia internacional sobre arquitecturas paralelas y técnicas de compilación que tuvo lugar la semana pasada, Sánchez y su alumno Nathan Beckmann dieron una presentación sobre Jigsaw, un esquema de organización de caché, basado en un papel ellos habían co-

Jigsaw opera en el último nivel de caché. En los chips multinúcleo, cada núcleo tiene su propia caché pequeña, pero la caché de último nivel es compartida por todos los núcleos. Las memorias caché compartidas se enfrentan a dos limitaciones fundamentales: latencia e interferencia de otros accesos a la memoria caché compartida. Otras investigaciones han demostrado que mejorar un problema degrada el otro. «Las técnicas NUCA reducen la latencia de acceso, pero son propensas a los puntos de acceso y las interferencias y las técnicas de partición de caché solo proporcionan aislamiento pero no reducen la latencia de acceso».

Físicamente, esta caché está formada por bancos de memoria separados repartidos por el chip para permitir que cada núcleo use el banco más cercano a él. La mayoría de los chips asignan datos a estos bancos de forma aleatoria, pero Jigsaw optimiza este proceso al calcular la asignación de datos más eficiente a los bancos en la caché. Por ejemplo, los datos que necesita un solo núcleo se encuentran cerca de ese núcleo, mientras que los datos utilizados por todos los núcleos se encuentran cerca del centro del chip. Minimizar el viaje de datos es la función principal de Jigsaw, pero también optimiza el espacio con los datos utilizados con más frecuencia recibiendo una asignación más grande.

En una serie de experimentos, los dos simularon ejecutar cientos de aplicaciones en chips de 16 y 64 núcleos. Descubrieron que Jigsaw mejoró el rendimiento 2.2x (o 18%) sobre una caché compartida convencional, reduciendo el consumo de energía hasta en un 72%. Jigsaw supera incluso las técnicas de partición más avanzadas, como NUCA.

La optimización de las asignaciones de espacio de caché puede ser un proceso lento en sí mismo, pero los investigadores del MIT han desarrollado un algoritmo de optimización aproximado que funciona de manera eficiente incluso si se utilizan escalas de número de núcleos y diferentes tipos. de datos.

Historia completa en Noticias del MIT

Recuerda compartir en una historia de tu Instagram para que tus amigos lo lean

??? ? ? ???

Comparte