El rendimiento de muchas aplicaciones depende de la velocidad de acceso a la memoria. Una tecnología que acelera esto significativamente es RoCE (RDMA sobre Ethernet Convergente).
RoCE significa ‘RDMA sobre Ethernet Convergente’. RDMA, a su vez, significa acceso remoto directo a memoria. Esta última tecnología se utiliza para el acceso directo a la memoria desde lugares distintos del procesador, al que se conecta directamente la memoria principal.
Esto significa que un servidor / host puede acceder a la memoria de otro servidor/host sin cargar primero su procesador. A menudo son posibles anchos de banda más altos.
Leer: ¿Qué es la intranet?
Acceso a través de Ethernet convergente
Se habla de RoCE cuando este tipo de acceso se realiza a través de Ethernet Convergente. Ethernet convergente significa que, a diferencia de Ethernet estándar, los paquetes se mantienen en un búfer hasta que el destinatario haya reenviado el paquete anterior y esté libre nuevamente.
Esto elimina la necesidad de múltiples envíos de paquetes. Se elimina el lento mecanismo de colisión de Ethernet. Los búfers se configuran en los puertos de salida de los conmutadores y apilan varios paquetes. Cuando están llenos, la velocidad de transmisión se reduce hasta que vuelven a estar vacíos. Debido a que los búferes adicionales y el mecanismo de transmisión más complejo cuestan dinero, la tecnología es más costosa en general que la Ethernet «normal».
Beneficios de RoCE
Además de la menor carga de la CPU, las ventajas de RoCE son una reducción de la latencia de la red y, por lo tanto, un mayor rendimiento de la red. Además, no necesitas ningún dispositivo nuevo para la tecnología, solo tarjetas de red y controladores que dominen RoCE.
Dichos controladores están disponibles en casi todos los sistemas operativos comunes. Sin embargo, todas las tarjetas de red deben poder hacer frente a RoCE, las configuraciones mixtas generalmente no funcionan.
Los conmutadores deben ser compatibles con el control de flujo prioritario (PFC) para un funcionamiento sin pérdidas. PFC utiliza el campo Clase de servicio de la etiqueta VLAN IEEE 802.1Q. Define las prioridades del tráfico e interrumpe el tráfico para permitir el paso del tráfico de mayor prioridad.
La versión
RoCE es un estándar desarrollado por Infiniband Trade Association (IBTA). La tecnología se aplica en centros de datos hiperconvergentes, virtualizados y en la nube.
Hay dos versiones: RoCE V.1 y RoCe V.2. Se diferencian en las capas de red y los adaptadores de red utilizados.
RoCE V.1 funciona en la capa 2 del modelo de capa OSI, la capa de enlace. Esto permite que dos hosts en la misma LAN virtual se comuniquen directamente entre sí. La longitud máxima de una trama (es decir, el espacio que puede ocupar un paquete) es de 500 bytes para Ethernet estándar y de 9000 bytes para tramas jumbo de Ethernet.
RoCE V.2 también puede conectarse a hosts fuera de su propia VLAN a través de la capa 3 (capa de enrutamiento). Funciona en las capas 2 y 3. Por lo tanto, esta forma también se conoce como RRoCE (Routable RoCE). Eso significa más flexibilidad. Además, los paquetes se pueden enviar a varios hosts al mismo tiempo (multidifusión IP).
Leer: ¿Qué es un contrato inteligente?
NVMe sobre RoCE
Una aplicación relativamente nueva de RoCE es NVMe over RoCE, una variante de NVMeoF (NVMe over Fabrics). Se puede usar para acceder a dispositivos de almacenamiento masivo no volátiles, como unidades flash que están conectadas a otro host/servidor desde otro lugar a través de RDMA a través de Ethernet convergente sin cargar la CPU. El impacto es el mismo que el de otras aplicaciones RoCE: menor latencia y mayor rendimiento.
En general, RoCE ayuda a evitar que el acceso a la memoria se convierta en un cuello de botella en redes cada vez más rápidas tan pronto como la memoria ya no esté conectada a su propio sistema.
¿Qué es Kubernetes? | Plataforma de código abierto
¿Qué es una aplicación en tiempo real? | Definición
¿Qué es un electroimán y cómo funciona?
¿Qué es SHA256? | Función de hash criptológico
¿Qué es Wi-Fi 6E y cómo se compara con otras opciones?
¿Qué es la experiencia del usuario (UX)? Definición | Programación
¿Qué es el rastreo distribuido? Definición | Microservicios
¿Qué es PHP y cómo puedo aprenderlo? Lo que debes saber
¿Qué es el modelo Zero Trust? Concepto de seguridad