comp.lang.ada
 help / color / mirror / Atom feed
From: tmoran@acm.org
Subject: Re: puzzled re hyperthreaded performance
Date: Thu, 15 Sep 2005 15:44:00 -0500
Date: 2005-09-15T15:44:00-05:00	[thread overview]
Message-ID: <UvOdnZ2loeKNQLTeRVn-1g@comcast.com> (raw)
In-Reply-To: 1126786431.160444.235930@g14g2000cwa.googlegroups.com

> Now coming back to the threading and speed improvements above, in my
> view it is a matter of which trick to use for getting the bus to work
> in a boosted mode. We obtained it with simple loop unrolling, you
> report threading. Are there other experiences out there?
    Loop unrolling sounds like the machine was able to use multiple
arithmetic units to parallelize work at the sub-instruction level.  If
that happens then perhaps there are no extra resources for the second
virtual CPU, so there would be no performance speedup from
multi-threading, but I'm certainly not expert in the internals of Intel's
hyperthreading etc.  I wouldn't expect an significant slowdown however.
    Cache thrashing certainly comes to mind as a possible problem with
multi-threading.  But the program at hand is small.  I cut the problem
size so there are at most two simultaneous hash tables of Length 4091 for
6 character Strings, which, assuming 20 bytes/entry would be 2*4000*20 or
160K, plus 50K input String = 210K which I would think would fit well
inside the cache without thrashing.  But it's still slower (about 10%) to
run multithreaded than sequential.



  reply	other threads:[~2005-09-15 20:44 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-15  5:10 puzzled re hyperthreaded performance tmoran
2005-09-15  6:08 ` jtg
2005-09-15 12:13   ` keld_nielsen_4nulspam
2005-09-15 20:44     ` tmoran [this message]
2005-09-15 21:43       ` tmoran
2005-09-19 20:21 ` Wiljan Derks
2005-09-20  0:26   ` tmoran
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox