Hypothetical progams might desire cross-CPU coalescing of IO
Hypothetical progams might desire cross-CPU coalescing of IO
Posted Jun 6, 2013 7:08 UTC (Thu) by dlang (guest, #313)In reply to: Hypothetical progams might desire cross-CPU coalescing of IO by faramir
Parent article: The multiqueue block layer
And of those who are doing so, how much do they care if their files get processed one at a time using every CPU for that one file, or many files at a time with each CPU processing a different file (and therefor not needing the combined I/O logic)
Yes, there are going to be some, but is it really worth crippling the more common cases to help this rare case?
Posted Jun 6, 2013 7:28 UTC (Thu)
by dlang (guest, #313)
[Link]
in https://lwn.net/Articles/553086/ I talk about how I/O coalescing should only be done when the I/O is busy (among other things)
Posted Jun 6, 2013 12:06 UTC (Thu)
by ejr (subscriber, #51652)
[Link] (3 responses)
But... Parallel HDF5, etc. interfaces handle some coalescing in the "middleware" layer. They've found that relying on the OS leads to, um, sufficient performance variation across different systems and configurations. Yet another standard parallel I/O layer in user-space could help more than trying to jam the solution into the OS.
But relying on user-space won't help the case multiqueue is attacking.
Posted Jun 7, 2013 2:27 UTC (Fri)
by dlang (guest, #313)
[Link] (2 responses)
It may happen, but it's not going to be the common case.
Posted Jun 7, 2013 10:06 UTC (Fri)
by ejr (subscriber, #51652)
[Link] (1 responses)
But this case often is better handled outside the OS. There could be different interface where clients post their read buffers and the OS fills them in some hardware-optimal order, but that's been considered for >20 years and has no solution yet.
Posted Jun 7, 2013 18:18 UTC (Fri)
by dlang (guest, #313)
[Link]
Also, in HPC aren't you dealing with many different systems accessing your data over the network rather than multiple processes on one machine?
What we are talking about here is the chance that things running on different CPUs in a single system are generating disk writes that the OS could combine into a single write before sending it to the drives
for reads this isn't as big a deal, readahead should go a long way towards making the issue moot.
Hypothetical progams might desire cross-CPU coalescing of IO
Hypothetical progams might desire cross-CPU coalescing of IO
Hypothetical progams might desire cross-CPU coalescing of IO
Hypothetical progams might desire cross-CPU coalescing of IO
Hypothetical progams might desire cross-CPU coalescing of IO