Uploaded image for project: 'HPCC'
  1. HPCC
  2. HPCC-16731

If using glibc allocator (and not TBB), default MALLOC_ARENA_MAX=8 can cause some queries to go a lot slower

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.2.2, 6.0.12
    • Component/s: Init system, Thor
    • Labels:
      None

      Description

      We use TBB by default now, so this is not a big concern, but if TBB is not being used and a query is performing a lot of glibc memory alloctions/deallocations then the now default MALLOC_ARENA_MAX setting in our scripts can severely slow down the job.
      This can happen for example via a parallel join activity that creates (by default) as many worker threads as their cores.

      In testing changing the ARENA_MAX to equal the number of cores alleviated the problem.
      NB: it was originally changed here HPCC-16207 (and see HPCC-12483) to alleviate very large memory usage.

      Given the big performance hit and the fact this is not a huge issue now we default to using TBB, it would be better to default MALLOC_ARENA_MAX to equal # of cores. This is still a lot better memory-wise than the system default of number-of-cores * 8.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                mckellyln Mark Kelly
                Reporter:
                jakesmith Jake Smith
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: