Departament d’Inform`atica de Sistemes i Computadors
Universitat Polit`ecnica de Val`encia
Estudio de la viabilidad de una red h´ıbrida
foto-el´ectrica
T
RABAJOF
IN DEM
ASTERM´aster en Ingenier´ıa de Computadores
Autor
Jose Puche Lara
Directores
Prof. Salvador Petit
Prof. Mar´ıa Engracia G´omez Requena
Prof. Julio Sahuquillo Borr´as
Resumen
Las altas escalas de integraci´on disponibles actualmente en la fabricaci´on de microprocesadores hacen posible incluir cientos de n´ucleos de procesamiento den-tro del mismo chip. Para reducir la contenci´on en el acceso a memoria principal, estos procesadoresmanycore incluyen varios controladores de memoria que son accesibles desde cualquier n´ucleo. Para permitir la comunicaci´on entre los dife-rentes n´ucleos, as´ı como entre ´estos y los controladores de memoria, los many-cores suelen utilizar una red de interconexi´on el´ectrica conocida como NoC (del ingl´esNetwork on Chip).
En este contexto, la red dentro del chip es un elemento fundamental ya que puede incrementar significativamente la latencia de acceso a memoria por dos razones principales. Por un lado, la latencia de un acceso a memoria principal de-pende, entre otros, de la distancia (es decir, del n´umero de saltos) que el acceso recorre por la red desde el n´ucleo de ejecuci´on hasta el controlador correspon-diente. Por otro, dependiendo de la combinaci´on de aplicaciones que se encuentre en ejecuci´on y de la distribuci´on de ´estas en los n´ucleos, los accesos pueden en-contrar una alta contenci´on tanto en la red como en los controladores de memoria. Estos factores pueden potencialmente reducir la escalabilidad de la red.
Una de las soluciones a estos problemas de escalabilidad es el uso de tec-nolog´ıas alternativas, como la fot´onica, en el dise˜no de la red. En este trabajo se propone el dise˜no de una red h´ıbrida que combine las tecnolog´ıas el´ectrica y fot´onica. La red el´ectrica se mantiene para su uso en distancias cortas, mientras que la red ´optica establece comunicaciones directas nodo-controlador, reduciendo significativamente las altas latencias en el acceso a memoria.
Como paso previo al dise˜no, se realiza un estudio de exploraci´on sobre el im-pacto de la distancia que separa las aplicaciones del controlador de memoria en las prestaciones de las mismas. El estudio tambi´en analiza el tr´afico adicional ge-nerado por la preb´usqueda hardware y la contenci´on producida por aplicaciones ejecut´andose en nodos vecinos del manycore. Estos resultados se han considerado para dise˜nar el mecanismo de selecci´on de red (h´ıbrida o el´ectrica) en tiempo de ejecuci´on. Los resultados obtenidos muestran que la introducci´on de la red h´ıbrida combinada con una t´ecnica de conmutaci´on eficiente permite reducir la degrada-ci´on de prestaciones de las aplicaciones hasta un 16 % respecto al peor de los casos.
Palabras Clave: Mecanismos de Preb´usqueda, Redes nanofot´onicas, Contenci´on de Me-moria, Procesadores Multin´ucleo, Redes en Chip
Abstract
The scale of integration of current microprocessor manufacturing processes allows including hundred of cores on a single chip. To reduce main memory access contention, these processors (referred to as manycores) use to implement multiple memory controllers that can be accessed from the distinct cores in the chip. A Network on Chip (NoC) is implemented to enable communication among cores and between cores and memory controllers.
In this context, the NoC becomes a key component that can heavily increase memory access latency due to two main reasons. On one hand, memory access latency depends basically on the distance (i.e. the number of hops) that a mem-ory request has to travel from the requesting core to the corresponding memmem-ory controller across the NoC. On the other hand, requests can experience network and memory contention depending on the number of running applications, their memory access patterns and the cores they are allocated to. These factors can potentially reduce network scalability.
A possible solution to overcome these problems relies on the use of alterna-tive network technologies. One example of these emerging technologies is the nanophotonic technology. On this work we propose a hybrid network design that combines electrical and optical technologies. This way, electrical network is used to perform transactions over short distances, while the optical one communicates cores to memory controllers, significantly reducing memory latencies.
First, we study the impact of the distance between memory controllers and the core where applications are executed on the applications’ performance. This study also analyzes the additional traffic generated by hardware prefetchers as well as the contention produced by applications co-running on the CMP. The obtained results have been considered in the design of the network (electric or photonic) selection mechanism that applies at run time. Results achieved on the evaluation of our proposal show that the hybrid network jointly with an efficient NoC switch-ing mechanism reduces the performance degradation of the studied applications up to a 16% compared to the worst case.
Keywords: Prefetch Mchanisms, Nanophotonic Network, Memory Hierarchy Contention, Manycore Processors, Networks On Chip
´Indice general
1 Introducci´on 8
1.1 Limitaciones de las redes en chip tradicionales . . . 8
1.2 La tecnolog´ıa nanofot´onica . . . 9
1.3 Aportaciones de este Trabajo Fin de M´aster . . . 10
1.4 Estructura de este Trabajo Fin de M´aster . . . 11
2 Redes en chip 12 2.1 Redes el´ectricas en chip . . . 12
2.1.1 Aspectos de dise˜no de una red dentro del chip . . . 13
2.2 Redes ´opticas en chip . . . 16
2.2.1 Componentes de una red ´optica . . . 16
2.2.2 Esquemas de comunicaci´on y asignaci´on dewavelengths . 19 3 Trabajo relacionado 24 4 Propuesta: Red h´ıbrida fotoel´ectrica 26 4.1 Modelo de red h´ıbrida . . . 26
4.1.1 Criterios de elecci´on de red . . . 29
5 Entorno experimental 32 5.1 El framework de simulaci´on Multi2Sim . . . 32
5.2 Ampliaciones realizadas sobre Multi2Sim . . . 33
5.2.1 M´ultiples redes de interconexi´on . . . 33
5.2.2 Virtual Cut-Through . . . 35
5.2.3 M´ultiples dominios de frecuencia a nivel de red . . . 38
5.2.4 Conversiones electrico-´optica y ´optico-el´ectrica . . . 38
5.2.5 Clasificaci´on de p´aginas de memoria . . . 39
5.2.6 Modelo de selecci´on de red . . . 39
5.3 Benchmarks utilizados para simulaci´on . . . 39
5.3.1 Aritm´etica de Enteros . . . 40
6 Resultados experimentales 44
6.1 Estudio de limitaciones de la red el´ectrica . . . 44 6.1.1 Impacto de la distancia en las prestaciones . . . 46 6.1.2 Impacto de la preb´usqueda en la degradaci´on de
presta-ciones por distancia . . . 49 6.1.3 Impacto de la contenci´on de la red en la degradaci´on de
prestaciones seg´un la distancia . . . 51 6.2 Evaluaci´on de red h´ıbrida . . . 55 6.2.1 Degradaci´on de prestaciones en malla y red h´ıbrida . . . . 56 6.2.2 Distribuci´on del tr´afico en la red h´ıbrida . . . 61
7 Conclusiones 62
7.1 Contribuciones . . . 63 7.2 Trabajo futuro . . . 64 7.3 Publicaciones . . . 64
´Indice de figuras
2.1 Ejemplo de dise˜no por tiles de un chip multin´ucleo. . . 13
2.2 Ejemplo de comunicaci´on mediante un enlace ´optico. . . 18
2.3 Esquemas de comunicaci´on single writer. . . 19
2.4 Esquemas de comunicaci´on multiple writer. . . 20
2.5 Esquemas de comunicaci´on SWMR y MWSR con WDM de 3 longitudes de onda. . . 21
2.6 Esquema de comunicaci´on buffered-SWMR. . . 23
4.1 Modelo de red h´ıbrida propuesta. . . 27
5.1 Interconexi´on entre m´odulos de memoria antes y despu´es de la ampliaci´on de Multi2Sim. . . 34
5.2 Modelo de anillo ´optico en Multi2Sim. . . 35
5.3 Esquema de conexi´on entre dos nodos de red adyacentes en Mul-ti2Sim. . . 36
6.1 Topolog´ıa utilizada para medir el impacto de la distancia hasta el controlador. . . 44
6.2 MPKI de L2 de las aplicaciones estudiadas. . . 45
6.3 Impacto de la distancia en los ciclos de latencia de la aplicaci´on cactusADM. . . 46
6.4 Impacto de la distancia y SAF en las prestaciones (IPC) de las aplicaciones en orden creciente de izquierda a derecha. . . 47
6.5 Impacto de la distancia y VCT en las prestaciones de las aplica-ciones en orden creciente de izquierda a derecha. . . 48
6.6 Impacto de la preb´usqueda y SAF en las prestaciones de las apli-caciones en orden creciente de izquierda a derecha. . . 50
6.7 Impacto de la preb´usqueda y VCT en las prestaciones de las apli-caciones en orden creciente de izquierda a derecha. . . 51
6.8 Degradaci´on de prestaciones en la aplicaci´onastaren su ejecu-ci´on con dos corunners. A la izquierda, evaluado con SAF; a la derecha, VCT. . . 53
6.9 Degradaci´on de prestaciones en la aplicaci´on mcf en su ejecu-ci´on con dos corunners. A la izquierda, evaluado con SAF; a la derecha, VCT. . . 53 6.10 Degradaci´on de prestaciones en la aplicaci´onnamd en su
ejecu-ci´on con dos corunners. A la izquierda, evaluado con SAF; a la derecha, VCT. . . 53 6.11 Degradaci´on de prestaciones respecto al mejor caso en los nodos
0, 2, 4, 6, 15, 31, 47 y 63 de la malla con SAF. . . 57 6.12 Degradaci´on de prestaciones respecto al mejor caso en los nodos
0, 2, 4, 6, 15, 31, 47 y 63 de la red h´ıbrida con SAF. . . 57 6.13 Degradaci´on de prestaciones respecto al mejor caso en los nodos
0, 2, 4, 6, 15, 31, 47 y 63 de la malla con VCT. . . 58 6.14 Degradaci´on de prestaciones respecto al mejor caso en los nodos
0, 2, 4, 6, 15, 31, 47 y 63 de la red h´ıbrida con VCT. . . 58 6.15 Degradaci´on de prestaciones media de las aplicaciones en las
cua-tro configuraciones estudiadas. . . 59 6.16 Porcentaje de tr´afico encaminado por la red fot´onica en cada nodo
cuando se utiliza SAF. . . 60 6.17 Porcentaje de tr´afico encaminado por la red fot´onica en cada nodo
´Indice de tablas
4.1 Configuraci´on del sistema completo . . . 28 4.2 Modelos de latencia utilizados . . . 29
5.1 Transmisi´on ciclo a ciclo de un paquete de 72B en Multi2Sim con SAF. . . 37 5.2 Transmisi´on ciclo a ciclo de un paquete de 72B en Multi2Sim con
VCT. . . 37
6.1 IPCs deastar,mcfynamdejecutadas en solitario . . . 54 6.2 Distancia desde cada posici´on estudiada hasta los controladores
Acronyms
CMOS Complementary Metal Oxide Semiconductor. 17, 18
CMP Chip MultiProcessor. 8–10, 12–14, 16, 56, 63
DOR Dimension Ordered. 14
DWDM Dense Wavelength Division Multiplexing. 17, 19, 21
IPC Instrucciones Por Ciclo. 46, 49, 52, 54, 56, 57, 63
LLC Last Level Cache. 8, 9, 46, 49
MPKI Misses Per KiloInstruction. 46, 49, 50, 52, 60, 64
MWMR Multiple Writer Multiple Reader. 21
MWSR Multiple Writer Single Reader. 20, 23, 24
NoC Network On Chip. 56
SAF Store and Forward. 14, 16, 31, 44, 46, 47, 49, 51, 54, 56, 57, 60–62, 64
SWBR Single Writer Broadcast Reader. 19, 22
SWMR Single Writer Multiple Reader. 20–22, 24
TFM Trabajo Fin de M´aster. 8, 12, 16, 44
VCT Virtual Cut Through. 14, 15, 44, 46, 47, 51, 52, 54–62, 64
Cap´ıtulo 1
Introducci´on
Este cap´ıtulo presenta la motivaci´on de la investigaci´on desarrollada en este Tra-bajo Fin de M´aster (TFM). Para ello, se introducen las ventajas y los problemas con los que se encuentan las redes en chip el´ectricas tradicionales. A continuaci´on, se propone la tecnolog´ıa nanofot´onica como una alternativa que puede mitigar los problemas de escalabilidad de estas redes, mejorando las prestaciones y el consu-mo de las arquitecturas de los Chip MultiProcessor (CMP) actuales. Finalmente, se presenta un resumen de las aportaciones de este TFM.
1.1
Limitaciones de las redes en chip tradicionales
Con el objetivo de satisfacer los requisitos de escalabilidad de la Ley de Moore, las ´ultimas generaciones de la mayor´ıa de microprocesadores han adoptado una ar-quitectura multin´ucleo, tambi´en denominada multiprocesador en un chip o CMP. La arquitectura multin´ucleo m´as com´un se denominatiled, en la que el procesador contiene m´ultiplestilesid´enticos. Cada uno de estos tiles est´a compuesto por un n´ucleo de ejecuci´on, su cach´e de L1 privada correspondiente y un banco o frag-mento de L2 que puede ser o bien privada o bien compartida entre los diferentes n´ucleos. Recientemente la cach´e de L2 tiende a ser privada y los tiles incorporan un banco de cach´e L3 que suele ejercer de ´ultimo nivel de cach´e o Last Level Cache (LLC). Adem´as, cada tile cuenta con un interfaz de red por el que accede a la red que lo comunica con el resto de tiles y componentes del chip.
En este tipo de arquitecturas, por tanto, cuando un n´ucleo necesita acceder a una parte de la cach´e que no se encuentra en su propio tile debe utilizar la red de interconexi´on para llegar hasta ella. La misma situaci´on tiene lugar cuando el acceso es a los controladores de memoria, que se encuentran t´ıpicamente ubicados en los extremos del chip.
aplicaciones multihilo. Sin embargo, estas aplicaciones requieren unos mecanis-mos de comunicaci´on y sincronizaci´on eficientes entre los diferentes hilos dentro del chip. Todo ello, unido a lo expuesto anteriormente, hace del dise˜no de una red en el chip eficiente un aspecto clave tanto en el rendimiento como en el consumo del CMP.
En lo que respecta a la necesidad de comunicaciones globales eficientes den-tro del chip, las redes el´ectricas tradicionales presentan buenas prestaciones para un n´umero reducido de nodos. Adem´as, en estos casos, estas prestaciones se co-rresponden con un nivel razonable de consumo de energ´ıa. Sin embargo, diversos aspectos intr´ınsecos de este tipo de redes compromenten la escalabilidad de los futuros procesadoresmanycore. Con el aumento del n´umero de n´ucleos se incre-menta la distancia recorrida en la red para acceder a los datos; esto provoca el aumento de la latencia y de la contenci´on degradando la productividad de la red, as´ı como incrementando su consumo.
Pese a todas estas razones, las redes en chip convencionales son, actualmente, las m´as r´apidas cuando se trata de comunicar nodos a una distancia relativamente corta. El estudio realizado en este trabajo est´a enfocado a cubrir las posibles ca-rencias que manifiestan este tipo de redes cuando el n´umero de n´ucleos crece por encima de varias decenas.
1.2
La tecnolog´ıa nanofot´onica
En los ´ultimos a˜nos, los avances en la fabricaci´on sobre silicio de tecnolog´ıa fot´onica han permitido la integraci´on de interconexiones ´opticas en los micro-procesadores. Esta tecnolog´ıa promete introducir mejoras en las tres cualidades deseables de toda tecnolog´ıa de interconexi´on: alto ancho de banda, alta eficiencia energ´etica y baja latencia. Por otro lado, su capacidad para realizar transmisiones de datos a lo largo del chip con una latencia independiente de la distancia supone una soluci´on a los problemas de escalabilidad de las redes en chip tradicionales.
Debido a estas caracter´ısticas, recientemente ha habido una serie de propuestas de redes nanofot´onicas con diferentes topolog´ıas y para diferentes arquitecturas. La complejidad de estas propuestas es variada y oscila desde simples anillos [1, 2] fot´onicos hasta topolog´ıas m´as complejas que intentan actuar comofat trees, ma-llas o toros tradicionales [3, 4]. Sin embargo, el uso de interconexiones fot´onicas complejas puede limitar los beneficios en latencia o consumo energ´etico debido a la cantidad de recursos ´opticos necesarios para soportar los requisitos de este tipo de redes.
Otro aspecto clave se encuentra en que la capacidad de este tipo de redes para realizar tareas de encaminamiento dentro del chip es limitada. Si bien en otros con-textos comoexascale computingel encaminamiento es factible, la introducci´on de
algoritmos de encaminamiento complejos y eficientes en switches ´opticos es ac-tualmente un reto. Esta limitaci´on puede introducir complicaciones, por ejemplo, en CMPs que utilicen mecanismos de coherencia por hardware.
Adem´as, el uso de redes nanofot´onicas tambi´en se ve afectado por las limita-ciones de la transmisi´on de la informaci´on entre tecnolog´ıas. Puesto que el proce-sador trabaja con tecnolog´ıa el´ectrica, es necesario para el env´ıo de informaci´on realizar la conversi´on de la se˜nal el´ectrica en ´optica. Asimismo, para la recepci´on es necesario volver a convertir la se˜nal ´optica en el´ectrica. Un dise˜no adecuado de una red nanofot´onica dentro del chip debe controlar el consumo y latencia de estas conversiones de manera que estos se mantengan en unos l´ımites adecuados.
1.3
Aportaciones de este Trabajo Fin de M´aster
Teniendo en cuenta las ventajas e inconvenientes de las redes identificadas en los apartados anteriores, en este Trabajo Fin de M´aster se propone una nueva red h´ıbrida que aune las ventajas de ambos tipos de tecnolog´ıas de red. En primer lugar, dada la velocidad y eficacia de las redes convencionales en distancias cortas, se propone la utilizaci´on de una malla el´ectrica que interconecta todos los tiles del CMP as´ı como los controladores de memoria. Pero adem´as, se introduce un anillo ´optico que proporcione baja latencia y evite posibles contenciones cuando las transmisiones se realizan entre componentes lejanos en la red.
As´ı, las aportaciones de este Trabajo Fin de M´aster son las siguientes:
• Estudio de la escalabilidad de prestaciones de una red el´ectrica tradicional utilizando la suite de benchmarks SPEC2006.
• Categorizaci´on de las diferentes aplicaciones en funci´on del impacto que presenta en sus prestaciones la distancia que separa el n´ucleo de c´omputo donde se ejecutan del controlador de memoria.
• Estudio de la influencia de t´ecnicas de preb´usqueda agresiva en la degrada-ci´on ocasionada por la distancia hasta el controlador.
• Estudio del impacto de la contenci´on junto con la distancia hasta el contro-lador en las prestaciones de las aplicaciones.
• Propuesta y evaluaci´on de una red h´ıbrida fotoel´ectrica que selecciona diante un modelo te´orico la red m´as r´apida para realizar una petici´on a me-moria desde un n´ucleo determinado.
1.4
Estructura de este Trabajo Fin de M´aster
El cap´ıtulo 2 introduce el campo de las redes en chip, el principal tema de investi-gaci´on de este trabajo. El cap´ıtulo 3 expone y explica diferentes trabajos y art´ıcu-los previos que guardan relaci´on con el sistema propuesto. El cap´ıtulo 4 presenta la propuesta de red h´ıbrida desarrollada en este trabajo. El capitulo 5 introduce el entorno de simulaci´on sobre el que se ha implementado nuestra propuesta. En este cap´ıtulo se incluyen tambi´en las ampliaciones que se han realizado sobre el c´odigo del simulador Multi2Sim y que han hecho posible la simulaci´on de la tec-nolog´ıa nanofot´onica. El cap´ıtulo 6 muestra y discutee los resultados obtenidos en la evaluaci´on de las propuesta. El cap´ıtulo 7 recoge las principales conclusio-nes de este trabajo y presenta posibles trabajos futuros relacionados con el tema tratado.
Cap´ıtulo 2
Redes en chip
En este cap´ıtulo se introducen las redes en chip, el principal tema de investigaci´on de este TFM. En primer lugar, se introducen las redes en chip el´ectricas utilizadas actualmente en la gran mayor´ıa de CMPs comerciales. Se presentan sus principa-les virtudes y defectos, as´ı como posibprincipa-les limitaciones que ´estas pueden presentar en el futuro. A continuaci´on se exponen las redes en chip nanofot´onicas, enu-merando sus principales caracter´ısticas y componentes. Adem´as, se presenta un an´alisis acerca de la viabilidad de este tipo de redes y su coste de implementaci´on sobre silicio en la actualidad.
2.1
Redes el´ectricas en chip
A lo largo de la ´ultima d´ecada, los multiprocesadores en chip o CMPs han domina-do el mercadomina-do de los microprocesadomina-dores. Los esfuerzos realizadomina-dos anteriormente en conseguir incrementos de prestaciones aumentando la complejidad de los pro-cesadores superescalares han encontrado l´ımites en t´erminos de ´area y consumo que no pueden ser pasados por alto. Como resultado, las arquitecturas multin´ucleo pasan a ejercer un papel clave para conseguir un mayor rendimiento en los pro-cesadores sin incurrir en crecimientos de consumo prohibitivos. As´ı, uno de los princiaples paradigmas actuales se basa en utilizar hasta cientos de n´ucleos de ar-quitecturas relativamente simples y consumo limitado en lugar de un s´olo n´ucleo excesivamente complejo.
El dise˜no de este tipo de procesadores est´a basado en la r´eplica de bloques id´enticos denominadostilese interconectados por la red. Un tile t´ıpicamente est´a formado por el n´ucleo de procesamiento, varios niveles de cach´e privados y/o compartidos y la interfaz con la red de interconexi´on. La Figura 2.1 puede ob-servarse un dise˜no de alto nivel de un CMP de 64 nodos interconectados por una malla bidimensional. En el ejemplo, cada tile consta, adem´as del n´ucleo y del
rou-Core
L1
Interfaz de red
Figura 2.1: Ejemplo de dise˜no por tiles de un chip multin´ucleo.
ter de la red, de una cach´e L1 y una cach´e L2. Observando esta figura, se aprecia claramente c´omo el dise˜no puede ser ampliado f´acilmente simplemente replican-do el tile.
En este nuevo paradigma, las redes de interconexi´onon-chipjuegan un papel fundamental en el rendimiento de estos procesadores. Las redes en chip permiten adem´as que las prestaciones se incrementen de un modo escalable, ya que ´estas se encuentran asociadas a aumentar el n´umero de n´ucleos (i.e.el nivel de parale-lismo) con los que cuenta el CMP.
2.1.1
Aspectos de dise ˜no de una red dentro del chip
Las redes en chip heredan la mayor´ıa de las t´ecnicas y mecanismos ya dise˜nados para el campo de las redes de altas prestaciones. Sin embargo, a pesar de las si-militudes, existen ciertas limitaciones que obligan a establecer diferencias entre ambos contextos. Estas limitaciones est´an relacionadas con las altas escalas de integraci´on on-chip y provocan que las redes en chip se encuentren mucho m´as expuestas a efectos f´ısicos que otro tipo de redes no llegan a experimentar. As-pectos como el tama˜no de los b´uferes, la ubicaci´on y longitud de los enlaces (que est´a directamente relacionada con la elecci´on topolog´ıa) o el ´area de los switches utilizados son puntos clave en el dise˜no de una red en el chip eficiente.
A lo largo de este apartado se presentan los principales aspectos a tener en cuenta en el dise˜no de una red en el chip. Adem´as, se discuten las opciones con-templadas y seleccionadas en el dise˜no del sistema base utilizado en este trabajo.
Topolog´ıas: La topolog´ıa constituye un aspecto de dise˜no clave en el rendi-miento y coste de cualquier red dentro del chip. La industria de multiprocesadores tiende a utilizar topolog´ıas de malla en las redes dentro del chip. Este tipo de to-polog´ıas es actualmente el m´as utilizado gracias a que se ajusta a la superficie bidimensional del silicio. Esto permite una fabricaci´on en serie sencilla de
tiled-CMPs a la vez que ofrece unas prestaciones aceptables en t´erminos de ancho de banda y latencia media. Por este motivo, esta topolog´ıa de red ser´a utilizada como base en los estudios y an´alisis realizados.
Algoritmos de encaminamiento: La elecci´on de una determinada topolog´ıa ofrece m´ultiples rutas de comunicaci´on entre los nodos fuente y destino. Sin em-bargo, se debe realizar una correcta selecci´on entre las diferentes rutas disponibles que permita un rendimiento sostenido de la red a la vez que evite situaciones de bloqueo y colapso en la misma. Es en este punto donde el algoritmo de encami-namiento establecido en cada uno de losswitchesde la red adquiere importancia. Durante la realizaci´on de este trabajo, el algoritmo de encaminamiento utilizado ha sido el algoritmo bien conocido XY o Dimension Ordered (DOR). En una ma-lla 2D que utiliza este algoritmo, los mensajes alcanzan primero la coordenada X del destino y posteriormente circulan sobre la coordenada Y del mismo. Se trata de un algoritmo determinista que garantiza la ausencia de interbloqueos en la red y cuya implementaci´on sobre una malla requiere un coste m´ınimo.
T´ecnicas de conmutaci´on: Las t´ecnicas de conmutaci´on determinan c´omo los paquetes circulan por la red y qu´e recursos (como b´uferes o enlaces) utilizan a lo largo del tiempo. El principal objetivo de estas t´ecnicas es proporcionar un uso equilibrado de los recursos de la red y evitar contenciones innecesarias en paque-tes listos para continuar su ruta. Las tres t´ecnicas de conmutaci´on bien conocidas son: Store and Forward (SAF), Virtual Cut Through (VCT) ywormhole. En SAF, cada nodo debe esperar la recepci´on del paquete completo antes de comenzar el reenv´ıo del mismo al siguiente nodo. Obs´ervese que este esquema supone un in-cremento lineal de la latencia respecto a la distancia del origen al destino incluso en ausencia de contenci´on en la red. Con VCT, un paquete puede comenzar a ser reenviado tan pronto como es recibida la cabecera del mismo. Este esquema permite solapar en el tiempo la recepci´on del paquete con el reenv´ıo al nodo si-guiente. Como alternativa a VCT,wormholecontrola el flujo de paquetes a nivel de flit en lugar de a nivel de paquete. Este cambio en el esquema permite utilizar b´uferes de tama˜no m´as reducido pero como contrapartida puede presentar situa-ciones complejas en las que los mensajes quedan bloqueados en varios switches de la red simult´aneamente. Wormhole aparece debido a la necesidad de reducir el ´area consumida por los switches dentro del chip; sin embargo, dado que
es-te aspecto no es relevanes-te en el presenes-te trabajo y wormholeofrece prestaciones similares a VCT, no se han realizado pruebas con esta t´ecnica.
T´ecnicas de control de flujo: Para garantizar la ausencia de p´erdidas de paque-tes en la red (i.e. descarte de paquepaque-tes en presencia de bloqueo) el mecanismo de conmutaci´on debe cooperar con t´ecnicas de control de flujo a nivel de enlace. Estas t´ecnicas proporcionan un modo de controlar el flujo de datos entre el emisor y el receptor de manera que el switch receptor no se ve obligado a descartar pa-quetes por falta de espacio en sus b´uferes. Las dos t´ecnicas principales de control de flujo utilizadas son el control por cr´editos y la se˜nalizaci´onstop&go. La pri-mera de ellas mantiene una cuenta del n´umero deslotsdisponibles en el b´ufer del receptor que se actualiza seg´un la entrada o salida de nuevos flits en el b´ufer. El n´umero de cr´editos se transmite a los switches anteriores y de esta forma el emi-sor cuenta con informaci´on acerca del estado del switch receptor. Por otro lado, la t´ecnicastop&goenv´ıa una de estas dos se˜nales cuando corresponde para permitir o impedir el env´ıo de nuevos paquetes al receptor.
La toma de decisiones adecuadas respecto a estos componentes permite obte-ner dise˜nos de redes en chip eficientes que ofrecen buenas prestaciones a costes aceptables.
Sin embargo, la red en el chip no est´a exenta de problemas en t´erminos de escalabilidad. Conforme el n´umero de nodos de la red crece, esta se puede ver expuesta a problemas de contenci´on, cuellos de botella o variaciones de latencia. Adem´as, estos problemas se acent´uan cuando se trabaja con las topolog´ıas de malla 2D tan habituales dentro del campo de las redes en chip.
En las redes con topolog´ıa de malla bidimiensional existen varios aspectos que se ven comprometidos conforme crece el n´umero de nodos. Uno de los aspectos principales se encuentra en el aumento de colisiones que se produce entre los mensajes en la red. Debido a que estos pasan m´as tiempo dentro de la misma, son m´as propensos a generar contenci´on, lo que afecta a la productividad de la red. Adem´as, al incrementar el n´umero de nodos, la distancia media de la red no escala linealmente, lo que conlleva que la latencia de las transmisiones crece incluso en ausencia de contenci´on.
Veamos un ejemplo para ilustrar este problema. Supongamos una malla bidi-mensional de 64 nodos distribuidos en 8 filas y 8 columnas. En el primer y ´ultimo nodo se encuentran conectados los controladores de memoria a los que deber´an acceder los 64 nodos de la red seg´un corresponda. Adem´as, la red utiliza switches segmentados de 3 etapas y 16 bytes/ciclo de ancho de banda en sus enlaces. As´ı, si el nodo 0 pretende almacenar un paquete de 72 bytes (formado por 64 bytes de tama˜no de un bloque de cach´e m´as 8 bytes de cabecera) en el controlador
ubica-do junto al noubica-do 63, este paquete deber´a realizar un total de 14 saltos por la red. La traducci´on en ciclos correspondiente con ese n´umero de saltos depende de la t´ecnica de conmutaci´on utilizada por la red. En el peor de los casos la red utilizar´a conmutaci´on SAF, lo que supondr´ıa que en cada nodo el paquete debe ser alma-cenado y serializado por completo hasta comenzar su reenv´ıo. As´ı, el n´umero de ciclos de latencia en este caso ser´ıa14×(3 + 7216) = 112ciclos.
El incremento en la latencia de las comunicaciones puede suponer una degra-daci´on de prestaciones del sistema completo cuando ´este ralentiza el servicio de las peticiones de memoria. Por tanto, para evitar esta degradaci´on en las presta-ciones se debe investigar en mecanismos que permitan paliar las dificultades de escalabilidad de la red en el chip. En este TFM se realiza un estudio de explo-raci´on que cuantifica los problemas ya identificados y se propone una soluci´on basada en la tecnolog´ıa nanofot´onica.
2.2
Redes ´opticas en chip
Las redes ´opticas han sido tradicionalmente utilizadas en ´areas metropolitanas de-bido a que la tecnolog´ıa fot´onica es muy poco dependiente a la distancia entre los elementos que establecen comunicaci´on. Esta latencia independiente de la dis-tancia, unida a la mayor eficiencia energ´etica que presentan estas redes frente a las redes tradicionales, hacen de ellas un componente que potencialmente puede mejorar las prestaciones y consumo del CMP.
Gracias a los avances en tecnolog´ıa nanofot´onica sobre el silicio, en la actua-lidad esta tecnolog´ıa se plantea como una alternativa real a las tradicionales redes el´ectricas dentro del chip [5]. Las redes ´opticas cuentan con la capacidad de trans-mitir varios flujos de informaci´on simult´aneamente a altas velocidades, lo que se traduce en una reducci´on significativa del n´umero de cables necesarios para llevar a cabo la comunicaci´on entre m´ultiples emisores y receptores.
2.2.1
Componentes de una red ´optica
Para conseguir establecer una comunicaci´on ´optica completa entre dos compo-nentes dentro del chip se necesita de la integraci´on de varios elementos propios de este tipo de redes. A continuaci´on se exponen los principales dispositivos que se requieren para integrar una red fot´onica completamente operativa dentro del chip.
• L´aser:Los l´aseres son los encargados de introducir el haz de luz en el chip. Este componente puede ubicarse dentro o fuera del chip, aunque t´ıpicamen-te son emplazados en el ext´ıpicamen-terior del encapsulado. Esto se debe a que el consumo y el ´area que requieren los l´aseres on-chip son mucho mayores y supone por tanto un desperdicio de recursos para el resto de componentes.
• Waveguides: Los waveguides se acoplan a los l´aseres para transportar la se˜nal luminosa. El proceso de fabricaci´on de estos componentes es de vital importancia para evitar p´erdidas de se˜nal significativas (y por tanto desper-dicio de potencia) cuando se introducen cambios de direcci´on y giros en el waveguide. Estos elementos combinan dos materiales de alto y bajo ´ındice de refracci´on en su parte interna y externa respectivamente, confinando el haz luminoso y gui´andolo hasta su destino. La elecci´on de estos materiales as´ı como de un proceso de fabricaci´on compatible con CMOS son cruciales para evitar que los waveguides presenten p´erdidas de energ´ıa excesivas. Por otro lado, una de las mayores ventajas de las redes fot´onicas radica en que la se˜nal ´optica se puede multiplexar en un rango finito de longitudes de onda owavelengths. Este proceso se conoce como Multiplexado por Divi-si´on de Longitudes de Onda o Wavelength Division Multiplexing (WDM). Cuando el n´umero de wavelengths en el que se divide la se˜nal es elevado (t´ıpicamente hasta 64 longitudes de onda) este proceso recibe el nombre de Dense Wavelength Division Multiplexing (DWDM). Esta caracter´ıstica es la que dota a las redes ´opticas de una densidad de ancho de banda elevada.
• Anillo resonador:Un anillo resonador es un componente formado por una waveguide que toma la forma de una circunferencia de di´ametro reducido (entre 3 y 5 µm) [6]. Los resonadores son componentes ´opticos que por defecto s´olo reaccionan a una determinada longitud de onda, determinada por su diametro. Sin embargo, los resonadores pueden calibrarse para reac-cionar a diferentes longitudes de onda alterando la temperatura mediante la aplicaci´on de corriente. Por tanto, cuando se usa WDM o DWDM se deben calibrar los resonadores involucrados en una comunicaci´on ´optica. Los ani-llos resonadores son el elemento base de dos componentes conocidos como moduladores y detectores:
- Modulador:Un modulador o transmisor es un anillo resonador que se encarga de imprimir la se˜nal digital en la luz extra´ıda por el resonador y que circula por el waveguide. El material utilizado en los modula-dores es el Germanio, ya que puede ser utilizado en proceso CMOS y presenta un alto porcentaje de absorci´on luminosa. Generalmente, un modulador es simplemente un resonador que absorbe se˜nal el´ectrica y la modula en un determinado wavelengthλi.
- Detector: Un detector o receptor es un anillo resonador que se en-cuentra calibrado a una determinada longitud de onda. Act´ua como filtro de una wavelength λi y dirige los haces de luz extra´ıdos a un
detec-Envía 1 bit Driver A Modulador A en λi Laser Driver B + amplificador Receptor B en λi Recibe 1 bit λi λ0 ... λn Fotodetector
Figura 2.2: Ejemplo de comunicaci´on mediante un enlace ´optico.
tores como longitudes de onda esten asociadas a una comunicaci´on ´optica determinada.
• Fotodetector:Tras filtrar las longitudes de onda correspondientes a un des-tino, se les debe aplicar una operaci´on de conversi´on ´optico-el´ectrica. Esta labor es realizada por el fotodetector, componente que extrae los fotones de la se˜nal ´optica y los transforma en corriente el´ectrica. El fotodetector debe tener acoplado un amplificador de se˜nal el´ectrica para que la salida producida pueda ser tratada correctamente.
En la Figura 2.2 se puede observar un ejemplo de comunicaci´on que emplea todos los componentes descritos anteriormente. La figura muestra c´omo se realiza la transmisi´on de un flujo de bits entre un emisor y un receptor, utilizando un l´aser y un waveguide que permite WDM. En primer lugar, el modulador del emisor recibe la orden de transmitir un determinado flujo de bits. Para ello, el modulador A que opera a una determinadaλicomienza a codificar y modular dicho flujo en la
longitud de onda i. Obs´ervese que las posibles comunicaciones que usan el resto de longitudes de onda no se ven afectadas por este proceso.
Posteriormente, la se˜nal luminosa modulada que circula por el waveguide pasa por el modulador B que debe ser previamente calibrado para resonar en la longitud de ondaλi. De esta manera el resonador reaccionar´a al paso de la luz y la filtrar´a,
realizando ´esta un movimiento circular en el interior del anillo. A continuaci´on, el fotodetector acoplado al anillo convierte la luz que circula en el interior del receptor. Finalmente, la se˜nal el´ectrica obtenida pasa a ser manejada por el driver B que almacena los valores correspondientes en los biestables del receptor.
Inputs Outputs (a) Esquema SWBR Inputs Outputs (b) Esquema SWMR
Figura 2.3: Esquemas de comunicaci´on single writer.
2.2.2
Esquemas de comunicaci´on y asignaci´on de
wavelengths
Pese a que la red ´optica puede operar a frecuencias de hasta 10 GHz, ´esta solo puede transmitir un bit en cada wavelength por ciclo. Esto significa que el n´umero de wavelengths que se asignan a cada nodo es cr´ıtico, ya que repercute en el ancho de banda agregado con el que dicho nodo contar´a para sus transmisiones y recepciones.
Para la comunicaci´on entre los diferentes nodos utilizando un ´unico canal ´opti-co existen numerosas propuestas en la literatura. Los esquemas que se explican a continuaci´on permiten interconectar diferentes entradas con diferentes salidas me-diante el acceso a un canal de comunicaci´on compartido. M´as adelante, meme-diante la utilizaci´on de DWDM, el n´umero de wavelengths asociadas a cada nodo se incrementar´a y, por tanto, estos esquemas podr´an realizar env´ıos simult´aneos en diferentes longitudes de onda.
• Single Writer Broadcast Reader (SWBR): En este esquema se realiza una difusi´on entre todos los receptores de una se˜nal que ha introducido el emisor en una determinada longitud de onda. Se trata de un esquema poco habitual ya que requiere del calibrado de los moduladores de todos los receptores cada vez que se realiza una transmisi´on, lo que supone un desperdicio de energ´ıa en la red. En la Figura 2.3a puede apreciarse un diagrama sobre la comunicaci´on en este esquema. Obs´ervese c´omo todos los anillos corres-pondientes a las salidas se encuentran calibrados para recibir el mensaje.
• Single Writer Multiple Reader (SWMR): En este esquema los modula-dores de los receptores se encuentran sin calibrar, por lo que por defecto ninguno de ellos extrae se˜nal alguna del waveguide. As´ı, cuando el emisor
Inputs Outputs Send Arbiter (a) Esquema MWSR Inputs Outputs Send Arbiter Recv Arbiter (b) Esquema MWMR
Figura 2.4: Esquemas de comunicaci´on multiple writer.
quiere enviar un paquete a un receptor, ´este primero ha de comprobar que su anillo resonador se encuentra activo en la wavelength correspondiente. Esto requiere por tanto una l´ogica adicional el´ectrica u ´optica que permita al emisor activar y calibrar el filtro del receptor cuando corresponda. En la Figura 2.3b se puede observar un diagrama de comunicaci´on de este esque-ma. Se trata de un esquema similar al correspondiente a SWBR pero en este caso s´olo los receptores interesados en la comunicaci´on son los que activan sus anillos resonadores.
• Multiple Writer Single Reader (MWSR):El esquema MWSR resulta de utilidad cuando varios emisores quieren comunicarse con un mismo destino. Sin embargo, este esquema precisa del uso de t´ecnicas de arbitraje entre los diferentes emisores para decidir qui´en accede al medio ´optico. Estas t´ecni-cas de arbitraje pueden implementarse bien el´ectricamente o bien mediante ´optica. En la Figura 2.4a puede observarse este esquema de comunicaci´on. La utilizaci´on de este esquema cuando se cuenta con DWDM permite asig-nar diferentes wavelengths a cada emisor. De esta manera, el arbitraje solo es necesario cuando varios emisors pretenden comunicarse con el mismo destino.
• Multiple Writer Multiple Reader (MWMR): En el caso de MWMR se permite la comunicaci´on entre cualquier emisor con cualquier receptor, por lo que se debe arbitrar en ambos lados antes de realizar la transmisi´on para evitar colisiones. La cantidad de moduladores en este esquema es del orden deO(N ×bλ)dondeN es el n´umero de nodos tanto emisores como
recep-tores ybλ es el n´umero de wavelengths utilizados. Se trata por tanto de un
Inputs 0-2 Output 0 Output 1 Output 2 λ0-2 λ0 λ1 λ2 λ0 λ1 λ2 (a) Esquema SWMR λ0-2 λ0 λ1 λ2 Input 0 Input 1 Input 2 λ0 λ1 λ2 Outputs 0-2 (b) Esquema MWSR
Figura 2.5: Esquemas de comunicaci´on SWMR y MWSR con WDM de 3 longi-tudes de onda.
un coste elevado de recursos ´opticos. En la Figura 2.4b se puede observar el diagrama correspondiente a este esquema.
Estos esquemas de comunicaci´on se corresponden con una red fot´onica en la que el canal ´optico no se encuentra multiplexado por longitudes de onda. Sin em-bargo, cuando se cuenta con DWDM, estos esquemas pueden ampliarse teniendo en cuenta que cada waveguide puede ser dividida en un total de hasta 64λi. Este
tipo de esquemas se utilizan para la implementaci´on decrossbars ´opticos, ya que permiten conectar un determinado n´umero de entradas y salidas entre s´ı. En este punto se encuentra una de las principales decisiones de dise˜no de una red fot´oni-ca ya que el esquema elegido tiene un impacto directo en el n´umero de posibles comunicaciones paralelas y su ancho de banda.
En la Figura 2.5a se puede observar el esquema de comunicaci´on SWMR co-rrespondiente a una multiplexaci´on de la se˜nal luminosa en tres longitudes de onda. En este caso, las tres entradas cuentan con unaλi propia para comunicarse
con cada una de las tres salidas. Sin embargo, se puede apreciar que en caso de que dos o m´as entradas pretendan comunicarse con el mismo terminal de salida se presenta un conflicto en la red. Por tanto, se debe utilizar una t´ecnica de arbi-traje que determine qu´e entrada gana el acceso hacia la salida. De esta forma, el proceso de comunicaci´on a seguir en este esquema ser´ıa el siguiente:
2. Una funci´on de arbitraje determina qu´e entrada es la escogida. Supongamos
I2 como la ganadora del medio.
3. La entradaI2, al saberse ganadora del arbitraje, env´ıa una se˜nal el´ectrica al
terminalO2 para que calibre correctamente el receptor que le corresponde
enλ2 (identificada con color amarillo).
4. El transmisor enI2 modula la longitud de ondaλ2 para enviar el paquete.
5. Finalmente, el terminal de salida recibe el paquete y lo convierte a se˜nal el´ectrica, terminando as´ı la comunicaci´on.
Este tipo decrossbar ´optico tambi´en permite implementar el esquema SWBR mediante el reenv´ıo del paquete a todas las terminales de salida. En este caso, ca-da terminal de salica-da convierte el paquete recibido y comprueba si es responsable del mismo. La utilidad de este esquema se reduce a la distribuci´on de informa-ci´on de arbitraje redundante, ya que para comunicaciones entre pares consume significativamente m´as energ´ıa que el esquema SWMR.
En el esquema SWMR existe adem´as una alternativa que permite evitar uti-lizar arbitraje global antes de reauti-lizar el env´ıo. La soluci´on recibe el nombre de
buffered-SWMR y consiste en incluir b´uferes junto a cada receptor ´optico en cada terminal de salida. As´ı, el emisor solo debe conocer si cuenta con espacio sufi-ciente en el b´ufer destino antes de enviar el paquete. En el lado del receptor, si este cuenta con paquetes disponibles en varias colas, realizar´a un arbitraje local entre las mismas e ir´a sirviendo los paquetes sucesivamente. Este esquema resulta de utilidad cuando no se cuenta con mecanismos de arbitraje global eficientes (i.e. mecanismos de arbitraje por tecnolog´ıa ´optica que no ralentizan los env´ıos). En la Figura 2.6 se puede observar una ilustraci´on de este esquema de comunicaci´on.
Independientemente del tipo de esquema SWMR que se utilice, las comu-nicaciones bajo este patr´on necesitar´an al menos un transmisor por entrada y
O(N2 × b
λ) receptores donde N es el n´umero de nodos tanto emisores como
receptores ybλ es el n´umero de wavelengths utilizados en el bus. Por tanto, para
evitar disparar el consumo y coste de los recursos ´opticos, es recomendable utili-zar este esquema en situaciones en las que el n´umero de receptores es reducido.
Por otro lado, en la Figura 2.5b se presenta el esquema de comunicaci´on MWSR que, al igual que en el caso anterior, utiliza tres longitudes de onda para interconectar tres entradas con tres salidas. En este caso, las longitudes de onda (o canales ´opticos formados por varias λi) se asocian al n´umero de salidas del
crossbar. Como resultado, en este caso tambi´en es necesario un arbitraje global que evite colisiones cuando dos o ma´s entradas pretenden comunicarse con una misma salida. De esta forma, el proceso de comunicaci´on resulta pr´acticamente an´alogo al anterior:
Output 1 Output 2 0-2 0 1 2 0 1 2 Output 0 Inputs 0-2
Figura 2.6: Esquema de comunicaci´on buffered-SWMR.
1. Las entradasI1 eI2 intentan enviar un paquete a la salidaO2.
2. Una funci´on de arbitraje determina qu´e entrada es la escogida. En este caso se suponeI2 como la ganadora del medio.
3. En este caso, la salidaO2 ya se encuentra calibrada por defecto enλ2, por
lo que no es necesario realizar el calibrado activo en este esquema.
4. El transmisor enI2modula la longitud de ondaλ2 para enviar el paquete.
5. Finalmente, el terminal de salida recibe el paquete y lo convierte a se˜nal el´ectrica, terminando as´ı la comunicaci´on.
La principal ventaja del esquema MWSR se encuentra en que no es necesario realizar el calibrado activo de las diferentes salidas. Gracias a esto, es posible evitar el consumo necesario para activar los receptores, a diferencia del caso del esquema SWMR que s´ı lo necesita.
En lo que respecta a componentes ´opticos, MWSR requiere de al menos un receptor por entrada y O(N2 ×b
λ)transmisores. Esto quiere decir que, al igual
que el esquema SWMR, el n´umero de componentes (transmisores en el caso de MWSR y receptores en el caso de SWMR) crece cuadr´aticamente. Por tanto estos esquemas deben ser utilizados en situaciones en las que el tama˜no y requisitos de la red no impliquen un crecimiento desmedido de la cantidad de componentes ´opticos necesarios. En caso contrario, el consumo derivado de estos componentes y el ´area utilizada por los mismos se convertir´an en limitaciones para la red.
Cap´ıtulo 3
Trabajo relacionado
Este cap´ıtulo describe trabajos relacionados con la tecnolog´ıa fot´onica as´ı como su aplicaci´on a las redes en chip.
El desarrollo de la tecnolog´ıa fot´onica as´ı como su integraci´on en el silicio han sido campos ampliamente investigados en la ´ultima d´ecada. En [7], S. Abadalet. alestudian diferentes posibilidades de aplicaci´on de la tecnolog´ıa fot´onica en ar-quitecturas h´ıbridas y multiprocesadores. En lo que respecta a la utilizaci´on de los componentes ´opticos en redes en chip, numerosos trabajos como [8–10] estudian diversas alternativas acerca de c´omo abordar el dise˜no de una red fot´onica dentro del chip, as´ı como sus oportunidades y retos.
Como resultado de estas investigaciones previas, a lo largo de los ´ultimos a˜nos se han presentado numerosas propuestas de redes ´opticas como soluci´on a los pro-blemas cada vez mayores de escalabilidad en las prestaciones de las redes dentro del chip. En previsi´on de los requisitos de ancho de banda que necesitar´an las arquitecturas futuras, D. Vantrease et. al proponen Corona [1], una arquitectura manycore 3D que utiliza comunicaci´on mediante tecnolog´ıa fot´onica tanto dentro como fuera del encapsulado.
Por otro lado, en [11] G. Kurianet. alpresentan ATAC, una arquitectura que cuenta con una red ´optica dentro del chip que permite la interconexi´on de 1000 n´ucleos dentro del mismo. La principal diferencia que presenta con Corona radica en la asignaci´on de los recursos ´opticos a los emisores y receptores de la red. Como alternativa a Corona y ATAC, en [2] se propone Firefly, una arquitectura h´ıbrida que agrupa los n´ucleos del chip en clusters e interconecta dichos clusters mediante conexiones ´opticas.
La integraci´on de la tecnolog´ıa fot´onica dentro del chip, sin embargo, no est´a exenta de dificultades. Debido a las caracter´ısticas especiales y a la reducida escala de los componentes ´opticos, el desarrollo de NoCs fot´onicas es muy sensible a los errores de fabricaci´on; este propiedad se conoce como variabilidad en el proceso de fabricaci´on. Respecto a este problema, en [12] se proponen diferentes
solucio-nes para mitigar el efecto de la variabilidad en la fabricaci´on en las prestaciosolucio-nes de la red fot´onica.
En [13] encontramos la red FlexiShare, un anillo fot´onico con un esquema MWMR propuesto para un CMP de 64 n´ucleos. Esta red utilia un mecanismo de arbitraje basado en flujos de tokens para incrementar la utilidad de la red. Los autores utilizan diferentes cantidades de canales y DWDM de 64 longitudes de onda por canal.
Si bien Corona, FlexiShare y Firefly presentan resultados y prestaciones acep-tables, lo hacen a cambio de una utilizaci´on significativa de los recursos ´opticos. En [14], A. Garc´ıa-Guirado y S. Bartolini realizan un estudio de los componentes ´opticos utilizados por estas tres redes y proponen una serie de pol´ıticas para admi-nistrar estos recursos de un modo m´as adecuado. Los autores proponen pol´ıticas basadas en el tama˜no de los mensajes que circulan por la red, la disponibilidad de los recursos ´opticos necesarios para la comunicaci´on y la distancia que separa al emisor del receptor.
Las redes anteriores y los esquemas de comunicaci´on comentados en el Apar-tado 2.2.2 requieren de t´ecnicas de arbitraje a la hora de compartir los canales ´opticos en comunicaciones simult´aneas. En [15], D. Vantreaseet. al proponen la utilizaci´on de la tecnolog´ıa ´optica para realizar las tareas de arbitraje y control de flujo. Los autores presentan dos clases de t´ecnicas de arbitraje basadas en tokens y eval´uan las mismas con objetivos relativos a latencia, utilizaci´on yfairness.
Aunque este trabajo se centra en la integraci´on de la tecnolog´ıa fot´onica den-tro del chip, oden-tros autores como Batten et. alproponen en [16] una estrategia de dise˜no para redes ´opticas a nivel interchip. Adem´as, realizan una propuesta so-bre c´omo utilizar una red ´optica para interconectar el procesador con la memoria principal.
Cap´ıtulo 4
Propuesta: Red h´ıbrida fotoel´ectrica
En este cap´ıtulo se describe la red h´ıbrida propuesta en este Trabajo Fin de M´aster. Teniendo en cuenta las limitaciones de las redes en chip el´ectricas ya explicadas en el Cap´ıtulo 2, en este trabajo presentamos una red formada por una malla bi-dimensional el´ectrica acompa˜nada por un anillo fot´onico que permitir´a reducir la latencia de las largas distancias dentro del chip.4.1
Modelo de red h´ıbrida
El modelo de red h´ıbrida propuesto en este trabajo puede observarse en la Fi-gura 4.1. Los 64 nodos del CMP est´an conectados por una malla bidimensional el´ectrica, a la que se conectan tambi´en a trav´es del primer y ´ultimo nodos (nodos 0 y 63) los controladores de memoria. Adem´as, se incluye un anillo implementado con tecnolog´ıa fot´onica.
Para conseguir que todos los nodos sean alcanzados por el anillo ´optico, en esta propuesta el dise˜no de los tiles es sim´etrico en lugar de totalmente id´entico. De esta forma se consigue conectar los switches de 4 tiles para proporcionar un acceso cercano al anillo ´optico. Esto es necesario ya que la tecnolog´ıa ´optica no permite la implementaci´on de waveguides que realicen un gran n´umero de cambios de direcci´on. De lo contrario, la potencia requerida para transmitir el haz de luz por el waveguide se incrementar´ıa en exceso [17].
Por otra parte, la decisi´on de ubicar los controladores a ambos extremos de la red se corresponde con la situaci´on habitual de estos componentes en las redes en chip tradicionales. Obs´ervese que ambos controladores se encuentran separados por un total de 14 saltos en la red, lo que coincide con el di´ametro de la misma.
El objetivo es, por tanto, reducir la latencia de las comunicaciones de los nodos que se encuentran m´as alejados de los controladores de memoria. La red h´ıbrida propuesta permite a los nodos que se encuentran a elevadas distancias de los
con-Figura 4.1: Modelo de red h´ıbrida propuesta.
troladores utilizar un camino alternativo y m´as veloz a trav´es del cual realizar las peticiones y obtener los bloques de memoria. Sin embargo, este no ser´a el ´unico criterio que determine cu´ando utilizar el anillo ´optico. En el Apartado 4.1.1 se presentan los criterios contemplados a la hora de determinar qu´e red es utilizada para llevar a cabo un acceso a los controladores.
El esquema de comunicaci´on utilizado en el anillo ´optico requiere diferen-ciar entre la comunicaci´on de nodo a controlador (nodo-controlador) y en sentido inverso (controlador-nodo). En lo que respecta al sentido nodo-controlador, se uti-liza un esquemabuffered-SWMR en el que cada nodo cuenta con cuatro1
longitu-des de onda asignadas para el envio de paquetes a los controladores de memoria. Debido a que el sistema cuenta con 64 nodos, se requieren al menos 256 wave-lengths para satisfacer este requisito. Teniendo en cuenta que cada waveguide se puede descomponer mediante DWDM en 64 wavelengths, se requieren al menos 4 waveguides para implementar la comunicaci´on nodo-controlador.
En lo que respecta al sentido controlador-nodo, se utiliza igualmente un es-quema buffered-SWMR en el que cada controlador tiene asignados un total de 32 wavelengths para el env´ıo de paquetes a los nodos. Puesto que el procesador cuenta con dos controladores, el sentido controlador-nodo requiere un waveguide completo adicional. En total, para la comunicaci´on en ambos sentidos se requieren 5 waveguides (es decir, 320 wavelengths) 4 para el env´ıo de paquetes en el sentido
1Este valor ha sido determinado tras un estudio te´orico del ancho de banda requerido para el
N´ucleos de procesamiento
N´ucleos 64
ISA x86
Frequencia 3GHz
Pol´ıtica de issue Fuera de orden Predictor de saltos Combinado
Ancho de issue/commit 4 instrucciones/ciclo Tama˜no del ROB 256 entradas
Cola de Load/Store 64/48 entradas Jerarqu´ıa de cach´e
L1 Icache (privada) 32KB, 8 v´ıas, 64B-l´ınea, 2cc L1 Dcache (privada) 32KB, 8 v´ıas, 64B-l´ınea, 2cc
L2 (privada) 256KB, 16 v´ıas, 64B-l´ınea, 11cc, 16 MSHR Red de interconexi´on el´ectrica
Topolog´ıa 2D Mesh 8x8
Frecuencia 2 GHz
Encaminamiento X-Y
Tama˜no de los b´uferes 256B
Ancho de banda de enlace 16Bytes/ciclo
Conmutaci´on Store & Forward y Virtual Cut-Through Router Segmentado 3 etapas, 3 ciclos/hop
Red de interconexi´on ´optica
Topolog´ıa Anillo
Frecuencia 10 GHz
DWDM S´ı
Node waveguides 5, 64 wavelengths/waveguide
Ancho de banda/wavelengh 1bit/ciclo
Esquema de comunicaci´on Buffered-SWMR asim´etrico Conversi´on El´ectrico- ´Optica 1 ciclo
Conversi´on ´Optico-El´ectrica 1 ciclo
Memoria principal Latencia fija 200 ciclos
nodo-controlador y 1 para el env´ıo de paquetes en el sentido controlador-nodo. El resto de los par´ametros del sistema base se pueden consultar en la Tabla 4.1.
4.1.1
Criterios de elecci´on de red
El funcionamiento de la red h´ıbrida propuesta depende de ciertos criterios relati-vos al estado de las redes en el momento de la comunicaci´on. El objetivo primario de la red h´ıbrida es proporcionar a los nodos un acceso r´apido a la memoria. Para conseguir esto, se han escogido una serie de criterios que permiten a un nodo de-terminar qu´e red utilizar en el momento de iniciar una petici´on al controlador de memoria. Estos criterios son los siguientes:
• Umbral de latencia: En este criterio se tienen en cuenta dos factores. El primer factor se debe a la comparaci´on de los resultados obtenidos por el modelo te´orico de la latencia de la red el´ectrica en ausencia de contenci´on y el modelo te´orico de la latencia del anillo ´optico. En caso de que la latencia te´orica del anillo ´optico resulte inferior, la transmisi´on es realizada por el mismo.
Para ambas redes, el modelo te´orico de la latencia en ausencia de contenci´on depende de la t´ecnica de conmutaci´on de paquetes utilizada. La Tabla 4.2 expone las expresiones correspondientes a los modelos te´oricos de latencia de Store & Forward y Virtual Cut-Through. En ambos modelos, la variable
dse corresponde con la distancia en n´umero de saltos que separa al emisor del receptor;tlink es el tiempo que lleva a un paquete atravesar un enlace y
por tanto depende del tama˜no del paquete y del ancho de banda del enlace; y
thop es la cantidad de ciclos necesaria para atravesar elswitchsegmentado.
Finalmente, la ´ultima parte de la expresi´on hace referencia al tiempo de serializaci´on necesario para reintroducir el paquete en un nuevo enlace y reenviarlo al siguiente destino.
Store & Forward
latSAF =tlink×(d+ 1) +thop×d+bandwidthpacketSize
link ×d
Virtual Cut-Through
latV CT =tlink×(d+ 1) +thop×d+ bandwidthpacketSizelink
Resulta llamativa en estas expresiones la diferencia de latencia derivada de la utilizaci´on de una t´ecnica de conmutaci´on u otra. En el caso de SAF, la latencia de serializaci´on se incrementa proporcionalmente con el n´umero de saltos, mientras que en VCT esta latencia permanece constante. Es im-portante destacar que para la red el´ectrica el n´umero de saltos depende de las posiciones relativas entre nodo y controlador, mientras que para la red ´optica la distancia es constante ya que todos los nodos conectados al anillo ´optico se comunican directamente a trav´es de este con ambos controladores. El segundo factor tiene en cuenta la latencia de la red el´ectrica en presencia de contenci´on. Esta latencia no se calcula te´oricamente sino que se obtiene a partir del valor de la latencia observado en la red por el ´ultimo fallo de cach´e generado por la ejecuci´on de una instrucci´on deload. Este valor se compara con la latencia te´orica del anillo ´optico y determina qu´e red debe utilizar-se. N´otese que no se tiene en cuenta la contenci´on en la comunicaci´on a trav´es del anillo ´optico debido a que el esquemabuffered-SWMR garantiza ausencia de contenci´on en la comunicaci´on entre nodos y controladores.
• Privacidad de los datos: Este criterio s´olo se aplica a cargas paralelas y permite utilizar la red ´optica para garantizar una r´apida obtenci´on de los da-tos privados desde la memoria principal, mientras que los dada-tos compartidos son proporcionados por las distintas cach´es que se encuentren en posesi´on del bloque a trav´es de la red el´ectrica.
Cap´ıtulo 5
Entorno experimental
En este cap´ıtulo se presenta el entorno de simulaci´on utilizado para evaluar la propuesta de este Trabajo Fin de M´aster. Adem´as, se describen las principales incorporaciones y ampliaciones que se han desarrollado sobre este entorno de trabajo con el objetivo de soportar la simulaci´on de la tecnolog´ıa fot´onica. Final-mente, se introducen las cargas multiprogramadas que se han utilizado durante las simulaciones para obtener los resultados.
5.1
El framework de simulaci´on Multi2Sim
Multi2sim [18] es un entorno de simulaci´on dirigido por eventos y con precisi´on a nivel de ciclo dise˜nado para computaci´on heterog´enea CPU-GPU. Est´a escrito en lenguaje C e incluye modelos para CPUs superescalares, multin´ucleo y multihilo, as´ı como para arquitecturas GPU. El simulador se encuentra en su versi´on 4.2, so-porta la ejecuci´on cualquiersuitedebenchmarksde la que se disponga del c´odigo fuente e incluso de c´odigo pre-compilado de usuario en diversas arquitecturas sin necesidad de realizar tareas de portabilidad.
El entorno de simulaci´on CPU se divide en dos componentes software princi-pales: el simulador funcional y el simulador arquitectural. La simulaci´on funcional emula la ejecuci´on de un programa en un procesador x86 nativo, interpretando el c´odigo binario del programa y reproduciendo din´amicamente su comportamien-to a nivel de ISA. Por otro lado, la simulaci´on arquitectural obtiene una traza de las instrucciones x86 a partir del simulador funcional y sigue la ejecuci´on de las estructuras hardware del procesador ciclo a ciclo. Este tipo de simulaci´on modela procesadors superescalares multin´ucleo segmentados fuera de orden, una jerar-qu´ıa de memoria completa con protocolo de coherencia cach´e y diferentes redes de interconexi´on. Sin embargo, Multi2Sim no ofrece un modelo detallado de me-moria principal, as´ı como del controlador de meme-moria, sino que las latencias
mo-deladas en el acceso a memoria principal son fijas independientemente del patr´on de accesos a memoria.
5.2
Ampliaciones realizadas sobre Multi2Sim
Durante la implementaci´on de este Trabajo Fin de M´aster se han realizado una serie de ampliaciones en el simulador Multi2Sim. Las extensiones implementa-das tienen el objetivo de permitir en primer lugar la simulaci´on realista de las caracter´ısticas ´unicas de la tecnolog´ıa fot´onica y, adem´as, dotar al simulador de la capacidad de utilizar la mejor opci´on entre las redes disponibles.
As´ı, cabe destacar el estado del simulador Multi2Sim en su versi´on 4.2 antes de comenzar este trabajo. En lo que respecta a las caracter´ısticas relativas a los objetivos de este trabajo, ´estas eran:
• Multi2Sim permite declarar varias redes en sus archivos de configuraci´on. Sin embargo, no admite m´as de una interconexi´on entre los m´odulos de me-moria por lo que estos no pueden seleccionar diferentes redes para acceder a otros niveles de la jerarqu´ıa de memoria.
• Multi2Sim define un sistema de red con una frecuencia ´unica, por lo que todas las redes declaradas en sus archivos de configuraci´on presentan la misma frecuencia.
• Multi2Sim no utiliza VCT. Calcula eltlinky eltserializaciondividiendo el
ta-ma˜no del paquete entre el ancho de banda del enlace, por lo que implementa SAF por defecto.
• Multi2Sim mantiene en la Unidad de Gesti´on de Memoria (MMU) una lista sobre las p´aginas de memoria utilizadas. No realiza sin embargo clasifica-ci´on alguna sobre estas p´aginas que permita diferenciar si contienen datos privados o compartidos.
Para alcanzar los objetivos de este trabajo, las caracter´ısticas anteriores del simulador deben ser modificadas. En los siguientes apartados se describen las implementaciones realizadas sobre el framework Multi2Sim que permiten utilizar la red h´ıbrida propuesta.
5.2.1
M ´ultiples redes de interconexi´on
La red h´ıbrida propuesta en el Cap´ıtulo 4 requiere por parte del sistema la capa-cidad de soportar dos redes completamente operativas. Adem´as, el anillo ´optico
IL1i
L2
i DL1i netiMP
mesh IL1iL2
i DL1i netiMP
mesh ring *low_network = neti *low_network = neti*low_network = mesh *high_network = mesh low_network[0] = mesh low_network[1] = ring high_network[0] = mesh high_network[1] = ring
Figura 5.1: Interconexi´on entre m´odulos de memoria antes y despu´es de la am-pliaci´on de Multi2Sim.
debe contar con caracter´ısticas espec´ıficas de la tecnolog´ıa fot´onica como son la multiplexaci´on en longitudes de onda o la frecuencia a 10 GHz. Por ello, la pri-mera extensi´on realizada sobre el simulador consiste en permitir que el sistema opere con dos redes simult´aneamente.
Multi2Sim soporta la declaraci´on de varias redes en el archivo de configura-ci´on correspondiente a la red. Partiendo de este punto, el siguiente paso consiste en habilitar a los diferentes m´odulos de memoria la utilizaci´on de cualquiera de las redes. En la Figura 5.1 se observa la diferencia entre c´omo se realizaban las conexiones de los m´odulos de memoria en la versi´on 4.2 del simulador y c´omo se realizan tras la ampliaci´on.
Tal y como se indica en la Figura 5.1, esta modificaci´on ha consistido en am-pliar el puntero utilizado anteriormente por los m´odulos de memoria para acceder a su red asociada. En la jerarqu´ıa de memoria de Multi2Sim, cada m´odulo de memoria cuenta con punteros para acceder a su red superior e inferior si la hu-biera. Por ello, en esta ampliaci´on se han convertido los punteroslow network y
high networkdel LLC y de la memoria principal respectivamente en vectores de punteros. De esta forma, tanto los m´odulos de LLC como los controladores de memoria cuentan con tantas redes accesibles como elementos tiene su vector aso-ciado. As´ı, tras esta extensi´on, Multi2Sim soporta actualmente declarar cualquier
Nodo0 Nodo1 Nodo63 Switch0 Switch1 Switch63 Controlador0 Controlador1
Figura 5.2: Modelo de anillo ´optico en Multi2Sim.
n´umero de redes de interconexi´on entre los m´odulos de LLC y memoria principal. Gracias a esta implementaci´on, el anillo ´optico se puede simular en Multi2Sim mediante conexiones directas entre cada nodo y cada controlador de memoria, limitando el ancho de banda de cada una de estas conexiones al determinado por el esquema de comunicaci´on ´optico seleccionado. El modelo de anillo ´optico en Multi2Sim se presenta en la Figura 5.2.
5.2.2
Virtual Cut-Through
La t´ecnica de conmutaci´on Virtual Cut-Through es muy habitual en el campo de las redes en chip. Por tanto, para obtener resultados realistas relativos al impacto de diversos factores como distancia o contenci´on en la red en el chip es necesario contar con un simulador que implemente esta t´ecnica.
Para introducir la implementaci´on de VCT es necesario explicar varios con-ceptos previos acerca de c´omo opera la red en el framework Multi2Sim. En pri-mer lugar, Multi2Sim diferencia dos tipos de nodos: endpoints y switches. Los endpoints son nodos que se asocian a los m´odulos de memoria, mientras que los switches son los que llevan a cabo las tareas de interconexi´on entre nodos, control
Endpoint 0 Switch 0 Endpoint 1 0
1 2 3 4
5
Obuf00 Ibuf00 Obuf01 Ibuf10
Figura 5.3: Esquema de conexi´on entre dos nodos de red adyacentes en Mul-ti2Sim.
de flujo, conmutaci´on, etc.
El funcionamiento de la red se dirige por medio de una m´aquina de estados que se activa por medio de eventos. En la Figura 5.3 se muestra el esquema b´asico de conexi´on entre dos nodos. Los eventos que tienen lugar para llevar a cabo una comunicaci´on entre ambos son los siguientes:
• Evento 0 -SEND: El evento SEND es el que inicia una transmisi´on. Intro-duce un paquete en la red, comprueba que el b´ufer de salida del endpoint tiene espacio disponible para el paquete y programa un evento OUTPUT para el ciclo siguiente.
• Evento 1 -OUTPUT: El evento OUTPUT realiza la transmisi´on por el enla-ce contiguo al b´ufer de salida en el que se encuentra el paquete. Comprueba que el b´ufer de entrada del siguiente switch o endpoint tiene espacio sufi-ciente para almacenar el paquete y programa el evento INPUT para n ciclos despu´es, donden= bandwidthpacketSize
link.
• Evento 2 - INPUT: El evento INPUT simula la segmentaci´on del switch en etapas. Este evento cuenta con un par´ametro que recibe el nombre de
bandwidthnode que, junto con el tama˜no de paquete, determina los ciclos
de latencia que se tarda en atravesar el switch. El siguiente evento OUT-PUT o RECEIVE que corresponda se programa tras n ciclos, donde n =
packetSize bandwidthnode.
• Evento 3 -OUTPUT: Este evento realiza las mismas acciones que el evento 1, dirigiendo esta vez el paquete al endpoint final.
• Evento 4 -INPUT: Este evento realiza las mismas acciones que el evento 2. Adem´as, se programa el evento RECEIVE para el mismo ciclo en el que se ha realizado este evento.
Ciclos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Eventos S O O O O O I I I O O O O O I & R
Tabla 5.1: Transmisi´on ciclo a ciclo de un paquete de 72B en Multi2Sim con SAF.
Ciclos 0 1 2 3 4 5 6 7 8 9 10 F rag0 S O I I I O - - - - I & R F rag1 S O I I I O - - - I & R F rag2 S O I I I O - - I & R F rag3 S O I I I O - I & R F rag4 S O I I I O I & R
Tabla 5.2: Transmisi´on ciclo a ciclo de un paquete de 72B en Multi2Sim con VCT.
• Evento 5 -RECEIVE: Este evento lee el mensaje de la red y actualiza las estad´ısticas correspondientes al mismo. La latencia final de la comunica-ci´on se calcula obteniendo la diferencia entre el ciclo de env´ıo y el ciclo de recepci´on del paquete.
Siguiendo este esquema se aprecia la presencia impl´ıcita de conmutaci´on Sto-re & Forward en Multi2Sim. Para ilustrar esto con un ejemplo, supongamos la transmisi´on de un paquete de 72 bytes (62B de datos m´as 8B de cabecera) entre dos nodos adyacentes siguiendo este esquema y contando con un ancho de ban-da de enlace de 16 bytes/ciclo; el evento INPUT consume un total de 3 ciclos en atravesar el switch.
La sucesi´on de ciclos correspondiente a este ejemplo se muestra en la Ta-bla 5.1. Tal y como se observa, la transmisi´on requiere un total de 14 ciclos debido a que, con 16 bytes/ciclo de ancho de banda, la serializaci´on del paquete consume 5 ciclos tanto en el endpoint origen como en el switch que lo retransmite.
Para superar esta limitaci´on de Multi2Sim, la implementaci´on de VCT se ha basado en la divisi´on de los paquetes en fragmentos de tama˜no igual o menor al ancho de banda del enlace expresado en bytes/ciclo. De esta forma, un paquete de 72 bytes queda dividido en 4 fragmentos de 16 bytes y un fragmento de 8 bytes. De esta forma se produce una segmentaci´on de los eventos en el tiempo y se oculta la latencia de serializaci´on del reenv´ıo por parte de los switches intermedios. Si-guiendo este esquema, la sucesi´on de ciclos del ejemplo anterior queda tal y como se observa en la Tabla 5.2. En este caso, la latencia de la transmisi´on se reduce a 10 ciclos gracias a la operaci´on segmentada de la red.
Ob´servese que los ejemplos mostrados en las Tablas 5.1 y 5.2 se corresponden con comunicaciones a un salto de distancia. Conforme se incrementa la distancia de la comunicaci´on, SAF aumenta la latencia en 8 ciclos por salto mientras que