Design and implementation of a TCP checksum offload engine based on the multiport memory controller and the processor local bus

Published in: Innovation in Engineering, Technology and Education for Competitiveness and Prosperity: Proceedings of the 11th Latin American and Caribbean Conference for Engineering and Technology
Date of Conference: August 14-16, 2013
Location of Conference: Cancun, Mexico
Authors: Christian Valerio-Regalado
Alfonso Avila-Ortega
Refereed Paper: #153

Abstract:

In English:
The TCP protocol has a checksum operation to verify the data integrity. This operation is performed over all bytes of a TCP segment, consuming several clock cycles and occupying precious processing time from embedded processors. This paper presents the implementation of the TCP checksum in an independent hardware module to reduce the processing time. This module, called the TCP Checksum Offload Engine (TCOE), integrates a Multiport Memory Controller (MPMC) and a Processor Local Bus (PLB) to improve the response time. The experimental results reported performance improvements in the TCOE-based system compared to the performance of the baseline implementation for segment sizes greater than or equal to 79 bytes. The clock cycles of the TCOE-based system also represented only 1% of the baseline clock cycles after increasing segment size and reaching its maximum value.


In Spanish:
El protocolo TCP lleva a cabo una operación de suma de comprobación para verificar la integridad de los datos. Esta operación se realiza sobre todos los bytes de un segmento TCP con un consumo de varios ciclos de reloj y con alta demanda de tiempo de procesamiento de los procesadores embebidos. En este artículo presenta la implemetnación de la suma de comprobación del TCP en un módulo de hardware independiente. Este módulo, llamado TCP Checksum Offload Engine (TCOE), integra un controlador de memoria multipuerto (MPMC) y un bus del procesador local (PLB) para reducir el tiempo de procesamiento. Los resultados experimentales reportaron mejoras en el rendimiento del sistema basado en TCOE en comparación con el rendimiento de la implementación de referencia considerando tamaños de segmento mayores que o iguales a 79 bytes. Los ciclos de reloj del sistema basado en TCOE también representarón solo el 1% de los ciclos de reloj de referencia después de incrementar el tamaño de segmento y llegar a su valor máximo.