-
公开(公告)号:US11886364B2
公开(公告)日:2024-01-30
申请号:US17402652
申请日:2021-08-16
Applicant: VMware, Inc.
Inventor: Yang Bai , Wenchao Cui , Haitao Guo , Ran Peng , Tianji Zhao
CPC classification number: G06F13/22 , G06F9/3867 , G06F9/45558 , G06F13/24 , G06F2009/45579
Abstract: An adaptive hybrid polling technique combines an interrupt mode with a polling mode, and is based on outstanding input/output (OIO) determination to improve I/O performance and to save processor cycles. The OIO includes two types of I/O commands: (1) I/O commands submitted to storage devices for processing, and (2) I/O commands completed by the storage devices but not yet acknowledged by host software. The adaptive hybrid polling technique involves two phases to determine when to poll based on current OIO commands. In the first phase, a determination is made whether there is an adequate number of the first type of OIO commands to prepare for polling. In the second phase, a determination is made whether there is an adequate number of the second type of OIS commands to activate polling.
-
公开(公告)号:US20230367726A1
公开(公告)日:2023-11-16
申请号:US17851357
申请日:2022-06-28
Applicant: Vmware, Inc.
Inventor: Ran Peng , Yang Bai , Wenchao Cui , Yu Zhao , Zhihao Yao
CPC classification number: G06F13/20 , G06F13/24 , G06F2213/40 , G06F2213/24
Abstract: Example computer-implemented methods, media, and systems for processing input/output (I/O) commands using block size aware polling are disclosed. One example method includes creating multiple polling queues and multiple interrupt queues in a transport drivers layer of a storage stack. A first I/O command is received from a core layer of the storage stack and by the transport drivers layer. A ratio of a total number of multiple small block size commands in the transport drivers layer to a total number of multiple outstanding I/O commands in the transport drivers layer is determined to be larger than a predetermined first threshold. In response to determining that the ratio is larger than the predetermined first threshold, the polling mode is applied to the first I/O command through the submission of the first I/O command to a first polling queue in the multiple polling queues.
-
公开(公告)号:US12242398B2
公开(公告)日:2025-03-04
申请号:US18348880
申请日:2023-07-07
Applicant: VMware, Inc.
Inventor: Ran Peng , Wenchao Cui , Yu Zhao , Yang Bai , Ruilin Tian
IPC: G06F13/16
Abstract: An example method of input/output (IO) between system software executing in a computer and a storage device includes: sending, from the system software, IO commands to the storage device; handling, by the system software, IO completion messages from the storage device in an interrupt mode; determining, while processing the IO commands, a first value for a measure of IO operations per second (IOPs) of the storage device; determining, by a device driver of the system software, that a first condition is met, the first condition being that the measure of IOPs satisfies a threshold for enabling a polling mode; determining, by the device driver, that a second condition is met, the second condition being that a timer started in an interrupt mode has not expired; and maintaining, by the device driver, the interrupt mode in response to the second condition despite the first condition.
-
公开(公告)号:US12135661B2
公开(公告)日:2024-11-05
申请号:US17851357
申请日:2022-06-28
Applicant: Vmware, Inc.
Inventor: Ran Peng , Yang Bai , Wenchao Cui , Yu Zhao , Zhihao Yao
Abstract: Example computer-implemented methods, media, and systems for processing input/output (I/O) commands using block size aware polling are disclosed. One example method includes creating multiple polling queues and multiple interrupt queues in a transport drivers layer of a storage stack. A first I/O command is received from a core layer of the storage stack and by the transport drivers layer. A ratio of a total number of multiple small block size commands in the transport drivers layer to a total number of multiple outstanding I/O commands in the transport drivers layer is determined to be larger than a predetermined first threshold. In response to determining that the ratio is larger than the predetermined first threshold, the polling mode is applied to the first I/O command through the submission of the first I/O command to a first polling queue in the multiple polling queues.
-
-
-