Jump to content
The simFlight Network Forums

TCP packet coalescing revisited


Recommended Posts

Pete;

Have been trying for several days to get back up with FSUIPC 3.04 and WideFS 6.02, right now under FS2002 with 4 Project Magenta clients all running on a single very fast PC. As per a previous post, I had to rebuild my system over the weekend.

I'm getting massive lag (up to 10 sec) in commands from the PM MCP. Watching the WideFS frame counter on the windows menu bar, I see very steady and smooth data flow from the server to the client (also reflected in very smooth displays) but the data from the client to the server is coming in irregular bursts. It appears to be related to packet coalescing in TCP/IP again. The packets coming out of the server are fairly large (lots of data changing) and keep it flowing...the packets built in the client are probably much smaller, and look to be getting consolidated.

Does WideFS use the TCP NO_DELAY socket setting? Any other ideas how to force the packet writes? It appears that reducing the value of tcpWindowSize in the XP registry could have that effect, but it would adversely impact regular internet comms on that PC. Another possible rub is the installation of tcpip v6 in a recent windows update...no idea if that is somehow having an effect, but it's possible I guess.

Thoughts?

Thanks

Link to comment
Share on other sites

I'm getting massive lag (up to 10 sec) in commands from the PM MCP. Watching the WideFS frame counter on the windows menu bar, I see very steady and smooth data flow from the server to the client (also reflected in very smooth displays) but the data from the client to the server is coming in irregular bursts.

What frame rates are there? Are you limiting the FS frame rate enough?

Maybe the network is set up for half duplux operation not full duplex? There should be no reason at all why lots of data going one way should stop anything going the other. It should be symmetric, even if the loading isn't.

It appears to be related to packet coalescing in TCP/IP again.

Unless you've set "TCPcoalesce=Yes" in the INI files there should be no coalescing.

Does WideFS use the TCP NO_DELAY socket setting?

Yes, if "TCPcoalesce=No", which it is by default.

Any other ideas how to force the packet writes? It appears that reducing the value of tcpWindowSize in the XP registry could have that effect, but it would adversely impact regular internet comms on that PC. Another possible rub is the installation of tcpip v6 in a recent windows update...no idea if that is somehow having an effect, but it's possible I guess.

Now you're out of my depth again, sorry.

Regards,

Pete

Link to comment
Share on other sites

Pete;

My analysis of the problem was spot-on, but it turns out the packet coalescing was happening in hardware! The Intel LAN adapter integrated into the new client PC's motherboard (Gigabyte 8IG1000 Pro) has it microcoded into its firmware. The supplied driver configuration utility, if you dig deep enough, presents options to turn it off.

I suspect this'll come up again if this feature starts showing up on more motherboards.

Cheers

Bob

Link to comment
Share on other sites

My analysis of the problem was spot-on, but it turns out the packet coalescing was happening in hardware! The Intel LAN adapter integrated into the new client PC's motherboard (Gigabyte 8IG1000 Pro) has it microcoded into its firmware. The supplied driver configuration utility, if you dig deep enough, presents options to turn it off.

I suspect this'll come up again if this feature starts showing up on more motherboards.

Could you give some more practical, technical, details of how someone can (a) check this, and (b) turn it off?

Even if the details are very specific to the one mobo, it may still serve as an example which I can add to the WideFS.doc. I am looking to release a minor update next week in any case, as I have changed the timings to stop WideServer detecting "stoppages" in FS so readily -- it appears these can happen much more easily in FS2004 and they currently make WideServer restart the service too often.

Thanks,

Pete

Link to comment
Share on other sites

Pete;

In my case I have an Intel Pro/100 VE integrated LAN adapter on the Gigbyte 8IG1000 Pro (i865G) motherboard.

In Win 2000 or Win XP:

Go to control panel -> system -> hardware tab -> Device Manager

Find the entry for Network Adapters, right click on the LAN adapter and select Properties then Advanced tab

In the Pro/100 VE there are way more than the usual 3-5 settings available. It includes Adaptive Technology, Adaptive Transmit Threshold, Coalesce Buffers, PCI Bus Effeciency, and Transmit Control Block parameters, all of which effect data store-and-forward and coalescing. In the case of this adapter, setting Adaptive Technology to 0 turns out to be the magic bullet that turns it all off.

The symptomology that will be present is a choppy flow of data...in one or possibly both directions...and significant lag and jitter in the data stream.

Hope this helps

Cheers

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.