Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hyper-Threading Technology (more profile data)

Author: Robert Hyatt

Date: 06:49:46 03/08/03

Go up one level in this thread


On March 08, 2003 at 02:54:29, Matt Taylor wrote:

>On March 08, 2003 at 01:01:08, Robert Hyatt wrote:
>
>>On March 07, 2003 at 23:44:04, Keith Evans wrote:
>>
>>>On March 07, 2003 at 23:27:09, Robert Hyatt wrote:
>>>
>>>>On March 07, 2003 at 10:27:50, Keith Evans wrote:
>>>>
>>>>>On March 06, 2003 at 16:59:34, Robert Hyatt wrote:
>>>>>
>>>>>>On March 06, 2003 at 16:36:15, Robert Hyatt wrote:
>>>>>>
>>>>>>Here is some additional profile data.  This is a couple of weeks old, but it was
>>>>>>produced by
>>>>>>running the "bench" command so anyone should be able to reproduce these numbers
>>>>>>using
>>>>>>whatever compiler they want.  I used gcc as the person that asked for this data
>>>>>>a couple of
>>>>>>weeks ago was also using gcc and I thought it easier to keep the same compiler
>>>>>>for both of
>>>>>>us.
>>>>>>
>>>>>>  5.27     46.72     5.56 24487027     0.00     0.00  HashProbe
>>>>>>  0.81     95.91     0.85 19234964     0.00     0.00  HashStore
>>>>>>
>>>>>>This is using the 6 benchmark positions which has a couple of endgame positions
>>>>>>that
>>>>>>makes hashing more important.  Total = 6.08%.  If you eliminate hashing totally,
>>>>>>the
>>>>>>program will go from 2.16M NPS to 2.16/.9392 which is a grand total of 2.3M
>>>>>>nodes
>>>>>>per second, a _far_ cry from that 3M you were talking about.
>>>>>>
>>>>>>_your_ hash overhead might be 33%, but mine is not.
>>>>>>
>>>>>>I have no idea where you get your numbers from, but it is _clear_ that you don't
>>>>>>get
>>>>>>'em from computers...
>>>>>>
>>>>>>For anyone wanting to produce the above numbers, compile crafty with -pg for CC
>>>>>>and CX
>>>>>>flags (in addition to other options as already used) and add -pg to the LD
>>>>>>options as well.
>>>>>>Compile it using the Makefile you just modified, then type "crafty" "bench" and
>>>>>>when it
>>>>>>finishes "end".  Then type "gprof crafty" and you'll see the percent of the time
>>>>>>spent in each
>>>>>>distinctly named procedure...
>>>>>>
>>>>>>Simple.  Easy.  More accurate than guesswork and hand-waving.
>>>>>
>>>>>In case this matters...
>>>>>
>>>>>What Linux distribution are you running? Is there anything to watch out for
>>>>>when setting up a box to support HT besides BIOS settings?
>>>>>
>>>>>Regards,
>>>>>Keith
>>>>
>>>>
>>>>I use redhat.  8.0 at the moment.  No particular reason other than Ingo (Molnar)
>>>>and I were working on a SMP bug on an ALR box I used to have (quad pentium pro
>>>>box several years ago) and I switched to Red Hat as that was what he was
>>>>running, and it made life easier as we exchanged kernel executables over the
>>>>net.
>>>>
>>>>Nothing to worry about other than the current 2.4 kernels recognize hyper-
>>>>threading, but they are not "optimized" for it yet.  IE if you run two compute-
>>>>bound processes, you might get both on one physical or one on each physical
>>>>CPU, and it is based on basically random luck.  This will be fixed in future
>>>>versions, and has been fixed in patches for some of the developmental kernels
>>>>(2.5.x)
>>>
>>>Thanks for the information. Hopefully we'll some new dual Xeon boxes at work
>>>fairly soon and I can give it a try. Good way to break it in before doing
>>>serious
>>>ASIC development on it.
>>>
>>>I'll probably be running RedHat 7.2 since that's what Synopsys officially
>>>supports
>>>and if you run anything else they don't like to support you. That's using
>>>a 2.4.18 kernel which I hope is considered current.
>>>
>>>Regards,
>>>Keith
>>
>>
>>I've been running 2.4.20 for a long while now.  2.4.21 is pretty close to
>>being released if it has not already.
>>
>>I _think_ 2.4.18 was the first to support SMT.
>
>From what I understand, HT is completely a BIOS issue as the hardware looks like
>SMP to the software. Each physical CPU has a seperate APIC, and the MP tables
>get initialized with 1 entry per physical CPU. The ACPI tables should also
>reflect the presence of another CPU.
>
>-Matt


Yes, but the second (logical) cpu is detected differently.  If you use an older
linux kernel, you just see two physical processors, not four.  I'm not certain
about the version, but I _believe_ Alan told me that 2.4.18 was the first that
would work correctly...



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.