Articulo de referencia

Flit (redes informáticas)

En redes informáticas , un flit ( unidad de control de flujo o dígito de control de flujo ) es una pieza atómica a nivel de enlace que forma un paquete o flujo de red . [1] El p...

En redes informáticas , un flit ( unidad de control de flujo o dígito de control de flujo ) es una pieza atómica a nivel de enlace que forma un paquete o flujo de red . [1] El primer flit, llamado flit de encabezado, contiene información sobre la ruta de este paquete (es decir, la dirección de destino) y establece el comportamiento de enrutamiento para todos los flits posteriores asociados con el paquete. El flit de encabezado es seguido por cero o más flits de cuerpo, que contienen la carga útil real de datos. El flit final, llamado flit de cola, realiza un poco de contabilidad para cerrar la conexión entre los dos nodos .

Una conexión virtual contiene el estado necesario para coordinar el manejo de los flits de un paquete. Como mínimo, este estado identifica el puerto de salida del nodo actual para el siguiente salto de la ruta y el estado de la conexión virtual (inactiva, en espera de recursos o activa). La conexión virtual también puede incluir punteros a los flits del paquete que se almacenan en el búfer del nodo actual y la cantidad de búferes de flits disponibles en el siguiente nodo. [2] : 237 

Red de interconexión: conceptos básicos

La creciente necesidad de rendimiento de los sistemas informáticos llevó a la industria al terreno de los núcleos múltiples y de muchos núcleos . En esta configuración, la ejecución de un núcleo (un programa) se divide entre varios procesadores y el cálculo se realiza en paralelo, lo que garantiza el rendimiento con respecto al tiempo de ejecución. Sin embargo, esto implica que ahora los procesadores deben poder comunicarse entre sí e intercambiar datos y señales de control sin problemas. Un enfoque sencillo es la interconexión basada en bus , un grupo de cables que conectan todos los procesadores. Sin embargo, este enfoque no es escalable a medida que aumenta el número de procesadores en el sistema. [ cita requerida ] Por lo tanto, una red de interconexión escalable de alto rendimiento se encuentra en el núcleo de la arquitectura de computadoras paralelas .

Terminología básica de redes y antecedentes

Definiciones de una red de interconexión

La definición formal de una red de interconexión

"Una red de interconexión I está representada por un multigrafo dirigido fuertemente conectado, I = G(N,C) . El conjunto de vértices del multigrafo N incluye el conjunto de nodos de elementos de procesamiento P y el conjunto de nodos de enrutador RT . El conjunto de arcos C representa el conjunto de canales unidireccionales (posiblemente virtuales) que conectan los elementos de procesamiento a los enrutadores o los enrutadores entre sí". [3]

La expectativa principal de una red de interconexión es tener la menor latencia posible, es decir, el tiempo que se tarda en transferir un mensaje de un nodo a otro debe ser mínimo, permitiendo al mismo tiempo que se realice una gran cantidad de transacciones de este tipo de manera simultánea. [4] Al igual que con cualquier otra compensación de diseño de ingeniería, la red de interconexión debe cumplir con estas características manteniendo el costo de implementación lo más bajo posible. Después de analizar lo que se espera de una red, veamos algunos puntos de diseño que se pueden ajustar para obtener el rendimiento necesario.

Los componentes básicos de una red de interconexión son su topología , el algoritmo de enrutamiento , la estrategia de conmutación y el mecanismo de control de flujo.

Topología : se refiere a la infraestructura general de la red de interconexión; el patrón en el que se conectan múltiples procesadores. Este patrón puede ser regular o irregular, aunque muchas arquitecturas multinúcleo utilizan actualmente redes de interconexión muy regulares.

Algoritmo de enrutamiento : determina qué camino debe tomar el mensaje para garantizar su entrega al nodo de destino. La elección del camino se basa en múltiples métricas, como la latencia, la seguridad y la cantidad de nodos involucrados, etc. Existen muchos algoritmos de enrutamiento diferentes, que brindan diferentes garantías y ofrecen diferentes compensaciones en términos de rendimiento.

Estrategia de conmutación : El algoritmo de enrutamiento solo determina la ruta que debe tomar un mensaje para llegar a su nodo de destino. El recorrido real del mensaje dentro de la red es responsabilidad de la estrategia de conmutación. Básicamente, existen dos tipos de estrategias de conmutación: una red de conmutación de circuitos es una red en la que se reserva una ruta y se bloquea para otros mensajes hasta que el mensaje se entrega a su nodo de destino. Un ejemplo famoso de red de conmutación de circuitos son los servicios telefónicos, que establecen un circuito a través de muchos conmutadores para una llamada. El enfoque alternativo es la red de conmutación de paquetes , en la que los mensajes se dividen en entidades compactas más pequeñas llamadas paquetes . Cada paquete contiene una parte de los datos además de un número de secuencia. Esto implica que ahora cada paquete se puede transferir individualmente y ensamblar en el destino según el número de secuencia.

Control de flujo: tenga en cuenta que hemos establecido previamente el hecho de que pueden fluir múltiples mensajes a través de la red de interconexión en un momento dado. Es responsabilidad del mecanismo de control de flujo implementado a nivel del enrutador decidir qué mensaje puede fluir y cuál se retiene.

Características y métricas de una red

Cada red tiene un ancho w y una velocidad de transmisión f que determinan el ancho de banda de una red, como b = w*f . La cantidad de datos transferidos en un solo ciclo se denomina unidad física o phit . Como se puede observar, el ancho de una red también es igual al tamaño de phit. Por lo tanto, el ancho de banda de la red también se puede definir en términos de phit/seg. Cada mensaje que se va a transferir se puede dividir en fragmentos más pequeños de entidades de longitud fija llamadas paquetes . Los paquetes, a su vez, se pueden dividir en unidades de control de flujo de mensajes o flits .

La necesidad de revolotear

Es importante tener en cuenta que los flits representan unidades lógicas de información, mientras que los phits representan el dominio físico, es decir, los phits representan la cantidad de bits que se pueden transferir en paralelo en un solo ciclo. Considere el Cray T3D. [5] Tiene una red de interconexión que utiliza el control de flujo de mensajes a nivel de flit, donde cada flit está compuesto por ocho phits de 16 bits. Eso significa que su tamaño de flit es de 128 bits y el tamaño de phit es de 16 bits. Considere también el conmutador IBM SP2. [6] También utiliza el control de flujo de mensajes a nivel de flit, pero su tamaño de flit es igual a su tamaño de phit, que se establece en 8 bits.

Determinación del ancho del vuelo

Tenga en cuenta que el tamaño del mensaje es el factor decisivo dominante (entre muchos otros) a la hora de decidir el ancho del flit. En función del tamaño del mensaje, existen dos opciones de diseño conflictivas:

  • Manteniendo pequeño el tamaño de cada paquete, en cuyo caso el número de paquetes aumentará, aumentando así el número total de transacciones, mientras que disminuye el tamaño de cada transacción individual.
  • Manteniendo grande el tamaño de cada paquete, en cuyo caso el número de paquetes disminuirá, disminuyendo así el número total de transacciones, mientras aumenta el tamaño de cada transacción individual.

En función del tamaño de los paquetes, se debe decidir el ancho del enlace físico entre dos enrutadores. Es decir, si el tamaño del paquete es grande, el ancho del enlace también debe mantenerse grande; sin embargo, un ancho de enlace mayor implica más área y mayor disipación de energía. En general, los anchos de enlace se mantienen al mínimo. El ancho del enlace (que también determina el ancho de phit) ahora es un factor para decidir el ancho de flit. [7]

En este punto, es importante señalar que, si bien las transferencias entre enrutadores se construyen necesariamente en términos de phits, las técnicas de conmutación se basan en términos de flits. [7] Para obtener más detalles sobre las diversas técnicas de conmutación, consulte la conmutación de agujero de gusano y la conmutación de corte directo . Dado que la mayoría de las técnicas de conmutación funcionan en flits, también tienen un impacto importante a la hora de decidir el ancho del flit. Otros factores determinantes incluyen la confiabilidad, el rendimiento y la complejidad de la implementación.

Ejemplo

Un ejemplo de cómo funciona flits en una red

Consideremos un ejemplo de cómo se transmiten los paquetes en términos de flits. En este caso, tenemos un paquete que se transmite entre A y B en la figura. El proceso de transmisión de paquetes se lleva a cabo en los siguientes pasos.

  • El paquete se dividirá en los fragmentos W, X, Y y Z.
  • El búfer de transmisión en A cargará el primer flit Z y lo enviará a B.
  • Después de que B reciba Z, B moverá el flit fuera del búfer.
  • Luego, el búfer de transmisión en A cargará el siguiente flit Y y lo enviará a B.
  • Continúe realizando las acciones anteriores hasta que todos los flits se hayan transmitido a B.
  • Luego B juntará todos los remolinos para obtener el paquete completo.

Resumen

Un flit (unidad de control de flujo/dígitos) es una cantidad unitaria de datos cuando el mensaje se transmite en el nivel de enlace. El flit puede aceptarse o rechazarse en el lado del receptor según el protocolo de control de flujo y el tamaño del búfer de recepción. El mecanismo de control de flujo en el nivel de enlace permite al receptor enviar un flujo continuo de señales para controlar si debe seguir enviando flits o dejar de enviarlos. Cuando se transmite un paquete a través de un enlace, el paquete deberá dividirse en varios flits antes de que comience la transmisión. [ cita requerida ]

Véase también

Referencias

  1. ^ "Copia archivada" (PDF) . Archivado desde el original (PDF) el 20 de marzo de 2015. Consultado el 25 de octubre de 2018 .{{cite web}}: CS1 maint: copia archivada como título ( enlace )
  2. ^ William James Dally; Brian Towles (2004). "13.2.1". Principios y prácticas de las redes de interconexión . Morgan Kaufmann Publishers, Inc. ISBN 978-0-12-200751-4.
  3. ^ Duato, J.; Lysne, O.; Pang, R.; Pinkston, TM (1 de mayo de 2005). "Una teoría para la reconfiguración dinámica de redes sin interbloqueos. Parte I". IEEE Transactions on Parallel and Distributed Systems . 16 (5): 412–427. doi :10.1109/TPDS.2005.58. ISSN  1045-9219. S2CID  15354425.
  4. ^ Elsevier. "Arquitectura de computadoras paralelas - 1.ª edición". www.elsevier.com . Consultado el 3 de diciembre de 2016 .
  5. ^ Scott, Steven L.; Thorson, Greg (1 de enero de 1994). "Enrutamiento optimizado en Cray T3D". Actas del primer taller internacional sobre enrutamiento y comunicación por ordenador en paralelo . PCRCW '94. 853. Londres, Reino Unido, Reino Unido: Springer-Verlag: 281–294. doi :10.1007/3-540-58429-3_44. ISBN 978-3540584292.
  6. ^ "El software de comunicación y el entorno paralelo del IBM SP2". domino.research.ibm.com . 2001-02-23 . Consultado el 2016-11-29 .
  7. ^ ab Duato, José (6 de agosto de 2011). Redes de Interconexión . Morgan Kaufman. ISBN 9780123991805.
Obtenido de "https://es.wikipedia.org/w/index.php?title=Flit_(redes_de_computadoras)&oldid=1254938254"