70 likes | 165 Views
Subordinate Kernels: Application Offloading in Asymmetric Multi-Processor Systems. Ross McIlroy 1,2 and Orion Hodson 2 1 Microsoft Research, Redmond 2 University of Glasgow. Motivation. Proliferation of cores CPUs GPUs Network cards RAID controllers. Overall Vision.
E N D
Subordinate Kernels: Application Offloading in Asymmetric Multi-Processor Systems Ross McIlroy1,2 and Orion Hodson2 1 Microsoft Research, Redmond 2 University of Glasgow
Motivation • Proliferation of cores • CPUs • GPUs • Network cards • RAID controllers
Overall Vision • Applications written in platform neutral code • OS leverages the available hardware cores, placing application on most appropriate device • Provide an environment for safe 3rd party applications on devices • Enable new and interesting applications
Subordinate Kernels App 1 App 2 App 1 App 2 … … ABI Shim Kernel Subordinate Kernel Cpu 0 Cpu 1 Cpu 0 Cpu 1 … … Memory Memory Host Node Device Node
Singularity • Microkernel design • Kernel and applications written in managed code (variant of c#) • Type checking and static verification used to ensure process isolation • No explicit shared memory between processes
Singularity Inter-Process Comms • A Singularity process has only 2 communication mechanisms Application A Application B Channels Kernel ABI Kernel
Subordinate Kernel Design App 1 App 2 App 1 Subordinate Helper … ABI Shim Kernel Subordinate Kernel Cpu 0 Cpu 1 Cpu 0 Cpu 1 … … Memory Memory Device Node Host Node