Multikernel

A multi- kernel operating system treats one multi-core processor as a network of individual cores in the processor such as would be a distributed system. Such a system uses message passing instead of shared memory.

The principle is to consider each processor core as a separate system with you and use message passing, allows systems with many cores, better scaling than classical systems ( for example, when micro- kernel), so the computational load can be distributed effectively.

Furthermore, the trend in the development of multi-core systems is becoming more and more "big" cores, "small" distribute the work to more cores. Classical homogeneous systems have the problem of loss of potential performance gain by more processing logic by control logic, making the concept in well parallelizable tasks is suboptimal (large cores can execute linear code quickly, but they are relatively unsuitable for parallel tasks, because you are on the The - face relatively few large nuclei can accommodate, but you could accommodate many small cores on the same surface that can perform thus better parallel code ).

An example of this trend can be seen when the operating principle of the load distribution on a commercial multi-core processor with the functional principle of burden-sharing between the different processors of a modern graphics card look at.

This difference shows that you can execute code better on the CPU that performs many jumps and relatively little bandwidth needs and running with a few threads, but on the graphics card can perform better very computationally heavy code that can use a lot of bandwidth, but also performs few jumps.

You can also use the concept of the multi- kernel x86 and ARM ( and SPARC, etc.) can cooperate with each other processors, which can achieve better performance.

The multi- kernel approach is limited to a machine with one or more processor sockets, but the realization of multiple machines on which a multi- kernel runs is also possible and brings other advantages, for example, a good load balancing and increased reliability.

An example of a multi- kernel operating system is Barrelfish, which is a collaborative research project between ETH Zurich and Microsoft Research Cambridge.

586448
de