OpenVMS (originally known as VMS) is probably the best designed and most robust general purpose operating system in existence. It is also one of the least-known and appreciated, simply because it works quietly in the background without drama, unlike its noisier and more fussy siblings and offspring.
You will typically find OpenVMS in any environment that is serious about high availability, disaster tolerance, security, performance and scalability, especially when running real-time applications. Users include banks, stock exchanges, healthcare, manufacturing, aerospace, online billing, lotteries, chip manufacturing, oil and gas production, power stations, railways, government and secure public sector applications. In short, anything that really has to work.
Uptime measured in years
OpenVMS system uptimes are often measured in years - it being a point of honour to avoid rebooting and causing disruption unless utterly essential.
There are clusters out there with uninterrupted service uptimes in excess of 15 years, even if individual machines have been occasionally rebooted, upgraded or replaced. That is a far cry from today's "reboot and restart" culture, where users seem willing to tolerate disruption to service - indeed, they have come to expect it. If only they were aware there is a better way. OpenVMS is one of the industry's best-kept secrets - those in the know would not consider using anything else for business-critical systems.
OpenVMS runs on three hardware platforms: Vax (32-bit Cisc), Alpha (64-bit Risc) and Itanium (64-bit Epic). A system disc from any Alpha will boot and run on any other Alpha. The same goes for Vaxes, including software-emulated Vaxes. Likewise for the latest HP Integrity servers. OpenVMS will boot and run on anything from an RX2600 to a Superdome. This scalability and interoperability derives from the excellent internal architectural structure of OpenVMS.
The bigger machines (Superdome, GS1280, etc) can be hard-partitioned to make a group of hardware resources inaccessible from other partitions. OpenVMS also supports soft partitions, using a mechanism known as Galaxy. This allows CPU resources to be dynamically reallocated between soft partitions to meet changing workloads.
Partitioned systems are often used for server consolidation. Extending that by dynamic reallocation of hardware resources leads us to adaptive computing.
Pioneer of clustering
OpenVMS pioneered clustering in the mid-1980s and is still the standard to which all others aspire. It provides a "shared everything" model with minimal cluster state transition latency if a cluster member fails.
This model allows all the resources in a cluster to be used concurrently, not in a failover or standby mode. There are many disaster-tolerant, split-site clusters in operation that continue to provide uninterrupted service without loss of data, even when whole sites fail. The largest supported OpenVMS cluster is 96 nodes - where each node can be a large multiprocessor system.
Cluster interconnects can be anything from the original CI hardware to Gigabit Ethernet, or even Galactic memory in a soft-partitioned system.
Many operations staff find using better-known operating systems frustrating in comparison to OpenVMS. The issues are primarily poor availability and reliability, combined with the difficulty of obtaining performance analysis and fault log data for capacity planning and fault analysis purposes. OpenVMS is generally seen as the gold standard for such things.
For instance, OpenVMS comes with essential tools and facilities (most prominently, image back-up and restore) built in, rather than having to be added on. In most cases, you simply install it, configure it for your workload, add your applications and system-management utilities (typically DCL command files), then run it as a black box operational environment.
As an operating system with a real-time pre-emptive scheduling mechanism, OpenVMS has always been capable of handling complex real-time events. The interrupt-driven I/O subsystem design aims for minimal latency, so OpenVMS is capable of exceedingly high, sustained I/O throughput, especially with V7.3-2 on Alpha EV7 (Marvel) systems. It will be interesting to see how V8.2 on Alpha and the Integrity server range compare when it is released.
As a software development environment, OpenVMS provides a rich set of features and programming languages, debug facilities and operating system services.
A key aspect of the OpenVMS design is the "calling standard" that allows code modules to be written in any language and code to call routines written in other languages. This is a great aid to application portability and, of course, to debugging code.
It is the architectural structures that make it easy to optimise memory use with shared image libraries and also to deliver software compatibility between versions of the operating system without the need to recompile and relink applications.
Although off-the-shelf package-based products may be in fashion, designing and implementing your own is the only way to utilise the capabilities of the underlying platform.
This is especially true for high-availability environments where the features have to be built into the application and need to be reflected throughout the system architecture. Time spent investigating, testing, customising and deploying a package can often be better spent developing your own product layered on top of a system designed around the minimum components that fit the overall application architecture.
OpenVMS also has excellent security. A hacking contest was held at the DefCon 9 conference in July 2001, where the winner was not NT, XP, Solaris, Linux or BSD. It was VMS, which was rated "cool and unhackable".
Not legacy nor unfashionable
OpenVMS generally appeals to those who take pride in using computer systems to do a job effectively and reliably, rather than those who want to live at the bleeding edge with the newest (and often immature) technology.
Probably the biggest challenge for OpenVMS to overcome is its lack of public visibility. This has led to the perception of it being old, or legacy, or simply unfashionable, whereas in fact it is still under major development. This includes secure and stable implementations of commonly-used software such as Apache, Java, Mozilla, Perl, Python and XML.
End-users, system managers and software developers want and need to see sufficient advertising of OpenVMS' strengths and capabilities so that those at board level can realise that in many cases it is a better and more cost-effective way of delivering secure, ultra-reliable and scalable business-critical systems than the more fashionable and better-promoted alternatives.
Now the new HP has begun to settle down, and with the porting work to the Integrity server range almost complete, the expectation is that we will see the many benefits of using OpenVMS-based systems being actively promoted. OpenVMS has a long life ahead of it, once the current and future generations of decision-makers realise what it can do for their businesses.
Colin Butcher is technical director of XDelta and board member of the HP User Group
This was first published in July 2004