| CPC G06F 3/0611 (2013.01) [G06F 3/0655 (2013.01); G06F 3/0673 (2013.01)] | 20 Claims |

|
1. A method of dynamically adjusting a polling interval of a poller to balance latency and resource utilization of the poller for detecting I/O operation events in a data storage system, comprising:
regularly estimating or measuring performance metrics for the poller and calculating derived values including a latency share and a cost per event, the performance metrics including at least a latency metric and a cost metric, the latency metric reflecting latency related to the polling interval, the cost metric reflecting use of processing resources by the poller, the latency share being the latency metric divided by an overall synchronous I/O operation latency value, the cost per event being the cost metric divided by an events count;
adjusting a target latency share by (1) increasing the target latency share based on a CPU utilization metric being above a utilization threshold, and (2) reducing the target latency share based on the CPU utilization metric being below the utilization threshold and the cost per event being lower than a cost-per-event threshold; and
adjusting the polling interval by (1) increasing the polling interval based on the latency share being less than the target latency share, and (2) decreasing the polling interval based on the latency share being greater than the target latency share.
|