[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20080710205045.8b8a0eee.billfink@mindspring.com>
Date: Thu, 10 Jul 2008 20:50:45 -0400
From: Bill Fink <billfink@...dspring.com>
To: Rick Jones <rick.jones2@...com>
Cc: Evgeniy Polyakov <johnpol@....mipt.ru>,
Roland Dreier <rdreier@...co.com>,
David Miller <davem@...emloft.net>, aglo@...i.umich.edu,
shemminger@...tta.com, netdev@...r.kernel.org, rees@...ch.edu,
bfields@...ldses.org
Subject: Re: setsockopt()
On Thu, 10 Jul 2008, Rick Jones wrote:
> > 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.
Yes, I was talking about single stream bulk data transfers, where the
CPU was not a limiting factor (just barely when doing full 10-GigE
line rate transfers with 9000-byte jumbo frames).
On multiple stream tests there can be a benefit to spreading the load
across multiple cores.
-Bill
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists