[Info-vax] OpenVMS async I/O, fast vs. slow
Craig A. Berry
craigberry at nospam.mac.com
Tue Nov 7 21:17:22 EST 2023
On 11/7/23 6:04 PM, Arne Vajhøj wrote:
> On 11/7/2023 5:44 PM, Craig A. Berry wrote:
>> On 11/6/23 6:18 PM, Arne Vajhøj wrote:
>>> On 11/6/2023 6:31 AM, Johnny Billquist wrote:
>>
>>>> Read ahead is something that the system can easily do both for
>>>> normal I/O and memory mapped I/O. It's just a question of
>>>> speculative reads assuming some pattern by the program. Most
>>>> commonly that you are reading files sequentially from start to finish.
>>>
>>> $QIO(w) and $IO_PERFORM(W) could.
>>>
>>> But at least for $QIO(W) then I would be very surprised if it did. It is
>>> from before VIOC/XFC so originally it did not have anywhere to
>>> store read ahead data. VMS engineering could have changed
>>> behavior when VIOC/XFC was introduced. But I doubt it.
>>
>> Are you saying that you think merely using $QIO bypasses XFC? If so,
>> how do you think SHOW MEM/CACHE can give you "Total QIOs"? And note
>> this from the performance management manual page 72:
>> "I/O service can be optimized at the application level by using RMS
>> global buffers to share caches among processes. This method offers the
>> benefit of satisfying an I/O request without issuing a QIO; whereas
>> system memory software cache (that is, XFC) is checked to satisfy QIOs."
>
> I am sure that $QIO(W) hits XFC. Else there would not be
> much point in XFC.
>
> The question is whether $QIO(W) get more data read into XFC
> than asked for by the user. It could but I doubt it.
Consider what I quoted from the fine manual: "system memory software
cache (that is, XFC) is checked to satisfy QIOs." What would it mean to
read from cache to "satisfy" a QIO other than there may be more data
already in the cache than has been explicitly asked for by the user?
If you're talking about snooping to predict what might be read next and
cache it, it looks like that's an attribute of the volume and of XFC
itself and doesn't have anything to do with the I/O API in use:
https://wiki.vmssoftware.com/VCC_READAHEAD
More information about the Info-vax
mailing list