[Info-vax] OS implementation languages
Johnny Billquist
bqt at softjar.se
Sat Sep 2 17:13:17 EDT 2023
On 2023-09-02 02:51, Bob Gezelter wrote:
> On Friday, September 1, 2023 at 5:45:41 PM UTC-4, Johnny Billquist wrote:
>> On 2023-08-31 21:12, Bob Gezelter wrote:
>>
>>> The RSX design was obligatory due to the then lack of system pool. Then, even individual IO Packets were precious. Correctness beats efficiency. For more than two decades, increases in memory capacity and non-paged pool expansion has rendered the memory minimization design goal quaintly anachronistic.
>> Well. Like I said above, RSX actually is somewhat eager to do this.
>> Especially on 11M+, which do have a bit more resources available. In
>> plain 11M, you didn't see this done as much, since resources were more
>> scarce.
>>> The preceding is all in the reprint. A thorough reading of the referenced paper is highly recommended. When I can find the time to finish copy-editing the monograph and get it printed. I will note the general availability in a posting.
>> And if you want more deep diving into RSX, just let me know. I'll
>> happily guide you through it. But it will be lots of MACRO-11. ;-)
>>
>> Johnny
> Johnny,
>
> I almost fell into that trap. There are multiple IO Packets in use when one does read-ahead/write-behind. If you look at my tuning presentation from the late 1980s, you will find precisely that advise.
>
> However, there is a serialization bottleneck when an individual IO Request covers a logically discontiguous sequence of logical blocks on a volume. Once again, it is in the previously referenced IEEE conference paper. The serialization in IO Packet mapping is described in the OpenVMS Internals and Data Structures manual.
Well, yes, one individual I/O request is in itself inherently
serialized. But like I said, at least with RSX, the read ahead/write
behind functionality is not done with just one I/O request, because then
you would not actually get much read ahead benefit, since the I/O don't
complete until all of it is complete.
It's done with multiple smaller reads. And they can complete in any
order. But software will get data when the request that directly access
the data requested right now have completed. The other I/O requests are
hopefully finished by the time the software gets that far. And new ones
can be issued while the software is still working on data it previously
received.
Johnny
More information about the Info-vax
mailing list