[Info-vax] CRTL and RMS vs SSIO

Greg Tinkler tinklerg at gmail.com
Sat Oct 9 06:19:42 EDT 2021


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!  NB there is no such thing at an OS level of stream anything, 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 the other choice, 3), fix CRTL to use RMS correctly, and the problems will go away.  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.

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



More information about the Info-vax mailing list