Powering a Mainframe
blog.mainframe.dev
blog.mainframe.dev
One incident I remember is when an electrician was working on one of the power feeds while it was live. Foolish, but the kind of thing people did when getting approval to shut off power was a bureaucratic nightmare.
The sparky was tightening down a bolt on one of the phases with a big crescent spanner when he inadvertantly made contact with another phase.
There was a flash that lit up the room and a loud bang. His crescent spanner literally melted in the middle. Incredibly he was uninjured, although he did take the whole room down, which was an extremely serious matter.
Modern computers that plug into the wall socket are much more pleasant to work on.
Real Datacentres have diverse routing for every thing
Apparently, his work was with the Plasma Lab, primarily the Tokamak they had. Someone at some point had dropped a wrench or something on the bus bars of the capacitor bank used to power it - and, well, that was that. So he couldn't continue his studies until it was repaired.
In the meantime, he taught us.
Strange guy, but insanely intelligent, and fun to talk with. He always stressed the importance of "doing the experiment" - so we were always doing a practical experiments as a group to show how what we were shown and learned in class actually worked (within margins of error of course). I learned a ton in that class.
After I graduated, I think he taught there one more year, then a few years later I looked him up, and he was back at Princeton, but was now working on something having to do with Materials science; I'm not sure what he's up to today, though - that was a couple decades ago. He wasn't much older than us at the time; late 20s or so.
Also relevant: https://i.imgur.com/HjqfZZh.jpg
Per him, you worked with your right hand only and your right foot bare. Better to crisp your right side than send current through your left.
There's a similar rule for HV work (and when working with vacuum tube-based equipment) - "one hand in pocket"; again, the idea being that if you're working on a live system, you aren't touching things with both hands leading to a shock across the heart area.
Another rule for live systems (this applies both for higher voltages and for low voltage systems - it's mainly to protect the circuit and components):
If you have to test/measure a live system, it's best to hook up the test equipment in the "dead" state, then power up the system, then shut down before removal or changing the position of the test leads, etc.
But if this isn't possible, the next best thing to do is to hook one lead (if say using a multimeter) to a common reference point (that depends on the circuit and what you're measuring and where - but usually it's a shared ground point), and probe with the other using only one hand. Try to never probe with both hands/probes - because it can lead to inadvertent shorts and other problems. As always, there are exceptions to this rule, but they should only be considered after very careful thought and planning.
There's a beauty of succinct purpose.
A 14 year old with no scientific background can understand "one hand in pocket or you're dead." He or she would far less reliably understand "This is how voltage works. This is how it reacts with your body. This is how..."
Usually people who make that mistake don't get away any where close to that cleanly. One of the more horrific ways to accidentally die...
One component of that task was running thousands of feet of CAT-6e cable. Of course you want to be sure your spool of CAT-6e cable has no wire breaks in it before you start using it[1] to wire up racks so there was a step that involved putting a connector on the stub of cable that was inside the reel, and a connector on the end of the cable that came off the reel, and then hooking up an instrument between them to measure the resistance/propagation/etc.
It is convenient to work at waist height for this, so our hapless technician had the cable spool put on a convenient big square brick like metal structure outside the building. He added the connectors, hooked up the tester, and the tester exploded. (well not completely but it did experience some rapid unplanned disassembly due to a large number of capacitors suddenly not existing.
The "brick like structure" that the technician was using as a table top happened to be one of the transformers that was converting high voltage down to 440V 3-phase for the data center. When he effectively shorted the cable loop with his tester he air coupled into the field around the transformer and put > 400V into the tester. Whoops!
[1] tracking down a bad network cable is not a lot of fun.
And given the distance scaling, it wouldn't have been a problem with a few more inches. He essentially lucked into the worst possible setup.
I usually lurk here but feel free to reach out via twitter (same username)
I’m honestly surprised to learn that I’m wrong, as having the laptop be a real laptop would introduce all sorts of headaches compared to having the laptop be a dumb terminal—it’d have active components like disks and fans that could to burn out (and not be hot-swappable like the server’s own components are); and more importantly, it’d have to talk to the server using some form of network interface (unless it’s just a glorified glass terminal for a USB-serial adapter.) In which case, bad behaviour on the server—exactly the case where you need a local admin console—could block or steal resources from your connection attempt. You may as well just be SSHing into the dom0 from across the room over the SBC VLAN at that point.
Also why the mainframe would even have a framebuffer?
Providing a console interface (ie. 3270 terminal emulator) to whatever OS runs on the mainframe is only small part of what SE does.
Have you considered using ^W?
The mainframe itself wouldn't, but it might be running a VM that has one (and also has reserved capacity on the system, preventing other tasks from fighting it for priority.) I was picturing the support element as simply a physical extension of that VM, sort of like x86 VMs can use IO-SRV to lay claim to graphics cards and such. It'd be like the BMC on an x86 server motherboards, but virtual.
What you say about the support element also being used to IPL the system makes sense, but I'm surprised that responsibility is pushed into such a fragile component as a laptop. Why not just make the "IPL booter" a single-responsibility SoC card-edge daughterboard (I'm picturing a game-cartridge-looking thing), and leave the support element for, well, support?
On a side note, the new machine has LTO-7 and our old machine (9406-800) predates LTO, so it makes the upgrade a bit longer.
During bringup of a machine like that, the SMW host is installed first from scratch with a Linux distribution, hardware inventory is enumerated, boot images are built for individual node roles in the system and then the system performs its boot procedure.
My biggest fear is that you are in the minority of developers that can single-handedly operate one in the age of buzzword-ridden lingo such as AWS, GCP, Heroku, etc which forces a dogma to run rampant in our industry to host all of your startup/company only on other peoples's servers rather than to setup up your own in-house bare-metal servers instead.
So I am very impressed to see this, as an added bonus it is a mainframe. Please post more of this.
You're right. About 6 months ago the University of Canberra, Australia started it's 'Bachelor of Information Technology in Mainframe Computing' degree program because of the shortage.
I'm already hearing the term internally and within job postings -> 'repatriation'... bringing it back from AWS.
There will be a tipping point where the groupthink will switch back to prioritizing in-house data centers.
So we did some small stuff on AWS and Azure and that was all about it, in max 5 years time the fad will be on the down path.
If you look hard enough at Kubernetes - perhaps with a Kafka queue in the mix - it will turn into a big Websphere cluster and wave back.
To get a sense, have a look at the E980’s Reliability, Availability, and Serviceability Manual. [1] that systems NOT a mainframe - but it borrows ideas from it. Even in that system all levels of it are designed for failure, from Customer replaceable units like fans or power supplies to certain busses have extra lanes or wires for parity or spares depending on the design. Internal to the processor logic there’s a large number of internal checkers that watch the architected state of the machine and notice when something abnormal happens. For several things the processor core will unwind its state and retry an op, and if it proceeds, flag itself as having had a “recoverable” error, which usually triggers a service action. If the system can’t recover it halts either the core or the entire platform, and a dump happens from the service processor which then offloads it to the management console for diagnosis.
Z boxes do all of the above - and more. There’s pictures floating around the office of a system that went through and earthquake, fell over (someone didn’t buy the optional earthquake bracing for the rack) and as it fell, it domino’d over along with several other racks. It still running when the techs went to inspect the data center, though it did turn on its “service me” attention light. ;)
I am just constantly surprised that on the one hand FAANG+ which run so much of the internet economy do not use mainframes, and yet banks do.
You'll find those on e-Bay. A new one will be significantly more expensive.
Edited to specify which sibling I was referring to.
I don't think any serious bank will consider trusting outsider with their core business.
And mainframes are essentially early on premises clouds.
And today's, cloud offerings still don't do what mainframes did as easily.
(and there are several things that cloud does offer that mainframes can't do)
A big bank will usually do its own ledger processing. A good configuration is to process in two pairs of data centers more than 200 miles apart in different electric utility interconnection regions, e.g. Arlington/Fort Worth and Dayton/Springfield. Archival storage of transactions may involve additional centers. https://en.wikipedia.org/wiki/IBM_Parallel_Sysplex#Geographi...
Cloud is cheaper ($ per cycle) at the expense of human brain power to glue it all together.
That's the whole explanation right there. "Move fast and break things" is not the way that sort of business works.
Recapping what i've written in another comment:
- 100% uptime
- reference, full featured platform that does its job doesn't change much during the years
- write once, run forever approach
- everything on premise
https://www.ibm.com/support/knowledgecenter/zosbasics/com.ib...
http://www.redbooks.ibm.com/redpapers/pdfs/redp5346.pdf
Plus one that I seem to be posting on a monthly basis these days:
https://www.redbooks.ibm.com/redbooks/pdfs/sg246366.pdf
Here's one I just found, and will be reading tonight I think:
http://www.redbooks.ibm.com/redbooks/pdfs/sg248550.pdf
Enjoy!
If you're really keen, the base z/OS docs can be found here when you've got a spare couple of decades:
https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pag...
While they had they own datacenters (two of them, hosting about ~2k physical x86 server machines and many more virtual machines) all of their retail shop inventory and sales processing ran on IBM SystemZ mainframes. They had more than one of them, and were in the process of buying a new one.
What they told me is basically they have a 24/7 operation with no downtime accepted. They also need to process a huge number of orders (check-out at the grocery stores, basically) in real time. Their inventory systems were not very different from the original ones written in the late 70ies except for some evolutions along the way.
They also told me about that time when they switched from an old mainframe to a new one, during the business day, in the middle of the operations, with no downtime or service interruption.
So basically what I got from that is that the benefits are:
- write once, run forever code
- 100% uptime (not "five nines", literally 100% uptime)
- a reference environment that you can rely on (no runtime change, everything that works today will keep workin in 30 years)
- value added consulting from IBM
- a complete set of tools (runtime, database, primitives, libraries etc)
There's literally no such thing as 100% uptime. You can add more "nines", meaning that disruptions become exponentially less likely, but that's still very different from "100%".
https://en.wikipedia.org/wiki/Tandem_Computers#Tandem_NonSto...
As the above link mentions, everything is redundant. CPUs running in (near) lockstep - voting bad cpus out, redundant storage, power etc etc etc.
I've not seen a better write up on IBM's equivalent systems - but I've not had a reason to play with such big iron. NSKs however were much more affordable, and were used in the late 90s/early 2000s in various telcos etc.
Your decommissioning event had me in stitches. I might use that phrase in the future :D
If, for some reason, an event decommissioned all three machines, having our computers back online would be a lesser problem - we would probably be better off learning to hunt and make fire.
Mainframes are built differently, such that each CPU and NUMA zone of memory has its own (virtual) private bus to its own (dynamically) dedicated IO peripherals—it’s like a little circuit-switched network with CPUs “placing calls” to peripherals. And, because of this, mainframes do let you just scale your problem vertically, without IO bandwidth limitations ever getting in the way. They function less like like one computer, and more like a Mosix cluster that all happens to be running on a common backplane. But, unlike Mosix and its ilk, the DC only sees one SNMP node with one set of traps, and the whole thing provides hotswap robustness against itself rather than that robustness being partitioned per machine.
An x86 server is a computer built around its CPU. A mainframe is a computer built around its buses.
https://en.wikipedia.org/wiki/Channel_I/O
That difference a big part of why our PC's and servers have low utilization while mainframes have massive utilization/throughput. There's designed in embedded space copying it, too, where they have a main processor and a cheaper one for I/O.
So it is similar except the power supply is built on modern power electronics and is quite small and internal in the rack.
Any decent motor these days is a brushless DC motor, so it runs on DC voltage, except that it really doesn't. It gets DC voltage from a power supply (or it rectifies AC voltage to get DC, just like your computer's power supply), and then uses that to drive a motor drive (controller) (a box of electronics that runs the motor). The motor drive generates 3-phase AC power which is actually used to power the windings of the physical motor. The motor includes feedback devices which tell the controller the motor shaft's position so it knows where in the AC cycle the output waveform should be.
There's always a lot of confusion about these motors because of this: they're called "brushless DC" (BLDC), but also 3-phase AC, and both are correct. The key is that the controller is really an integral part of the motor. It's similar to how your CPU probably runs on 1.8VDC, but you don't actually supply it that from your computer's power supply, the motherboard has its own voltage regulator to create that. You would never actually make a separate 1.8V power supply for a CPU, because it wouldn't work very well (high losses over distance); it's much more efficient to have the regulator closely coupled to the CPU.
Most applications are perfectly fine with asynchronous motors which don't require extra power electronics. The increase in efficiency from IE3 asynchronouos to IE4 synchronous/SRM/hybrid is pretty small and costs a bunch.
Those are at the lower end of the power spectrum of electric motors (which spans approximately 10 orders of magnitude from a few mW to hundreds of MW) and have been BLDCs for a very long time. To see something else in a PC you probably have to go all the way back to the IBM PCs.
> The power electronics these days are dirt cheap.
For a <1 W fan, yes, but when you want to run a 5.5 kW saw it still costs real money and the motor is more expensive.
>The datacenter staff, not needing a forklift in their day-to-day, had managed to solicit the services of a forklift, the associated operator, and some very handy folks to help navigate the mainframe from the storage space to its final location.
Since this thing can approach the cost of a rolls-royce,and weighs half as much as a prius, movers and millwrights should have been called in. watching two chubby guys in tennis shoes and no gloves move a 700 kilo server in reverse would have given me a heart attack.
> The various guides did hint towards how the phases are connected to various Bulk Power Regulators (BPR) but nothing was very definite.
that should have been your clue to hire an electrician. there is no such thing as a bulk power regulator. this is a BUCK POWER REGULATOR.
>I tried to do my best to construct a power cable
Make sure you tell your building supervisor and the fire brigade you "tried your best." there is no "tried your best" section in the electrical code. You either construct a cable to spec, or not.
>Now, I assumed that given there is no neutral it has to be a delta system
Since youre handling voltages that can kill you, perhaps a meter?
>The uncertainty was which phase-pair powered the lowest BPR? I guessed A-B
OR your BPR explodes, your HV breaker trips, and you wipe out power for half the building. Christ on his throne.
No, in IBM mainframes, the rack component that takes the mains AC and starts doing something with it is, indeed, called a "bulk power regulator". For example, IBM part number 6186-7040, "Bulk Power Regulator".
> that should have been your clue to hire an electrician
Note in the article he did say "I confirmed the wiring scheme with some friends I have that do the power installations at Dreamhack, and even had them do the wiring as they have all the qualifications needed to do so safely and legally."
There has been a lot of mainframe related posts on HN lately.
*which slightly more complicated in Europe.
As for a "standard configuration" in the US, there really isn't such a thing for 3-phase power. There are a few NEMA standards used in industrial applications, but a lot of times, things like that are hard-wired. This isn't a home appliance.