Dominik Rau wrote:
My client starts all servers via ssh remotely, also the one on
localhost (I'm rendering on the client, too). If I run the client and
one server on the localhost only and put my default route on the local
loopback device, it works like a charm. If I route the default to
eth0 like above, all smoothness is gone. Even more funny: If I have
less objects in my scene, it's getting worse (faster frame rate but
more bad syncing I think). It also makes no difference if I run the
client on a dedicated cluster node without rendering on it. Can't see
why my dedicated and switched 1000MBit network should be a bottle-neck
here (nload shows me about 8MByte traffic per second).
So, it looks like bad routing to me. Any other opinions?
After a journey into the guts of my linux box I've found the reason for
my problems and I think that they could be of interest for others, too.
The network trouble is just the symptom, not the disease here. After a
while, I thought that this all may be related to heavy interrupt load on
my system. I had a look into my kernel configuration and switched the
irq "load balancing option" to off (this is enabled by default in the
debian kernel). After this, the server was running smoothly locally
without changing the route (see above). After that I had a look at the
manpage of sk98lin GigabitNetwork Adapter (see below), enabled the irq
moderation option and set it to static. Et voila! The default value of
2000 Interrupts per second already works much better, although there
might still be some place for tuning (still some small latencies, but
much, much better than before).
Correct interrupt handling of your kernel / network adapter may have a
huge impact on your performance. Check this if you're running into
performance problems.
Regards,
Dominik
<Quote>
Interrupt Moderation
--------------------
Parameter: Moderation
Values: None, Static, Dynamic
Default: None
Interrupt moderation is employed to limit the maxmimum number of interrupts
the driver has to serve. That is, one or more interrupts (which indicate any
transmit or receive packet to be processed) are queued until the driver
processes them. When queued interrupts are to be served, is determined by the
'IntsPerSec' parameter, which is explained later below.
Possible modes:
-- None - No interrupt moderation is applied on the adapter card.
Therefore, each transmit or receive interrupt is served immediately
as soon as it appears on the interrupt line of the adapter card.
-- Static - Interrupt moderation is applied on the adapter card.
All transmit and receive interrupts are queued until a complete
moderation interval ends. If such a moderation interval ends, all
queued interrupts are processed in one big bunch without any delay.
The term 'static' reflects the fact, that interrupt moderation is
always enabled, regardless how much network load is currently
passing via a particular interface. In addition, the duration of
the moderation interval has a fixed length that never changes while
the driver is operational.
-- Dynamic - Interrupt moderation might be applied on the adapter card,
depending on the load of the system. If the driver detects that the
system load is too high, the driver tries to shield the system against
too much network load by enabling interrupt moderation. If - at a later
time - the CPU utilizaton decreases again (or if the network load is
negligible) the interrupt moderation will automatically be disabled.
Interrupt moderation should be used when the driver has to handle one or more
interfaces with a high network load, which - as a consequence - leads also to a
high CPU utilization. When moderation is applied in such high network load
situations, CPU load might be reduced by 20-30%.
NOTE: The drawback of using interrupt moderation is an increase of the round-
trip-time (RTT), due to the queueing and serving of interrupts at dedicated
moderation times.
Interrupts per second
---------------------
Parameter: IntsPerSec
Values: 30...40000 (interrupts per second)
Default: 2000
This parameter is only used, if either static or dynamic interrupt moderation
is used on a network adapter card. Using this paramter if no moderation is
applied, will lead to no action performed.
This parameter determines the length of any interrupt moderation interval.
Assuming that static interrupt moderation is to be used, an 'IntsPerSec'
parameter value of 2000 will lead to an interrupt moderation interval of
500 microseconds.
NOTE: The duration of the moderation interval is to be chosen with care.
At first glance, selecting a very long duration (e.g. only 100 interrupts per
second) seems to be meaningful, but the increase of packet-processing delay
is tremendous. On the other hand, selecting a very short moderation time might
compensate the use of any moderation being applied.
</Quote>
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users