[Info-vax] CRTL and RMS vs SSIO
Dave Froble
davef at tsoft-inc.com
Sat Oct 9 13:54:41 EDT 2021
On 10/9/2021 6:19 AM, Greg Tinkler wrote:
> On Saturday, 9 October 2021 at 6:00:48 pm UTC+11, Vitaly Pustovetov wrote:
>>> So the main issue is file IO, so change CRTL to use RMS.
>>>
>>> gt
>> CRTL uses RMS for file I/O. But there is an issue with concurrent access of multiple processes to the same file in stream mode.
>> And we had a choice - 1) rewrite half of Postgres by inserting file locking; 2) add a new SSIO (Shared Stream IO) service to VMS.
>
> Sort of.
>
> RMS worked and has been working of 40+years and does not have these concurrent access issues!
What is RMS, in the current context?
Record Management System
========================
Notice the first word is RECORD. Not FILE, not FIELD, just RECORD.
As for concurrent access, RMS has used the VMS DLM since around 1984.
It is cooperating processes using the DLM that avoids concurrent access
issues.
DLM offers such services.
RMS does not.
CRTL does not.
> NB there is no such thing at an OS level of stream anything,
Not true, unless discussing block oriented devices, which we most likely
are. I do hope you are not suggesting that VMS cannot access memory in
any manner it chooses?
> every thing is clumps of data being buffered is some way, the API that accesses that data from the higher levels may be stream based. In this case it is CRTL's role to translate the clumps of data into/from stream API.
So, how does Pascal, Fortran, Cobol, Basic, and such do it?
>
> So the other choice, 3), fix CRTL to use RMS correctly, and the problems will go away.
3a, The CRTL may use RMS in the manner in which RMS is designed to work.
3b, What problems are there in RMS?
? Engineering effort would not be great. I don't have access to the
code base, but assuming that stdio uses unixio then it is fixing 5
routines. This would also allow all the other ports to work with
minimal changes in the file access area. If you what to know more
contact me directly.
>
> Longer term the SSIO may be useful to RMS, which is where it belongs.
What use does RMS have for any numeric range locking, at least for
anything besides records, which is what RMS is all about.
> Sorry if the above is a little blunt, I appreciate the efforts people have put in over the years, but some of us have using and coding VMS for a very long time, and I really want VMS to be successful and easy to port to. This has been a good opportunity for me to look more into CRTL and RMS, and see the problems that have been there for decades.
>
> locking is an interesting area, I still feel the current DLM is more than capable of doing the 'lock a byte range' in a way that can be used with the current RMS locking. Longer term DLM needs some changes but they are about sizes of resource names, scoping of resource names, ability to scan for children resources by name.
>
> gt
>
--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486
More information about the Info-vax
mailing list