Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / El manual para el clustering con openMosix - La importancia de la red (I)

El manual para el clustering con openMosix - La importancia de la red (I)

 ***** (4 opiniones)
GNU Free Documentation License Tutorial de miKeL a.k.a.mc2 y Kris Buytaert - 27 de Febrero de 2006
Temas Relacionados: PC
11. La importancia de la red (I)

La importancia del sistema de comunicación

En los clusters la eficacia del sistema de comunicación es crítica. Si las comunicaciones fallan el cluster dejará de ser un cluster y se convertirá en un conjunto de máquinas que no cooperarán, algo lejos del objetivo. Por lo tanto es usual disponer en sistemas cluster de alta disponibilidad de una red alternativa por si la red principal fallara. Cabe decir que una red es un elemento bastante fiable a nivel físico: es difícil que una vez instalada y probada, falle. Sobre las topologías y tecnologías de red que existen se hablará en las próximas secciones.

Otro tema importante de la red es la eficiencia: de nada sirve una red si está congestionada. Hay que tener en cuenta que todas las comunicaciones entre nodos pasan a través de la red; dependiendo de la cantidad de nodos la red puede ser la culpable directa de mermar la eficacia computacional del cluster. Es por esta razón que la inversión en una red tecnológicamente moderna es habitual en estos sistemas.

Topologías de red

Existen muchas topologías de red que se han impuesto en diversos entornos, cada una de estas topologías tienen sus propios puntos fuertes.

Las topologías estáticas son topologías donde una vez hechas las conexiones, éstas no cambian. Las redes dinámicas están construidas con elementos que se pueden conectar entre varios caminos, esto hace que si un camino está siendo usado se pueda usar otro, permitiendo más paralelismo. La topología de la red influye mucho en el grado de paralelismo que se pueda alcanzar.

Redes estáticas

Las redes estáticas fueron las primeras en aparecer. En estas redes se distingue entre redes punto a punto y redes con acceso a medio compartido. Van a verse los ejemplos más usados, explicando las ventajas y los inconvenientes de cada una de ellos. Entre las redes punto a punto destacan:
  • Lineal.

    Todos los nodos están conectados de forma lineal; como la comunicación es de punto a punto el peor caso es cuando un nodo de una esquina quiera conectar con un nodo que esté en la otra esquina. En este caso se necesitan N-1 pasos para llegar hasta el destino, siendo N el número de nodos en la red.

  • Anillo.

    Es similar al caso de la red lineal pero los nodos de las esquinas están unidos entre sí\textrm{\.{E\/}}sto tiene la ventaja que añadiendo un solo enlace más se consigue que el diámetro de la red pase de N-1 a $ \frac{N}{2}$ pues ahora los dos nodos más alejados son los que estén en dos puntos extremos de un anillo con la mitad de los nodos en cada lado hasta llegar hasta ellos.

  • Estrella.

    Hay un nodo central que se conecta con todos los demás nodos. Todos los nodos sólo se conectan al nodo central. Esto tiene la ventaja de que en 2 pasos se llega desde cualquier nodo a cualquier otro (excepto el central que solo necesita uno). Pero la desventaja que el nodo central tiene que soportar mucha sobrecarga, pues tiene que llevar todas las comunicaciones que están ocurriendo. Además si ese nodo central cayera, la red dejaría de funcionar.

  • Árbol.

    Cada nodo puede tener unido a él varios nodos hijos y está unido a un nodo padre, menos el nodo raíz y los nodos hoja.

    Una variante muy usada es el árbol binario en el que cada nodo tiene como máximo 2 nodos hijos. Esto hace que se puedan hacer varios cálculos (recorridos, ...) de forma más efectiva.

    Una mejora de este árbol es el árbol jerárquico que consta de más enlaces según se sube en las ramas del árbol, esto es así porque los padres tienen que llevar a cabo todas las comunicaciones que quieran hacer sus hijos que no tengan como destinatarios a sus hermanos y como a cuanta más altura más hijos tiene cada padre (entendiendo por hijos: hijos, nietos, bisnietos, etc.) hay más comunicaciones de las que el padre se tiene que hacer cargo por lo que se necesitan más posibilidades de comunicación. Los pasos que tiene que seguir un dato de uno de los nodos para que llegar a su nodo más lejano es $ 2*log(n+1)-2$ .

  • Malla.

    Los nodos están conectados en una red 2D. Cada uno se conecta con otros cuatro nodos excepto los nodos que están en los bordes de la malla que se conectan a 2 o 3 nodos. El aspecto que tiene esta forma de conectar una red es como un tablero de ajedrez donde los puntos donde se cruzan las líneas son los nodos y las líneas son los medios de comunicación. Los pasos que se tienen que seguir para que un dato llegue de un nodo a su nodo más alejado son $ 2*r-2$ siendo r el número de nodos por lado que hay. Suele implementarse en circuitos para soportar multiprocesadores.

  • Sistólica.

    Muy parecida a la malla 2D pero existen más conexiones entre los elementos: 6 conexiones. Es una red más cara de construir pero que necesita menos pasos para llegar los datos de un nodo a otro nodo.

  • Totalmente conectada.

    Esta red es la más cara de construir porque cada nodo está conectado a todos los demás. Esto permite que un dato llegue de un nodo a cualquier otro en 1 paso, minimizándose al máximo el tiempo gastado en el traspaso de información. Esta configuración sólo es viable para un número de nodos pequeño.

  • Hipercubo.

    Es una malla de N dimensiones, este número de dimensiones es el grado del hipercubo. En esta malla cada nodo conecta con un número de nodos igual al grado del hipercubo, el número de nodos del que dispone el hipercubo es $ 2^{N}$. En esta configuración todos los nodos son iguales, conectan con el mismo número de nodos.

    Aunque es un poco difícil de visualizar con grados mayor que el grado tres, es una configuración bastante usada (Intel hizo en su día una red de este tipo con procesadores 286).

Figura: La importancia de la red. Topología de redes estáticas
Image topologia_redes_estaticas

Redes dinámicas

Estas redes cambian su topología dinámicamente: cuando dos nodos necesitan conectarse la red puede cambiar de tal forma que se puedan conectar, así no se necesita pasar por todos los nodos o crear una complicada estructura de conexión. En el caso anterior los nodos tenían que proveer de las capacidades que necesitaba la red (por ejemplo el nodo central de una red tipo estrella tenía que tener características especiales) . Este es el caso donde la red es controlada por los nodos. La red está formada de cajas de conmutación: cambiando las cajas de conmutación se cambia la red.

Hay dos tipos de redes dinámicas:

  • Redes monoetapa: sólo necesitan un paso para conectar dos nodos diferentes (una sola etapa).

  • Redes multietapa: realizan las conexiones entre los nodos en más de un paso.
En las redes monoetapa si no se puede acceder desde cualquier elemento a otro cualquiera se necesita recircular la información.

Dentro de este tipo de redes es de especial interés el caso de la red de barras cruzadas: los procesadores tanto formando una linea en horizontal como en vertical y unas vias los conectan; cuando un procesador se quiere comunicar con otro, la posición (proc X, proc Y) se activa con lo que se hace una conexión.

Esto permite que todos los procesadores puedan mantener conexiones independientes. Mientras que no haya dos procesadores que quieran comunicarse con un mismo procesador no habrá ningún problema. Este esquema es bastante caro y no merece la pena si no se hacen muchas conexiones simultáneas.

Figura: La importancia de la red. Barras cruzadas
Image barras_cruzadas
Las redes multietapa son más complejas. Para comprenderlas primero tenemos que comprender las cajas de conmutación. Las cajas de conmutación tienen dos entradas y dos salidas. Para un ejemplo las entradas se llamaran e1 y e2 y las salidas s1 y s2. Se pueden formar cuatro posibles configuraciones, según se relacionan las entradas con las salidas:
  • Paso directo: las dos entradas pasan directamente a las 2 salidas. La entrada e1 sale por la salida s1 y la entrada e2 sale por la entrada s2.

  • Cruce: las salidas salen en sentido inverso a las entradas. La entrada e1 se conecta con la salida s2 y la entrada e2 se conecta con la salida s1.

  • Difusión inferior: ésta y la siguiente configuración se usan para hacer broadcast. En esta configuración la entrada e1 se conecta a la salida s1 y s2 y la entrada e2 se deja sin conectar. Por lo tanto se asegura que por e2 no está pasando una comunicación para realizar esta operación.

  • Difusión superior: similar al caso anterior, pero ahora es la entrada e2 la que se conecta a las salidas s1 y s2 y la entrada e1 la que no se conecta a nada.

Se pueden dividir las redes multietapa en tres tipos:

  • Con bloqueo: en estas redes para llegar de un nodo a otro solo hay un camino, para ahorrar conexiones, gracias a las cajas de conmutación varios caminos van a una caja por lo que puede ocurrir que la conexión simultánea de varios nodos produzca conflictos. Tras realizar una asociación entre dos nodos, intentar hacer otra asociación puede bloquear.
    Figura: La importancia de la red. Red dinámica con bloqueo
    Image red_din_con_bloqueo
    En este ejemplo si los dos primeros nodos quieren conectar con el primer nodo, tendrán que esperar porque los dos necesitan el mismo enlace.

  • Reordenables: existen varios caminos para llegar al mismo lugar, siempre se puede conectar otro camino, pero quizás habría que reordenar la situación. Estas redes son más complejas pero aunque se necesite reordenación, podemos conectar simultáneamente los nodos. Además estas redes se pueden construir de un tamaño arbitrario usando el método de red de benes, solo hay que unir redes de este tipo de potencia de 2 para conseguirlo.
    Figura: La importancia de la red. Red dinámica reordenable
    Image red_din_reordenable
  • Sin bloqueo: estas redes pueden manejar todas las conexiones posibles sin que se produzcan bloqueos, para conseguir esto, todas las cajas de conmutación de un nivel (una columna) se conectan a todas las cajas de conmutación de la siguiente columna.

Tecnologías de red

Van a verse las tecnologías de red más usadas en el clustering. Estas tecnologías son las mismas que imperan en el mundo de las redes locales de medio y alto rendimiento y son:
  • Serie
  • Ethernet
  • Fast Ethernet
  • Gigabit Ethernet
  • ATM
Por supuesto estas no son las únicas tecnologías existentes, pero si que son las más comunes. Las comunicaciones a través de Token Ring o sus derivados quedan fuera de este tema.
  • Serie: puede ser un poco sorprendente ver este método de comunicación aquí pero al menos una aplicación muy importante puede usarlo por lo que puede ser un buen método de comunicación si se necesita una forma sencilla de comunicarse con otro nodo.

    La aplicación que usa este método es Heartbeat del que se habla con más detalle en el capítulo de clusters HA. La comunicación serie es perfecta para esta aplicación pues sus pequeños pulsos no necesitan gran ancho de banda pero en un medio compartido como Ethernet pueden ocasionar colisiones que afecten en gran medida al rendimiento de otras comunicaciones que se lleven a cabo en el cluster.

  • Ethernet: la velocidad máxima teórica es de 10 Mb/segundo y aunque hace pocos años era un estandar y estaba muy extendido el uso de esta tecnología en redes locales, la caída de los precios de los equipos de 100 Mb/segundo (Fast Ethernet) ha hecho que esta tecnología quede desfasada.

    Ethernet está especificado en el estandard IEEE 802.3, es half duplex. Existe un medio compartido que físicamente puede ser topología tipo bus (por ejemplo de cable coaxial) o en topología tipo estrella con un hub o un switch como elemento central. El acceso al medio compartido se gestiona con CSMA/CD (Carrier Sense Medium Access/Colision Detection) Esto quiere decir que la tarjeta de red antes de enviar la información escucha la linea mirando el voltaje de la línea sabe si hay datos o no en ella.

    Si no hay datos, envía sus datos y se pone a escuchar la línea, si el voltaje es superior a un determinado umbral, más de una tarjeta está intentando enviar datos a la línea a la vez. En este caso, se considera que los datos que se enviaron se enviaron con errores y se vuelve a intentar enviarlos tras un tiempo aleatorio ($ 2^{i} -1$, siendo $ i$ el número de intento). Este método de acceso al medio impone ciertas condiciones a las redes Ethernet. Por ejemplo tiene que haber un tamaño mínimo de paquete (46 bytes) y una longitud máxima de segmento.

    Es de especial mención la gran diferencia que existe entre usar un hub y un switch. El hub simplemente conecta todos los cables que le entran con todos, sirve pues para tener una topología física de estrella. A su vez pero se obtiene una topología lógica de bus; esto tiene la ventaja de que si se corta un cable sólo se incomunica un ordenador, no todos. El switch en cambio, a parte de tener la misma función que el hub, sólo conecta los cables de los ordenadores que se están comunicando.

    Hay 2 tipos de switch:

    • Cut-through (al vuelo): en cuanto lee la dirección de destino del paquete lo reenvía por el cable adecuado, así varios ordenadores pueden estar comunicándose simultáneamente siempre que las parejas de ordenadores que se comunican sean distintas.

    • Almacenamiento y reenvío: similar al anterior pero no envía un paquete hasta que lo tiene completo. Esto evita algunas colisiones y elimina los paquetes erróneos lo antes posible, además aporta mejora en la gestión de la red, como conteo de paquetes, filtros y otras opciones que dependen de cada fabricante en cuestión, el problema es que la latencia de la red aumenta.

  • Fast Ethernet: Utiliza la misma técnica que Ethernet pero con velocidades de 100 Mb/segundo, puede usar el cableado existente por lo que los cambios se reducen a las tarjetas de red (hoy en día las mismas tarjetas de 10 Mb/segundos también tienen soporte para esta tecnología) y a los concentradores (en los que sí que hay que hacer mayores inversiones pues son bastante más caros). Existen concentradores con puertos 10/100 para facilitar la migración a esta tecnología.

    Como la trama mínima sigue del mismo tamaño, el tamaño máximo de estas redes tiene que ser 10 veces inferior para poder detectar cualquier colisión. Está normalizado en el 802.3u.

  • Gigabit Ethernet: esta es la tecnología Ethernet de más reciente aparición, que consigue velocidades de 1 Gbps o superiores y es compatible con las dos tecnologías anteriores. Se disminuye la distancia para detectar colisiones. Se puede usar cables de categoría 5 pero para grandes distancias se recomienda el uso de fibra óptica. Cuando lo que se necesita es una red LAN de altísimas prestaciones (como la que puede necesitar un cluster) y se dispone del dinero necesario, la elección está entre esta tecnología y ATM.

  • ATM: se basa en una tecnología de conmutación de celdas. Las celdas son de un tamaño fijo (53 bytes, 5B cabecera + 48B datos), esto simplifica en gran medida el procesamiento de las celdas, acelerando la conmutación y disminuyendo el retardo. Da muchos servicios de valor añadido de los que no dispone Ethernet, por ejemplo permite que la velocidad de transferencia sea fijada dinámicamente bajo demanda.

    No sólo eso, sino que puede garantizar otros factores, como el retardo, por lo que la gran ventaja es el QoS (calidad de servicio) que de forma inherente proporciona. Es una red orientada a conexión y tiene un control del tráfico y de la congestión muy eficiente. Los problemas que plantea frente a otras soluciones es que es una alternativa muy cara: la tecnología es compleja y aún no existen muchas aplicaciones desarrolladas.

Tabla de contenidos
Autor y licencia de 'El manual para el clustering con openMosix - La importancia de la red (I)'
miKeL a.k.a.mc2 y Kris Buytaert Extraído de: http://es.tldp.org/Manuales-LuCAS/doc-manual-openMosix-1.0/doc-manual-openMosix_html-1.0/ GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'El manual para el clustering con openMosix - La importancia de la red (I)'

En el presente ensayo veremos la importancia de desarrollar una estrategia de cambio, por etapas,... Más »
Bienvenidos! Y gracias por tu interés en Red Hat Linux. Tenemos la que creemos mejor... Más »
Este es el Diccionario de Plantas Mágicas elaborado por nosotr@s. Esta basado en nuestra propia... Más »
El principal objetivo de este documento es lograr que el lector adquiera la capacidad de... Más »
Las compañías, para desarrollarse, necesitan información y la necesitan rápida, veraz, oportuna y suficiente, de... Más »
¿Estás seguro de que deseas eliminar este capítulo?