[Info-vax] HP wins Oracle Itanium case
David Froble
davef at tsoft-inc.com
Wed Aug 22 15:07:01 EDT 2012
Stephen Hoffman wrote:
> On 2012-08-22 02:11:29 +0000, David Froble said:
>
>> Stephen Hoffman wrote:
>>> On 2012-08-21 20:37:44 +0000, Bob Koehler said:
>>>
>>>> In article <zCQYr.12412$7h.10088 at fx23.am4>, ChrisQ
>>>> <meru at devnull.com> writes:
>>>>> On 08/21/12 17:33, Bob Koehler wrote:
>>>>>> In article<b9NYr.4322$3p2.4259 at fx03.am4>,
>>>>>> ChrisQ<meru at devnull.com> writes:
>>>>>>>
>>>>>>> As for RMS, a file system is to store bytes and any imposed
>>>>>>> structure on
>>>>>>> the data should be layered on elsewhere. So yes, you will have to
>>>>>>> write it
>>>>>>> yourself :-)...
>>>>>>
>>>>>> "a file system is to store bytes"
>>>>>>
>>>>>> Nope. Meaningless hype.
>>>>>
>>>>> ymmv, but the ideal file system really doesn't want to know about
>>>>> various data
>>>>> formats. It's main function is to store and retrieve data.
>>>>
>>>> Nope. Disks are made to store and retrive data, filesystems to
>>>> organize it.
>>
>> I agree with Bob ..
>
> And (clearly) I do not. I'd rather not write stuff, and the more I work
> with VMS (unlike other platforms) the more I find I have to write stuff.
>
>>
>> I'll also point out that for your data, there is no need to use RMS if
>> you desire not to do so. QIO works for reading and writing data.
>> Mount /Foreign and roll your own if you don't like ODS.
>
> "Rolling my own" is the antithesis of where I'd rather be, here. I did
> end up rolling my own RMS-calling library, however.
>
>> On the other side, providing RMS allows various languages to access
>> data files without the requirement of providing the underlaying file
>> system.
>
> That much is obvious. My gripe is that what's available isn't enough.
> (And beyond sequential configuration files and such, and SQL databases,
> how many folks are actually poking around inside the data storage files
> of an unrelated application?)
>
>>
>>> And then there are the things I find frustrating about the file system,
>>> and I'm here lumping VMS mechanisms such as mount, RMS, and the XQP,
>>> together...
>>
>> Oh, good, I finally get to be the devil's advocate, not the defense :-)
>>
>>> o RMS files don't defragment themselves,
>>
>> Short of some Relational databases, is there any file system anywhere
>> that does this? And even in something that does, can it be done
>> without copying the data elsewhere?
>
> So why doesn't this hypothetical RMS-self-compressing file system exist,
> then? Wouldn't this be a feature that would want to make you upgrade to
> the latest and greatest VMS? It'd mean folks wouldn't have to either do
> a whole lot of RMS coding, or take applications and files offline for
> file-packing maintenance.
>
>>
>>> and indexed files don't pack old records.
>>
>> Give ya this one, my DAS database system doesn't either. I've looked
>> at it more than once, and the hassle doesn't seem worth the effort.
>> However, a programmer can re-use a deleted record.
>
> On other systems, I deal with objects, and the storage system deals with
> this icky file and record stuff for me. I don't know how the stuff is
> stored, and I don't care. Well, technically I do know and did look, but
> not having to mess with reading and writing records and marshalling and
> unmarshalling the data is _really nice_.
>
>>
>> < The programmer or the end-user has to deal with that mess.
>>
>> It was ever thus ..
>> Isn't that why we have programmers ??
>
> Yes, and it's why programmers can find existing tools - like RMS - to be
> limited, gnarly, feature-limited and generally a pain in the rump to
> use. We're never happy with what's available. It's why we're not
> satisfied with a bad interface, a weak feature set, or a tool that - for
> instance - doesn't provide on-line maintenance. Why we're looking for
> different or better solutions. Why it'd be nice if RMS dealt with this
> dreck for me.
>
>>
>>> o RMS files require an extra license and related coding for
>>> transactional processing and rollbacks, and the transactional API
>>> doesn't document any means of synchronization with the other
>>> activities that might be necessary within an application.
>>
>> Some people consider marketing decisions a technical issue. I don't.
>> But I can consider it a royal PITA.
>>
>> Sychronizing any database software with an application has always been
>> a tough nut to crack.
>
> The TP processing embedded in VMS (DECdtm) is pretty good. It's just
> not documented for this particular task; for adding your own activity.
> As for some of the available techniques
> <http://the-paper-trail.org/blog/consensus-protocols-two-phase-commit/>
> or otherwise, if you don't have access to the TP APIs.
>
>>
>>> o RMS files (and disks) don't scale past two terabytes.
>>
>> Did any pre-1990 OS? Maybe ever any pre-2000 OS? Let's be fair in
>> case we're doing any comparisons. Or if we're just listing lack of
>> updating when it should happen, well, isn't that what these
>> discussions are all about? HP not continuing VMS development?
>
> The retrocomputing folks are often interested in what happened in 1990.
>
> The folks that wish to debate what DEC did or did not do, or should or
> should not have done, as well.
>
> If I'm coding in RMS, I'm more interested in this year, the current APIs
> for whatever VMS version I'm using, and going forward.
>
>>
>>> o RMS programming routines have an exceedingly arcane programming
>>> interface.
>>
>> If calling RMS directly, I got to agree. If using RMS from a HLL,
>> then I don't agree. RMS benefits the VMS HLLs.
>
> The API also makes the operations slower, because the processing code
> has to unpack and interpret all of those structures.
>
>>
>>> o RMS sequential files force the user to deal with slightly different
>>> formats, particularly when transferring files around.
>>
>> That's more like, the rest of the world came up with something
>> different, and if there was to be interchange of data, RMS needed to
>> implement that used by others. At least it can adapt. How well do
>> other OS handle RMS files? They are the ones having trouble adapting.
>
> If VMS were the predominiate operating system or were in ascendence, the
> Microsoft model of compatibility from the late 1990s ("Our way or the
> highway") work. But...
>
>>
>>> o RMS relative files lack sparse storage capabilities; you're pushed
>>> over into index files if you need that.
>>
>> Is there any method to do this? If the record can be found only by
>> it's position in the file, then the calculations to find a record need
>> some fixed information, such as record length. Now, if you're going
>> to have some pointer to each record so it can be found, well, isn't
>> that an index?
>
> Hashed or b-tree files. Could an indexed file do this? Sure.
>
>> Are you suggesting that there are data storage models that can have
>> variable length relative records without some type of pointer? If so,
>> I'd be interested in knowing about them. That would be very educational.
>
> There are always pointers in a file system. Relational databases have
> done wads of data for years.
>
>>
>>> o RMS record and I/O data transfers are limited in size.
>>
>> As are most things in this universe. At some time in the past 32767
>> bytes was considered quite large. Time changes all things. Did Unix
>> in 1970 have any I'O limits? If so, and they were modified, then that
>> just takes us back to lack of ongoing development of VMS.
>
> We're in 2012, and tossing around large buffers is much less of an
> issue, and much more efficient than reading a gazillion little records.
> (Reading the disk file into memory for processing is vastly more
> efficient and massively faster than rummaging around with records. This
> does mean you're subject to power hits in the write path, just as
> happens with VMS and section files.)
>
>>
>>> o RMS files require you to deal with records, rather than dealing
>>> with your data; there are no marshalling and unmarshalling APIs.
>>> o Heck, there's no concept of marshalling and unmarshalling anywere;
>>> I have to roll my own data structures with SDL or {whatever}.
>>
>> As I'm not sure what "marshalling" is, I'm assuming it's defining and
>> accessing the pieces of a data record. That's always been one of my
>> complaints about RMS, that the data file system doesn't know a dang
>> thing about what's in the records.
>
> <http://en.wikipedia.org/wiki/Marshalling_(computer_science)>
>
>>
>> The DAS database system I mentioned above contains this "marshalling"
>> information within the file, and the database routines assign labels,
>> if desired, to the data fields in a data record when the record is
>> read. This dynamic labeling is more labor intensive, but, allows for
>> many utility programs for manipulating the data files, records, and
>> data fields.
>>
>>> o VMS (and RMS) doesn't implement application sandboxing.
>>
>> Without having huge amounts of memory available, what does?
>
> <http://en.wikipedia.org/wiki/Sandbox_(computer_security)>
>
>> My preference is development and testing systems.
>
> Mine is to harden production, too.
>
>>
>>> o RMS doesn't implement action routines; there are no built-in
>>> triggers for activity, short of repurposing the security APIs.
>>
>> Examples? What would such be used for?
>
> The classic example is triggering some site-local processing for a file
> newly created in a directory. There are many others.
>
>>
>>> o RMS doesn't have a way to set a default sequential file format.
>>
>> Well, it did once, until it had to be modified to support multiple
>> formats. But yeah, being able to have a consistent default would be a
>> good thing.
>>
>>> o RMS lacks an API and storage for application metadata, beyond
>>> repurposing an ACE.
>>
>> Ya know, I don't get out much, so, just what would this be, and what
>> could it be used for?
>
> Storing the URL source of a downloaded file, for instance, or the
> version of the tool that created the file. (Can this be done _in_ a
> file? Sure. But not in a fashion that SEARCH (the glacial nature of
> same being a whole 'nother problem) could dig out as part of its
> selection criteria, or that DIRECTORY could show.
>
>>
>>> o RMS lacks a data replication API; HBVS and journaling are it.
>>
>> Agreed.
>>
>>> o VMS had (has?) a separate shelving package and tools for nearline
>>> archiving and restoring files.
>>
>>
>>> o VMS (and RMS) lacks the application synchronization primitives for
>>> a consistent on-line BACKUP.
>>
>> I've heard this many times, and I agree that it is a problem. But how
>> large of a problem. Assume that you could journal all activity that
>> didn't make a backup, and then included that data with the backup.
>> Sure, you could restore as of the point in time when the backup
>> finished, but for a 24 x 365 application, just how much does that help?
>
> It's one of the ways I've recovered databases after the very expensive
> storage controller fried its entire RAID volume.
>
>> As mentioned before, I don't get out much, so I'm asking, is there any
>> system anywhere that can perform an online backup and always get it
>> 100% right, and if it does, what about subsequent activity?
>
> Ignoring most (all?) relational databases, which support exactly this
> on-line backup with their database-specific tools...
>
> Would this be 100%? Possibly. Possibly not. Depends on the application.
>
> And there would always be applications which did not utilize this hook.
>
> But would this be better than what is available now with
> /IGNORE=INTERLOCK? Definitely.
>
>>
>>> o RMS lacks a way to modifying the structure of an existing file in
>>> place; you're left to either implement this record translation
>>> yourself at run-time, or rewrite the file. (This made SYSUAF
>>> upgrades all the more interesting, as there was no good way to do
>>> that across versions.)
>>
>> And the reason DAS has this offline capability is to allow quick and
>> easy modification. It's still copying data from a source to a
>> destination.
>
> Relational databases can typically do these changes "hot". Online.
>
>>
>>> o And VMS doesn't support variant file systems; there's no API for
>>> inserting your own file system underneath RMS, or a replacement for RMS.
>>
>> As for file storage, you're correct. Does any other OS allow multiple
>> file systems on the same disks?
>
> VMS supports BFS (Bridge File System; the TCP/IP Services "stuff"), NFS,
> ODS-2, ODS-5 and (for a while) Spiralog, and BFS can coexist on the same
> disk. And using the LD logical disk driver, even VMS can support
> different file systems on the same disk. WIth other operating systems,
> the file systems can and often do default to the use of partitioning,
> which allows the same physical disk or the same virtual disk to have
> several different file systems. (This partitioning is part of the EFI
> specs, too, and VMS had to do some hackery to hide the partitioning and
> allow its non-partition-capable I/O stack to operate.) Unix commonly
> supports several different file systems, in different partitions on the
> same disk.
>
> The concept of the disk is getting quaint, too, as all the applications
> care about is a pool of blocks, and who cares what physical storage is
> involved. (As a recent example, there's Amazon Glacier, which is a wad
> of very cheap, very durable, storage somewhere in the cloud.
> <http://aws.amazon.com/glacier/>) But I digress.
>
>> I frankly don't see how this could be done. One file system per disk,
>> yes, I can see that, and that is might be useful, if the tools to use
>> multiple file systems existed.
>
> Beyond partitioning, a FUSE (file system in user space) allows you to do
> this stuff in user space, too, which is handy for developing the new
> file system, for testing, and for isolated use. (You can go as far as
> running Linux in user space these days, too; running a whole operating
> system as an application.)
>
>>
>> I guess an example would be Weendoze handling both NTFS and FAT. I'm
>> assuming that there is different code for each. Or possibly different
>> code for certain operations.
>>
>> Would ODS-2 and ODS-5 be considered different file systems?
>
> They are, in fact, different. ODS-5 is a proper subset of ODS-2.
> They're not very different, but they are different.
>
>>
>>> o Add a key to an existing indexed file. Or remove it. Go ahead.
>>> Try it. Make my day.
>>
>> That was always another of my problems with RMS. In an indexed file,
>> the bottom level keys were actually the data record. To change the
>> primary key, you needed to move the entire data record.
>>
>>> o RMS forces me to read records in, and to write them out.
>>> Personally, I'd rather let RMS deal with that, and just hand me the
>>> data. (See marshalling, et al)
>>
>> Like paging, huh?
>
> Like swapping the whole file in.
>
>>
>>> o No built-in tools to assist with file format and data conversions,
>>> beyond CONVERT /FDL and friends.
>>> o It's slllllloooooowwwww.
>>
>> Anything that resides on disk is slow. Cache it all up in memory and
>> you'll see a difference. RMS was designed and implemented in a time
>> where memory was measured in KB, not MB, and GB was unthinkable.
>
> Did I not mention that RMS was pretty good in the 1980s? And that we're
> now decades past that. And that a single laptop might have as much
> physical memory and more SSD storage than the cluster of AlphaServer
> systems I recently installed had for physical memory and rotating-rust
> storage?
>
>>
>>> And I am sure I can find a few more things that annoy me about RMS or
>>> the XQP here, too.
>>>
>>> Things that don't annoy me about RMS? RMS is wicked-good at not
>>> corrupting itself. Which is very important.
>>>
>>> RMS was a great idea well into the 1980s. And it's a marvelously
>>> well-engineered system. But it's really gotten quite feature-stale
>>> in the ensuing decades. And it lends itself to the one-size fits all
>>> approach of application design, which usually then leads to busted
>>> applications, difficulty with backups, and other messes.
>>>
>>> And yes, there are a number of applications that can (and do) (and
>>> should) still use RMS. I have a number of them, and will likely have
>>> more.
>>>
>>> But in the end, I find the Unix approach of allowing me to layer on
>>> whatever system I need much more flexible. (The days of rolling my
>>> own record-level storage system are largely gone, except when I'm
>>> working on VMS with RMS, and without the benefit of a database in the
>>> target environment.)
>>
>> I can appreciate the concept of having more than one file system
>> available, and more than one database system available. On VMS I've
>> practiced that, using both RMS and DAS.
>
>
> VMS doesn't have anything past RMS integrated, and RMS is limited, which
> is where I get into trouble with my preferences. With other platforms,
> there are integrated databases. On thinking about it, it's that RMS
> more and more gets in the way these days, and is often (much) less
> capable than what's available on other platforms.
>
> Some future version of VMS, with an up-rated RMS, or with integrated SQL
> and noSQL databases? Might get some folks to upgrade. Might just get
> some others to stay on VMS. Etc.
As someone who has implemented several database systems, I find this discussion
entertaining, and educational. Getting my nose rubbed in some things I didn't
know about, and seeing some different perspectives. A good thing.
One specific, I was never very fond of multi-volume disk sets. I know why they
existed, but didn't like them. RAID is better. Probably I'm just too set in
some ways, but, I do like to have separate disks. I REALLY like to have a
separate system disk.
Regardless, I think the majority of the above can be summed up very easily. HP
HAS NOT CONTINUED DEVELOPMENT OF VMS and IMPLEMENTATION OF MORE UP TO DATE
FEATURES IN VMS!
Sometimes I hate it when JF is right ...
More information about the Info-vax
mailing list