Enviar mensaje

Noticias

March 11, 2021

Memoria Ámbito-específica

la computación Ámbito-específica puede ser toda la rabia, pero está evitando el problema real.

La preocupación más grande es las memorias que estrangulan funcionamiento del procesador, consumen más poder, y toman la mayoría del área del microprocesador. Las memorias necesitan romperse libremente de las estructuras rígidas preferidas por el software existente. Cuando se diseñan juntos los algoritmos y la memoria, las mejoras en funcionamiento son significativas y el proceso puede ser optimizado.

el proceso Ámbito-específico fue popularizado por la conferencia 2018 de Turing, “una nueva época dorada para la arquitectura de ordenador,” por John Hennessy y David Patterson. Pero los procesadores han sido obligados por la memoria por décadas. El proceso cambiante sin repiensa de memoria y las jerarquías de memoria ignoran la ley de Amdahl, que proporciona una relación matemática entre acelera posible para un sistema cuando ciertos pedazos de ese sistema se mejoran. Le dice básicamente para conseguir devoluciones de disminución si usted concentra solamente en la una pieza del sistema bastante que mirando el sistema en conjunto.

¿Tan porqué no concentrar en el embotellamiento? la “memoria Ámbito-específica es apenas un nuevo término, pero los arquitectos han estado haciendo estas clases de optimizaciones durante mucho tiempo,” dice a Prasad Saggurti, director del marketing de producto en Synopsys. “Y si no tienen, están faltando un truco porque la mayoría de la gente lo ha estado haciendo.”

Otros están de acuerdo. “Recuerde las memorias video — COPITA con los registros de cambio incorporados?” pregunta Michael Frank, la persona y a arquitecto del sistema en el IP de Arteris. ¿“Quizás GDDR [1-5], memorias de etiqueta especiales del escondrijo, o memorias asociativas detrás en los días de TTL? Mucho éstos no han sobrevivido realmente porque su función era demasiado específica. Apuntaron un dispositivo único. Usted necesita bastante grande un ámbito, y usted está luchando contra el bajo costo de la COPITA de hoy, que tiene la ventaja de la fabricación en grandes cantidades y en grande.”

Va a veces más profundo que ése. “Usted pudo hardwire algo en una ROM,” dice Saggurti de Synopsys. “Qué estamos viendo es más persona que ajusta memoria hoy. Por ejemplo, con un Fourier transforme, o un Z transforma, gente escribiría el código de una manera tal que usted pudiera almacenar los coeficientes en cierto orden. Cuando usted está haciendo una multiplicación de la matriz, usted puede almacenar los coeficientes en cierto orden de modo que la lectura de él hacia fuera estuviera más rápidamente. Usted no puede almacenar datos en una memoria, en lugar, poniéndola en tres o cuatro diversas memorias de modo que usted pudiera leer cosas a través de las trayectorias de datos múltiples. Estas clases de cosas han estado sucediendo más recientemente.”

El cambio es duro. “El desafío está ése en el pasado, la gente tenía un agradable, modelo abstracto para pensar en sistemas de cálculo,” dice Steven Woo, la persona y al inventor distinguido en Rambus. “Tuvieron que pensar nunca realmente en memoria. Vino adelante gratis y el modelo de programación hizo le tal eso cuando usted hizo referencias a la memoria, él acaba de suceder. Usted nunca tuvo que ser explícito sobre lo que usted hacía.”

El progreso se está haciendo en funcionamiento general de la memoria. Los “reguladores de hoy de la memoria y los estándares de interfaz avanzados han mejorado dramáticamente lo que usted puede extraer de tecnología avanzada del silicio,” dicen a Frank de Arteris. “Esto ha permitido colas de administración del tráfico profundas y planificadores avanzados. Tecnologías de memoria avanzadas, tales como alta memoria del ancho de banda (HBM), y apilado para morir anchos de banda de la ayuda que pensamos imposible alcanzar apenas hace una década. Con todo no viene barato. Las tecnologías de Sub-10 nanómetro también permiten escondrijos grandes, nosotros pueden llamar tan quizá la memoria ámbito-específica de este pobre hombre.”

Pero éstos son todos los ejemplos de pequeños cambios ampliados. “Los subsistemas de la memoria de Architecting en los cuales el cálculo sigue sobre todo datos, bastante que la otra manera alrededor, requieren un significativo repiensan de muchos preceptos que los arquitectos están acostumbrados a,” dicen a Matt Horsnell, ingeniero principal mayor de la investigación para el grupo de la investigación y desarrollo del brazo. “Hay una oportunidad de aumentar la abstracción programada, de la lista típica de hoy de operaciones en datos, a una forma ampliada que encapsule concurrencia y una cierta noción de las distancias relativas entre las unidades del cálculo y los elementos de datos. Tales abstracciones podrían permitir a las transformaciones necesarias a más óptimo apuntar memorias específicas del ámbito cuando los algoritmos se están desarrollando rápidamente.”

Centros de datos en el asiento de conductor
Los centros de datos son los conductores para muchas tendencias de tecnología hoy. “Uno de los usos de más rápido crecimiento para el cálculo es en los centros de datos donde las aplicaciones de software anhelan más capacidad de memoria, ancho de banda en un estado latente más bajo,” dice a Ravi Thummarukudy, CEO para Mobiveil. “Con la llegada del último estándar industrial, del vínculo expreso del cálculo (CXL), de los arquitectos del sistema puede la grada la memoria necesaria entre de memoria principal en DDRn DIMMS, y las memorias persistentes CXL-basadas de DDRn o más nuevas. El estado latente y las características económicas de estas gradas de memorias son diferentes, y ése da a arquitectos opciones para mezclar y para hacer juego las memorias para adaptarse a sus requisitos.”

Ésa es una continuación de las arquitecturas de la memoria de la herencia. “Muchos OEM y casas de sistema están diseñando su propio SoCs para modificar el silicio para requisitos particulares a sus cargas de trabajo específicas,” dice a Tim Kogel, ingeniero de usos principal en Synopsys. “La oportunidad más grande para los aumentos del funcionamiento y del poder es la especialización de la jerarquía de memoria así como la arquitectura favorable de la interconexión.

Considere el poder. “En las arquitecturas actuales, el 90% de la energía para las cargas de trabajo del AI es consumido por el movimiento de datos, transfiriendo los pesos y las activaciones entre la memoria, los escondrijos externos del en-microprocesador, y finalmente al elemento computacional sí mismo (véase el cuadro 1),” dice a Arun Iyengar, CEO de Untether AI. “Solamente centrándose en las necesidades de la aceleración de la inferencia y maximizando eficacia de poder estamos capaces de entregar funcionamiento de cómputo sin precedente.”

La optimización de la memoria es un problema a nivel sistema que toca todos los aspectos del diseño — soporte físico, software, y herramientas. Las “estrategias para optimizar memoria son diversas y dependen del dominio de aplicación,” añade Kogel. “La mejor estrategia es evitar el acceso de memoria fuera de chip en conjunto. Para las arquitecturas ámbito-específicas, esto puede ser alcanzada típicamente aumentando memoria disponible del en-microprocesador, o bajo la forma de escondrijos o el uso manejó memoria. Especialmente en el área de aceleradores de aprendizaje profundos, la memoria disponible del en-microprocesador es un parámetro de diseño decisivo que también afecta cómo el uso de la red neuronal se compila sobre el hardware de la blanco — por ejemplo, el embaldosado del operador de la circunvolución.”

Muchos diseños están mirando para ir más lejos que esto. los “conceptos Ámbito-específicos de la memoria se están explorando en el ámbito espacial del cálculo,” dice Horsnell del brazo. “Como un ejemplo, DSPs tiende a proporcionar una piscina de memorias distribuidas, manejada a menudo directamente en el software, que puede ser un mejor ajuste para los requisitos del ancho de banda y los modelos del acceso de usos especializados que sistemas tradicionales de la compartir-memoria. Para llenar el vacío de la eficacia con la fijo-función Asics, estos procesadores ofrecen a menudo una cierta forma de especialización de la memoria proporcionando la ayuda directa para los modelos específicos del acceso (tales como N-proteger, FIFOs, línea almacenadores intermediarios, compresión, etc.). Un aspecto crucial de la orquestación dentro de estos sistemas, y un desafío en el diseño de ellos, está determinando la granulosidad correcta para los accesos a datos, que pueden minimizar gastos indirectos de la comunicación y de la sincronización mientras que maximizan concurrencia al mismo tiempo. Otros desafíos persisten, incluyendo la programación, la coherencia, la sincronización, y la traducción, que añaden complejidad del software. Sin embargo, una ruta posible adelante es confiar en las idiomas ámbito-específicas (DSLs), que haciendo el flujo de datos de los apps más explícito, puede permitir a recopiladores identificar modelos especializados del acceso de memoria y trazarlos sobre el hardware más con eficacia.”

También paga hechar una ojeada a una mirada más atenta las memorias ellos mismos. el “Híper-arreglo para requisitos particulares es la tendencia que vemos cuando se trata de memorias,” dice a Anand Thiruvengadam, encargado de marketing de producto del titulado dentro de Synopsys. “Esto significa las memorias especialmente diseñadas para diversos usos del final. Incluso dentro de un uso particular del final como el AI hay diversas necesidades de memorias, por ejemplo para el entrenamiento o inferencing, inferencing en los servidores, o inferencing en el borde lejano. Cada uno de estos usos tiene diversos requisitos, y ése significa que usted tiene que modificar las memorias para requisitos particulares. Este arreglo para requisitos particulares significa que usted puede ver no más memorias como materias o productos disponibles. Usted tiene que construirlo para un uso particular. Aquí es adonde la salsa secreta golpea con el pie adentro.”

En muchos casos la memoria y la interconexión se juntan firmemente. “Cualquier cosa va cuando se trata de combinar tecnologías de la memoria y de la interconexión para satisfacer los requisitos del acceso a datos de las cargas de trabajo del uso — por ejemplo, niveles múltiples de agrupamiento que combinan que procesan con memoria local para aprovecharse del lugar en usos del flujo de datos, o del en-microprocesador multi-depositado/multi-virado hacia el lado de babor SRAMs enorme para los mapas de la característica que protegen de los aceleradores de CNN, y de jerarquías profundas del escondrijo con protocolos sofisticados de la coherencia para atenuar el espacio de ejecución tibio de las cargas de trabajo del centro de datos.”

Los pequeños cambios pueden rendir resultados grandes. “Apenas mirada en el pequeño milagro que Apple ha realizado con el M1,” dice a Frank. “Imaginaron cómo al arquitecto un subsistema de la memoria que sirve amos heterogéneos múltiples bien, usando estrategia de puesta en antememoria inteligente y una jerarquía enorme, de niveles múltiples del escondrijo.”

Está tan a menudo el caso, software es el ancla de inercia. “Qué sucede generalmente hay es un algoritmo en el lugar, y vemos una manera de optimizarla, optimizamos la memoria, para ejecutar el algoritmo mucho mejor,” decimos Saggurti. “En la parte negativa, tenemos estos diversos tipos de memoria. ¿Puede usted cambiar su algoritmo para hacer uso de estas nuevas clases de memorias? En el pasado, usando TCAMs era sobre todo una construcción del ámbito del establecimiento de una red para mirar para arriba direcciones IP. Más recientemente, los motores del entrenamiento están comenzando a utilizar TCAMs, y ése es un acercamiento tan diferente. Esto necesita software, o el firmware cambiar basado en los tipos de memorias disponibles. Pero la mayor parte del tiempo, el software permanece cambios fijos y de la memoria para hacer la puesta en práctica resultante mejor.”

Conciencia de la producción
Mucho tiempo y dinero se está invirtiendo en inteligencia artificial actualmente. Los microprocesadores de encargo son obligados por la producción, y ése está poniendo el proyector en la memoria y la interconexión.

“Históricamente, la memoria y las arquitecturas de la interconexión se han diseñado basadas en las hojas de cálculo estáticas o los modelos analíticos simples como el modelo de funcionamiento del roofline,” dice Kogel. “Para los usos avanzados, éste llega a ser bastante complejo. Por ejemplo, predecir los requisitos de memoria de cada capa en CNN requiere la consideración de la optimización de recopilador como la fusión el tejar y de la capa. Estos métodos estáticos llegan a ser irrazonable complejos e inexactos para la predicción y la optimización de las cargas de trabajo del SoC-nivel con subsistemas diversos del IP y escenarios dinámicos del uso. Por otra parte, el funcionamiento del uso encima de la emulación del hardware o de un sistema de la creación de un prototipo está demasiado tarde en el proceso de desarrollo para hacer cualesquiera cambios drásticos u optimización importante del diseño de la memoria.”

Eso pone el foco en las cargas de trabajo previstas. “La llave a los subsistemas eficientes de la memoria es el conocimiento de su carga de trabajo,” dice a Frank. “Entendiendo cómo se comporta, quizá incluso formándola de una manera que haga más compatible con la limitación de su jerarquía de memoria, aquí es donde se desafía la arquitectura. Los aceleradores específicos del ámbito requieren sistemas de memoria adaptados — y el arte de construir el motor de la transformación que la ‘impedancia’ hace juego haber producido en masa, la COPITA organizada, bursty de la página del acceso y el modelo del acceso del motor requiere la penetración en el comportamiento de sistema, modelando las herramientas y muchas cargas de trabajo para jugar con. Toma a veces el cambio de la manera que la carga de trabajo procesa los datos para poder mejorar el sistema total. Un buen ejemplo era la transición de la representación ‘directa’ al proceso teja-basado en GPUs.”

Todo baja al modelado y a la simulación. “Proponemos el uso de las herramientas virtuales de la creación de un prototipo de modelar la carga de trabajo del uso, así como los modelos exactos del transacción-nivel de la arquitectura de la interconexión y de la memoria,” dice Kogel. “Este ‘acercamiento cuantitativo de la arquitectura primero’ permite análisis de equilibrio temprano, dando por resultado una especificación confiable de la puesta en práctica. A expensas de esfuerzo adicional del modelado y de la simulación, la ventaja es riesgo reducido de faltar blancos del funcionamiento y del poder, o coste reducido de overdesigning el hardware apenas para estar en el lado seguro. En la era de devoluciones de disminución de la ley de Moore, la oportunidad es salir con un producto optimizado y distinguido.”

Eso permite que el impacto de cambios algorítmicos sea visto, también. “Hay una necesidad de volver y reajustar los algoritmos,” dice Thiruvengadam. “Pueden reajustar para las arquitecturas tradicionales de la memoria de la herencia, o pueden ser reajustados para las nuevas arquitecturas, nuevos estilos de las memorias, nuevos sabores de la memoria. Hay este empuje constante para el escalamiento del funcionamiento, coste que escala, y también pudiendo equilibrar los equilibrios para los diversos usos. Ésta es esencialmente la razón por la que usted está viendo el desarrollo continuo de MRAMs y de FeRAMs. Están intentando encontrar un sweet spot por lo menos un par de variables, si no todas las variables. La necesidad de reajustar algoritmos junto con las arquitecturas de la memoria está llegando a ser ciertamente importante.”

La balanza es necesaria. “Usted necesita pensar en el concepto de intensidad de cómputo y el tipo de operaciones implicadas,” dice a Frank. “Ciertos algoritmos tienen requisitos insaciables del ancho de banda, mientras que otros mueven solamente relativamente pequeñas cantidades de datos sino realizar millares de operaciones en él. la operación de la En-memoria puede trabajar bien para el SIMD-tipo que procesa, donde está pequeño el ancho de banda de la instrucción en relación con el ancho de banda de datos y muchos elementos se procesan usando la misma receta. Pero tan pronto como haya dependencias secuenciales en la secuencia de datos o el flujo de datos irregular, la ventaja de los encogimientos específicos de la memoria del ámbito.”

Memoria de encargo
Mientras que los cambios arquitectónicos pueden producir resultados grandes, la optimización de las memorias puede también proporcionar aumentos. “Una proporción grande del poder y del área de aceleradores de hoy se utiliza en memoria,” dice Horsnell. “Tan cualquier mejora del estado latente/de la densidad/de la energía alcanzada por nuevas tecnologías de memoria podía tener un impacto dramático.”

Las memorias de encargo son gran negocio que se convierte. “Usted comienza a ver cosas como el cálculo de la en-memoria, cálculo de la cercano-memoria, las memorias específicas que pudieron ser escribir-toda-cero memoria — memorias que son con certeza tipos optimizados de operaciones,” dice Saggurti. “Estamos viendo a muchos clientes pedir nos acerca de MRAM, aún más arreglo para requisitos particulares de SRAMs, TCAMs, y ciertos pellizcos al TCAMs.”

Sigue habiendo las dificultades, aunque. “He tenido muchas discusiones con respecto a los diseños de encargo de la memoria, donde procesando en la memoria muero habría sido arquitectura ‘ideal una’,” dice a Frank. “Habría proporcionado alto ancho de banda, estado latente bajo, el etc. Todo correcto, a excepción del hecho, que el proceso de la memoria limitaba qué lógica podría ser integrada — tres o cuatro capas del metal, de baja potencia, pero transistores lentos. Eso significó la ineficacia para el motor del cálculo. Sacrificar frecuencia de reloj y complejidad de circuito repentinamente tomó la integración del motor del cálculo no más una tan buena decisión.”

Pero algunos de estos cambios llegarán a ser necesarios. La “gente quiere traer el flash en microprocesador y hacerle un flash integrado,” dice Saggurti. ¿“Entonces la pregunta se convierte, ‘es incluso posible? ‘En 28nm usted puede ser que pueda hacer el flash integrado, pero la gente comienza a pensar en cosas como MRAM en 22nm.”

No obstante, hay otras maneras de mirar el problema. “Variabilidad de proceso a través de una oblea y a través del dado, e incluso en un cierto plazo, diseño de la memoria del límite,” añade Saggurti. “Cuando usted diseña una memoria, SRAM simple, usted tiende a diseñar para el caso cuando va la célula mordida una manera — lento — y la periferia va la otra manera — rápidamente. Si usted diseña para ése, y si la mayoría de su silicio es típica, usted está dejando mucho funcionamiento y poder en la tabla. Si usted entiende donde usted está en la gama de proceso y permitir al diseñador de microprocesador actuar sobre esa información, después usted puede ajustar la sincronización por consiguiente. Su diseño podría ser más óptimo, y usted no tiene que diseñar para el peor caso.”

Conclusión
Mientras que la memoria ha sido siempre un equilibrio de diseño, nunca ha recibido el mismo nivel de atención como proceso, aunque es el limitador del funcionamiento en términos de ancho de banda, poder, y área. El AI está haciendo a gente repensar arquitecturas de la memoria por necesidad, pero con esa atención adicional, los equipos de diseño pueden también repensar algunos del software y de los algoritmos que fueron optimizadas para los sistemas de memoria de la herencia. En un mundo adonde no vienen los aumentos del funcionamiento gratis cada 18 meses, medidas más extremas se están convirtiendo en la única forma de parar productos de materias que se convierten. (de Brian Bailey)

Contacto