NUMA support; tweaking TCP for GPRS

View: New views
3 Messages — Rating Filter:   Alert me  

NUMA support; tweaking TCP for GPRS

by Sean Hamilton-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Greetings -hackers,

I have two unrelated questions.

First, what is the status of NUMA support in FreeBSD? Is
there a performance penalty on Nehalem-class systems,
compared with Linux, which advertises NUMA awareness? Google
seems to turn up very little on this subject.

Second, I am using a FreeBSD server to talk to equipment
which has a GPRS internet connection. This is fairly high
latency (approximately one second RTT) and is prone to
bursts of packet loss, or bursts of extremely high latency
-- perhaps up to a minute. These intervals cause many
retransmissions, which I presume is a good strategy over the
internet, but not so good for GPRS.

For my application, latency is mostly irrelevant. However,
data over GPRS is very expensive, so I would like to reduce
as much as possible the number of TCP retransmissions made
on the FreeBSD side, possibly at the expense of latency.

So, I am looking for suggestions on how to achieve this, via
sysctl, setsockopt, etc. There seems to be a lot of
literature regarding TCP tuning, but usually the focus is on
improving performance, not reducing network traffic. The
"rexmit_min" and "rexmit_sop" sysctls mentioned in tcp(4)
seem interesting, but it's not clear to me exactly how they
might be adjusted for this purpose.

Thanks in advance,

--
Sean Hamilton <sh@...>
_______________________________________________
freebsd-hackers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@..."

Re: NUMA support; tweaking TCP for GPRS

by Gary Jennejohn-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, 12 Nov 2009 18:08:35 -0800
Sean Hamilton <sh@...> wrote:

> Second, I am using a FreeBSD server to talk to equipment
> which has a GPRS internet connection. This is fairly high
> latency (approximately one second RTT) and is prone to
> bursts of packet loss, or bursts of extremely high latency
> -- perhaps up to a minute. These intervals cause many
> retransmissions, which I presume is a good strategy over the
> internet, but not so good for GPRS.
>
> For my application, latency is mostly irrelevant. However,
> data over GPRS is very expensive, so I would like to reduce
> as much as possible the number of TCP retransmissions made
> on the FreeBSD side, possibly at the expense of latency.
>
> So, I am looking for suggestions on how to achieve this, via
> sysctl, setsockopt, etc. There seems to be a lot of
> literature regarding TCP tuning, but usually the focus is on
> improving performance, not reducing network traffic. The
> "rexmit_min" and "rexmit_sop" sysctls mentioned in tcp(4)
> seem interesting, but it's not clear to me exactly how they
> might be adjusted for this purpose.
>
> Thanks in advance,
>

Highjacking this thread.

This won't help you, but it would be interesting to have the new
Delay Tolerant Networking protocol developed by Vint Cerf for NASA
in FreeBSD.  Supposedly it's already in Android.

---
Gary Jennejohn
_______________________________________________
freebsd-hackers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@..."

Re: NUMA support; tweaking TCP for GPRS

by jhb-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thursday 12 November 2009 9:08:35 pm Sean Hamilton wrote:
> Greetings -hackers,
>
> I have two unrelated questions.
>
> First, what is the status of NUMA support in FreeBSD? Is
> there a performance penalty on Nehalem-class systems,
> compared with Linux, which advertises NUMA awareness? Google
> seems to turn up very little on this subject.

Yes, there is a penalty.  I have some very simplistic NUMA support in a p4
branch (//depot/user/jhb/numa/...) that just makes threads allocate memory
close to the current CPU when requesting a free page.  It's not very general
purpose, but it can be useful if you pin all your tasks to specific packages.  
I haven't tested it with non-pinned workloads to see what effect it has.

--
John Baldwin
_______________________________________________
freebsd-hackers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@..."