[Info-vax] OpenVMS async I/O, fast vs. slow
Arne Vajhøj
arne at vajhoej.dk
Tue Nov 7 22:01:42 EST 2023
On 11/7/2023 9:17 PM, Craig A. Berry wrote:
> 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?
The usual reason for finding in cache is that the item has been
read before.
But maybe it does read ahead so that the previous chunk having
been read before is enough.
Arne
More information about the Info-vax
mailing list