Advanced search

Message boards : Number Crunching : 32 bit Linux faster than 64 bit Linux?

Author Message
Profile Charles Dennett
Avatar
Send message
Joined: 10 Aug 14
Posts: 39
Combined Credit: 354,259
DNA@Home: 219,783
SubsetSum@Home: 134,472
Wildlife@Home: 4
Wildlife@Home Watched: 0s
Wildlife@Home Events: 0
Climate Tweets: 0
Images Observed: 0

    
Message 4524 - Posted: 22 Sep 2014, 15:14:49 UTC

I have a few systems, all Linux running Fedora 20, crunching away. My main systems is a 4 core, 64 bit desktop system. Two others are old Dell laptops with 32 bit cores that have older, slower processors.

This is the 64 bit 4 core system:
GenuineIntel Intel(R) Core(TM)2 Quad CPU Q6700 @ 2.66GHz [Family 6 Model 15 Stepping 11] (4 processors)

This is one of the 32 bit systems:
GenuineIntel Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz [Family 6 Model 15 Stepping 13] (2 processors)

The 64 bit system is using about 9700 cpu seconds (not wall time) per task.

The 32 bit system is taking about 6600 cpu seconds per task. Tasks are from the same batch.

So the older slower 32 bit system is better than the faster 64 bit system. Maybe the 32 bit binary is optimized better? Any chance of optimizing the 64 bit binary? Or am I missing something here?

Charlie
____________

Travis Desell
Volunteer moderator
Project administrator
Project developer
Project scientist
Send message
Joined: 16 Jan 12
Posts: 1813
Combined Credit: 23,514,257
DNA@Home: 293,563
SubsetSum@Home: 349,212
Wildlife@Home: 22,871,482
Wildlife@Home Watched: 212,926s
Wildlife@Home Events: 51
Climate Tweets: 23
Images Observed: 774

              
Message 4525 - Posted: 22 Sep 2014, 16:06:12 UTC - in response to Message 4524.

I have a few systems, all Linux running Fedora 20, crunching away. My main systems is a 4 core, 64 bit desktop system. Two others are old Dell laptops with 32 bit cores that have older, slower processors.

This is the 64 bit 4 core system:
GenuineIntel Intel(R) Core(TM)2 Quad CPU Q6700 @ 2.66GHz [Family 6 Model 15 Stepping 11] (4 processors)

This is one of the 32 bit systems:
GenuineIntel Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz [Family 6 Model 15 Stepping 13] (2 processors)

The 64 bit system is using about 9700 cpu seconds (not wall time) per task.

The 32 bit system is taking about 6600 cpu seconds per task. Tasks are from the same batch.

So the older slower 32 bit system is better than the faster 64 bit system. Maybe the 32 bit binary is optimized better? Any chance of optimizing the 64 bit binary? Or am I missing something here?

Charlie



Weird! Yeah I can look into optimizing the 64 bit binary... That is quite strange. Is everything validating without a problem?

Profile Charles Dennett
Avatar
Send message
Joined: 10 Aug 14
Posts: 39
Combined Credit: 354,259
DNA@Home: 219,783
SubsetSum@Home: 134,472
Wildlife@Home: 4
Wildlife@Home Watched: 0s
Wildlife@Home Events: 0
Climate Tweets: 0
Images Observed: 0

    
Message 4527 - Posted: 22 Sep 2014, 16:37:29 UTC - in response to Message 4525.

Yes, no problem that I've seen with validation.

Charlie
____________

Profile Charles Dennett
Avatar
Send message
Joined: 10 Aug 14
Posts: 39
Combined Credit: 354,259
DNA@Home: 219,783
SubsetSum@Home: 134,472
Wildlife@Home: 4
Wildlife@Home Watched: 0s
Wildlife@Home Events: 0
Climate Tweets: 0
Images Observed: 0

    
Message 4534 - Posted: 22 Sep 2014, 17:49:16 UTC

One thing I noticed. The 64 bit version is dynamically linked whereas the 32 bit one is statically linked:

[charlie@oak volunteer.cs.und.edu_csg]$ file Gibbs_0.42_x86_64-pc-linux-gnu
Gibbs_0.42_x86_64-pc-linux-gnu: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=5d5795b1935af0d224f1908fc4f2d772b6402539, not stripped


[charlie@cherry volunteer.cs.und.edu_csg]$ file Gibbs_0.42_i686-pc-linux-gnu
Gibbs_0.42_i686-pc-linux-gnu: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.24, BuildID[sha1]=ed5c3188085b62896462553cff0dbab1efd9a71b, not stripped
____________

Profile Charles Dennett
Avatar
Send message
Joined: 10 Aug 14
Posts: 39
Combined Credit: 354,259
DNA@Home: 219,783
SubsetSum@Home: 134,472
Wildlife@Home: 4
Wildlife@Home Watched: 0s
Wildlife@Home Events: 0
Climate Tweets: 0
Images Observed: 0

    
Message 4540 - Posted: 23 Sep 2014, 12:49:12 UTC

After running overnight, something has changed. CPU times for 64 bit Linux tasks suddenly dropped to the 3800 second range for me. I've been looking at the stderr.txt output reported and noticed some differences in format. For example, look at (both ran for 9600 seconds or so.:

http://volunteer.cs.und.edu/csg/result.php?resultid=116169

and

http://volunteer.cs.und.edu/csg/result.php?resultid=116426

and here is one that ran at about 3800 seconds:

http://volunteer.cs.und.edu/csg/result.php?resultid=123053

The cpu times for my 3 32 bit Linux systems have remained about the same. No large changes in cpu times for the tasks.

For now I'll assume its a difference in the tasks. When he gets a chance (no rush) Travis can explain how the tasks work and what different things may affect run times.

Charlie
____________

Profile Charles Dennett
Avatar
Send message
Joined: 10 Aug 14
Posts: 39
Combined Credit: 354,259
DNA@Home: 219,783
SubsetSum@Home: 134,472
Wildlife@Home: 4
Wildlife@Home Watched: 0s
Wildlife@Home Events: 0
Climate Tweets: 0
Images Observed: 0

    
Message 4678 - Posted: 12 Oct 2014, 18:49:28 UTC
Last modified: 12 Oct 2014, 19:03:00 UTC

I've discovered something new related to this problem I noted a while ago.

My main cruncher is a 4 core Linux system. I crunch 5 different projects, one of which is DNA@home. All had been set to have an equal share (100). A DNA@Home task takes just over an hour of cpu (not wall) time. Normally I never see multiple tasks from the same project crunching at the same time.

Earlier today I raised the share for DNA@Home from 100 to 200. This caused it to start crunching multiple DNA@Home tasks at the same time. At one point all four cores were each crunching on a DNA@Home task. When that happened, cpu time for the tasks increased to over 3 hours per task. As I type this two tasks have been completed and two are still crunching. The remaining two will be well over 2 hours cpu time each, and probably close to 3.

So, why, when the system is crunching multiple DNA@Home tasks at the same time on a multicore cpu, do the tasks use more cpu time than when only once task at a time is running? Something to do with dynamic vs. static libraries? There may be a little bit of swapping going on but not all that much from what I can tell, at least no more than normal.

Can this be easily explained or is there something more mysterious going on?

(EDIT): As each task finished (I have no more DNA@Home tasks waiting) the ones still running seemed to speed up so that they finished faster that the ones that had already finished but still well over the typical 1 hour cpu time.

Charlie
____________


Post to thread

Message boards : Number Crunching : 32 bit Linux faster than 64 bit Linux?