1

Risotto: A Dynamic Binary Translator for Weak Memory Model Architectures

Dynamic Binary Translation (DBT) is a powerful approach to support cross-architecture emulation of unmodified binaries. However, DBT systems face correctness and performance challenges, when emulating concurrent binaries from strong to weak memory …

Lasagne: A Static Binary Translator for Weak Memory Model Architectures

VMSH: Hypervisor-Agnostic Guest Overlays for VMs

Lightweight virtual machines (VMs) are prominently adopted for improved performance and dependability in cloud environments. To reduce boot up times and resource utilisation, they are usually \"pre-baked\" with only the minimal kernel and userland …

Fewer Cores, More Hertz: Leveraging High-Frequency Cores in the OS Scheduler for Improved Application Performance

In modern server CPUs, individual cores can run at different frequencies, which allows for fine-grained control of the performance/energy tradeoff. Adjusting the frequency, however, incurs a high latency. We find that this can lead to a problem of …

Provable Multicore Schedulers with Ipanema: Application to Work Conservation

Recent research and bug reports have shown that work conservation, the property that a core is idle only if no other core is overloaded, is not guaranteed by Linux’s CFS or FreeBSD’s ULE multicore schedulers. Indeed, multicore schedulers are …

Fork/Wait and Multicore Frequency Scaling: a Generational Clash

The complexity of computer architectures has risen since the early years of the Linux kernel: Simultaneous Multi-Threading (SMT), multicore processing, and frequency scaling with complex algorithms such as Intel® Turbo Boost have all become …

Understanding Scheduler Performance : a Feature-based Approach

The thread scheduler of an operating system is a performance-critical service for applications. However, general-purpose operating systems' schedulers do not offer the best performance for all applications, despite an increasing complexity in …

The Battle of the Schedulers: FreeBSD ULE vs. Linux CFS

This paper analyzes the impact on application performance of the design and implementation choices made in two widely used open-source schedulers: ULE, the default FreeBSD scheduler, and CFS, the default Linux scheduler. We compare ULE and CFS in …

Ipanema : un Langage Dédié pour le Développement d'Ordonnanceurs Multi-coeur Sûrs

L’ordonnanceur est un point clé au niveau des performances fournies par un système d’exploitation. Il est cependant difficile d’écrire une politique d’ordonnancement au sein d’un système d’exploitation actuel. Nous proposons Ipanema, un langage dédié …

Towards Proving Optimistic Multicore Schedulers

Operating systems have been shown to waste machine resources by leaving cores idle while work is ready to be scheduled. This results in suboptimal performance for user applications, and wasted power. Recent progress in formal verification methods …