Browse Prior Art Database

Optimization of the Functional Pathway for Internet Protocol Packets of 2048 Bytes

IP.com Disclosure Number: IPCOM000029573D
Original Publication Date: 2004-Jul-07
Included in the Prior Art Database: 2004-Jul-07
Document File: 2 page(s) / 45K

Publishing Venue

IBM

Abstract

This disclosure discusses the software apparatus used to optimize the transfer of a packet of 2048 bytes. This is done through the upper protocols writing directly to the buffered memory associated with the internet protocol interface layer, the use of descriptors which have extra fields for preloaded descriptor data, and the use of special dedicated channels for this traffic.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 50% of the total text.

Page 1 of 2

Optimization of the Functional Pathway for Internet Protocol Packets of 2048 Bytes

    This disclosure discusses the software apparatus used to optimize the transfer of a packet of 2048 bytes. This is done through the upper protocols writing directly to the buffered memory associated with the internet protocol interface layer, the use of descriptors which have extra fields for preloaded descriptor data, and the use of special dedicated channels for this traffic.

    The maximization of the bandwidth for packets of about 2048 bytes over the internet protocol interface layer was deemed important for two main reasons. First, applications which are run over the high performance switch are often derived from those which use ethernet communications. Therefore, a preponderance of these applications optimize with the assumption that the maximum transfer unit which they can utilize is 1500 bytes. Therefore, a significant performance measurement on a given system is the bandwidth achieved for packets from that size to 2048 bytes. Also, the switch fabric itself was optimized to have peak performance for packets 2048 bytes in size. Therefore, it became imperative that the internet protocol interface layer for this switch also optimize its processing of packets of that size in order to get maximum bandwidth.

    By moving as much of the software apparatus required to process a packet of 2048 bytes outside of the main code pathway, the performance of transfers of that size will be improved. There are preallocated buffers for the data to be written directly into by upper layer protocols, so that there is no need to copy the data into the interface's buffers during the send process. The descriptors for these packets have extra fields for preloaded descriptor data, so as to expedite the processing on the transmission. On the receiving side, there are more preallocated buffers which the IP interface layer then passes up to the upper layer software so as to avoid copying on that side. On both the send and receive sides there are special dedicated channels for this traffic for easier access to the microcode layer beneath the interface layer.

    Many of the characteristics of this invention are closely tied to the architecture and implementation of this specific high performance switch and its associated adapter. Therefore, it is not applicable to all clustered environments in general but instead makes use of the peculiar nature of this switch design. Also, in the following description there are terms which are common to this high performance switch architecture, such as the channels and descriptor lists which are discussed.

    In order to improve bandwidth, it is crucial to move as much of the software code required to transfer a given packet out of the main pathway during processing. In order to do this, much of the structure is established during the initialization of the IP interface layer. During the initialization flow, the interface allocates and then designates...