0% encontró este documento útil (0 votos)
515 vistas8 páginas

Protocolo SCI: Escalabilidad y Coherencia

SCI fue un estándar de interconexión de alta velocidad para sistemas multiprocesador con memoria compartida. SCI buscaba proporcionar escalabilidad, coherencia de memoria y una interfaz abierta. Usaba una topología de anillo para conectar nodos que podían incluir procesadores, memoria y E/S. Esto permitía la transferencia de datos a alta velocidad entre los nodos para soportar aplicaciones paralelas y de paso de mensajes.

Cargado por

Yender Vasquez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
515 vistas8 páginas

Protocolo SCI: Escalabilidad y Coherencia

SCI fue un estándar de interconexión de alta velocidad para sistemas multiprocesador con memoria compartida. SCI buscaba proporcionar escalabilidad, coherencia de memoria y una interfaz abierta. Usaba una topología de anillo para conectar nodos que podían incluir procesadores, memoria y E/S. Esto permitía la transferencia de datos a alta velocidad entre los nodos para soportar aplicaciones paralelas y de paso de mensajes.

Cargado por

Yender Vasquez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

PROTOCOLO SCI

Las siglas SCI se corresponden con:

 Escalabilidad (Scalability): Un sistema es escalable cuando su


funcionamiento es independiente del número de procesadores que en él
intervienen. La escalabilidad en la arquitectura de un sistema posee varias
dimensiones que atienden a eficiencia, coste económico, tamaño físico,
direccionamiento, independencia del software, etc...

 Coherencia (Coherence): Utilización de forma eficiente y consistente de la


memoria cache en los sistemas multiprocesador con memoria compartida.

 Interface: Disponer de una arquitectura de comunicación abierta que


permita la utilización de múltiples productos de diversos fabricantes.

SCI fue un estándar de interconexión de alta velocidad para multiprocesamiento


de memoria compartida y paso de mensajes utilizado en la década de 1990. El
objetivo era escalar bien, proporcionar coherencia de memoria en todo el sistema
y una interfaz simple.

El objetivo principal de SCI era entregar un alto rendimiento de comunicación a


aplicaciones paralelas o distribuidas. SCI fue diseñado para conectar una gran
cantidad de nodos (hasta 64K). Un nodo puede estar formado por una estación de
trabajo o una máquina servidor, un procesador, un módulo de memoria,
controladores y dispositivos de E / S o puentes a otros buses /
interconexiones. Cada nodo se conecta a la red mediante una interfaz
estándar. La unidad de transferencia básica es un paquete que elimina la
sobrecarga de los ciclos de bus.

SCI permite la transferencia de datos a casi 500 MHz, logrando una velocidad de
transferencia de un gigabyte por segundo. Agregar nodos a una red SCI también
agrega ancho de banda, por lo que el rendimiento se adapta bien.

Descripción SCI:

La configuración básica de SCI es un anillo que contiene varios nodos conectados


entre sí por enlaces (links) unidireccionales punto a punto. Cada aplicación se
conecta a SCI a través de un nodo, el cual es visto por la aplicación como un bus
convencional. Los nodos, a su vez, se enlazan entre sí con links punto a punto a
velocidad muy alta ya que no tienen las limitaciones de los backplanes.
Cada nodo está conectado al anillo SCI por un link (SCI IN) proveniente del nodo
precedente y por otro link (SCI OUT) con destino al nodo siguiente y, a su vez,
está conectado con la aplicación normalmente por el bus propio. Cuando un
paquete que circule por el anillo llegue al nodo, el address decoder verá si el
paquete es para ese nodo o no. En caso de que sí lo sea lo encaminará a la FiFo
de entrada, en el caso contrario, lo será hacia la "bypass FiFo", o sea, hacia el
anillo SCI. El codificador/decodificador de paquetes transformará el paquete
entrante en el formato del bus y se usa para comunicar en ambos sentidos con la
aplicación. Cuando se mande un paquete de salida a SCI, éste irá a la FiFo de
salida y si no hay ningún paquete mandándose en ese momento, desde la bypass
FiFo, el paquete será encaminado hacia el link de salida.

Características SCI:

Es un estándar que permite a sistemas crecer con componentes modulares de


diferentes vendedores.

 Flujo de datos en el anillo de hasta 1 Gbyte/s por nodo.

 Memoria distribuida compartida.

 Opcionalmente coherencia cache basada en directorios.

 También son posibles los mecanismos por paso de mensajes.

 Escalables desde 1 hasta 64K procesadores.

 Links de datos unidireccionales de 16 bits cada 2 ns.

 Todos los transceivers, FiFos y lógica de protocolo incluyen Single-


chip interfaces, con el consiguiente ahorro de costes y simplicidad.

 Posibles enlaces por fibra óptica o coaxial de 1 Gbit para aplicaciones LAN
con protocolos eficientes de memoria compartida.

 Mecanismos de interface a otros buses (VME, SBUS, PCI,...)

Especificación del Protocolo

La mayor parte de las especificaciones SCI está documentada en lenguaje C


para facilitar el test y la validez de las mismas. SCI es síncrono excepto para
unos pocos puntos bien definidos (cuando las señales de entrada se
reconstruyen y resincronizan con el reloj local), y esto hace que la simulación
de sistemas SCI sea sencilla y fiable. La simulación del interface tipo bus es
mucho más difícil, especialmente si se consideran los retardos de arbitraje y
snooping en el ciclo de direccionamiento.
El hecho de que las especificaciones estén escritas en C facilita el registro y
localización de errores. Todos los vendedores tendrán el mismo código y
recibirán los mismos errores, garantizándose así que todos ellos interpreten el
estándar de la misma forma, reduciéndose sobre manera los problemas de
interoperatividad entre diferentes implementaciones de SCI.

Trama de un paquete SCI:

Los enlaces SCI transmiten símbolos que contienen 16 bits de datos más el
delimitador de paquete (FLAG) e información de reloj (ver figura 3.7), ésta
última proporciona una referencia precisa del tiempo que el receptor usa para
extraer los datos de la señal que llega. Un símbolo puede formar parte de un
paquete o ser un símbolo libre (que se transmite en el intervalo entre paquetes
para mantener el sincronismo).

El paquete que se transmite se compone de una cabecera de 16 bytes y de un


bloque de datos opcionales de 16, 64 ó 256 bytes. La cabecera consta de
direcciones, comandos, información de control y al final del paquete se
encuentra el CRC de 16 bits.
Topologías SCI:

Los nodos SCI están interconectados a través de enlaces punto a punto


unidireccionales en una topología de anillo / ringlet. Este enfoque solo puede
aplicarse hasta un cierto límite de nodos antes de que la red se sature (a
medida que cada nodo recibe el tráfico generado de todos los demás nodos del
anillo). Este límite suele ser de 8 a 10 máquinas, pero realmente depende de la
carga generada por los nodos. Por lo tanto, no muchas aplicaciones
funcionarán bien con anillos grandes, excepto algunas aplicaciones de E /
S. Ciertas tareas de "mantenimiento", como el mantenimiento de ciertos
temporizadores, descartar paquetes dañados para que no circulen el anillo de
forma indefinida y la información de mantenimiento del anillo circulante se
asignan a un nodo dentro del anillo ("el depurador"). Los interruptores se
utilizan para conectar múltiples rizos SCI independientes. En los sistemas
actuales, existen dos topologías utilizadas comúnmente para implementar esto.

La primera topología se muestra en la figura 1. Hay 4 puertos en el conmutador


(con 2 puertos de extensión adicionales, no se muestran). Usando los puertos
de extensión, el conmutador puede expandirse a un conmutador apilado con
posiblemente 16 puertos o configurarse a un conmutador de 6 puertos no
expansible.

La segunda topología se muestra en la figura 2. Estos toros multidimensionales


utilizan pequeños anillos SCI en cada dimensión. Cada nodo está conectado a
cada dimensión y utiliza un pequeño interruptor integrado en un adaptador SCI
para proporcionar transmisiones de paquetes multidimensionales. Es posible
crear un tori tridimensional con hasta 10-12 nodos en cada dimensión.
Figura 1 Figura 2

Modelo de nodo SCI:

La Figura 3, que se muestra a continuación, muestra el diseño de un nodo SCI.

El nodo SCI debe poder transmitir paquetes a la vez que acepta paquetes de
otros nodos. Para implementar esto, los FIFO se utilizan para mantener los
símbolos recibidos mientras se envía un paquete. No se espera que la lógica
de aplicación del nodo coincida con las velocidades de enlace SCI; por lo tanto,
se necesitan FIFO de entrada y salida. Por lo tanto, para que la velocidad de
transferencia del enlace sea más alta, los nodos deben garantizar que todos
los símbolos dentro de un paquete estén disponibles para su transmisión a la
velocidad máxima del enlace.

En general, el nodo SCI mantiene dos colas, que sirven como buffers hasta
que el ancho de banda de transmisión esté disponible para los paquetes
salientes o hasta que la lógica de la aplicación de los nodos pueda procesar los
paquetes entrantes.

figura 3

Transacción SCI:

Las transacciones se dividen en una solicitud y una respuestasub-acción. Los


paquetes llevan direcciones, información de comando y estado, y datos (según
la transacción). Hasta 64 transacciones pueden ser pendientes por nodo. Cada
acción secundaria consiste en un paquete de envío (generado por el remitente)
y un paquete de eco (confirmación) devuelto por el receptor. El eco le dice al
remitente si el paquete fue aceptado (almacenado en la cola de entrada del
receptor) o rechazado (debido a una cola de entrada completa). En el primer
caso, el remitente puede descartar el paquete de envío de su cola de
salida. En este último caso, el remitente vuelve a transmitir el paquete. La
siguiente ilustración destaca este apretón de manos. Implica 3 nodos, el
remitente, el receptor y un agente intermedio.

Hay 3 tipos de transacciones en SCI.

1. Transacciones con respuestas (leer, escribir y bloquear transacciones).


2. Mover transacciones (por ejemplo, escrituras no coherentes). Estos no
tienen sub-acciones de respuesta. Por lo tanto son más eficientes que las
escrituras.
3. Transacciones de eventos. Estos no tienen respuestas y no generan un
eco. Se pueden usar para distribuir una marca de tiempo para la
sincronización de hora global dentro del sistema SCI.

Memoria compartida en SCI:

Como se dijo anteriormente, SCI era una solución al cuello de botella inherente
inherente al que conduce el bus, pero el estándar mantiene servicios similares
a los de los buses. Al igual que un bus, SCI tiene la capacidad de admitir
accesos de memoria remota tanto para lectura como para escritura. SCI utiliza
un esquema de direccionamiento fijo de 64 bits, es decir, un sistema de
memoria compartida distribuida con dirección física. La distribución de la
memoria se comparte lógicamente, como un sistema con un bus centralizado y
una memoria compartida. Los 16 bits superiores especifican el nodo en el que
se encuentra el almacenamiento físico direccionado y los 48 bits inferiores
especifican la dirección física local dentro de la memoria del nodo al que se
dirige. Los nodos pueden acceder a este espacio global de direcciones físicas
y, por lo tanto, a cualquier ubicación de memoria física dentro de toda la red,
mediante el mapeo de partes o segmentos de este espacio de memoria en su
propia memoria. La figura 4 ilustra este concepto.
Figura 4

Coherencia de caché en SCI:

La mayoría de los procesadores de alto rendimiento utilizan cachés locales


para reducir los tiempos efectivos de acceso a la memoria. Los protocolos de
coherencia de caché definen mecanismos que garantizan datos
consistentes. En SCI, los protocolos de coherencia de caché se proporcionan
como opcionessolamente. Por lo tanto, una implementación de SCI compatible
no necesita cubrir la coherencia de caché. En redes basadas en bus se pueden
emplear protocolos de espionaje. Los procesadores emiten todas las
transacciones, lo que permite que las técnicas de escucha e intervención se
utilicen para garantizar la coherencia de los datos. La difusión no se puede
usar en SCI ya que los nodos solo pueden comunicarse con el siguiente nodo
en la lista (unidireccional). SCI utiliza un protocolo de coherencia de caché
basado en directorio distribuido. Cada línea de memoria compartida está
asociada con una lista distribuida de nodos que comparten esa línea. Todos los
nodos con copias en caché participan en la actualización de la lista. Cada línea
de memoria coherente tiene un puntero al nodo al principio de la lista
compartida. Cada etiqueta de línea de caché de nodos incluye punteros a las
entradas siguientes y anteriores en la lista para esa línea de caché. La
estructura resultante se muestra en la figura 5 a continuación.

También podría gustarte