Time To Design – And Deliver – The Application System/360
July 19, 2021 Timothy Prickett Morgan
The stupidest thing IBM ever did was create a system other than the System/360. It had the perfect name and it had the right idea of creating a compatible line of small, medium, and large enterprise systems that ran a widening variety of operating systems and workloads, often concurrent on the same machine. The AS/400 really should have been the third generation of System/360 machines, and the systems today would be somewhere around the sixth of seventh or even tenth generation, however you want to think about it.
Every decade or so in IBM’s history, it has tried to converge its server architectures to try to bring down the cost of research and development and to reduce sprawl at its customers, and this effort has backfired much but sometimes resulted in unexpected yet still positive results. Back in 1986, for instance, the “Fort Knox” project sought to converge the System/4300 air-cooled, entry mainframe lines with the System/38 (from 1978) and the System/36 (from 1983), and it failed. But in the failure, the Rochester Labs took some of the bits of Fort Knox, dusted them off, and created the “Silverlake” project, the fulfilment of which was announced in June 1988 as the Application System/400. This machine had all the benefits of the System/38 – single level storage, integrated relational database as a file system as well as a database, asymmetric multiprocessing architecture, and advanced CISC processor, memory, and disk designs all integrated. And, it cost a lot less per unit of work than an IBM mainframe of the time – about half the cost in fact, and that is a gap that has been maintained, at the full system level, for more than three decades now. The Fort Knox failure also spawned the rack-mounted System/9370 mainframes, which used the same style of enclosures as the AS/400.
IBM has tried to converge the mainframe and minicomputer lines a number of times, including Project ECLipz with the Power6 processor, if you remember that. The plan was apparently to emulate mainframe microcode on the Power6 RISC processor and have a single family of proprietary servers from Big Blue for the first time in its history since the System/360 was launched in April 1964. That was nearly two decades ago, and IBM is so much smaller and less influential in the IT sector that we will not be surprised when Big Blue is removed from the Dow Jones Industrial Average and replaced by something idiotic.
It is beyond time for IBM to not only create a converged platform for its customers, but also beyond time for the company to create datacenter-scale infrastructure that can represent the future of enterprise computing. That was what I was talking about last week when I was lamenting the departure of Jim Whitehurst, formerly chief executive officer of Red Hat and formerly president of IBM. As the title of that story implies – Historical, Functional, And Relevant – if I had a wish, it would be to create a system that was integrated (meaning it has everything that customers need) and scalable (meaning it could span from a single-core system for deskside use in the smallest of companies all the way up to a full-blown datacenter). And when I say system, I mean system: Compute, network, and storage, and as much offload and processing in the network as possible and only applications on the server processors.
Here are my thoughts on what this might look like, and this is aimed at IBM customers. The goal is to create a system that will appeal to others, but to focus on the 200,000 or so z/OS, AIX, and IBM i customers in the world.
It is time to go down to one family of processors for all IBM customers. I am not sure how best to do this, but IBM has ways of emulating CISC instructions in microcode, and there is no reason why z and X86 and maybe even Arm instructions could not be emulated on Power processors. And for those parts of applications that need higher-level emulation, IBM always has the QuickTransit emulator to provide another shim. If this can’t be done, then literally create a product line that has Power, X86, and z processor cards that all plug into the same chassis and that can share data over a shared memory bus either internal to the system or using silicon photonics links. Make it so customers can come to IBM for all of their server needs once again. Letting go of the System x X86 server business was foolish, and one only need to see the success of Lenovo (which has IBM’s X86 server business) and Inspur (which probably has a third of IBM’s Power business because it owns Power sales in China) to see that this was a mistake. IBM is the only company other than AMD that has an X86 license from Intel. Start using it. Start making innovative machines again.
Converging the hardware can’t be more expensive than the benefits that will accrue to customers, and maybe running all of this legacy stuff needs to stay right where it is and Big Blue needs to come up with something truly new and innovative. So be it. I can live with that answer if that is indeed the answer. In that case, figure out if RISC-V or Arm is the answer and make a new processor architecture and a new kind of system that represents the future of the datacenter. I am beginning to suspect this might be the case, but the new architecture can always be made to absorb the old architecture, like AS/400s did with System/36 and System/38 applications. It might do this at the hardware and software levels, not just at the software levels.
The problem for IT organizations is much larger than a given platform with processors, peripherals, and datastores. The system needs to include software-defined storage and networking, and has to have networking integrated into its stack because all computing in the datacenter is inherently distributed and will eventually become disaggregated and composable. IBM already has a good foundation in the middle of the software stack thanks to its Red Hat acquisition, which includes the enterprise-grade Linux operating system and OpenShift, arguably the most popular Kubernetes container orchestration platform plus Ansible software deployment tools. But IBM needs more than that. It needs a network operating system for switching and routing – we suggest ArcOS from Arrcus – as well as switch and routing ASICs – the former could be gained by buying Innovium, which makes high speed switch ASICs. IBM would still need what used to be called SmartNICs and that are now being called Data Processing Units, or DPUs, and Fungible has the cleanest architecture among the lot of DPU suppliers.
As for accelerators that hang off the CPU complex – GPUs and FPGAs mostly – IBM’s OpenCAPI protocol looked interesting, but the industry is rallying around Intel’s CXL protocol, which rides atop PCI-Express 5.0 controllers. This seems the way to go for certain cases. The point is, acceleration of compute has to be built into the architecture, and so does software-defined disaggregation and composability. TidalScale has some interesting technology that allows for NUMA systems to be glommed together from standalone commodity one-socket, two-socket, and four-socket servers as well as carved up like the PowerVM hypervisor does on single systems. The idea is to provide different levels of networking and memory coherence within a distributed compute cluster, and we think that the memory area network that is at the heart of the future Power10 processor could be used in an interesting fashion, too. One that will differentiate IBM from its peers. Imagine fat memory servers and memoryless skinny nodes in a cluster that grab partitions of memory (or share them) on those fat memory servers to do work. How much stranded memory and compute is out there?
IBM needs to own good storage, too. We need fast network storage – Vast Data all-flash arrays are interesting for HPC and AI workloads, and Lightbits Labs is good for block storage – and we need to get integrated block, object, and file storage for this converged system. As for the database, we need a relational database – there is no reason it can’t be all three versions of IBM’s Db2 – but we also need a document database that is separate from these for all the new web and AI workloads that are emerging. Put a gun to my head and I would pick MongoDB, which is well established and growing.
I guess this is the real point: IBM needs to decide what its future is in the datacenter and if it wants to build something new and interesting that captures the imagination. Hybrid cloud is not that thing. That’s a consumption and management model. It is not a computing system. It is not a forward-looking system architecture that will help customers solve existing and new problems.
There is nothing wrong with maintaining these legacy platforms. There is honor – and money – in it. There is something wrong with not defining a future and building it. We would have never gotten the System/360 or the AS/400 without that focus on the future. It is time for IBM to create something delightful and elegant again. That process can start right now and thankfully, no one else is trying to do what I can see on the edge of my vision quite yet. No one has brought it all together. But still IBM has the skills to do so – if it only remembers that.