Loading AI tools
De Wikipedia, la enciclopedia libre
RDMA sobre Ethernet convergente (RoCE por sus siglas en inglés) es un protocolo de red que permite el acceso remoto directo a la memoria (RDMA) a través de una red Ethernet. Lo hace encapsulando un paquete de transporte InfiniBand a través de Ethernet. Hay dos versiones de RoCE, RoCE v1 y RoCE v2. RoCE v1 es un protocolo de capa de enlace Ethernet y, por lo tanto, permite la comunicación entre dos hosts en el mismo dominio de difusión Ethernet. RoCE v2 es un protocolo de capa de Internet que significa que los paquetes RoCE v2 pueden enrutarse. Aunque el protocolo RoCE se beneficia de las características de una red Ethernet convergente, el protocolo también se puede utilizar en una red Ethernet tradicional o no convergente.[1][2][3][4]
Las aplicaciones intensivas en red, como el almacenamiento en red o la informática en clúster, necesitan una infraestructura de red con un ancho de banda alto y una latencia baja. Las ventajas de RDMA sobre otras interfaces de programación de aplicaciones de red como los sockets de Berkeley son menor latencia, menor carga de CPU y mayor ancho de banda.[5] El protocolo RoCE permite latencias más bajas que su predecesor, el protocolo iWARP.[6] Existen HCA RoCE (Adaptador de canal de host) con una latencia tan baja como 1.3 microsegundos[7][8] mientras que la latencia de HCA iWARP más baja conocida en 2011 fue de 3 microsegundos.[9]
El protocolo RoCE v1 es un protocolo de capa de enlace Ethernet con Ethertype 0x8915.[1] Esto significa que se aplican los límites de longitud de trama del protocolo Ethernet: 1500 bytes para una trama Ethernet normal y 9000 bytes para una trama jumbo.
El RoCE v1.5 es un protocolo poco común, experimental y no estandarizado que se basa en el protocolo IP. RoCE v1.5 usa el campo de protocolo IP para diferenciar su tráfico de otros protocolos IP como TCP y UDP. El valor utilizado para el número de protocolo no está especificado y se deja a la implementación para que lo seleccione.
El protocolo RoCE v2 existe sobre el protocolo UDP/IPv4 o UDP/IPv6.[2] El número de puerto de destino UDP 4791 se ha reservado para RoCE v2.[10] Dado que los paquetes RoCEv2 son enrutables, el protocolo RoCE v2 a veces se denomina RoCE enrutable[11] o RRoCE.[3] Aunque en general el orden de entrega de los paquetes UDP no está garantizado, la especificación RoCEv2 requiere que los paquetes con el mismo puerto de origen UDP y la misma dirección de destino no se deben reordenar. Además, RoCEv2 define un mecanismo de control de congestión que utiliza los bits IP ECN para marcar y las tramas CNP[12] para la notificación de acuse de recibo.[13] El soporte de software para RoCE v2 todavía está surgiendo. Mellanox OFED 2.3 o posterior tiene soporte RoCE v2 y también Linux Kernel v4.5.[14]
RoCE define cómo realizar RDMA a través de Ethernet, mientras que la especificación de arquitectura InfiniBand define cómo realizar RDMA a través de una red InfiniBand. Se esperaba que RoCE trajera aplicaciones InfiniBand, que se basan predominantemente en clústeres, en una estructura convergente Ethernet común.[15] Otros esperaban que InfiniBand siguiera ofreciendo un mayor ancho de banda y una latencia más baja de lo que es posible a través de Ethernet.[16]
Las diferencias técnicas entre los protocolos RoCE e InfiniBand son:
Mientras que los protocolos RoCE definen cómo realizar RDMA usando tramas Ethernet y UDP/IP, el protocolo iWARP define cómo realizar RDMA a través de un transporte orientado a la conexión como el Protocolo de Control de Transmisión (TCP). RoCE v1 está limitado a un solo dominio de difusión Ethernet. Los paquetes RoCE v2 e iWARP son enrutables. Los requisitos de memoria de una gran cantidad de conexiones junto con los controles de flujo y confiabilidad de TCP conducen a problemas de escalabilidad y rendimiento al usar iWARP en centros de datos a gran escala y para aplicaciones a gran escala (es decir, empresas a gran escala, computación en la nube, aplicaciones web 2.0, etc.).[20] Además, la multidifusión se define en la especificación RoCE, mientras que la especificación iWARP actual no define cómo realizar RDMA multidifusión.[21][22][23]
La confiabilidad en iWARP viene dada por el protocolo en sí, ya que TCP es confiable. RoCEv2, por otro lado, utiliza UDP, que tiene una sobrecarga mucho menor y un mejor rendimiento, pero no proporciona confiabilidad inherente, y por lo tanto, la confiabilidad debe implementarse junto con RoCEv2. Una solución es utilizar conmutadores Ethernet convergentes para hacer que la red de área local sea confiable. Esto requiere soporte convergente de Ethernet en todos los conmutadores en la red de área local y evita que los paquetes RoCEv2 viajen a través de una red de área amplia como Internet, lo cual no es confiable. Otra solución es agregar confiabilidad al protocolo RoCE (es decir, RoCE confiable) que agrega handshake a RoCE para proporcionar confiabilidad a costa del rendimiento.
La cuestión de qué protocolo es mejor depende del proveedor. Intel y Chelsio recomiendan y apoyan exclusivamente iWARP. Mellanox, Xilinx y Broadcom recomiendan y admiten exclusivamente RoCE/RoCEv2. Otros proveedores involucrados en la industria de la red brindan soporte para ambos protocolos, como Marvell, Microsoft, Linux y Kazan.[24] Cisco admite tanto RoCE[25] como su propio protocolo VIC RDMA.
Ambos protocolos están estandarizados con iWARP como el estándar para RDMA sobre TCP definido por el IETF y RoCE como el estándar para RDMA sobre Ethernet definido por el IBTA.[24]
Algunos aspectos que podrían haberse definido en la especificación RoCE se han omitido. Estos son:
Además, cualquier protocolo que se ejecute a través de IP no puede asumir que la red subyacente ha garantizado el pedido, como tampoco puede suceder que se produzca congestión.
Se sabe que el uso de PFC puede conducir a un punto muerto en toda la red.[30][31][32]
Los vendedores populares de equipos habilitados para RoCE incluyen:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.