Hacker News new | past | comments | ask | show | jobs | submit login

What functionality blew you away? What part of OpenVMS, architecturally, can not be replicated today on open systems?



In general having clustering be a core is primitive instead of being tacked on in user land gives you some nice features out of the box. Some can be replicated but with a lot of work from the user

In the exclusive camp we have:

- cross cluster shared memory

In the can be replicated in user land category we have - logicals, env vars with an inheritance from cluster level to process level

- distributed locks

Those two features make something like etcd pointless

- a cross cluster file system that makes nfs look like the hack it is

And finally Linux has finally caught up and passed with iouring, but VMS has had an excellent completion based io model since the early 90s.


I am not sure about your assessment, I think in large all of the VMS clustering stuff really does exist in the Linux world nowadays but not so much at the operating system level.

And I think perhaps you are overselling also the level at which VMS supports some of these and the performance there-of. Shared memory clustering I don't think is really a thing on VMS actually, unless you mean application state sharing over shared files on disk (which can be cached).

A typical VMS clustered application might look something like this:

Applications runs as multiple separate processes distributed across cluster nodes that access shared disk and queues.

On shared disks you'll have shared persistence used by all the nodes of the applications.

The persistence can be in files managed with RMS (Record Management Services, think 80's sqlite)

The distributed lock manager handling locking at the record level (which can be actual records or text-lines in the file)

Said application might distribute work events around it through OS Queue's that are also shared across the cluster allowing for task distribution across a cluster.

And all of this is fronted by a terminal multiplexer that will round-robin incoming sessions (because most of these systems will be TUI kind of things) to a random node in the cluster.

All of the above are built-in OS services, it's the ultimate monolith :)

.... Now if you equate that to some typical enterprise system this quickly maps across to something like:

Fronted by a http proxy bouncing requests to pods.

Application distributed across pods on K8 Cluster.

Clustered SQL for persistence layer and record services.

Kafka/RabbitMQ for your queue's for event distribution.

All of those services will be significantly more feature rich, performant and if correctly deployed more resilient than a VMS cluster too.


> - cross cluster shared memory

Don't you need specialised hardware for that?


Maybe as an extension on MemoryChannel based clusters back in the Alpha days.

But normally OpenVMS clusters are not shared-memory systems, you get shared disks, locks, queues and access controls.


BATCH, message facility, zero-headache clustering would be on my list. That stuff just works.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: