Los primeros parches que proporcionan para IO_uring, el soporte de envío de copia cero para el subsistema de red del kernel de Linux parece extremadamente prometedor para un mayor rendimiento.

El desarrollador Pavel Begunkov publicó el conjunto de doce parches hoy trabajando en este soporte de envío de copia cero para IO_uring con el subsistema de red. Estos parches iniciales están marcados como una”solicitud de comentarios”, ya que algunos elementos aún se están resolviendo con el código.

Este soporte de envío de copia cero de IO_uring es actualmente para el manejo de IPv4/UDP, pero también hay parches TCP en proceso. Si bien aún se encuentra en una etapa inicial y está en proceso de cambio, los resultados de rendimiento nos entusiasman bastante con las perspectivas:

Evaluación comparativa de udp (65435 bytes) con un dispositivo de red ficticio (mtu=0xffff): lo mejor case io_uring=116079 MB/s vs msg_zerocopy=47421 MB/s, o 2,44 veces más rápido.
….
El peor de los casos para io_uring sigue siendo 1,88 veces más rápido que msg_zerocopy, y hay un par de optimizaciones”fáciles”que quedan fuera del conjunto de parches. Para la carga útil de 4096 bytes, zc solo supera ligeramente a la versión que no es zc, cuanto mayor es la carga útil, mayor es la brecha.

Es genial ver todo el trabajo del kernel que se realiza en torno a IO_uring para el almacenamiento y la red. Consulte esta serie de parches si está interesado en todos los detalles.

Categories: IT Info