Publication

liblaiogen, a generic LAIO implementation

Olivier Crameri
2005
Student project
Abstract

This thesis introduces a new implementation of the LAIO api, liblaiogen. LAIO stands for Lazy Asynchronous I/O. It is an api for performing asynchronous I/O. Among several benefits, one of the most important is that LAIO is lazy, in the sense that it creates a continuation only when an operation actually blocks. LAIO was introduced along with an implementation for FreeBSD using scheduler activations to provide this lazy characteristic. Our objective is to provide a cross-platform implementation. To achieve this, liblaiogen uses threads eagerly instead of relying on scheduler activations to save threads for non blocking operations. By doing this we challenge the argument that kernel threads are inherently expensive, which is the justification for the need of a mechanism such as scheduler activa- tions. We compare the performances of liblaiogen in the scope of event- driven web servers, using the same web server and the same benchmark that was used to benchmark the original FreeBSD implementation of LAIO. We show that on recent versions of Linux with lightweight threading sup- port, the web server using liblaiogen performs better than the one using LAIO on FreeBSD. We highlight the different component of the operating system that are responsible for the differences in performance.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.