PDF de programación - Mejorando el desempeño de una red Gigabit Ethernet en un cluster Linux

Imágen de pdf Mejorando el desempeño de una red Gigabit Ethernet en un cluster Linux

Mejorando el desempeño de una red Gigabit Ethernet en un cluster Linuxgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 27 de Diciembre del 2017)
549 visualizaciones desde el 27 de Diciembre del 2017
1,4 MB
45 paginas
Creado hace 15a (24/10/2008)
Mejorando el

desempeño de una red
Gigabit Ethernet en un

cluster Linux

Raúl Hormazábal y Mario Medina
Depto. Ing. Eléctrica
Universidad de Concepción

Autores

Raúl Hormazábal

Ing. Civil Electrónico
UdeC Dic. 2007
Actualmente en
Claro, S. A.

Mario Medina

Prof. guía

Cluster DIE UdeC

Cluster de computadores corriendo
Linux

Cluster DIE UdeC

Cluster de computadores corriendo
Linux

Cluster DIE UdeC
6 nodos HP Proliant ML110 G2
Pentium 4, 3.2 GHz, 800 MHz FSB
1 GiB RAM, DDR 3200
2 NIC Intel PRO/1000
3 ranuras PCI 32 bits 66MHz
2 discos Seagate Cheetah, 72 GiB,
15K RPM

NIC Intel Pro/1000
Tarjeta de red Gigabit Ethernet

Par trenzado (1000Base-T)
PCI 66 MHz, 32 bits
Aprox. US$20
Jumbo frames

Hasta 16KB

Switch

Dell PowerConnect 2716

Gigabit Ethernet, 16 bocas, US$184

Capacidad de conmutación 32 Gbps
Tasa de forwarding 23.7 Mpps

Soporta 802.3ad (Link Aggregation)

6 grupos, 4 enlaces por grupo

Soporta jumbo frames (9000 bytes)

Software

Ubuntu Linux
Kernel 2.6.19

Software de pruebas

iperf v 2.0.2

Herramienta para medir ancho de banda

NetPIPE v 4.X

Herramienta para medir latencia

Parámetros de interés

Latencia

Retardo en la comunicación entre
emisor y receptor

Throughput

Velocidad de transmisión de datos

Escalabilidad

Aplicabilidad a grandes números de
computadores

Throughput TCP
Throughput TCP depende de
MSS: Maximum Segment Size

Ligado a MTU de Ethernet

RTT: Round-Trip Time
Tasa de pérdida de paquetes

Throughput TCP

En un cluster, tasa de pérdida de
paquetes y tiempo de ida-y-vuelta
Bajos, pero fuera de nuestro control
Aumentar desempeño aumentando
el MSS y el MTU!

A mayor MSS, mayor es la tasa de
pérdidas

MTU de Ethernet

Ethernet: MTU típico de 1500 bytes

Headers TCP + IPv4 = 40 bytes
Headers TCP + IPv6 = 60 bytes
Todos los nodos en una subred
deben tener el mismo MTU

Permite compatibilidad entre redes
802.3 (10/100/1000 Mbps), 802.11,
802.5, etc.

Jumbo frames

MTU = 1500

Diseñado para velocidades bajas y
tasas de error altas

MTU mayor que 1500?

Reduce interrupciones a la CPU
Transfiere más datos a menor costo
Se ha “estandarizado” a MTU=9000

Aumentando el

throughput

Usar interfaces de red en paralelo
Dividir el tráfico de red

NIC teaming
Channel bonding
Etherchannel
Port trunking
Link aggregation

Channel bonding

Método para combinar enlaces físicos
de red en un enlace lógico con el fin de
aumentar las velocidades de
transferencia de datos
Beneficios

Enlace de alta disponibilidad
Tolerancia a fallos
Incremento de la capacidad del enlace
Reutilización del hardware existente

Channel bonding

Modos de bonding

0 ó balance-rr
1 ó active-backup
2 ó balance-xor
3 ó broadcast
4 ó 802.3ad
5 ó balance-tlb
6 ó balance-alb

Modos de bonding
balance-rr: Política Round-Robin

Tolerante a fallos y balance de carga

active-backup: Sólo un interfaz activa a
la vez, las otras actúan como backups

Tolerante a fallos

balance-xor: Asigna interfaz como
función del MAC del destino

Tolerante a fallos y balance de carga

Modos de bonding

broadcast: replica mensajes en
todas las interfaces

Tolerante a fallos

802.3ad: sigue estándar IEEE
802.3ad (dynamic link aggregation)

Divide interfaces en grupos de igual
velocidad y modo de transmisión

Modos de bonding
balance-tlb: balance de carga
adaptivo que redistribuye tráfico de
salida en la interfaz
balance-alb: balance de carga
adaptivo que redistribuye tráfico de
salida y de entrada a la interfaz

Información de entrada via ARP

Bonding en Linux

Implementado como driver del
kernel

Activando bonding en

Linux
Línea de comando linux
ifdown eth0

ifdown eth1

modprobe bonding mode=0 miimon=100

ifconfig bond0 192.168.1.100 up

ifenslave bond0 eth0

ifenslave bond0 eth1

Configurando el switch

Modos active-backup, balance-tlb,
balance-alb: switch no varía
Modos balance-rr, balance-xor,
broadcast: requieren crear grupos
de enlaces en el switch
Modo 802.3ad: requiere crear
grupos en un switch que soporte
IEEE802.3ad

Efecto del MTU y

Parámetros de la red

bonding

MTU es 1500, 3000 y 9000 bytes
1 y 2 interfaces de red

Comando iperf opción -l

)
s
p
b
M

(

t
u
p
h
g
u
o
r
h
T

1400

1200

1000

800

600

400

200

0

Efecto de MTU

MTU 1500 MTU 3000 MTU 9000

1

2

Interfaces de red

Throughout en función

de flujos TCP/IP

Parámetros de la red

MTU es 9000 bytes
Entre 1 y 10 flujos de datos
2 y 3 interfaces de red

Comando iperf

Throughput en función

de flujos TCP/IP

Buffer de datos

Iperf por omisión transfiere datos
en bloques de 8KB
Aumento de tamaño de buffers
envía más datos en paquete TCP a
la interfaz

NIC recibe paquete TCP y genera
frames Ethernet correspondientes

Efecto del buffer de

Parámetros de la red

datos

MTU es 9000 bytes
6 flujos de datos
2 y 3 interfaces de red

Comando iperf opción -l

Efecto del buffer de

datos

Ventana de TCP

Cuántos datos puede enviar el
emisor antes de esperar por un
ACK del receptor?

TCP limita ventana a 64 KB

Linux implementa TCP Large Windows
Extensions (RFC1323)
Permite ventanas de hasta 1 GB

Efecto de la ventana de

Parámetros de la red

TCP

MTU es 9000 bytes
6 flujos de datos
2 y 3 interfaces de red

Comando iperf opción -w

Efecto de ventana de

TCP

Dónde está el cuello de

Ancho de banda no aumenta al

botella?

Agregar más flujos de TCP/IP
Aumentar buffer de datos
Agregar más tarjetas de red

Dónde está el cuello de botella?

Dónde está el cuello de

Bus de Entrada/Salida

botella?

Placa madre utilizada tiene bus PCI 32
bits 66 MHz
Límite de 2.1 Gbps

Solución?

Nuevas tecnologías

Buses de entrada/salida

Bus PCI

Bus PCI 64-bit/100 MHz: 800 MB/s
Bus PCI-X 64-bit/133 MHz: 1.066 GB/s

Bus PCI Express

Bus PCI Express x1: 250 MB/s
Bus PCI Express x16: 4 GB/s
Bus PCI Express 2.0 x32: 8 GB/s

Cuándo usar jumbo

frames?

En una red LAN cuando el hardware
lo permite

Para aplicaciones que realizan
grandes transferencias de datos
Sistema de archivos paralelo

PVFS: Parallel Virtual File System

SANs con iSCSI

Problemas de jumbo

Aplicabilidad

frames

Muchas aplicaciones intercambian
mensajes pequeños
Para muchas aplicaciones, lo
importante es la latencia

Jumbo frames puede aumentar latencia
Switches con QoS

Problemas de jumbo

Compatibilidad

frames

No soportados por estándar 802.11
No soportados por 10/100 Mbps
Ethernet
Problemas con MTU Path Discovery

Se hace via ICMP
Muchos routers botan paquetes ICMP

Problemas de jumbo

Desempeño

frames

Traslada el cuello de botella al bus de
entrada/salida
Problemas con CRC-32 de Ethernet
Pierde efectividad para frames grandes

A futuro

Channel bonding

Ya se usa en Wi-Fi Super-G

10-Gigabit Ethernet

Probablemente con jumbo frames
TCP Offloading Engines

Infiniband

10-Gigabit Ethernet

IEEE Std 802.3-2005

Modo de operación
full-duplex
No se usa CSMA/CD
57% de los
supercomputadores
Top500 la usa
En el futuro

40-Gigabit ethernet
100-Gigabit ethernet

Infiniband

Enlaces seriales de comunicación
punto-a-punto de alta velocidad

Muy usados en computación de alto
desempeño (HPC)

30% de los supercomputadores TOP500
usan InfiniBand

Linux soporta InfiniBand desde 2006

Infiniband

Enlaces de 2.5, 5 ó 10 Gbps

Agregados en grupos de 4 ó 12
enlaces
Grupo de 12 enlaces Quad-Data-Rate
transmite a 96 Gbps

Nodos conectados
via tramas de switches

InfiniBand

Precios

Tarjeta PCI-Express, 10 Gbps (QDR)

1 puerta: US$130
2 puertas: US$750

Switch HP 4X DDR, 24 puertas, 20
Gbps

US$4800

En conclusión

Nuestro cluster es usado como
banco de pruebas de sistema de
archivos paralelo

Jumbo frames (MTU = 9000)
2 Interfaces Gigabit Ethernet por nodo
  • Links de descarga
http://lwp-l.com/pdf8043

Comentarios de: Mejorando el desempeño de una red Gigabit Ethernet en un cluster Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad