Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-14479

Apply the Leader/Followers pattern to RpcServer's Reader

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Abandoned
    • None
    • None
    • IPC/RPC, Performance
    • None

    Description

      RpcServer uses multiple selectors to read data for load distribution, but the distribution is just done by round-robin. It is uncertain, especially for long run, whether load is equally divided and resources are used without being wasted.

      Moreover, multiple selectors may cause excessive context switches which give priority to low latency (while we just add the requests to queues), and it is possible to reduce throughput of the whole server.

      Attachments

        1. median.png
          28 kB
          Michael Stack
        2. io.png
          39 kB
          Michael Stack
        3. HBASE-14479-V4-experimental_branch-1.patch
          32 kB
          Hiroshi Ikeda
        4. HBASE-14479-V3-experimental_branch-1.patch
          19 kB
          Hiroshi Ikeda
        5. HBASE-14479-V2 (1).patch
          9 kB
          Michael Stack
        6. HBASE-14479-V2.patch
          9 kB
          Hiroshi Ikeda
        7. HBASE-14479-V2.patch
          9 kB
          Michael Stack
        8. HBASE-14479.patch
          9 kB
          Hiroshi Ikeda
        9. HBASE-14479.branch-1.V5_e.patch
          32 kB
          Hiroshi Ikeda
        10. gets.png
          26 kB
          Michael Stack
        11. gc.png
          43 kB
          Michael Stack
        12. flamegraph-32667.svg
          1.30 MB
          Michael Stack
        13. flamegraph-19152.svg
          1.55 MB
          Michael Stack

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ikeda Hiroshi Ikeda
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: