Simon Hughes
Check me out on the web at my blog.
Lead developer at www.bybox.com
Love multi-threading and design patterns.
Guru at C++, C# and SQL.
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
endpoint.tv - PDC Hands On Lab Cast - Lab 6 - Deploy and Manage Workflow Services
Oct 29, 2008 at 1:59 PMMark Russinovich: Inside Windows 7
Oct 29, 2008 at 7:34 AMI'd like windows to not do a context swtich on a thread when its doing disk i/o. i want it to hold onto the thread for say 500ms, instead of 20ms as this gives the disk more time to read/write.
If each thread is accessing a file, the whole thing slows down to a crawl as the hard disc read head has to jump to each file every 20ms. It would be MUCH better if the operating system could allocate more time to read a file before it allowed a context switch. say 500ms. that would allow more data to be retrieved from the hard disc, less head thrash, less time waiting for the head to move, and performance would go up greatly.
Just try creating 2 or more zip archives at the same time, then time it again but only doing 1 at a time. Winrar has a feature where it will wait (probably using a global mutex) for other winrar windows to finish before the next one starts.
You can context switch CPU threads till the cows come home, but a phsical device needs more time to read/write when the head arrives.
Parallel Computing Platform: An Integrated Approach to Tooling
Oct 29, 2008 at 7:24 AMYou have to be careful with parallel execution when it comes to disk I/O.
If each thread is accessing a file, the whole thing slows down to a crawl as the hard disc read head has to jump to each file every 20ms. It would be MUCH better if the operating system could allocate more time to read a file before it allowed a context switch. say 500ms. that would allow more data to be retrieved from the hard disc, less head thrash, less time waiting for the head to move, and performance would go up greatly.
Just try creating 2 or more zip archives at the same time, then time it again but only doing 1 at a time. Winrar has a feature where it will wait (probably using a global mutex) for other winrar windows to finish before the next one starts.
You can context switch CPU threads till the cows come home, but a phsical device needs more time to read/write when the head arrives.