Real-time open file cache hashing table restructuring in a server computer
First Claim
1. A method of operating a storage system, comprising the steps of:
- periodically determining (1) a number n of file header structure elements stored in a hashing table in a memory in the storage system, each element containing a copy of file header information from a corresponding file stored on a mass storage device in the storage system coupled to the memory in which the hashing table is stored, and (2) a number ns representing an average number of elements in the hashing table that are searched in response to file access requests before the element required by each request is found, ns being a function of both n and the structure of the hashing table;
calculating a moving average value ns-avg-t equal to the moving average of ns, over a number of most recent periods;
recording the values of ns-avg-t over multiple periods;
determining from the recorded values of ns-avg-t whether ns-avg-t is exhibiting saturation behavior;
if ns-avg-t is exhibiting saturation behavior, then performing the following steps;
a) selecting a value of ns-avg-t from a recent period during which ns-avg-t was not exhibiting saturation behavior;
b) determining a new structure for the hashing table using the most recently determined value for n and the selected value of ns-avg-t, the new structure being such that the average number of elements in such a newly-structured hashing table that would be searched in response to file access requests before the element required by each request would be found is equal to ns-avg-t when the number of elements in such a newly-structured hashing table is n; and
c) changing the structure of the hashing table to the determined new structure; and
if ns-avg-t is not exhibiting saturation behavior, then refraining from so changing the structure of the hashing table.
2 Assignments
0 Petitions
Accused Products
Abstract
In a method and system for dynamically improving the performance of a server in a network, a tuning system monitors a workload of the server in real time, monitors a set of internal performance characteristics of the server in real time, and monitors a set of adjustable server parameters of the server in real time. The workload of the server may include the frequency and type of service requests received by the server from clients in the network. The internal server performance characteristics may include, for example, a data cache hit ratio of a data cache in the server. The set of server parameters may include, for example, the overall data cache size or the data cache geometry of the server. The tuning system periodically alters one or more of the set of adjustable server parameters as a function of the workload and internal performance characteristics of the server. Since the tuning system is continuously monitoring workload and performance characteristics of the server and altering the server parameters accordingly, the effectiveness of a given change in the server parameters is reflected in the next set of monitored workload and performance values.
58 Citations
2 Claims
-
1. A method of operating a storage system, comprising the steps of:
-
periodically determining (1) a number n of file header structure elements stored in a hashing table in a memory in the storage system, each element containing a copy of file header information from a corresponding file stored on a mass storage device in the storage system coupled to the memory in which the hashing table is stored, and (2) a number ns representing an average number of elements in the hashing table that are searched in response to file access requests before the element required by each request is found, ns being a function of both n and the structure of the hashing table; calculating a moving average value ns-avg-t equal to the moving average of ns, over a number of most recent periods; recording the values of ns-avg-t over multiple periods; determining from the recorded values of ns-avg-t whether ns-avg-t is exhibiting saturation behavior; if ns-avg-t is exhibiting saturation behavior, then performing the following steps; a) selecting a value of ns-avg-t from a recent period during which ns-avg-t was not exhibiting saturation behavior; b) determining a new structure for the hashing table using the most recently determined value for n and the selected value of ns-avg-t, the new structure being such that the average number of elements in such a newly-structured hashing table that would be searched in response to file access requests before the element required by each request would be found is equal to ns-avg-t when the number of elements in such a newly-structured hashing table is n; and c) changing the structure of the hashing table to the determined new structure; and if ns-avg-t is not exhibiting saturation behavior, then refraining from so changing the structure of the hashing table. - View Dependent Claims (2)
-
Specification