IO completion architecture for user-mode networking
AssigneeMicrosoft Corporation
InventorKhawar M. Zuberi
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorKhawar M. Zuberi
Estimating the term…
A new method and framework for implementing network protocol processing utilizing a combination of application threads and a dedicated thread to process IO completions in a completion queue that automatically detects and adjusts thread priorities to alleviate manual intervention. According to the present invention, as data transfer operations are completed by the network interface, completion information identifying the data transfer operations is posted on the completion queue. The completion information is read and processed by a combination of application and dedicated threads running in the system. A method monitors performance of the system to detect whether poor processor utilization or excessive context switches occurs, in which case a different thread is used to process the completion information. In order to context switch to a different thread, the priority level of the dedicated thread is set to a HIGH level to utilize the dedicated thread or the priority level of the dedicated thread is set a LOW level to utilize an application thread.
A method for adaptively processing completions of data transfer operations in a server comprising a network interface communicably coupled to perform the data transfer operations, a completion queue storing completion information for the data transfer operations, a set of executing threads capable of processing the completion information, the set of executing threads comprising a dedicated thread having a priority level responsive to a status of the completion queue, and wherein an application thread is coupled to an application running on the server to process application system calls, the method comprising the steps of:
A computer-readable medium having computer-executable instructions for facilitating adaptively processing completions of data transfer operations in a server comprising a network interface communicably coupled to perform the data transfer operations, a completion queue storing completion information for the data transfer operations, a set of executing threads capable of processing the completion information, the set of executing threads comprising a dedicated thread having a priority level responsive to a status of the completion queue, and wherein an application thread is coupled to an application running on the server to process application system calls, the computer-readable medium having computer-executable instructions facilitating performing the steps of:
An IO completion framework in a computer system for adaptively processing completion entries in a completion queue, the framework comprising:
Dependencies are inferred from the claim text.