[Info-vax] CRTL and RMS vs SSIO

Greg Tinkler tinklerg at gmail.com
Thu Oct 7 08:54:54 EDT 2021


> Well the perceived issue is what happens when taking out locks, and at 
> some point there is a conflict. Say needing 127 blocks locked, and the 
> conflict is on the last block. That means 126 locks to be released, and 
> perhaps try again. 
Maybe, maybe not.  It depends on the locking fan out factors for the differing levels.  It is possible that only 1 lock is needed, may be more, the wort case would be 127.  NB there is also BLAST to assist with managing the lock promotion/demotions.
 

> As long as storage is block oriented, then regardless of the numeric 
> range of bytes, all blocks encompassing the byte range will need to be 
> read, including locking, and written. This usually will include data 
> outside the byte range.

Yup, as is the case on Unix...let the drivers worry about how and why this is done, block/byte what ever the IO device needs.

> Forget RMS, I/O would be at the QIO level.

Why?  Underneath RMS is QIO, what RMS gives us the the coordination of the buffers/buckets/clumps/block across the cluster to ensure not lost updates, as per the example used to justify SSIO.

> RMS keyed files can have variable record lengths. 
True, VAR only not VFC or STM*, but fixed length key fields, with fixed offsets in the record

> RMS relative files require fixed length records. (if I remember correctly) 
Yup, there are implicitly fixed length.

===
Have been thinking about the byte range locking.  As most of the use will be for locking ranges in a file it should be integrated with RMS, i.e. RMS should have an API to allow this as it already does the locking to the buffer/bucket/clump/block.  Just need another 1 or 2 layers of lock tree and you have it.  And it all be cluster wide, and it will be compatible with other users of RMS.

gt



More information about the Info-vax mailing list