Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8046153

JEP 163: Enable NUMA Mode by Default When Appropriate

    XMLWordPrintable

    Details

    • Type: JEP
    • Status: Draft
    • Priority: P4
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: hotspot
    • Labels:
      None
    • Author:
      Jesper Wilhelmsson
    • JEP Type:
      Feature
    • Exposure:
      Open
    • Subcomponent:
      gc
    • Scope:
      Implementation
    • Discussion:
      hotspot dash gc dash dev at openjdk dot java dot net
    • Effort:
      XS
    • Duration:
      S
    • JEP Number:
      163

      Description

      Summary

      To improve the out-of-the-box performance on NUMA hardware, enable the -XX:+UseNUMA flag by default when the JVM detects it is running on a NUMA style computer.

      Motivation

      NUMA style systems are now common, but the JVM defaults have not been updated to reflect it. Applications generally get better performance with proper NUMA behavior, aided by the existing JVM capabilities, rather than relying on operating system defaults when running on a NUMA computer. Without proper NUMA behavior, applications may experience large run-to-run variation simply due to the memory layout given by operating system defaults.

      Description

      The intent of this change is to enable the existing JVM capability turned on by the -XX:+UseNUMA option by using operating system APIs to detect the NUMA topology at JVM boot time and turn on this support without the user having to explicitly add -XX:+UseNUMA to the flags.

      To lower the impact on small applications there will be a minimum heap size required to enable NUMA. A reasonable limit is expected to be 2GB. There will be a new develop flag to set this value.

      Other than the work required to detect the NUMA topology and set the flags, no further work to modify or extend existing NUMA features is intended by this JEP.

      Testing

      This change can be tested by standard benchmarks and application server test suites, on both NUMA and single node systems to ensure there are no unintended side effects.

      Risks and Assumptions

      The JDK source base supports several operating systems, so that increases the amount of testing required if all the operating systems will adopt this behavior.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              jwilhelm Jesper Wilhelmsson
              Owner:
              Jesper Wilhelmsson Jesper Wilhelmsson
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

                Dates

                Created:
                Updated: