1. A computer-implemented method, comprising: registering a user-mode virtual memory buffer corresponding to an 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 a kernel, the completion queue configured to receive completion notifications from a 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; and identifying the completion queue to the socket.