Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR [email protected].

15
Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR [email protected]

Transcript of Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR [email protected].

Page 1: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

Heterogeneous Multikernel OS

Yauhen Klimiankou

BSUIR

[email protected]

Page 2: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

Why new OS needed?

• Great shift in computer system architecture.

• A lot of criticism accumulated in regard to the monolithic operating system design.

• Upcoming era of Internet of Things.

Why new OS needed?

• Great shift in computer system architecture.

• A lot of criticism accumulated in regard to the monolithic operating system design.

• Upcoming era of Internet of Things.

Why new OS needed?

• Great shift in computer system architecture.

• A lot of criticism accumulated in regard to the monolithic operating system design.

• Upcoming era of Internet of Things.

Page 3: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

Hardware

• Multicore and manycore computer systems

• Heterogeneous computer systems.

• Tight integration of devices into processor.

• Modularization of computer system design in such a way that each module has its own computation resources.

Hardware

Page 4: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

Software

• Monolithic kernel based OS– Lack of flexibility– Lack of reliability– Lack of scalability– Lack of security– Lack of simplicity– Lack of predictability

• Microkernel based OS– Lack of performance (only one actual issue)

Software

• Monolithic kernel based OS– Lack of flexibility– Lack of reliability– Lack of scalability– Lack of security– Lack of simplicity– Lack of predictability

• Microkernel based OS– Lack of performance (only one actual issue)

Software

• Monolithic kernel based OS– Lack of flexibility– Lack of reliability– Lack of scalability– Lack of security– Lack of simplicity– Lack of predictability

• Microkernel based OS– Lack of performance (only one actual issue)

Software

• Monolithic kernel based OS– Lack of flexibility– Lack of reliability– Lack of scalability– Lack of security– Lack of simplicity– Lack of predictability

• Microkernel based OS– Lack of performance (only one actual issue)

Page 5: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

OS Design DevelopmentOS Design Development

Application

Kernel

Application

Kernel

Application

Kernel

Monolithic Kernel

First generation Microkernel

Second Generation Microkernel

Page 6: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

OS Design Development

Application

Kernel

Application

Kernel

Application

Kernel

Monolithic Kernel

First generation Microkernel

Second Generation Microkernel

Multikernel

Application

OS Design Development

Page 7: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

Multikernel OS Structure

CPU C

CPU A CPU B

CPU D

Kenrel C Kernel D

Kernel BKernel A

A B

IKC space

C D

Pool of RAM

Page 8: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

Role of the kernel in OS

• Kernel is:– CPU Driver– Tasks execution container

• Kernel functions are:– CPU and memory frame management.– Multitasking and IPC.– Hardware management interface.– Protection.– Inter-Kernel Communication

Role of the kernel in OSRole of the kernel in OS

• Kernel is:– CPU Driver– Tasks execution container

• Kernel functions are:– CPU and memory frame management.– Multitasking and IPC.– Hardware management interface.– Protection.– Inter-Kernel Communication

Role of the kernel in OS

Page 9: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

Inter-Kernel Communication

• Asynchronous message passing

• Dynamical scope-based inter-kernel communication network

A B

- Communication Scope

- Communication Agent

Page 10: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

• Second generation microkernel as a base

• Moving from static design to dynamic design

• Moving from centralized design to decentralized design

• Moving from one kernel design to many kernels design

Main ideas

• Second generation microkernel as a base

• Moving from static design to dynamic design

• Moving from centralized design to decentralized design

• Moving from one kernel design to many kernels design

Main ideas

Page 11: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

• Simplicity of kernel implementation

• More intensive use of CPU caches

• Reducing the amount traffic and locks on the memory bus.

• Ease of portability

• The high level of configurability

• Reducing the synchronization overhead on multiprocessor systems

Benefits

Page 12: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

• Improved flexibility/portability

• Full software dynamics

• Improved reliability and fault tolerance

Principal advantages

Page 13: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

• Kernel Minimalism (Kernel is CPU driver)

– Small footprint

– Adequate for embedded systems that are highly restricted in resources

• Native support of heterogeneous computer systems

• Native support of UMA and NUMA computer systems

• Possibly, will be useful for systems with advanced FPGA

Flexibility/Portability

Page 14: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

• Second generation microkernel as a base

• Dynamics in space

• Short-term dynamics in time

• Long-term dynamics in time

Full software dynamics

Page 15: Heterogeneous Multikernel OS Yauhen Klimiankou BSUIR Evgeny.Klimenkov@gmail.com.

• Second generation microkernel as a base

• Distributed system design

• Decentralization

• Native support for functionality doubling

• High-speed system recovery

• No loss of context in case of failure

Reliability/Fault tolerance