NOC - NETWORKS ON CHIP

¿QUÉ ES LA TECNOLOGIA NOC?


El paradigma de la comunicación de la red en el chip se presenta en lo que es el concepto de la network on chip (NOC). NOC es un enfoque para la interconexión de los diferentes núcleos en un System on Chip (SoC). El concepto básico de NoC es similar a las redes informáticas comunes, es decir del router interconecta cada núcleo con los otros núcleos en el NOC. La capa basada en la comunicación de protocolos basada en pilas utiliza en el concepto de NoC. A finales de los 90, se ha propuesto la primera arquitectura multi-core con una network on chip, por ejemplo la Arquitectura MIT RAW, que conecta varios núcleos en un chip programable a través de una interconexión conmutada. Los núcleos IP se conectan entre sí a través de una red de routers.
Los transistores están conectados en una malla bidimensional que pone restricciones a la topología de la red. La ventaja de una network on chip es que representa un ambiente relativamente controlado y la organización fija de la red una vez que el chip es diseñado. La NOC interconecta varios componentes de una arquitectura VLSI. Estos componentes van desde pequeñas unidades de transformación a unidades de procesamiento muy altas. La NOC  transporta datos entre los componentes y nos referimos a la combinación de la NoC con los componentes como una arquitectura "System-on-Chip" (SoC).
Dentro de los componentes tenemos el núcleo que a su vez contiene, un núcleo de procesamiento, del módulo de memoria, etc. Las interfaces de la red (NI) proporcionan la interfaz entre los núcleos y los routers, es decir separan el cálculo de los núcleos de la comunicación de la red. También proporciona una interfaz física, lo que permite el uso de reloj diferentes y dominios de tensión de la red y los núcleos. Los Routers realizan el transporte de datos entre los distintos núcleos a través de los enlaces. Se ocupan de los paquetes de red según el elegido, es decir el protocolo de red.

¿CUÁL ES LA ARQUITECTURA BASE?


A medida que la miniaturización avanza y los transistores son más pequeños se incrementa la complejidad de diseño de Sistemas en Chip (SoCs). Actualmente, se interconectan los módulos o Tile de las Soc mediante buses y en ocasiones, los módulos distantes se  interconectan mediante cables que pasan por encima de otros módulos. Todo esto desencadena en pérdidas de energía debido al calor generado por los cables de interconexión, pérdida de espacio, retrasos, ruido y una serie de problemas en la miniaturización. Para ello, se pensó en las NoC donde se crean módulos, uno a lado de otro como se muestra en la Figura 1, reduciendo la cantidad de cables para la interconexión. Cada módulo consta de:
·         Un elemento de procesamiento.- la cual genera, procesa y recibe información.
·         Router: Se encarga del ruteado de los paquetes dentro de una red.


Figura 1. Ejemplo de una Arquitectura Network On Chip

 

¿CÓMO Y EN QUE NIVELES TRABAJA ESTA ARQUITECTURA?


Las siete capas del Modelo OSI fueron desarrolladas con el propósito general de las redes en mente. A pesar de su utilidad en la comprensión del funcionamiento de las redes, es importante tener en cuenta que el modelo OSI no es necesariamente aplicable directamente a todo tipo de redes.
Esto es especialmente cierto cuando se trata de la aplicación en una capa OSI. La aplicación podría llegar a ser pesada y compleja, sin añadir ningún valor significativo.
Un tipo de red, donde el enfoque por capas de la aplicación no es adecuado es el network on chip. La razón es que hay algunas diferencias fundamentales entre una red de uso general (por ejemplo, Internet) y una network on chip. Mientras que la red de propósito general es desconocida en principio, es decir, los nodos se pueden agregar y quitar en cualquier momento, la topología no es fija, y así sucesivamente. La NoC la topología se fija en el momento de la de fabricación de chips.
Con el conocimiento adicional de la infraestructura de red en un ambiente controlado, es posible agrupar varias capas del modelo OSI, sin perder la flexibilidad y la abstracción, y lo que simplifica el hardware y software. Las simplificaciones hacen que  al mismo tiempo se corte la latencia en la red.

Las capas OSI están agrupados naturalmente en una network on chip a causa de la libertad limitada. Por lo general, las capas de enlace y física están muy relacionadas, así como las capas de red y transporte. Estas cuatro capas tienen que ser cubiertos por la red con el fin de permitir una separación fácil de los equipos desde el software. Las capas de sesión y presentación se pueden dejar en el software o pueden ser manejadas por las envolturas dependiendo de la complejidad de los protocolos sobre estas capas.
No existe ninguna frontera natural entre la capa física y de enlace en una red en el chip ya que es básicamente el mismo medio físico, es decir, es el chip de silicio.

¿CUÁLES SON LOS PROTOCOLOS DE ACCESO AL MEDIO FISICO Y LOGICO?
El propósito de las redes es transportar información desde un punto de origen a un punto de destino. Esta información está dividida en paquetes, los cuales si son de gran tamaño se subdividirán en subpaquetes denominados flits. Cada buffer se divide en varios slot y en cada slot se puede almacenar un flit. Estos flits son enrutados siguiendo algoritmos de ruteo para topologías tipo malla como son ruteo XY, West-First, North-Last, Negative-First, Odd-Even o basados en una tabla de ruteo pre-establecida. Lo único que observa cada módulo o tile es si el router por el que se va a enviar los flits posee un espacio en el buffer disponible y de haberlo envía los flits, caso contrario envía el flit por otro router de acuerdo al algoritmo de ruteo. En algunas configuraciones de los router de las NoC se utiliza el concepto de worm hole, donde el primer flit enviado a un router va reservando ese espacio de buffer en el router para los otros flits a enviarse y el último flit enviado desactiva esta reserva para que otros flits de algún otro módulo puedan utilizar ese espacio del buffer.

EJEMPLOS DE REDES BASADAS EN NOC
·         Tipo Mesh.- Este tipo de topología se basa en hacer una matriz de nodos e interconectar cada uno de estos con cuatro nodos vecinos a modo de puntos cardinales, a excepción de los bordes y esquinas como se muestra en la Figura 1. Esto nos facilita crear rutas ya que en esta topología nos permite tener caminos redundantes entre dos puntos.  Ésta topología se utiliza en redes de procesadores para alivianar la carga de procesamiento y gestionar recursos. Para una red más descongestionada se recomienda una red con topología torus ya que alivia el tráfico en el centro de la malla.

Figura 2 Torus para NoC
·         Tipo Honeycomb.- En esta topología como se observa en la Figura 3, los nodos forman un hexágono y en su centro se ubica un router que a su vez se interconecta a 2 ruters más. Por lo que puede llegar a 18 nodos con máximo un salto. Más al miniaturizar, al requerirse gran número de cables y puentes se hace difícil la implementación de estos. Se a propuesto este tipo de red cuando se dispone de gran cantidad de periféricos, los cuales se implementan en cada módulo de la NoC y que comparten varios recursos con otros periféricos por lo que se hace vital la cercanía y la comunicación de varios módulos de la NoC a la vez.



Figura 3 Estructura honeycomb para NoC

·         Tipo fat-tree.-  Es un modo de interconexión indirecta basado en el esquema de árbol binario como se muestra en la Figura 4. Al igual que arboles reales se hace mas grueso a  medida que nos acercamos a la raíz. El ruteo en fat-tree es muy fácil ya que hay un único camino mínimo entre nodos. Pero a medida que la red crece la congestión central se incrementa. Esta topología en redes jerárquicas.

Figura 4 Estructura Fat-Tree para NoC

CONCLUSIONES
  • La topología en malla (mesh) es la más utilizada en las NoC debido a la gran capacidad de escalabilidad de esta topología y su facilidad para algoritmos de ruteo de los cuales el más utilizado es el algoritmo XY por su facilidad de implementación.
  • Al juntarse los módulos en forma de malla se ahorra gran cantidad de cables y el diseño se hace más fácil de realizar ya que todo es modular reduciendo la brecha de productividad.
  • Los mismos problemas que suceden en una red de información a nivel macro (internet), suceden a nivel micro (red de procesadores), por lo que las NoC son la aplicación de  solución de las redes macro a nivel micro.
  • Las NoC permiten el crecimiento de las Soc como nunca antes, ya que la expansión de una SoC se realiza simplemente añadiendo más módulos y solo se modifica los parámetros del algoritmo de ruteo.

  
RECOMENDACIONES

  • Aunque dentro de lo que se refiere al manejo de la arquitectura, es recomendable utilizar la arquitectura referente al NOC (System On Chip), debido a las altas prestaciones que incluye esta arquitectura dentro de su construcción y de sus elementos. Además con este tipo de tecnología ya se estaba hablando de las tendencias a los procesadores multi- núcleo que en la actualidad son bastante ocupadas dentro de los ordenadores.
  • Se recomienda el uso de simuladores de NoC, para una mejor compresión del funcionamiento de los mismos. El simulador Noxim es uno de los mejores, ya que es de código abierto, gratuito y de facil uso.
  • Para mayor información sobre el desarrollo de las NoC en el mundo se recomienda visitar la página de internet http://networkonchip.wordpress.com


BIBLIOGRAFÍA
  • A. Hemani, A. Jantsch, S. Kumar, A. Postula, J. Öberg, M. Millberg, and D. Lindqvist., Network on chip: An architecture for billion transistor era”, 2000
  • F.Petrini, M.Vanneschi, ”k-ary n-trees: High Performance Networks for Massively Parallel Architectures”, 1997, www.citeseerx.ist.psu.edu
  •  Development Evaluation of Networks on Chip. Daniel Wiklund. Department of Electrical Engineering. Linköping University. 2005. Pags. 39 – 46. 
  •        http://www.sliponline.org/SLIP10/presentations/1-2.pdf
  •        http://www.hindawi.com/journals/ijrc/2010/603059/
A continuación se presenta un video de una conferencia sobre NoC que esta en ingles y su contenido nos muestra las grandes ventajas de las NoC.




Autores:
               Esteban Chacón
               Alexis Vega