Patent ID: 7197577
Filing Date: 2007-03-27
Classification: G06F

Abstract:
1. A method for selecting an input/output scheduler in a computing system having a plurality of input/output schedulers, said method comprising the steps of: a) mapping, by an operating system kernel, said plurality of operating system input/output schedulers against respective sets of heuristics, wherein such a set of heuristic includes heuristic variables for characterizing performance states of the computing system, the variables including: a third variable for an average disk seek distance of submitted job requests; and wherein the heuristic sets include: a first one of the heuristic sets defining a first performance state of the computing system, wherein a certain predefined high proportion of read operations is exceeded for the second variable and a certain predefined average seek distance is not exceeded for the third variable; a second one of the heuristic sets defining a second performance state of the computing system, wherein a certain predefined high level of input/output job requests per process is exceeded for the first variable, a certain predefined low proportion of read operations is not exceeded for the second variable, and the certain predefined average seek distance is not exceeded for the third variable; and a third one of the heuristic sets defining a third performance state of the computing system, wherein the certain predefined high level of input/output job requests per process is exceeded for the first variable and the certain predefined low proportion of read operations is exceeded but the certain predefined high proportion of read operations is not exceeded for the second variable; wherein the operating system input/output schedulers include first, second and third input/output schedulers, and the mapping includes the operating system kernel: associating the first one of the heuristic sets with the first scheduler, the second one of the heuristic sets with the second scheduler and the third one of the heuristic sets with the third scheduler; and wherein the method includes: b) monitoring performance of said computing system, including a thread of the operating system kernel monitoring performance values of the heuristic variables; c) selecting one of the input/output schedulers by the operating system kernel thread, wherein the selecting is responsive to the operating system kernel thread determining that a performance state of the computing system is such that values of said monitored heuristic variables match one of said first, second, or third sets of heuristics; and d) performing a number of input/output operations by the computer system to read to or write from hardware devices in an order determined by the selected one of the input/output schedulers, wherein the performing of the input/output operations in the order determined by the selected scheduler improves input/output performance of the computer system.