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?
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 > >
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?
----- 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.
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.
“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…
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.
“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…
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 > > > >
“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
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.
“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