Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-3163

Configure Flink for NUMA systems

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Implemented
    • Affects Version/s: 1.0.0
    • Fix Version/s: 1.3.0
    • Component/s: Startup Shell Scripts
    • Labels:
      None

      Description

      On NUMA systems Flink can be pinned to a single physical processor ("node") using numactl --membind=$node --cpunodebind=$node <command>. Commonly available NUMA systems include the largest AWS and Google Compute instances.

      For example, on an AWS c4.8xlarge system with 36 hyperthreads the user could configure a single TaskManager with 36 slots or have Flink create two TaskManagers bound to each of the NUMA nodes, each with 18 slots.

      There may be some extra overhead in transferring network buffers between TaskManagers on the same system, though the fraction of data shuffled in this manner decreases with the size of the cluster. The performance improvement from only accessing local memory looks to be significant though difficult to benchmark.

      The JobManagers may fit into NUMA nodes rather than requiring full systems.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                greghogan Greg Hogan
                Reporter:
                greghogan Greg Hogan
              • Votes:
                1 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: