Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-9221

Optimize HashRing's map implementation

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • Impala 3.4.0
    • None
    • Backend
    • None
    • ghx-label-2

    Description

      The hash ring used for consistent scheduling currently uses a std::map for the hash-to-IpAddr lookup. HashRing is heavy on reads, with writes only happening when executors come and go. There are some cases where we copy the HashRing.

      The standard map uses a large number of small allocations. This hurts cache performance, adds overhead, and also increases the cost of copying the structure. Something like boost's flat_map or Abseil's btree_map is likely to be more efficient.

      Attachments

        1. image-2022-05-26-13-54-31-752.png
          131 kB
          Michael Smith
        2. image-2022-05-26-13-54-15-448.png
          101 kB
          Michael Smith
        3. image-2022-05-26-10-23-57-678.png
          69 kB
          Michael Smith

        Activity

          People

            MikaelSmith Michael Smith
            joemcdonnell Joe McDonnell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: