An Oracle blog about Transactional locks

NUMA-aware constructs for java.util.concurrent

Dave Dice
Senior Research Scientist

The constructs in the java.util.concurrent JSR-166 "JUC" concurrency library are currently NUMA-oblivious. That's because we currently don't have the topology discovery infrastructure and underpinnings in place that would allow and enable NUMA-awareness. But some quick throw-away prototypes show that it's possible to write NUMA-aware library code. I happened to use JUC Exchanger as a research vehicle. Another interesting idea is to adapt fork-join work-stealing to favor stealing from queues associated with 'nearby' threads.

Join the discussion

Comments ( 2 )
  • pron Friday, November 9, 2012

    Any chance we'll be getting at least some NUMA primitives (processor ID and topology) in Java 8?

  • Dave Friday, November 9, 2012

    From my perspective they'd be welcome, but I think the window on new features for JDK8 is closing rapidly.

    Regards, -Dave

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.