Jump to content
The simFlight Network Forums
airforce2

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

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Hope this helps

Thanks. I'll add these notes to the next update for WideFS.doc. Unfortunately it's just missed one update, but I did hint at it there. :)

Best regards,

Pete

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • 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.