HighDots.NET Computer Hardware Forums  

Concurrent disk accesses slow in Windows XP

PC Storage Devices Hard drives & other PC storage devices discussions (comp.sys.ibm.pc.hardware.storage)


Discuss Concurrent disk accesses slow in Windows XP in the PC Storage Devices forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Pauldoo
 
Posts: n/a

Default Concurrent disk accesses slow in Windows XP - 05-15-2007 , 04:28 AM






Hi,
I have noticed very slow I/O performance in Windows XP while
performing certain tasks, and I have been able to write a small test
which reliably demonstrates the problem. I'd like to explain this
problem and ask if anyone knows a workaround or set of tweaks to
improve the situation.

I create two large files (each too large to fit in memory, so they are
not entirely cached), and attempt to read them back. When I read the
files from beginning to end, one after the other, I get certain
performance (around 35 MiB/s). When I change to reading each file in
the same way, but read both files concurrently using threads, the
performance drops to something miserable (around 1-2 MiB/s).

While running the latter test I can hear my hard disk thrash heavily,
it is clearly seeking backwards and forwards reading very little after
each seek. The same test under Linux (same hardware) results in the
parallel reads running only slightly slower than the sequential
(around 32 MiB/s total throughput), and the disk is clearly seeking
much less frequently. The same test on Mac OS X (different hardware)
has the same characteristic as Linux.

I have noticed this being a problem for real tasks. If I run any I/O
intensive operation in the background while attempting any moderate I/
O in the foreground the performance is unbearable. This typically
happens while compiling a large codebase.

My setup is Windows XP SP2 with a bog standard SATA disk and 2GiB of
RAM..

Does anyone know of any settings or tweaks I can apply to mitigate
this problem?


Reply With Quote
  #2  
Old   
Arno Wagner
 
Posts: n/a

Default Re: Concurrent disk accesses slow in Windows XP - 05-15-2007 , 06:38 AM






In comp.sys.ibm.pc.hardware.storage Pauldoo <paul.richards (AT) gmail (DOT) com> wrote:
Quote:
Hi,
I have noticed very slow I/O performance in Windows XP while
performing certain tasks, and I have been able to write a small test
which reliably demonstrates the problem. I'd like to explain this
problem and ask if anyone knows a workaround or set of tweaks to
improve the situation.

I create two large files (each too large to fit in memory, so they are
not entirely cached), and attempt to read them back. When I read the
files from beginning to end, one after the other, I get certain
performance (around 35 MiB/s). When I change to reading each file in
the same way, but read both files concurrently using threads, the
performance drops to something miserable (around 1-2 MiB/s).

While running the latter test I can hear my hard disk thrash heavily,
it is clearly seeking backwards and forwards reading very little after
each seek. The same test under Linux (same hardware) results in the
parallel reads running only slightly slower than the sequential
(around 32 MiB/s total throughput), and the disk is clearly seeking
much less frequently. The same test on Mac OS X (different hardware)
has the same characteristic as Linux.

I have noticed this being a problem for real tasks. If I run any I/O
intensive operation in the background while attempting any moderate I/
O in the foreground the performance is unbearable. This typically
happens while compiling a large codebase.

My setup is Windows XP SP2 with a bog standard SATA disk and 2GiB of
RAM..

Does anyone know of any settings or tweaks I can apply to mitigate
this problem?
The issue here is that UNIXes and UNIX-like OSes (such as Linux)
have long been optimized for multiple users running processes in
paralell. As an effect, reads are optimized and extensiv prefetching
is done. After all, reading a bit more cost not much more time, but the
seek is slow.

Microsoft is (again) lagging behind by decades with its technology.
They still expect you to run one thing only on your box.

The only reasonable solution I see is to put up separate disks
for separate tasks, so that only one process is reading per disk.
Or, alternatively, do your work on Linux ;-)

Arno


Reply With Quote
  #3  
Old   
Eric Gisin
 
Posts: n/a

Default Re: Concurrent disk accesses slow in Windows XP - 05-15-2007 , 10:06 AM



"Annie Wagner" <me (AT) privacy (DOT) net> wrote

Quote:
The issue here is that UNIXes and UNIX-like OSes (such as Linux)
have long been optimized for multiple users running processes in
paralell. As an effect, reads are optimized and extensiv prefetching
is done. After all, reading a bit more cost not much more time, but the
seek is slow.

Microsoft is (again) lagging behind by decades with its technology.
They still expect you to run one thing only on your box.

Annie shows himself to be a fucking moron yet again.
The read ahead in NT4 was way better than Linux,
at least 4 X 64KB. Current version are probably more.

Quote:
The only reasonable solution I see is to put up separate disks
for separate tasks, so that only one process is reading per disk.
Or, alternatively, do your work on Linux ;-)

Ignore the ignorant troll.




Reply With Quote
  #4  
Old   
Eric Gisin
 
Posts: n/a

Default Re: Concurrent disk accesses slow in Windows XP - 05-15-2007 , 10:10 AM



"Pauldoo" <paul.richards (AT) gmail (DOT) com> wrote

Quote:
Hi,
I have noticed very slow I/O performance in Windows XP while
performing certain tasks, and I have been able to write a small test
which reliably demonstrates the problem. I'd like to explain this
problem and ask if anyone knows a workaround or set of tweaks to
improve the situation.

I create two large files (each too large to fit in memory, so they are
not entirely cached), and attempt to read them back. When I read the
files from beginning to end, one after the other, I get certain
performance (around 35 MiB/s). When I change to reading each file in
the same way, but read both files concurrently using threads, the
performance drops to something miserable (around 1-2 MiB/s).

Are you using buffered or unbuffered I/O? Buffered lets the OS do read-ahead.
You can download filemon from microsoft to see how much.

Quote:
While running the latter test I can hear my hard disk thrash heavily,
it is clearly seeking backwards and forwards reading very little after
each seek. The same test under Linux (same hardware) results in the
parallel reads running only slightly slower than the sequential
(around 32 MiB/s total throughput), and the disk is clearly seeking
much less frequently. The same test on Mac OS X (different hardware)
has the same characteristic as Linux.




Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.