Does Dual-Core CPU test Spinlocks?

Would a dual-core CPU be sufficient to test spinlock code or do you need to use a true multi-processor system to find all of the problems? I currently use multi-processors, but are seeing many dual-core machines appearing on the market these days.
Thoughts?

Dave
Milwaukee, WI

A dual-core is in essecence a multi-processor on a chip, so yes it will work
like a 2-way MP system. Of course Intel had one dual core Pentium with
hyper-threading and that acted as a 4 way MP. Microsoft allows up to twp
physical processors for XP so with the Pentium previously mentioned and the
quad core’s promiised later this year from AMD and Intel you are at a
potential for an 8-way XP system. Let alone the AMD with it’s 8 way
architecture will deliver with quad cores a 32 way server.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

wrote in message news:xxxxx@ntdev…
> Would a dual-core CPU be sufficient to test spinlock code or do you need
> to use a true multi-processor system to find all of the problems? I
> currently use multi-processors, but are seeing many dual-core machines
> appearing on the market these days.
> Thoughts?
>
> Dave
> Milwaukee, WI
>
>

Dual core systems are true mp systems. Hyper-threaded systems are
virtual mp systems and will also give your spinlocks a good workout.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@software.rockwell.com
Sent: Wednesday, August 16, 2006 2:40 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Does Dual-Core CPU test Spinlocks?

Would a dual-core CPU be sufficient to test spinlock code or do you need
to use a true multi-processor system to find all of the problems? I
currently use multi-processors, but are seeing many dual-core machines
appearing on the market these days.
Thoughts?

Dave
Milwaukee, WI


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

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Even HT is more or less OK, but some WHQL tests require 4 CPU cores IIRC.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From:
To: “Windows System Software Devs Interest List”
Sent: Wednesday, August 16, 2006 10:39 PM
Subject: [ntdev] Does Dual-Core CPU test Spinlocks?

> Would a dual-core CPU be sufficient to test spinlock code or do you need to
use a true multi-processor system to find all of the problems? I currently use
multi-processors, but are seeing many dual-core machines appearing on the
market these days.
> Thoughts?
>
> Dave
> Milwaukee, WI
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

> Would a dual-core CPU be sufficient to test spinlock code or do you need

to use a true multi-processor system to find all of the problems? I
currently use multi-processors, but are seeing many dual-core machines
appearing on the market these days.
Thoughts?

Dave
Milwaukee, WI

In general, it will be fine. Just keep in mind that normal (non-queued)
spinlocks are not fair, so the high contention behavior of dual-core CPUs can
be quite different, especially in comparison to NUMA multi-CPU systems.

Dmitriy Budko
VMware

Why not just get a multi-CPU system with dual-core CPUs? It looks like the
best of both worlds. Especially that motherboard that supports 8 Opterons
with dual-cores and 16GB of memory per processor. Too bad it would cost
both arms and both legs. I have never used VMware Workstation on a
multi-core/CPU system. I do have it on a HT P4M notebook. The overhead
using windbg via a pipe is high when the VM is at a breakpoint. Maybe the
new VT support, real VM (hypervisor) I hope, will give us real SMP testing
in a VM. I would be happy if it would require one of the new quad-cores
that may appear next year to get all the performance and capability. I have
VMware’s competitors at home but do like the snapshot manager in yours -
multiple branches from a variety of points in the mainline has made testing
easy. I don’t use a VM for normal activities, but hope to do so later when
I either buy or build a Core 2 Duo system.

I think ‘not fair’ may be enough for experienced developers, but not for
many who read this group. If I understand it correctly, if there are more
than one thread waiting for a spinlock or get to the spinlock at the same
time which thread succeeds is undetermined. If you have more than one
waiting and they continually keep waiting on that spinlock you can have
threads that never get any time and others that get thru more quickly than
they should. Not a good design, but it can easily occur in some stacks if
you have a spinlock as the gateway to some code that every thread needs, but
can only be done by one thread at a time. Profiling can show you this and a
new design may be required to improve performance.

“Dmitriy Budko” wrote in message news:xxxxx@ntdev…
> Would a dual-core CPU be sufficient to test spinlock code or do you need
> to use a true multi-processor system to find all of the problems? I
> currently use multi-processors, but are seeing many dual-core machines
> appearing on the market these days.
> Thoughts?
>
> Dave
> Milwaukee, WI

In general, it will be fine. Just keep in mind that normal (non-queued)
spinlocks are not fair, so the high contention behavior of dual-core CPUs
can
be quite different, especially in comparison to NUMA multi-CPU systems.

Dmitriy Budko
VMware

“David J. Craig” wrote in message
news:xxxxx@ntdev…
> Why not just get a multi-CPU system with dual-core CPUs? It looks like
> the best of both worlds. Especially that motherboard that supports 8
> Opterons with dual-cores and 16GB of memory per processor. Too bad it
> would cost both arms and both legs.

While it would cost more than what is practical for every developer the
price of such systems is coming down. A friend of mine priced this based on
the retail component prices as around $50,000, which a few years ago was the
price of a 4P system. There is a firm that offers a workstation that can be
built up to this level starting at less than $30,000.

So who cares, those of us developing drivers should. It means that 16 and
32 way systems that used to be in the “Datacenter” category are now entering
the mainstream. Where prices for a 16 and 32 way used to start over
$1,000,000 five years ago, they are now 1/20 of that. I used Datacenter
since WHQL had a seperate program for testing high end systems (8P and
greater), this testing included weeks of system stress test with all the
drivers. I wonder how many of us, test our driver will run 3 weeks or more
without a failure?

To quote from NT Insider last year “The driver writer version of Murphy’s
law states: ‘Your customer will be running your software on a computer with
more CPUs than you have’”


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

“Don Burn” wrote in message news:xxxxx@ntdev…
>
> “David J. Craig” wrote in message
> news:xxxxx@ntdev…
>> Why not just get a multi-CPU system with dual-core CPUs? It looks like
>> the best of both worlds. Especially that motherboard that supports 8
>> Opterons with dual-cores and 16GB of memory per processor. Too bad it
>> would cost both arms and both legs.
>
> While it would cost more than what is practical for every developer the
> price of such systems is coming down. A friend of mine priced this based
> on the retail component prices as around $50,000, which a few years ago
> was the price of a 4P system. There is a firm that offers a workstation
> that can be built up to this level starting at less than $30,000.
>
> So who cares, those of us developing drivers should. It means that 16 and
> 32 way systems that used to be in the “Datacenter” category are now
> entering the mainstream. Where prices for a 16 and 32 way used to start
> over $1,000,000 five years ago, they are now 1/20 of that. I used
> Datacenter since WHQL had a seperate program for testing high end systems
> (8P and greater), this testing included weeks of system stress test with
> all the drivers. I wonder how many of us, test our driver will run 3
> weeks or more without a failure?
>

We should all strive for the highest level of reliability and testing that
is “practical”.

At my shop it would not only be the cost of the basic test-machine, but also
the infrastructure to support it. At my location because of heavy
thunderstorms/lightning it is likely that power would go down at least once
over a period of two-three weeks. So, the cost of truly uninterruptable
power must be added to support these tests.

All this adds up to the cost of driver development and testing for smaller
shops (and smaller customers…). One must amortize the cost of heavy-duty
test machines into contracts. Customers must realize that some of the
testing costs, unattended or not, involves use of dedicated, expensive
resources.

I’m still paying off the costs of two four-way machines I bought for testing
about two years ago. Of course, they are no longer the “perfect” testbeds
that I thought they were when I bought them… :frowning:

Thomas F. Divine

> To quote from NT Insider last year “The driver writer version of Murphy’s
> law states: ‘Your customer will be running your software on a computer
> with more CPUs than you have’”
>
>
> –
> Don Burn (MVP, Windows DDK)
> Windows 2k/XP/2k3 Filesystem and Driver Consulting
> http://www.windrvr.com
> Remove StopSpam from the email to reply
>
>
>
>

Did those 1, 000, 000 machines pay off? If they were not client funded,
I seriously doubt it. Do the right thing doesn’t mean a great in deal
in the face of numbers like that, or evern 30, 000. I am no longer a
consultant, but when I was this definitely fell in to the category of
client responsibility. This was never an issue, because it’s kind of
like a wedding - mention the word and everything costs more, top to
bottom, starting with the with the licensing of the operating system;
why should we be any different. It is just unreasonable for a client to
expect a consultant to pay for something like this. If they have
difficulty seeing this, encourage them to exercise their right to shop
elsewhere. If they do so, they will have a new understanding of the
problem.

MM

>> xxxxx@hotmail.com 2006-08-17 09:45 >>>

“Don Burn” wrote in message news:xxxxx@ntdev…
>
> “David J. Craig” wrote in message
> news:xxxxx@ntdev…
>> Why not just get a multi-CPU system with dual-core CPUs? It looks
like
>> the best of both worlds. Especially that motherboard that supports
8
>> Opterons with dual-cores and 16GB of memory per processor. Too bad
it
>> would cost both arms and both legs.
>
> While it would cost more than what is practical for every developer
the
> price of such systems is coming down. A friend of mine priced this
based
> on the retail component prices as around $50,000, which a few years
ago
> was the price of a 4P system. There is a firm that offers a
workstation
> that can be built up to this level starting at less than $30,000.
>
> So who cares, those of us developing drivers should. It means that
16 and
> 32 way systems that used to be in the “Datacenter” category are now
> entering the mainstream. Where prices for a 16 and 32 way used to
start
> over $1,000,000 five years ago, they are now 1/20 of that. I used
> Datacenter since WHQL had a seperate program for testing high end
systems
> (8P and greater), this testing included weeks of system stress test
with
> all the drivers. I wonder how many of us, test our driver will run 3

> weeks or more without a failure?
>

We should all strive for the highest level of reliability and testing
that
is “practical”.

At my shop it would not only be the cost of the basic test-machine, but
also
the infrastructure to support it. At my location because of heavy
thunderstorms/lightning it is likely that power would go down at least
once
over a period of two-three weeks. So, the cost of truly uninterruptable

power must be added to support these tests.

All this adds up to the cost of driver development and testing for
smaller
shops (and smaller customers…). One must amortize the cost of
heavy-duty
test machines into contracts. Customers must realize that some of the
testing costs, unattended or not, involves use of dedicated, expensive

resources.

I’m still paying off the costs of two four-way machines I bought for
testing
about two years ago. Of course, they are no longer the “perfect”
testbeds
that I thought they were when I bought them… :frowning:

Thomas F. Divine

> To quote from NT Insider last year “The driver writer version of
Murphy’s
> law states: ‘Your customer will be running your software on a
computer
> with more CPUs than you have’”
>
>
> –
> Don Burn (MVP, Windows DDK)
> Windows 2k/XP/2k3 Filesystem and Driver Consulting
> http://www.windrvr.com
> Remove StopSpam from the email to reply
>
>
>
>


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

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

“Martin O’Brien” wrote in message
news:xxxxx@ntdev…
> Did those 1, 000, 000 machines pay off? If they were not client funded,
> I seriously doubt it. Do the right thing doesn’t mean a great in deal
> in the face of numbers like that, or evern 30, 000. I am no longer a
> consultant, but when I was this definitely fell in to the category of
> client responsibility. This was never an issue, because it’s kind of
> like a wedding - mention the word and everything costs more, top to
> bottom, starting with the with the licensing of the operating system;
> why should we be any different. It is just unreasonable for a client to
> expect a consultant to pay for something like this. If they have
> difficulty seeing this, encourage them to exercise their right to shop
> elsewhere. If they do so, they will have a new understanding of the
> problem.
>
> MM

Actually, I have problems with customers in getting them to buy 2P machines!
I actually had an arrangement for a while where I was able to borrow a
32-way on weekends, not a long time, but you can find things this way! My
point was more that we should be thinking of 4P as the norm with 8P comming,
and yes we can be bitten by bigger systems.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply

DON:

I agree with you 100% that they reveal issues that one is very unlikely
to find any other way. I can’t say I agree, based on my experiences,
with 4P being the norm. You apparently have a different type of
customers than I used to have - while mine generally did not want to pay
for, say, a month dedicated to testing, which they considered
profligate, they were usually more than ready to shell out the bucks for
hardware, that it wouldn’t really be put to cost effective use without
the time for testing notwithstanding. In fact, the phenomenon was more
general - $3, 000 for SoftICE (back when I used to use it), no way; $20,
000 test machine, mandatory.

MM

>> xxxxx@acm.org 2006-08-17 16:53 >>>

“Martin O’Brien” wrote in message
news:xxxxx@ntdev…
> Did those 1, 000, 000 machines pay off? If they were not client
funded,
> I seriously doubt it. Do the right thing doesn’t mean a great in
deal
> in the face of numbers like that, or evern 30, 000. I am no longer
a
> consultant, but when I was this definitely fell in to the category
of
> client responsibility. This was never an issue, because it’s kind
of
> like a wedding - mention the word and everything costs more, top to
> bottom, starting with the with the licensing of the operating
system;
> why should we be any different. It is just unreasonable for a client
to
> expect a consultant to pay for something like this. If they have
> difficulty seeing this, encourage them to exercise their right to
shop
> elsewhere. If they do so, they will have a new understanding of the
> problem.
>
> MM

Actually, I have problems with customers in getting them to buy 2P
machines!
I actually had an arrangement for a while where I was able to borrow a

32-way on weekends, not a long time, but you can find things this way!
My
point was more that we should be thinking of 4P as the norm with 8P
comming,
and yes we can be bitten by bigger systems.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply


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

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

> many who read this group. If I understand it correctly, if there are more

than one thread waiting for a spinlock or get to the spinlock at the same
time which thread succeeds is undetermined.

Determined with the queued spinlock. The first contender will be the next one
to pass the lock.

Also, with queued spinlock, each CPU spins on its local variable.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com