5 ms·
Not really used to doing low level programming but how would you assess back pressure for I/O ops on SSDs or disks? Are you only evaluating running OPs rates c
by LunaSea 5y ago
Not really used to doing low level programming but how would you assess back pressure for I/O ops on SSDs or disks?
Are you only evaluating running OPs rates compared to a theoretical maximum?
- bob1029 5y ago> how would you assess back pressure for I/O ops on SSDs or disks I am not attempting to do anything like this. The back pressure is an inherent property of the ring buffer abstraction I have selected for serializing transactions. Batch size is effectively determined by how long the previous batch takes to complete. So, if one batch takes a little while, but is not at RingBufferMaximum, the next batch will be a bit larger (assuming constant system load), thus extracting a little bit more uplift from the benefits of running everything on hot cache lines. The maximum size of the ring buffer prevents things from getting out of control. You simply test for the best batch size and set that as the max for the buffer. Best case scenario, your system is fully loaded and slamming through 4k+ batch sizes all day long. Worst case, you are doing a transaction per IO. I.e., what everyone else on earth is doing right now.
- LunaSea 5y agoAh right, I see. Thanks! Any resources you would recommend about this kind of low level I/O programming and tuning?