Michael Stumm: Alumni

Ph.D. Alumni: Livio Soares

Reference:

Livio Soares
Operating System Techniques for Reducing Processor State Polution
Ph.D. Thesis, Department of Electrical and Computer Engineering, University of Toronto, Toronto, Canada, 2012.

Supervisor(s):

Michael Stumm

Download Thesis:

PDF

Abstract:

Application performance on modern processors has become increasingly dictated by the use of on-chip structures, such as caches and look-aside buffers. The hierarchical (multi-leveled) design of processor structures, the ubiquity of multicore processor architectures, as well as the increasing relative cost of accessing memory have all contributed to this condition. Our thesis is that operating systems should provide services and mechanisms for applications to more efficiently utilize on-chip processor structures. As such, this dissertation demonstrates how the operating system can improve processor efficiency of applications through specific techniques.

Two operating system services are investigated: (1) improving secondary and last-level cache utilization through a run-time cache filtering technique, and (2) improving the processor efficiency of system intensive applications through a new exception-less system call mechanism. With the first mechanism, we introduce the concept of a software pollute buffer and show that it can be used effectively at run-time, with assistance from commodity hardware performance counters, to reduce pollution of secondary on-chip caches.

In the second mechanism, we are able to decouple application and operating system execution, showing the benefits of the reduced interference in various processor components such as the first level instruction and data caches, second level caches and branch predictor. We show that exception-less system calls are particularly effective on modern multicore processors. We explore two ways for applications to use exception-less system calls. The first way, which is completely transparent to the application, uses multi-threading to hide asynchronous communication between the operating system kernel and the application. In the second way, we propose that applications can directly use the exception-less system call interface by designing programs that follow an event-driven architecture.

Keywords:

Operating systems, processors, processor caches, multicore

BibTeX:

@phdthesis(Soares-PhD12,
    author = {Livio Soares},
    title = {Operating System Techniques for Reducing Processor State Polution},
    school = {Department of Electrical and Computer Engineering, University of Toronto},
    address = {Toronto, Canada},
    supervisors = {Michael Stumm},
    month = {January},
    year = {2012},
    keywords = {Operating systems, processors, processor caches, multicore}
)