Subject: Re: setsockopt()

From: Rick Jones <[email-masked]>
Date: Thu, 10 Jul 2008 10:26:01 -0700

> In my own network benchmarking experience, I've generally gotten the
> best performance results when the nuttcp application and the NIC
> interrupts are on the same CPU, which I understood was because of
> cache effects.

Interestingly enough I have a slightly different experience:

*) single-transaction, single-stream TCP_RR - best when app and NIC use 
same core

*) bulk transfer - either TCP_STREAM or aggregate TCP_RR:
   a) enough CPU on one core to reach max tput, best when same core
   b) not enough, tput max when app and NIC on separate cores, 
preferably cores sharing some cache

That is in the context of either maximizing throughput or minimizing 
latency.  If the context is most efficient transfer, then in all cases 
my experience thusfar agrees with yours.

rick jones