ClarkVision.com

To Clarkvision.com Galleries
Home Galleries Articles Reviews Best Gear Science New About Contact

Linux for Photographers Part X:
MS Windows versus Linux Resource Availability

by Roger N. Clark

This page shows some of the differences between MS Windows 7 and linux mint 16 and resources available to the user and how it might impact getting things done.

Linux for Photographers:


All images, text and data on this site are copyrighted.
They may not be used except by written permission from Roger N. Clark.
All rights reserved.

If you find the information on this site useful, please support Clarkvision and make a donation (link below).

Computer Resources

This page shows examples of computer usage between windows and linux. As a photographer, I want a computer that offloads memory cards and backs my data up to external hard drives as fast as possible. I want as many resources the computer has to do my tasks as fast as possible for the given hardware.

Some perspective. When I am on an intense photo shoot, time is critical to download and review my images. If I only had a few images, it would not be a big deal. Downloading and backing up with USB2 is so slow, it can be difficult to complete things in a short time. Also, if I am on vacation, do I want to spend my time downloading and backing up images? No. I want to be out doing things or relaxing.

On an intense photo trip, like an African safari, power is more often than not limited and one needs to download as fast as possible or one loses sleep, or runs out of battery power. It can become an issue if you can't get your images safely downloaded, backed up, reviewed and your laptop battery charged. On an African safari, one can easily get 800 to 1000 images per day. For example, on a 12 to 16 day safari, I'll return home with some 12,000 images.

Some modes of backup and review strategy are:

Reviewing is important to check for dust on sensor problems, that all systems working properly in an extreme environment, and technique is sound. Plus it is always gratifying to see when you get a great image.


Windows Resources

I have observed with multiple computers, both desktops and laptops of mine and others that windows always seems to be doing a lot in the background. That means resources that are not available for your tasks. If you have a windows computer, check this yourself by starting the resource manager.

Figures 1a, and 1b show screen captures (with a camera) of a newly installed windows 7 machine on an I7-3770 quad core computer running at 3.4 GHz with 16 GBytes of RAM. I simply logged in and this was over 24 hours after the install of the system and all updates. I started no tasks to do anything except start the resource monitor. I let the resource monitor run for several hours. The things going on in Figure 1a, 1b are typical of what I constantly observed for hours.

For very brief periods, the windows 7 activity would drop to a lower level of activity (Figure 2). But note this "low" level of activity lasts for short periods of seconds, not minutes, and still shows multiple threads doing disk I/O. In fact the snapshot in Figure 2 still shows 8 threads doing disk I/O and this was the lowest level I observed. The more typical activity shown in Figure 1a, 1b indicates HUNDREDS of threads doing disk I/O (note the scroll bar showing that only a small portion of the number of threads doing disk I/O is visible in the window)!!! I counted the number of threads the system was using and counted over 500 threads and I wasn't doing anything! Now, an I7-3770 quad core machine can process 2 threads per cpu so 8 threads can be executing simultaneously. That means that 550 operating system threads are competing for those 8 slots. And with dozens and dozens of threads actively doing disk I/O. Note too the constant network I/O, often jumping to 100+ kilobytes/second. The process list indicated all this activity is system processes, not other bloatware.


Figure 1a. Typical MS Windows 7 system activity with the user doing nothing. Why so much disk activity?


Figure 1b. Typical MS Windows 7 system activity with the user doing nothing. Why so much disk activity? And why all the network activity? Note too the page faults, peaking at over 100 pages faults/second. With 16-gigabytes of RAM, why does this happen?


Figure 2. MS Windows 7 minimum system activity with the user doing nothing. This low activity period would last only a few seconds, then return to the more typical level shown in Figure 1a, 1b. Why so much disk activity?

Linux Resources

Now compare the windows activity in Figures 1 to the linux activity shown by the vmstat monitor in Table 1. Key things to note: cpu id = idle cpu, and we see the cpu is 100% idle for the 90 second time tested. This is typical for the system when the users are not doing anything. The I/O columns, bi = blocks in and bo=block out. There was some activity for starting the vmstat program, then zero in and only 7 blocks out during the period. That means the disk is not in constant activity like in the windows system and pretty much all the cpu is available to users. Note too no page faults (the swap columns).

                        Table 1
vmstat 3
procs   -----------memory----------  ---swap--  -----io--- -system-- ----cpu----
 r  b   swpd   free    buff   cache    si   so    bi    bo   in   cs us sy id  wa
 0  0      0 11738876 221984 3571664    0    0     1    38   26   34  0  0 100  0
 0  0      0 11738864 221984 3571664    0    0     0     0  303  468  0  0 100  0
 0  1      0 11738864 221984 3571664    0    0     0     4  320  497  0  0 100  0
 0  0      0 11738864 221984 3571664    0    0     0     0  309  480  0  0 100  0
 0  0      0 11738724 221984 3571664    0    0     0     0  304  469  0  0 100  0
 0  0      0 11738724 221984 3571664    0    0     0     0  315  490  0  0 100  0
 0  0      0 11738724 221984 3571664    0    0     0     0  295  455  0  0 100  0
 0  0      0 11738708 221984 3571664    0    0     0     0  320  494  0  0 100  0
 0  0      0 11738708 221984 3571664    0    0     0     0  307  464  0  0 100  0
 0  0      0 11738708 221984 3571664    0    0     0     3  315  483  0  0 100  0
 0  0      0 11738692 221984 3571664    0    0     0     0  306  475  0  0 100  0
 0  0      0 11738692 221984 3571664    0    0     0     0  316  490  0  0 100  0
 0  0      0 11738692 221984 3571664    0    0     0     0  294  452  0  0 100  0
 0  0      0 11738692 221984 3571664    0    0     0     0  314  484  0  0 100  0
 0  0      0 11738676 221984 3571664    0    0     0     0  362  576  0  0 100  0
 0  0      0 11738676 221984 3571664    0    0     0     0  311  481  0  0 100  0
 0  0      0 11738676 221984 3571664    0    0     0     0  297  455  0  0 100  0
 0  0      0 11738660 221984 3571664    0    0     0     0  318  499  0  0 100  0
 0  0      0 11738660 221984 3571664    0    0     0     0  303  463  0  0 100  0
 0  0      0 11738660 221984 3571664    0    0     0     0  331  519  0  0 100  0
 0  0      0 11738660 221984 3571664    0    0     0     0  318  488  0  0 100  0
 0  0      0 11738644 221984 3571664    0    0     0     0  298  458  0  0 100  0
 0  0      0 11738644 221984 3571664    0    0     0     0  316  486  0  0 100  0
 0  0      0 11738628 221984 3571664    0    0     0     0  318  486  0  0 100  0
 0  0      0 11738628 221984 3571664    0    0     0     0  325  505  0  0 100  0
 0  0      0 11738628 221984 3571664    0    0     0     0  302  466  0  0 100  0
 0  0      0 11738628 221984 3571664    0    0     0     0  311  481  0  0 100  0

Notes: 30 lines of monitoring, 3 seconds/line = 90 seconds monitoring.

I/O: bi = blocks in and activity occurred when the vmstat program started
     bo = blocks out, and activity occurred when the vmstat program started
  There was no other I/O activity after the process started.

CPU: note the id column = idle.  The cpu remained 100% idle for the entire
90 second period.  That means the cpu was instantly available for your
tasks.

Real_World Performance: Offloading a Memory Card

Now let's look at actual performance in downloading image data from a CF card to the local disk. The CF card tested was an 800x Lexar 32 GByte card capable in theory of 120 MBytes/second read rates. I used a Lexar USB3 card reader and used the systems file managers to copy files. The windows computer achieved only 37.7 MBytes/second average transfer rate (Figure 3), while the SAME computer converted to linux (different disk drive but same specs) achieved 65.8 MBytes/second average transfer rate (Figure 4), or 1.75x faster.


Figure 3. Example MS Windows resources use during the download of a 32 GByte compact flash card. Note all the competing processes for cpu and disk I/O.


Figure 4. Example linux mint 16 data transfer rates observed using the same hardware as the windows machine in Figure 4, and transferring images from a 32 GByte compact flash memory card to the local hard drive.

The differences in speed is common in my experience with dozens of computers. I have taught advanced image processing courses to 30 professionals at a time and observed these same speed differences with multiple windows machines versus linux.

Conclusions

Windows has a huge amount of overhead, sucking resources from user processes. Linux does not have these issues and makes more resources available to the user, enabling work to get done faster.


If you find the information on this site useful, please support Clarkvision and make a donation (link below).

Linux for Photographers:


Home Galleries Articles Reviews Best Gear Science New About Contact

http://www.clarkvision.com/articles/linux.for.photographers.part-x

First Published December 15, 2013
Last updated October 25, 2014.