Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Perhaps not a bottleneck, but for very high network throughput systems, offloading the TCP checksumming can make more CPU available for other tasks. Often the offload engines built into network cards are either slow or have very poorly written drivers.


I feel like hardware TCP/IP stacks would probably massively improve performance by removing all details of the communications from the OS and processor. In saber OSes, this would just mean that one of the higher levels of abstraction would essentially deal directly with the hardware instead of a few more layers of abstraction.

Does this make sense? These communications seem so central to modern computing that they deserve specialized hardware support.


Many network cards offload some of the low-level protocols, typically ethernet and IP checksums, but some do deeper inspection and prepare packets conveniently for the driver if the OS supports it.


I forgot about TCPs use of CRC32. Still, I wonder if the time spent in CRC32 is a noticeable fraction of the total time. I guess it must be in some situations, otherwise why would they put it in the chip...


That might be caused by the fact, that TCP does not use CRC, but it's own checksum algorithm (faster, less relaible).


...and very often is calculated by network card itself and left blank by OS. (See checksum errors in wireshark.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: