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

Add a "FakeNUMA" mode to fake NUMA support and stress NUMA task migrations

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • None
    • hotspot
    • gc

      While investigating the best solution for JDK-8351500, I found reproduction difficult, since I have no NUMA machine available. Moreover, the bug was caused by a NUMA node migration happening at exactly the wrong time, and to see these errors one needs a lot of luck and patience.

      So I wrote a primitive "FakeNUMA" mode that sits between libnuma and the JVM and mimics a NUMA system. I then added a "FakeNUMAStressMigrations" mode that mimics tons of NUMA migrations (essentially, randomizing the thread-to-node associations).

      With such a mode I could reproduce the customer problem behind JDK-8351500 on my machine, and test the various patch variants. I also saw problems on ParallelGC in this mode.

      The patch was quick and dirty, but I think it may be useful to have a mode like this in the JVM for regression testing and hardening our NUMA code.

            stuefe Thomas Stuefe
            stuefe Thomas Stuefe
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: