Pisces Lightweight Co-Kernel Architecture

HPDC '15, SoCC '12

The Pisces co-kernel architecture is designed for in-situ data processing on extreme-scale supercomputers, our Pisces co-kernel framework allows multiple specialized OS/R instances to execute concurrently on the same local node. Pisces enables the decomposition of a node's hardware resources (CPU cores, memory blocks, and I/O devices) into partitions that are fully managed by independent OS kernels/system software stacks. Using Pisces, a local compute node can initialize multiple Lightweight Kernel instances (based on the Kitten LWK) as co-kernel enclaves executing alongside an unmodified Linux host OS. Furthermore, by leveraging Palacios support, virtual machine instances can be created on top of these co-kernels as well.

Kernel Synchronization Overhead in Virtual Machines

VEE '16, VEE '13


A paravirtual TLB shootdown scheme that eliminates the TLB shootdown preemption problem.

Preemptable Ticket Spinlock (pmtlock)

A novel spinlock algorithm optimized for consolidated virtual environments. It ensures both fairness and consistent performance to guest OSes.