"when every PC comes with specialized IO processors for decades already."
No they do not. My main CPU (s) gets interrupted by my drivers nonstop. As networking or disk goes up, my apps slow down even if they don't depend on them since the CPU is absorbing the hit of many of those operations. That's totally different than a Channel I/O-like model where a dedicate CPU manages all that with apps just handing it off asynchronously in a high-level way, I/O processor doing low-level stuff, & scheduler making sure nothing slows down due to waiting on it. That's why my CPU is sometimes under 10% utilization when it could be working big time but mainframes are more like 90-97%.
Or maybe you meant they have specialized hardware... dedicated ASIC blocks... to accelerate TCP/IP processing, compression, filesystems, database operations, and so on? I didn't see those for decades either outside custom cards or chips on the motherboard. Definitely not in SOC's designed for them with smooth CPU integration. That's come online recently under semi-custom banner at AMD/Intel & all these Cavium-style processors that merge CPU's + HW accelerators.
So, there's a difference between what highly-efficient, I/O model some products have right now and what my desktop computer has. The servers are catching up with all kinds of fast buses and add-on cards. Need changes at CPU and OS levels, though, for max effect.
Channel I/O-like model where a dedicate CPU manages all that with apps just handing it off asynchronously in a high-level way
Wheels being reinvented for some time now in high-load world. Polling drivers instead of IRQ-on-every-packet-arrived, smart NICs, CPU-pinned queues and processes. Looking at e.g. DPDK architecture, it's almost mainframe type of Channel IO actually.
They're getting really close. I'd say they basically have the benefits on the networking side given almost all the work went there. Polling drivers was a significant step, too.
Didn't see that one so thanks for the link. Ok, now that is definitely Channel IO in new form. It has a bunch of high-speed hardware, a bus for it all to communicate, and [critically] efficient SOC to absorb all the work such hardware brings. Some of the software on their list are used in clusters and such that were considered mainframe alternatives for batch or performance-oriented workloads. So, yeah, generalizing that architecture to various types of hardware would constitute a Channel IO replacement.
I think one commenter thought "Can't you do the same with multi-core CPU's?" One advantage of Channel I/O was that they could use weaker CPU's since it didn't take as much work. Cost or efficiency advantages with the heterogeneous architectures. We see that in this one where they use lightweight, ARM multi-core instead of heavyweight x86. Leaves room for accelerators in SOC or just watts for other stuff in system. So, going in right direction again.
Comments
We want them very badly, because they have a wider bandwidth at the cost of slower clock.
What I don't get is why the GP is stating that servers need to get them, when every PC comes with specialized IO processors for decades already.
"when every PC comes with specialized IO processors for decades already."
No they do not. My main CPU (s) gets interrupted by my drivers nonstop. As networking or disk goes up, my apps slow down even if they don't depend on them since the CPU is absorbing the hit of many of those operations. That's totally different than a Channel I/O-like model where a dedicate CPU manages all that with apps just handing it off asynchronously in a high-level way, I/O processor doing low-level stuff, & scheduler making sure nothing slows down due to waiting on it. That's why my CPU is sometimes under 10% utilization when it could be working big time but mainframes are more like 90-97%.
Or maybe you meant they have specialized hardware... dedicated ASIC blocks... to accelerate TCP/IP processing, compression, filesystems, database operations, and so on? I didn't see those for decades either outside custom cards or chips on the motherboard. Definitely not in SOC's designed for them with smooth CPU integration. That's come online recently under semi-custom banner at AMD/Intel & all these Cavium-style processors that merge CPU's + HW accelerators.
So, there's a difference between what highly-efficient, I/O model some products have right now and what my desktop computer has. The servers are catching up with all kinds of fast buses and add-on cards. Need changes at CPU and OS levels, though, for max effect.
Wheels being reinvented for some time now in high-load world. Polling drivers instead of IRQ-on-every-packet-arrived, smart NICs, CPU-pinned queues and processes. Looking at e.g. DPDK architecture, it's almost mainframe type of Channel IO actually.
They're getting really close. I'd say they basically have the benefits on the networking side given almost all the work went there. Polling drivers was a significant step, too.
The future looks more and more like Channel IO http://www.theregister.co.uk/2016/07/22/mellanox_punting_mul...
Didn't see that one so thanks for the link. Ok, now that is definitely Channel IO in new form. It has a bunch of high-speed hardware, a bus for it all to communicate, and [critically] efficient SOC to absorb all the work such hardware brings. Some of the software on their list are used in clusters and such that were considered mainframe alternatives for batch or performance-oriented workloads. So, yeah, generalizing that architecture to various types of hardware would constitute a Channel IO replacement.
I think one commenter thought "Can't you do the same with multi-core CPU's?" One advantage of Channel I/O was that they could use weaker CPU's since it didn't take as much work. Cost or efficiency advantages with the heterogeneous architectures. We see that in this one where they use lightweight, ARM multi-core instead of heavyweight x86. Leaves room for accelerators in SOC or just watts for other stuff in system. So, going in right direction again.