I wonder what will be faster
1) running 2 cases with no-HT and when they finish run 2 more cases or
2) run 4 cases simultaneously with HT enabled.
Trying to read up on the hyperthreading but I have not been able to conclude which will be faster without testing which I have not done yet.
Any comments appreciated.
test case of application described above.
HT disabled. computation time: 138 minutes for 1 case
HT enabled. computation time: 194 minutes for 1 case
slowdown=(194-138)/138 ~= 40%
So in my case I am better off running 4 cases with HT enabled.
hope this is helpful for someone.
to check ...
With HT it may be more of a case of higher throughput, than better (raw) performance. That is, if one task takes 5 seconds to run, but with HT on I can get two tasks to run in 8 seconds, my average per task is 4 seconds. I'm getting my per task results slower, but I'm getting two tasks done in less time that it would take to do both in serial.
Running two tasks (or four) in parallel like this may cause problems with memory space and contention for I/O or other shared resources. These problems can be detrimental and may cause my two tasks to run in 12 seconds, which would tell me that these would be better run in serial.
So, it's always best to run some tests, like Jorgen did, before deciding how to utilize HT.