CPU utilization and memory bandwidth at the endpoints are obviously the bottlenecks in high-speed networks today. Delays have moved from the network to the hosts and, as a result, the efficiency analysis must also. In order to attain high transfer rates with low CPU utilization, a reanalysis of the protocol stack is warranted. McGowan [McG99] suggests applying to the IP stack several techniques from the high-speed networking community (most notably, HIPPI). These include avoiding memory copies, sending large data segments, and allowing fragmentation and reassembly to happen in hardware. These techniques combine to reduce the function calls on sending and the upcalls on receiving IP datagrams. More specifically, there are several changes to IP implementations that we believe will improve throughput on reliable networks while not penalizing throughput on lossy networks:
Many of these changes represent significant departures from previous IP stack implementations and they should obviously be tested and carefully considered before being deployed. However, by reexamining the assumptions of the role of fragmentation in the IP stack, we may be able to achieve significant efficiencies.
``Fragmentation Considered Harmful'' drastically affected the role of fragmentation in the IP protocol as it is currently implemented. However, we must begin to think of network performance with respect to its new bottleneck, the endpoint. With this in mind, endpoint fragmentation continues to relieve the intermediate network resources of responsibility for fragmentation while beginning to address the CPU utilization bottleneck that is occurring on the hosts.