5 ms·
Is there a case to be made for developing new software on VMS or is this purely for legacy applications?
by synack 6y ago
Is there a case to be made for developing new software on VMS or is this purely for legacy applications?
- shakna 6y agoProbably a little bit of both. Replacing a mainframe with a VM and not losing performance is a huge benefit. But the software that used to run on that mainframe is now easier to modify, and there's a 10 year backlog of critical bugs that need to be fixed but we were always too scared of breaking something because we couldn't test it - now we have a VM. We can spin up a second one.
- gigatexal 6y agoMainframes are completely different beasts though. A VM on a Xeon machine is not a fair comparison to an app running on a Mainframe because by design the mainframe has many redundant systems to stay online for ever. Lots of dedicated hardware for things and redundant systems etc are the selling point to mission critical hardware that is the mainframe I suspect this is more about not having to pay IBM for the hardware and contracts anymore
- shakna 6y agoI say the same performance with absolute confidence. I expected a drop in performance when a particular contract I worked with asked us to see if we couldn't get everything running on a VM instead of the IBM iron. Like you suspect, that was about not paying for the hardware anymore because just the price of electricity was a noticeable impact on the bank's overall budget. It was an R&D project to see if we could avoid that. What we put together was a QEMU instance, running atop 3 very very cheap commodity servers in duplication, so that if one went down it would switch over without downtime. We chose the cheap servers, because we already had them hanging around. (Probably around $1000 in hardware all up, today.) We did not see a drop in performance or reliance. But we did see an increase in performance. As in, ~30%. I avoided suggesting this is always the case, but it is a significant possibility when changing. As far as I know, the bank in question is now running a similar setup everywhere they used to have a mainframe.
- gigatexal 6y agoFascinating. If the main mainframe use case is more database ops for banking or airline scheduling that doesn’t seem very compute heavy in my head so throwing hardware at the problem makes sense especially if you can save millions to invest in development and modernization.
- shakna 6y agoI agree with you there. Most mainframe tasks today aren't that heavy on the compute - most relied on the amazing I/O stack, and that makes it easier to replace them. Heavily vectorised code with modern instruction sets can also be more performant than a lot of the older compute chips, but that requires more rewriting of code, and someone who intricately understands both the code and the math. Which makes modernising much more expensive. The VM approach is a simpler way to get you most of the way there, but replacing heavy compute stacks is usually going to require a decent bit of investment.
- exikyut 6y agoWhile reading the parent comment ("stay online for ever") I was reminded of VMware lockstep VMs, which nowadays support up to 4 cores. I wouldn't be surprised if a few places do OpenVMS on lockstep. I am very curious what you mean by "in duplication". Do you mean "3 copies of production and a router" (probably not) - or are you saying you did something like lockstep for QEMU? Incidentally I just found https://wiki.qemu.org/Features/COLO https://wiki.qemu.org/Features/COLO, which looks like it may be being successfully used privately in one or two places (looking at the email addresses).
- shakna 6y agoIt was a little while ago, but it was 3 production servers running with the mirror backend, with a dirty-bitmap [0], and a complicated routing setup (which could hold packets instead of dropping them, depending on their importance). I didn't really have anything to do with the routing though, so I can't say much. I'd probably use COLO if I was to do it again today. [0] https://kashyapc.fedorapeople.org/QEMU-Docs/_build/html/docs/interop/live-block-operations.html#live-disk-synchronization-drive-mirror-and-blockdev-mirror https://kashyapc.fedorapeople.org/QEMU-Docs/_build/html/docs...
- zonefuenf 6y agoVMS isn’t an IBM mainframe OS, though. I think typical native VMS machines are much closer to normal enterprise servers than mainframes, so virtualization would make sense.
- roywashere 6y agoVMS is old and used to run multiuser systems and on relatively expensive machines; but they were called 'minicomputers' because they were already less huge/expensive than mainframes. And after the mini came the 'micro' which is more or less the PC as you know it.
- bdavis__ 6y agoi would call a vax a "super mini". one of the crop of 32 bit multi-user systems that came out in the 80's. a pdp-11 was a mini, it was multi-user, but the machine was weak. a 'super mini', with 16MB of memory, now that was a machine you could do great things with.
- kjs3 6y agoThe VAX succeeded the PDP, though the PDP was kept in production for many years of overlap. They're different generation of technology filling the same niche. The PDP-11/70 was the beast of it's day, and even came in a multi-processor version (the 11/74). Saying the PDP was a mini and the VAX was a supermini is like saying the 286 was a mini but the 386 was a supermini.
- throw0101a 6y ago> Is there a case to be made for developing new software […] I think one decent case would be to keep yourself honest. Linux started out a 80386 only, but someone ported it to DEC Alpha. By deciding to run on both 32- and 64-bit platforms in the 1990s, it kept the kernel developers agnostic. Then when the x86 world went 64-bit with amd64, there was probably a lot less 'cleanly up' to do for it to be ported compared to if it had been focused on pure-x86 (see also SPARC and endianness). It's said that NetBSD has a very clean code base because of it's reputed high portability. Similarly Solaris was very scalable. Partly because in 1996 Sun released the SPARCcenter 2000, which could handle 20 CPU sockets. That was a lot, and I'm guessing not many folks bought one, but they had to deal with it in an official capacity, as time when on more CPUs (and cores) became prevalent Solaris was good to go as that situation became more mainstream. If you develop for the odd ball situations and corner cases, it may force you to be less lazy as a programmer.
- deleted 6y ago[deleted]
- huslage 6y agoI ran a fully populated SPARCcenter 2000. It was a beast. Not like the E10K, but still a beast.
- bcantrill 6y agoYou are absolutely correct; anyone who worked on Solaris scalability and performance back in the day will have plenty of Dragon war stories -- and Solaris did so well on Campfire (a.k.a. UltraSPARC Enterprise 4000, shipped 1996) exactly because so much time and energy had been spent on Dragon (a.k.a. SPARCcenter 2000, shipped 1992).
- throw0101a 6y ago> Campfire (a.k.a. UltraSPARC Enterprise 4000, shipped 1996) My main gripe with the various 'E-series' systems (IIRC, we had some E3x00s) was boot-up time, especially the RAM check on power up. I was in an academic environment, and so every so often we had to power down our lab for electrical/fire code inspection power outages by Facilities. The first time we rebooted one (with 4GB of RAM?) it kept booting and booting and booting and booting and booting and booting. 17 minutes later we got the login prompt on the console. We put the 17 minutes as a note in our run book so that we knew not to worry if took 'forever' and to move onto the next step. Otherwise we'd start freaking out about something being "broken" with the system(s). (This was in the 2001-2001 timeframe.)