Patent ID: 9197703
Filing Date: 2015-11-24
Classification: G06F,H04L

Abstract:
1. An MDS (metadata server) in a distributed storage system which includes a plurality of data servers (DSs) storing file contents and one or more MDSs performing a plurality of metadata operations in response to metadata requests of different types, the MDS including a controller having a processor and a memory, the MDS storing file system metadata, the controller being configured to: classify the metadata operations into different categories, which include a normal category and one or more special categories which are different from the normal category, the normal category having a primary stage which does not involve communication between the MDS and a component external to the MDS; for each of the one or more special categories, partition each of the metadata operations into a plurality of stages at least one of which involves communication between the MDS and a component external to the MDS; and dynamically assign resources to each of the partitioned stage based on monitored workloads of the different types of metadata requests; wherein dynamically assigning resources comprises: monitoring metadata workload of the normal category and the one or more special categories to obtain a number of metadata operations for each category and a total number of metadata operations for all categories; calculating, for each special category, a ratio of the number of metadata operations for said each special category to the total number of metadata operations for all categories obtained from the monitoring; calculating a processing time for each of the normal category and the one or more special categories; and allocating a plurality of threads representing units of execution across all the stages by considering: (i) an estimated processing time for each stage, (ii) the calculated ratio for each special category, (iii) the calculated processing time for each category, and (iv) a total number of threads allocated to the MDS.