Features/QED/ParallelSubmission

From QEMU

When a request is submitted that is larger than a cluster in size, QED splits the request into multiple cluster sized requests and processes them sequentially. There are some potentially optimizations to this that could improve performance.

Parallel Submission

When splitting a request, if the next cluster either 1) is not physically contiguous or 2) would require reading or writing metadata then we can cap the current request's size, begin submission, and then start the processing of the next request. This will cause QED to break a single request into multiple parallel requests.

If the next cluster is physical contiguous and requires no metadata reading or writing, we can simply increase the size of the current request.