Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-1093

Improve namenode scalability by splitting the FSNamesystem synchronized section in a read/write lock

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.22.0
    • Component/s: namenode
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Most critical data structures in the NameNode (NN) are protected by a syncronized methods in the FSNamesystem class. This essentially makes critical code paths in the NN single-threaded. However, a large percentage of the NN calls are listStatus, getBlockLocations, etc which do not change internal data structures at all, these are read-only calls. If we change the FSNamesystem lock to a read/write lock, many of the above operations can occur in parallel, thus improving the scalability of the NN.

        Attachments

        1. NNreadwriteLock.txt
          53 kB
          dhruba borthakur
        2. NNreadwriteLock_trunk_1.txt
          60 kB
          dhruba borthakur
        3. NNreadwriteLock_trunk_2.txt
          60 kB
          Suresh Srinivas
        4. NNreadwriteLock_trunk_3.txt
          63 kB
          dhruba borthakur
        5. NNreadwriteLock_trunk_4.txt
          65 kB
          dhruba borthakur
        6. NNreadwriteLock_trunk_5.txt
          64 kB
          dhruba borthakur

          Issue Links

            Activity

              People

              • Assignee:
                dhruba dhruba borthakur
                Reporter:
                dhruba dhruba borthakur
              • Votes:
                1 Vote for this issue
                Watchers:
                18 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: