[Info-vax] naming convention in VMS MAIL

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Wed Dec 19 19:36:12 EST 2018


On 2018-12-19 23:59:32 +0000, johnwallace4 at yahoo.co.uk said:

> On Wednesday, 19 December 2018 23:03:12 UTC, terry-... at glaver.org  wrote:
>> On Wednesday, December 19, 2018 at 5:02:19 PM UTC-5, Stephen Hoffman wrote:
>>> And I doubt the answer has changed since some yutz wrote the following 
>>> an aeon or two ago:
>>> https://groups.google.com/d/msg/comp.os.vms/l7L2SbFdP2I/RsteYU4bjnYJ
>> 
>> Ages ago (VMS 5, long before Alpha), somone wrote a "turbomail" patch 
>> for VMS mail that a) split the mail directory into multiple 
>> subdirectories and b) used shorter filenames so more would fit in a 
>> given number of directory blocks. It worked quite well, as long as you 
>> could figure out the changes needed to the patch whenever a VMS update 
>> replaced any of the relevant images.

All sorts of creative shenaniganing happened because VAX was 
comparatively slow.  Particularly late-era VAX, as compared with 
various of the then-current Unix boxes.  (Mid-1980s-era Apollo and its 
storage and networking completely blew away mid-1980s-era VAX-11 
performance, for instance.)  OpenVMS preserves more than a few design 
compromises that track directly back to VAX/VMS and occasionally as far 
as RSX-11M designs and limits; to computers and designs and hardware 
from forty and fifty years ago.

Part of that I/O slowness specific to MAIL was around the older 
directory file sizes and caching limitations of ODS-2 and ODS-5 on 
older releases and as was mentioned, but—as I'd alluded to 
else-thread—the MAIL (opaque) file naming was not entirely optimally 
selected for how the XQP works with its (opaque) directory file 
processing when mail files are added and removed from the mail 
subdirectory.   VAFS will hopefully help here.

My comments from an aeon or two ago—around migrating to and using a 
more modern database—also remain.  Various folks working with OpenVMS 
have been far too fond of rolling their own databases, using RMS.  
Largely because OpenVMS (still) doesn't ship with a relational database 
integrated, nor with a NoSQL database past what RMS indexed files can 
offer.  Upgrading app record formats in indexed files in a rolling 
environment is Not Fun.  That's rather easier with a relational 
database, or with an object store or related marshalling and 
unmarshalling support, depending on what you're up to.  And in the 
specific case of SQLite, the same database file can be dropped onto any 
system with SQLite, and successfully accessed.

>> This is one of the things that people looking at a finished VMS on x86 
>> will likely be testing - how long (both CPU and elapsed time) does 
>> VMS/x86 take to perform a task compared to Windows Server/x86, 
>> Linux/x86, or whatever. Unfortunately for VMS, the things that will be 
>> tested will likely be things that do not take advantage of VMS's 
>> features - in the above example, mail. Likely also things like Perl 
>> scripts, MySQL or other database benchmarking, etc.

The core OpenVMS design features are inherently slow.  SSDs have helped 
there as have caching controllers, but the default behavior is a write 
to persistent storage.  There are more than a few cases where that's 
less than desirable, or where it would be preferable to cache a bunch 
of operations and flush that data less frequently.  That's certainly 
possible on OpenVMS, but OpenVMS isn't good at presenting this 
trade-off to the developers.  There've been cases where—for 
instance—temporary stub files opened and written and closed frequently 
can utterly saturate a system.  Bad design, but other systems can keep 
all that in memory until flushed, so the storage I/O paths don't get 
hammered.  And clustering works because the data is on static storage 
and the OpenVMS I/O caches are usually write-through and not 
write-back.  Trade-offs abound here, of course.

> Benchmarking the performance of a particular application ona particular 
> set of low-end hardware is often relatively easy.
> 
> Benchmarking productivity is not so easy at all; it involves rather 
> more than the speed of a particular set of hardware and software, and 
> takes rather more than a box and a few scripts.

"Lies, damned lies, statistics and benchmarking".  Or 
"Benchmarketeering", for those that prefer it.

> Well, actually, it seems like Intel are starting to realisewhat can go 
> wrong, e.g. x86-64 implementations startignoring important but 
> performance-inhibiting aspects ofthings like device/memory consistency 
> models, and memoryaccess controls, and visibility of stuff that 
> shouldn't be generally visible (but costs time and chipspace to 
> doproperly).

There's reportedly a digital logic signal analyzer embedded in recent 
Intel x86-64 processor chips.
https://www.blackhat.com/asia-19/briefings/schedule/index.html#intel-visa-through-the-rabbit-hole-13513 




-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list