[concurrency-interest] To Hyper-Thread or not

David Holmes davidcholmes at aapt.net.au
Fri Dec 23 17:20:08 EST 2011

The hotspot JVM does no pinning/binding of any kind. The OS provides the
illusion of an entity called a "processor", which appear to be equivalent to
the JVM but in practice a thread is not a core is not a socket. The OS does
all the scheduling and will generally use locality heuristics and prefer to
run threads on the same entity they last ran on. But it varies.

  -----Original Message-----
  From: concurrency-interest-bounces at cs.oswego.edu
[mailto:concurrency-interest-bounces at cs.oswego.edu]On Behalf Of Rahul
  Sent: Saturday, 24 December 2011 5:57 AM
  To: concurrency-interest at cs.oswego.edu
  Subject: [concurrency-interest] To Hyper-Thread or not

  Assuming we have 8 physical cores (intel xeon SMP) and the java process
has more than 12 threads running  through out its life cycle (no shared

  Would you enable hyperthreading and have 16 logical cores?
  Does enabling hyperthreading result in far less number of context switches
in this case?
  Does the jvm recognize that these threads have no shared data/contention
and pin/bind it to different cores?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20111224/5969f771/attachment.html>

More information about the Concurrency-interest mailing list