Linux vs Windows Performance

Message boards : Number crunching : Linux vs Windows Performance
Message board moderation

To post messages, you must log in.

AuthorMessage
Arthur L. Smith

Send message
Joined: 17 Apr 02
Posts: 28
Credit: 244,050,922
RAC: 9
United States
Message 1482301 - Posted: 27 Feb 2014, 14:59:21 UTC

Over the years, I have noticed a performance impact on linux computers versus identical hardware running windows. The linux clients perform at about 80% compared to windows. Has anyone else noticed this and have any performance tuning recommendations?

I have accumulated many machines with no hard disks and have build linux seti appliances that run off CD. On boot, they download the latest boinc client from a local server, copy over necessary xml and config files, download the appropriate lunatics apps and app_info based on cpu specs, and start boinc all automatically.

I would like to see these seti appliances have benchmarks closer to their windows peers.

Any thoughts?

Scott
ID: 1482301 · Report as offensive
Profile HAL9000
Volunteer tester
Avatar

Send message
Joined: 11 Sep 99
Posts: 6534
Credit: 196,805,888
RAC: 57
United States
Message 1482311 - Posted: 27 Feb 2014, 15:18:45 UTC

I did notice this myself.
There may be something in this older thread that could be of assistance. How much slower is Ubuntu?
SETI@home classic workunits: 93,865 CPU time: 863,447 hours
Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[
ID: 1482311 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14650
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1482313 - Posted: 27 Feb 2014, 15:25:42 UTC - in response to Message 1482301.  

1) Don't confuse benchmarks with actual, real-world, throughput. Ignore the benchmarks - try to find two computers, running comparable applications (same degree of optimisation, like SIMD instruction set used) and working on comparable SETI tasks (look for the 'True Angle Range' figure in the stderr_txt output). That's the only really important comparison.

2) We had a long discussion with a similar title many, many years ago - sparked off by a volunteer with a single computer, dual-booted into the two operating systems - so absolutely and directly comparable. In that case, Linux was nearer 50% slower: it turned out the be because linux was running the 'low priority' BOINC applications in a low-power, cool-running mode, whereas Windows was keeping the CPU running at full power. Once Linux was tuned to use full CPU power, the times became comparable.
ID: 1482313 · Report as offensive
Chris Adamek
Volunteer tester

Send message
Joined: 15 May 99
Posts: 251
Credit: 434,772,072
RAC: 236
United States
Message 1482322 - Posted: 27 Feb 2014, 16:12:29 UTC - in response to Message 1482313.  

I've noticed the same thing with Mac OS versions of the CPU apps (which are often based on Linux versions) run a decent clip slower than similar work units on my Windows machines. I'd say AP's can be as much as 40-50% slower with the same base build number. MB v6 ran about the same speed, but v7 I know still has not seen an "optimized" non-stock version released so they are running about half the speed as well.

Chris
ID: 1482322 · Report as offensive
Arthur L. Smith

Send message
Joined: 17 Apr 02
Posts: 28
Credit: 244,050,922
RAC: 9
United States
Message 1482324 - Posted: 27 Feb 2014, 16:19:04 UTC - in response to Message 1482313.  

Thanks Richard and HAL,

The power settings sound like a valid explanation and I will see if I can modify them though this will require rebuilding the image with additional packages. These clients are all runlevel 3 without any power packages (powertop, cpupower, etc). It's a minimal linux build. I see no indication of any power saving processes (monitor is always on etc.). Do you thinking adding such packages and customizing the power settings will achieve better performance (RAC)?

So in comparing the stderr output files I did find a discrepancy. Windows (32 bit) is running SSSE3 MB app. My linux client (64 bit) is only running SSE2 MB app. What I've discovered is that /proc/cpuinfo only has a flag for ssse3 not sse3. My script to detect the correct MB app is looking for "sse3" which does not exist. I did this to match the file names and did not realize the "sse3" mb app can be "used with sse3 or higher" and never noticed ssse3 which appears later in the flag listing.

Anyway, first thing I need to do is rewrite the script to look for "ssse3" at which point it will install the ssse3 app not the sse2 app. Will fix that before investigating the power settings, but thank you for the lead.
ID: 1482324 · Report as offensive
Profile ivan
Volunteer tester
Avatar

Send message
Joined: 5 Mar 01
Posts: 783
Credit: 348,560,338
RAC: 223
United Kingdom
Message 1482328 - Posted: 27 Feb 2014, 16:26:51 UTC - in response to Message 1482324.  

Windows (32 bit) is running SSSE3 MB app. My linux client (64 bit) is only running SSE2 MB app. What I've discovered is that /proc/cpuinfo only has a flag for ssse3 not sse3. My script to detect the correct MB app is looking for "sse3" which does not exist. I did this to match the file names and did not realize the "sse3" mb app can be "used with sse3 or higher" and never noticed ssse3 which appears later in the flag listing.

Anyway, first thing I need to do is rewrite the script to look for "ssse3" at which point it will install the ssse3 app not the sse2 app. Will fix that before investigating the power settings, but thank you for the lead.

SSE3 is sometimes flagged by the CPU as PNI (Prescott New Instructions).
ID: 1482328 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14650
Credit: 200,643,578
RAC: 874
United Kingdom
Message 1482350 - Posted: 27 Feb 2014, 17:15:28 UTC - in response to Message 1482324.  

Thanks Richard and HAL,

The power settings sound like a valid explanation and I will see if I can modify them though this will require rebuilding the image with additional packages. These clients are all runlevel 3 without any power packages (powertop, cpupower, etc). It's a minimal linux build. I see no indication of any power saving processes (monitor is always on etc.). Do you thinking adding such packages and customizing the power settings will achieve better performance (RAC)?

So in comparing the stderr output files I did find a discrepancy. Windows (32 bit) is running SSSE3 MB app. My linux client (64 bit) is only running SSE2 MB app. What I've discovered is that /proc/cpuinfo only has a flag for ssse3 not sse3. My script to detect the correct MB app is looking for "sse3" which does not exist. I did this to match the file names and did not realize the "sse3" mb app can be "used with sse3 or higher" and never noticed ssse3 which appears later in the flag listing.

Anyway, first thing I need to do is rewrite the script to look for "ssse3" at which point it will install the ssse3 app not the sse2 app. Will fix that before investigating the power settings, but thank you for the lead.

I've found the old thread. Read Toby at Message 725163 - he fixed it with

sudo cpufreq-selector -g performance

(Ubuntu) - no packages or rebuilding.

(March 2008 ! )
ID: 1482350 · Report as offensive
Juha
Volunteer tester

Send message
Joined: 7 Mar 04
Posts: 388
Credit: 1,857,738
RAC: 0
Finland
Message 1482413 - Posted: 27 Feb 2014, 18:41:16 UTC - in response to Message 1482324.  

The power settings sound like a valid explanation and I will see if I can modify them though this will require rebuilding the image with additional packages. These clients are all runlevel 3 without any power packages (powertop, cpupower, etc). It's a minimal linux build. I see no indication of any power saving processes (monitor is always on etc.). Do you thinking adding such packages and customizing the power settings will achieve better performance (RAC)?

If you don't want to install additional packages you can also poke the /sys interfaces yourself. ArchWiki has a good page on the CPU Frequency Scaling.
ID: 1482413 · Report as offensive
Profile ausymark

Send message
Joined: 9 Aug 99
Posts: 95
Credit: 10,175,128
RAC: 0
Australia
Message 1485294 - Posted: 6 Mar 2014, 12:38:38 UTC - in response to Message 1482301.  

in BOINCS cc_config.xml file, look for the line:

<no_priority_change>0</no_priority_change>

and change the "0" to "1" so its:

<no_priority_change>1</no_priority_change>

Then save the file, stop the client apps and restart boinc.

This runs SETI, and other BOINC launched apps, at the same priority level as the BOINC client. Normally these apps run at the super nice level to cause the lowest system impact and not interfere with the user.

So if your system becomes sluggish change the setting back and restart BOINC and its clients.

I hope this helps :)
ID: 1485294 · Report as offensive

Message boards : Number crunching : Linux vs Windows Performance


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.