Improving server efficiency through exception-less system calls

  • Livio Soares | University of Toronto

Server applications, such as databases and web servers, are notorious for executing poorly on modern processors, specially when compared to scientific applications. Most studies attribute poor performance to lack of locality of execution, resulting in inefficient use of performance critical processor structures (e.g., instruction and data caches, TLBs and branch predictors). In this talk, I examine how the current synchronous system call interface, which has been adopted in most operating systems for 30+ years, contributes to the inefficient use of processor resources.

To improve execution of system intensive applications, I propose “exception-less system call”, a new mechanism to request operating system services that decouples application and kernel execution. Exception-less system calls can be used to efficiently distribute computation on multicore systems and reduce pollution effects on processor structures. Our implementation of exception-less system calls, in conjunction with a novel threading library, can double the performance of certain server workloads. Our measurements show that the performance gains stem primarily from improved use of processor structures, leading to more efficient execution.

Speaker Details

Livio Soares is a Ph.D. candidate in the Electrical and Computer Engineering department at the University of Toronto. He received a BSc and a MSc in Computer Science from the University of Sao Paulo (Brazil). His research interests span a wide range of topics in computer systems including operating systems, computer architecture, performance analysis, and dynamic optimizations. During his graduate studies, he has collaborated with the K42 operating system group at IBM Research, and has interned with research groups at IBM and Intel.

    • Portrait of Jeff Running

      Jeff Running