I wonder how many CPU cycles we burn running the many layers of abstraction we have built in the distributed computing world.. does this performance penalty exist in the mainframe world
A lot of it is running on dedicated hardware - some used to be dedicated silicon, but, IIRC, a lot of functionality is being brought into the CP (the "normal" CPUs), that when tasked with support functions, get custom microcode for that. Not even booting up these beasts is a simple thing.
This architecture; CPs, ZAAPs, IFLs, IOs etc are compelling to me along with the minimal OS, DB layers with a development setup that feels only just capable, albeit at a cost to the development effort. It feels efficient from a compute perspective? Today in distributed land we have libraries built on libraries built on OS services and API layers with other stuff we don’t need all to do some basic date math for example, how many cycles did we use to do that, maybe it was easier during the one off development process, was it worth it.
Things like Hipersockets and Java Zaap processors can help collapse layers.