[Info-vax] Byte range locking - was Re: Oracle on VMS
David Froble
davef at tsoft-inc.com
Mon Nov 21 23:27:05 EST 2016
Robert A. Brooks wrote:
> On 11/21/2016 9:47 PM, Craig A. Berry wrote:
>> <discussion of SSIO and byte range locking snipped>
>
>> SSIO involves a pretty complex interaction among
>> RMS, the XQP, the CRTL, and XFC, so there are a lot of things that could
>> go wrong. I believe VSI looked at it long enough to say "we're not doing
>> that right now" but they've kept it on their list of research projects.
>
> Unless a customer shovels a lot of money our way, SSIO won't get any
> attention
> until after X86 ships.
>
> I *think* that what shipped as part of the SSIO project was a very limited
> prototype that was limited to a single node with no cluster wide locking
> semantics,
> so it's not a surprise if something fundamental is not fully implemented.
>
From the little reading I've done, I see several things that either puzzle me,
disgust me, or both.
SSIO appears to be something that is for C, not for VMS. I'd think that if such
work was to be done, it would be for VMS, usable by any languages on VMS.
Of course, something more general might not be as useful in running *ix code,
but, I'd think wrappers for the capability should be helpful for that task.
It appears I cannot find my Internals and data structures book. Not sure how
helpful it would have been. What I've never thought about before, and now seems
to me to be a central aspect of this entire issue, is how VMS handles updates on
disk of pieces of data smaller than the disk cluster size. For example, disk
cluster size of 8, and reading and updating one block.
Is there any material that describes this capability? Is there anyone at VSI
that is knowledgeable, and willing to discuss the capability?
Or, perhaps it's not an issue, and reading and updating a range of blocks will
just work, as it does now.
What I've been thinking is to determine the full range of blocks in which the
string of bytes resides, lock the full range of blocks, when available, update
the I/O buffer, and write the full buffer to disk. Should work, been doing it
for over 30 years. Should work in a cluster.
Thoughts?
More information about the Info-vax
mailing list