Dear friend,<br><br>thank you for your reply in detail.<br><br>I also tested my servers using cp.x code with 5 steps running.<br><br>The conclusion is Hyper-threading of Xeon E5520 will result in a small decrease of the performance.<br>
When the Hyper-threading is switched on in BIOS,<br>two nodes with 32 process parallelly calculating the task will consume  2m19.41s CPU time,     6m37.24s wall time<br>two nodes with 16 process parallelly calculating the task will consume 3m 7.28s CPU time,     7m 0.30s wall time<br>
one node with 16 process parallelly calculating the task will consume  5m30.79s CPU time,     6m18.88s wall time<br>one node with 8 process parallelly calculating the task will consume  5m 2.42s CPU time,     8m50.53s wall time<br>
But when we switched off the Hyper-threading in BIOS,<br>one node with 8 process parallelly calculating the task will consume 5m28.05s CPU time,     5m58.40s wall time<br>two nodes with 16 process parallelly calculating the task will consume 2m32.28s CPU time,     6m16.31s wall tim<br>
<br>thank you again for your time.<br><br>best,<br><br>vega<br><br><div class="gmail_quote">On Sun, Nov 29, 2009 at 4:59 PM, O. Baris Malcioglu <span dir="ltr"><<a href="mailto:baris.malcioglu@gmail.com">baris.malcioglu@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Dear Vega,<br>
<br>
I am afraid what you are asking is a bit technical question that is<br>
not strictly related to Quantum Espresso. Perhaps the many discussions<br>
and benchmarks in the forums regarding the benefits/losses of<br>
hyper-threading in HPC environments may be of more use to you.<br>
<br>
If it will really help my "enthusiast" level, maybe outdated viewpoint<br>
on the matter is this.<br>
<br>
The cores enabled by Hyper-threading are not as performing as a "real"<br>
core, thus you obtain two somewhat crippled cores instead of one<br>
performing core.<br>
<br>
Now, if your memory bandwith is enough, and your program can take care<br>
of parallelization effectively this is a nice thing, it really makes<br>
things faster.<br>
<br>
But if your memory bandwith is not so high, you are wasting it for<br>
some crippled cores. If the program you are using is intensive on the<br>
memory, this is quite a bad thing no matter how well parallelized it<br>
is.<br>
<br>
Most of the server architectures like XEON are optimized for<br>
relialibility, and you will notice that most boards out there offer<br>
significantly less memory bandwith, especially if there are error<br>
correction measures, compared to their desktop equivalents.<br>
<br>
Adding this the fact that this already low bandwith is shared by many<br>
other cores, the memory bandwith becomes a very very precious resource<br>
in a server used in number crunching.<br>
<br>
Now, the performance of QE in such an environment will depend on how<br>
you use and compile it.<br>
<br>
In my experience using the "standart" parallelization with lapack/blas<br>
the QE is intensive on the memory of the cores, but somewhat light on<br>
the inter-core communication. In this case, the hyperthrading will<br>
probably slow things down on the single job level (Remember, HPCs are<br>
multi-user environments, if you have many users, although somewhat<br>
slow on the job level, hyperthreading might still be beneficial due to<br>
higher number of jobs accepted per unit time)<br>
<br>
Although I have not yet tested myself, threading instead of spawning<br>
processes like the openMP parallelization should work much better on<br>
the per job level in a hyper-threading environment, of course,<br>
provided you have proper threaded libraries installed and configured.<br>
For example MKL has threading support.<br>
<br>
So in short, if you are the single user of that machine, try OpenMP +<br>
threaded libraries. If it doesn't help try switching hyper threading<br>
off and compare your benchmarks. If you have many users, it is<br>
probably better to leave it on.<br>
<br>
I hope this helps,<br>
<br>
Best,<br>
Baris<br>
<br>
<br>
2009/11/26 vega lew <<a href="mailto:quantumdft@gmail.com">quantumdft@gmail.com</a>>:<br>
<div><div></div><div class="h5">> Dear all,<br>
><br>
> I got 5 computers with two XEON 5520 and 24G memory. I find the<br>
> Hyper-Threading is switched on by default. I wonder if QE could benefit from<br>
> Hyper-Threading Tech. of Xeon CPUs?<br>
> Should I switch it off and trigger one process for each core to promote the<br>
> QE performance?<br>
> Or remain the Hyper-Threading on and trigger two processes for each core?<br>
><br>
> best<br>
><br>
> vega<br>
><br>
> --<br>
> ==================================================================================<br>
> Vega Lew ( weijia liu)<br>
> Graduate student<br>
> State Key Laboratory of Materials-oriented Chemical Engineering<br>
> College of Chemistry and Chemical Engineering<br>
> Nanjing University of Technology, 210009, Nanjing, Jiangsu, China<br>
> ******************************************************************************************************************<br>
> Email: <a href="mailto:vegalew@gmail.com">vegalew@gmail.com</a><br>
> Office: Room A705, Technical Innovation Building, Xinmofan Road 5#, Nanjing,<br>
> Jiangsu, China<br>
> ******************************************************************************************************************<br>
><br>
</div></div><div><div></div><div class="h5">> _______________________________________________<br>
> Pw_forum mailing list<br>
> <a href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a><br>
> <a href="http://www.democritos.it/mailman/listinfo/pw_forum" target="_blank">http://www.democritos.it/mailman/listinfo/pw_forum</a><br>
><br>
><br>
_______________________________________________<br>
Pw_forum mailing list<br>
<a href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a><br>
<a href="http://www.democritos.it/mailman/listinfo/pw_forum" target="_blank">http://www.democritos.it/mailman/listinfo/pw_forum</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>==================================================================================<br>Vega Lew ( weijia liu)<br>Graduate student<br>State Key Laboratory of Materials-oriented Chemical Engineering<br>
College of Chemistry and Chemical Engineering<br>Nanjing University of Technology, 210009, Nanjing, Jiangsu, China<br>******************************************************************************************************************<br>
Email: <a href="mailto:vegalew@gmail.com">vegalew@gmail.com</a><br>Office: Room A705, Technical Innovation Building, Xinmofan Road 5#, Nanjing, Jiangsu, China  <br>****************************************************************************************************************** <br>