NOC
Siglas de network on a chip.
NOC: toda la red comprimida en un solo chip de silicio
Una red en chip (NOC) es una arquitectura de procesador multinúcleo donde unidades de procesamiento independientes, bloques de memoria y controladores de entrada/salida están interconectados por una estructura de comunicación en el chip en lugar de buses compartidos. En lugar de que todos los núcleos compitan por el acceso a una única "autopista", cada unidad se conecta a una malla, anillo u otra topología que enruta paquetes de datos entre ellos. Esto escala mejor que los diseños tradicionales de bus compartido porque el ancho de banda crece con el número de nodos en lugar de permanecer fijo.
La estructura de comunicación en sí misma es la innovación. En los chips multinúcleo convencionales, añadir un décimo núcleo no añade una décima parte de la capacidad de comunicación, porque todos los núcleos siguen canalizándose a través del mismo cuello de botella de ancho. En una NOC, se añaden segmentos de malla o anillo junto a cada nuevo núcleo, por lo que el ancho de banda total de interconexión escala. Los mensajes entre núcleos viajan como pequeños paquetes con direcciones de origen y destino, muy parecido al tráfico en una red real.
Donde la NOC importa en la práctica
Las NOC aparecen en procesadores de gama alta donde docenas o cientos de núcleos necesitan comunicarse entre sí sin serializarse alrededor de un solo bus. Son comunes en diseños de muchos núcleos para centros de datos, nodos de supercomputación y aceleradores especializados. Los diseños de chips basados en mosaicos o modulares, donde se puede repetir el mismo bloque de núcleo más estructura muchas veces, también se benefician de la organización NOC porque las conexiones locales de cada mosaico permanecen simples incluso a medida que el chip crece.
La contrapartida es la complejidad. La lógica de enrutamiento, el almacenamiento en búfer de paquetes y la prevención de interbloqueos añaden sobrecarga y esfuerzo de diseño. Para un número pequeño de núcleos (normalmente menos de ocho), una NOC a menudo tiene un rendimiento inferior al de un bus de memoria compartida más simple. El punto de equilibrio depende de los patrones de tráfico y la sensibilidad a la latencia; el procesamiento de medios y la computación científica, con comunicación regular entre vecinos cercanos, favorecen más las NOC que las cargas de trabajo de acceso aleatorio.
El diseño de la NOC también afecta la forma en que se escribe el software. Los programadores deben pensar en la localidad espacial y el movimiento de datos a través de la estructura, no solo en la complejidad temporal. El soporte del compilador para asignar tareas a núcleos específicos y predecir la latencia entre núcleos sigue siendo un área de investigación activa, razón por la cual muchos chips NOC vienen con herramientas de desarrollo especializadas en lugar de depender de los programadores de sistemas operativos estándar.
Fuentes
- Fuente de la definiciónWiktionary