Re: Windows Scheduling on I/O bound systems with >2 cores/processo
- From: "Alexander Grigoriev" <alegr@xxxxxxxxxxxxx>
- Date: Mon, 10 Nov 2008 07:21:53 -0800
Does your device driver serialize read/write requests? If it's DMA, why the
processor usage have to be 100%? How many requests your device can execute
in parallel?
"kota" <kota@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:8F8AFF87-A15D-4EF4-BAEC-0FC6B8A5A92C@xxxxxxxxxxxxxxxx
Hi Alexander,
Thanks for your reply & here are the details:
Test: It is a load test, creating more processes and load the system.
Processes: Each process does the continuous read & write DMA operations
How the device is opened: Two device handles are opened, one for
overlapped
& other for non overlapped.
Non overlapped handle will be used in the places where it is not required.
Overlapped handle is used for read, write operations, though overlapped is
used here, it waits in DLL only until the operation is completed.
CPU usage: On <= 2 processor systems, both CPU's are loaded 100%.
On >2 processor, only the CPU's are 100%, which are executing the
processess.
Expections: Windows does the round robin scheduling, so we are verifying
that, all processes were able to do the read & write DMA.
This is observed for 10seconds.
But >2processor systems:
In this case, Only few processes are doing the read write operations &
other
processes never got a chance to run.
But <=2processor systems:
Tested with 512 processes also, it is observed that, all processes are
getting a chance to do some operations in 10sec interval.
Let me know, if you need any more info.
Thanks,
Prafulla
"Alexander Grigoriev" wrote:
Tell in more details, what do your processes do, and what are your
expectations. WHat CPU usage for each processor you observe. How the
device
handle is opened.
"kota" <kota@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:362FB487-9E4D-405A-93D1-EAFD6B2AA700@xxxxxxxxxxxxxxxx
Hi,
We are running Load test on our PCI IO card(WDF driver), we find
differnt
observations on >2cores/processor/hyper thread systems, here are the
observations:
The test spawns multiple processes and allows them to run a continuous
read
write loop for a fixed period of time.
On machines with <= 2 processors, cores or hyper threads the system
would
schedule the process in a round robin fashion. A process would get
scheduled
and run a pass of the read loop, then another process would do the same
thing.
==> This is working perfectly fine for dual core & tested till 256
processes.
On machines with >2 processors a single process would execute its read
loop
for several passes taking up to 10 seconds with the other process idle.
==> Not sure about why the windows XP os scheduling is differ on these
systems?
Using a PCI analyzer and an instrumented driver it was shown that on
the
failing system some process where getting starved
Any clues, suggestions are welocme.
This is tested only on XP-32 OS only, but we definetely wanted to work
on
xp-32 also.
Kindly let me know, if you need any more info.
Thanks,
Kota
.
- Follow-Ups:
- References:
- Prev by Date: Re: Printer driver - save document
- Next by Date: Re: Printer Driver hangs in installation on Vista
- Previous by thread: Re: Windows Scheduling on I/O bound systems with >2 cores/processo
- Next by thread: Re: Windows Scheduling on I/O bound systems with >2 cores/processo
- Index(es):
Relevant Pages
|