cocalele / PureFlash

A ServerSAN storage system designed for flash device
GNU General Public License v3.0
101 stars 29 forks source link

IO engine submit IO in batch mode #21

Closed cocalele closed 1 year ago

cocalele commented 1 year ago

currently AIO engine submit IO one bye one. This makes a lot of sys call and heavy performance overhead.

Submit in batch mode may improve performance.

geekyang95 commented 1 year ago

Any document about batch mode? intrested

cocalele commented 1 year ago

Any document about batch mode? intrested

This depends on PfEventQueue::get_events, via this function you can get all events on event queue. Then, SSD thread process IO request one by one, but not call AIO io_submit on each one. Only after all events have been processed , io_submit is called in function submit_batch for all IOs. See: https://github.com/cocalele/PureFlash/commit/a731bfeee92a5cb21fb9b063475f06fd3afef469