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

Suboptimal PreTouchParallelChunkSize defaults and limits

    XMLWordPrintable

    Details

    • Type: CSR
    • Status: Closed
    • Priority: P4
    • Resolution: Approved
    • Fix Version/s: 16
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
      gc
    • Compatibility Kind:
      behavioral
    • Compatibility Risk:
      low
    • Compatibility Risk Description:
      Hide
      Evaluation always showed a performance improvement. Users who previously specified a nonsensical value < page size will get an error to update their specification.
      Quick searching on the web indicated no particular usage of this flag.
      Show
      Evaluation always showed a performance improvement. Users who previously specified a nonsensical value < page size will get an error to update their specification. Quick searching on the web indicated no particular usage of this flag.
    • Interface Kind:
      add/remove/modify command line option
    • Scope:
      Implementation

      Description

      Summary

      Update PreTouchParallelChunkSize default value for improved performance.

      Problem

      The current value of PreTouchParallelChunkSize has originally been set according to some ad-hoc testing. Further, more extensive testing showed that the time to pre-touch memory can be improved by almost 15% by adjusting this value.

      This can have significant impact on startup time with -XX:+AlwaysPreTouch enabled.

      Solution

      Set new default value for PreTouchParallelChunkSize to 4MB. JDK-8254699 contains a spreadsheet with an exhaustive performance test showing this value to be best overall.

      Also change minimal size of this value to a (small) page size.

      Specification

                                                                                \
      -  product(size_t, PreTouchParallelChunkSize, 1 * G,                      \
      +  product(size_t, PreTouchParallelChunkSize, 4 * M,                      \
                 "Per-thread chunk size for parallel memory pre-touch.")        \
      -          range(1, SIZE_MAX / 2)                                         \
      +          range(4*K, SIZE_MAX / 2)                                       \
                                                                                \

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              tschatzl Thomas Schatzl
              Reporter:
              tschatzl Thomas Schatzl
              Reviewed By:
              Stefan Johansson
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: