TCP/IP checksum vectorization using AltiVec, part 1
This two-part article demonstrates the kinds of performance gains AltiVec can produce on the TCP/IP checksum, or on code similar to it. It gives special attention both to instructions that help improve performance, and to general unrolling and scheduling techniques. The net result? Performance increased by a factor of four.
One of the key components in the TCP/IP protocol stack is the checksum computation, which ensures the integrity of the transferred data. This computation can be greatly accelerated with the use of single instruction, multiple data (SIMD) units prevalent in state-of-the-art processors. In particular, the AltiVec unit of the IBM® PowerPC® architecture is well-suited for this type of computation. This article analyzes a former vectorization effort, shows how it can be improved upon, and then enhances it further.
By Ayal Zaks, Dorit Naishlos and Daniel Citron at IBM developerWorks.
[ Read more ]
- Review: TCP/IP Unleashed (23 June 2003)
- Review: Network Monitoring and Analysis: A Protocol Approach to Troubleshooting (2 June 2003)
- Review: TCP/IP Bible (19 May 2003)