Reducing per-I/O CPU overhead by queueing and batching read requests and read completion notifications

A storage stack exposes an API for use by user mode applications. An application calls a function exposed by the API to enqueue requests to read a file on a file submission queue ("FSQ"). Read requests in the FSQ are dequeued in batches, and file offsets in the batches of dequeued read req...

Full description

Saved in:
Bibliographic Details
Main Authors Sterling, Michael Stephen, McNulty, Mark James, Huang, Xin, Nyczkowski, Bartosz Tomasz
Format Patent
LanguageEnglish
Published 19.05.2020
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:A storage stack exposes an API for use by user mode applications. An application calls a function exposed by the API to enqueue requests to read a file on a file submission queue ("FSQ"). Read requests in the FSQ are dequeued in batches, and file offsets in the batches of dequeued read requests are translated to disk offsets. The translated batches of read requests are stored in a storage submission queue ("SSQ"). A storage subsystem retrieves batches of the translated read requests from the SSQ and performs the specified read operations. Completion notifications for the read requests are stored in a storage completion queue ("SCQ"). Batches of completion notifications are dequeued from the SCQ and translated to file completions. Batches of file completions are stored in a file completion queue ("FCQ"). The user mode application that submitted the read requests can dequeue batches of completion notifications from the FCQ.
Bibliography:Application Number: US201916251024