During the history of digital computers, the majority of mainstream computer systems we designed as CPU-centric. All the data that the computer processed always passed through the main memory in one way or the other and the code running on the CPU manipulated with the data, directly on indirectly. Even DMA controllers, co-processors, GPUs and intelligent NICs were used just as slave peripherals, although with some degree of computational off-loading in the recent years.
One of the reasons for keeping the same basic architecture despite its drawbacks such as the ever-widening memory barrier (i.e. the difference between the latency of the CPU and the RAM) was arguably its conceptual simplicity. However, trends for a major change in the status quo are finally emerging into the mainstream. These new architectures, often called data-centric computing or near-data processing, propose to turn an ordinary computer into a distributed system where the distinction between the CPU, main memory and peripherals is much more blurry. Components such as individual DRAM chips, flash memory chips and NICs should have autonomous computing capabilities and the possibility to interchange data between other components without the involvement of the main CPU.
This talk will present a brief overview of the concepts and discuss the consequences for operating system designs, especially regarding microkernels.
Speakers: Martin Děcký