CPC G06F 3/0655 (2013.01) [G06F 3/0604 (2013.01); G06F 3/067 (2013.01); G06F 3/0613 (2013.01); G06F 3/0659 (2013.01); G06F 9/505 (2013.01); G06F 15/17331 (2013.01)] | 20 Claims |
1. A method, comprising:
polling, by a processor, a receive queue at a first polling rate to identify input/output (“I/O”) requests received by the receive queue to read data from or write data to a storage device;
determining, by the processor that a hit rate has reached a threshold value, the hit rate indicating a number of pending I/O requests at the receive queue, in response to the receive queue being polled at the first polling rate;
modifying, by the processor, the first polling rate to a second polling rate, in response to the hit rate reaching the threshold value;
receiving, by the processor, an I/O request to write data to the storage device;
splitting, by the processor, the I/O request into a number of write requests directed to a storage controller managing the storage device; wherein the number of write requests vary based on processor workload and the hit rate;
issuing by the processor, remote direct memory access (“RDMA”) read requests simultaneously to a computing system for obtaining data for the I/O request; and
indicating, by the processor, completion of the I/O request, upon receiving an indication from the storage controller that each of the number of write requests is complete.
|