Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-9953 Improve RPC server throughput
  3. HADOOP-9956

RPC listener inefficiently assigns connections to readers

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0-alpha, 3.0.0-alpha1
    • 0.23.10, 2.3.0
    • ipc
    • None
    • Reviewed

    Description

      The socket listener and readers use a complex synchronization to update the reader's NIO Selector. Updating active selectors is not thread-safe so precautions are required.

      However, the current locking choreography results in a serialized distribution of new connections to the parallel socket readers. A slower/busier reader can stall the listener and throttle performance.

      The problem manifests as unexpectedly low cpu utilization by the listener and readers (~20-30%) under heavy load. The call queue is shallow when it should be overflowing.

      Attachments

        1. HADOOP-9956.patch
          5 kB
          Daryn Sharp
        2. HADOOP-9956.patch
          13 kB
          Daryn Sharp
        3. HADOOP-9956.branch-23.patch
          13 kB
          Daryn Sharp

        Issue Links

          Activity

            People

              daryn Daryn Sharp
              daryn Daryn Sharp
              Votes:
              0 Vote for this issue
              Watchers:
              20 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: