1. A computer-implemented method, comprising: registering a user-mode virtual memory buffer corresponding to an application; issuing a system call to a kernel for a kernel-mode execution thread to handle a request from the application; allocating a completion queue from the user-mode virtual memory buffer and pinning the completion queue to physical memory; mapping the completion queue to a first kernel-mode system address in the kernel, the completion queue configured to receive completion notifications from the kernel mode execution thread via the kernel-mode system address and to enable access to the completion notifications by the application via the user-mode virtual memory buffer; registering a socket configured to provide data requests from the application to the kernel, the registering the socket comprising: allocating a request queue from the user-mode virtual memory buffer and pinning the request queue to the physical memory; mapping the request queue to a second kernel-mode system address, the request queue configured to receive data from the application via the user-mode virtual memory buffer and to enable access to the data by the kernel-mode execution thread via the second kernel-mode system address; identifying the completion queue to the socket; and receiving an additional request from the application for the kernel-mode execution thread to handle additional data in the request queue, the kernel-mode execution thread handling the additional request without an additional system call being issued to the kernel.