RE: [BULK] - Re: Win2k TCP performance anomalies

File and Printer Sharing properties of a Win2k server are more advanced than
a 2k Pro boxes. It supports different optimizations for data transfers and
sharing. Not sure if that is affecting it or if your even going through that
path.

-----Original Message-----
From: Peter Lawthers [mailto:xxxxx@adic.com]
Sent: Thursday, August 07, 2003 2:39 PM
To: Windows System Software Developers Interest List
Subject: [BULK] - [ntdev] Re: Win2k TCP performance anomalies

I probably didn’t make myself clear.
I run into the problem without any special
TDI code loaded at all. This is just using
‘ttcp’ to get a limit on the bandwidth between
two machines over gige. No special kernel component
involved whatsoever. Also, I’m not using jumbo
frames.

My question is really why the difference when
the box doing the receiving is win2k server vs
win2k professional?

Anton Kolomyeytsev wrote:

It looks like Intel gigabit ethernet adapters do not like Jumbo frames
larger then 9K. At least on the Intel hardware I’ve seen performance drops
when Jumbo frames are set to 16K. Not so dramatically as you tell but very
well noticable. Can you try going 9K? Just in case…

Also you can try reading my postings (replies to Valery some weeks ago)
about the sender/receiver design for exactly the same task you’re dealing
with right now. Maybe you’ll find something interesting there… If not
try drop me an e-mail – maybe I’ll be able to help you. For now even
67MB/sec is something like 1/3 of what we have. With the SCSI
encapsulation. Sorry for this )

Regards,
Anton Kolomyeytsev

P.S. Steve, I’m sorry for not replying your last e-mail. My notebook died
( Yes, copper fibre channel is definitely an oxymoron )

AK

>Yep, they are identical, latest from
>the intel website. The cards are also configured
>identically (according to the intel proset config program).
>That’s part of what has me confused.
>
>Steve Dispensa wrote:
>
>>On Thu, 2003-08-07 at 13:02, Peter Lawthers wrote:
>>
>>
>>>The bottom line is running win2k server I can receive at about
>>>67 MB/sec (ie, when the win2k server is running ‘pcattcp -r …’).
>>>Running win2k professional I get the aforementioned 35 MB/sec.
>>>My confusion is that I thought the tcp stacks were “essentially” the
>>>same between the two.
>>
>>
>>Just out of curiosity, are the nic driver binaries identical between pro
>>and server?
>>
>>
>>
>>
>>
>>—
>>Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>>
>>You are currently subscribed to ntdev as: xxxxx@adic.com
>>To unsubscribe send a blank email to xxxxx@lists.osr.com
>>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@adic.com
To unsubscribe send a blank email to xxxxx@lists.osr.com


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@websense.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Well it sounds like you’re doing your tests right. Windows tunes itself
very differently based on whether or not it’s a server, and that’s
obviously what’s going on here. Everything else seems to be equal.

I’d like to know what you finally find out about this, but I think it’s
gonna take one of the guys at microsoft to elucidate it. That or a lot
of time with WinDbg. :slight_smile:

-sd

On Thu, 2003-08-07 at 13:27, Peter Lawthers wrote:

Yep, they are identical, latest from
the intel website. The cards are also configured
identically (according to the intel proset config program).
That’s part of what has me confused.

Steve Dispensa wrote:
> On Thu, 2003-08-07 at 13:02, Peter Lawthers wrote:
>
>>The bottom line is running win2k server I can receive at about
>>67 MB/sec (ie, when the win2k server is running ‘pcattcp -r …’).
>>Running win2k professional I get the aforementioned 35 MB/sec.
>>My confusion is that I thought the tcp stacks were “essentially” the
>>same between the two.
>
>
> Just out of curiosity, are the nic driver binaries identical between pro
> and server?
>
>
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@adic.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>


Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@positivenetworks.net
To unsubscribe send a blank email to xxxxx@lists.osr.com

(1) This is a good one for Microsoft I agree. Just some thoughts -
intelligent guesses.
(2) You could experiment more with different settings for the Number of
System Worker Threads - pg 167 Inside Windows 2000.
(3) I would check the differences Memory Manager and Scheduler as well.
pg 382 and pg 351
All - in - all i dont know why but this is interesting.
(4) You could use a profiling tool - like Vtune if have it for real code
coverage or even Performance Monitor.
(5) Last but not least - Good luck and I like to know more.

Why would you care how many system worker threads exist? Create your own
and you have complete control. The system worker threads are intended for
file systems and you could crash NT 4 easily by misusing them in other
places. The code is so simple and “idiot proof” if you use the OSR NT
Insider article, that it makes no sense to do otherwise.

“William Michael Jones” wrote in message
news:xxxxx@ntdev…
>
> (1) This is a good one for Microsoft I agree. Just some thoughts -
> intelligent guesses.
> (2) You could experiment more with different settings for the Number of
> System Worker Threads - pg 167 Inside Windows 2000.
> (3) I would check the differences Memory Manager and Scheduler as well.
> pg 382 and pg 351
> All - in - all i dont know why but this is interesting.
> (4) You could use a profiling tool - like Vtune if have it for real code
> coverage or even Performance Monitor.
> (5) Last but not least - Good luck and I like to know more.
>
>
>
>
>

On Sun, 2003-08-10 at 15:27, William Michael Jones wrote:

(1) This is a good one for Microsoft I agree. Just some thoughts -
intelligent guesses

I ran across this quote from the 2K3 DDK this weekend:

MiniportInitialize also might call NdisSystemProcessorCount before it
calls NdisMAllocateSharedMemory if the driver writer decides to allocate
a larger shared memory block in multiprocessor machines on the
assumption that any SMP machine is likely to be a network server with
higher network-transfer demands on the NIC than a workstation.

…Serves to remind you that drivers can go to any lengths to make your
job difficult. :slight_smile:

Did you try with other NICs? Perhaps grab a couple of el-cheapo RTL8139
nics just to see if there’s a performance difference @ 100Mbps. Maybe
grab a couple of different GigE cards too. Tons of variables here, I
realize, but at this point, I’m starting to suspect the miniport
drivers.

-sd