http://www.eecg.toronto.edu/~livio/research.shtml
My research is currently focused on the performance of systems
software. More specifically, I am investigating the interactions
between modern computer architectures and systems software.
One useful tool which I have worked with is the hardware performance
countersfound in most modern processors. I investigate
software scalability in the face of current
chip-multiprocessor and multithreaded hardware trends. My
research at the University of Toronto has been performanced
under the guidance of Michael Stumm.
A few years ago, I had the opportunity to hack the K42 research operating
system, from which I have learned a great deal about
operating-system structure, design and implementation. K42 is
a research operating system designed for shared-memory
multiprocessors with scalability and flexibility as its main
goals.
For my Masters, I developed the K42 File System (KFS),
including a concurrent port to the Linux kernel. The goal of
KFS was to build an infra-structure for a flexible file-system
where each file or directory can have distinct implementations
(layout on disk and caching policies). During KFS' development
I also developed a novel file-system consistency technique
called meta-data
snapshotting, which was possible given KFS' unique
decentralized meta-data structure. This work was done at the University of São Paulo, under
the guidance ofDilma
Da Silva.
Paper Trail
(a.k.a, Publications)
- 2011
- Exception-less System Calls for Event-Driven
Servers
- Livio Soares and Michael
Stumm
USENIX Annual Technical Conference (USENIX ATC'11)
- Mind the Gap: Reconnecting Architecture and OS
Research
- Jeffrey
C. Mogul, Andrew Baumman, Timothy Roscoe, and Livio Soares
13th Workshop on Hot Topics in Operating Systems (HotOS 2011)
- 2010
- FlexSC:
Flexible System Call Scheduling with Exception-Less
System Calls
- Slides: PDF [5.1MB]
Presentation video: hosted
at USENIX, may require membership
Livio
Soares and
Michael Stumm
9th USENIX Symposium on Operating Systems Design and
Implementation (OSDI 2010)
- This work questions the 30+ year old
system call mechanism operating systems use by
quantifying the performace impact, at the
processor level, of system calls for server
workloads. We propose a new exception-less
mechanism for system calls. Excepion-less system
calls allows for flexibly scheduling operating
system work, enabling run-time systems to
greatly improve locality of execution, and
consequently, performance. One interesting
use-case of exception-less system calls is
dynamic core specialization, where system calls
are dynamically redirected to specific cores in
a multi-core system, adapting to workload needs.
We also describe a new threading package that
transparently translates legacy system calls
into exception-less ones. Using a Linux
implementation of exception-less system calls
(FlexSC) and a pthreads-compatible thread
package (called FlexSC-Threads), we demonstrate
a 2x speed-up for internet servers such as
Apache and BIND.
- 2009
- RapidMRC: Approximating L2 Miss
Rate Curves on Commodity Systems for Online
Optimizations
- David Tam,
Reza Azimi, Livio
Soares, and Michael Stumm
In the 14th International Conference on Architectural
Support for Programming Languages and Operating
Systems (ASPLOS 2009)
- RapidMRC is an online tool for
generating L2 MRCs targeted at dynamic
optimizations in the run-time system. This work
describes the underlying technique using Power5
hardware performance counters, as well as an
interesting use-case for L2 MRCs: cache
partitioning in a multi-core system.
- Enhancing Operating System
Support for Multicore Processors by Using Hardware
Performance Monitoring
- Reza
Azimi, David Tam, Livio
Soares, and Michael Stumm
ACM SIGOPS Operating System Review (OSR) -
Special issue on The Interaction Among the OS, the
Compiler, and Multicore Processors, April 2009
- This paper describes the work our group
has been pursuing to improve performance of
multi-core systems. We focused on dynamic
operating system techniques that adapt using
run-time hardware performance counters
information.
- 2008
- Reducing the Harmful Effects of
Last-Level Cache Polluters with an OS-Level,
Software-Only Pollute Buffer
- Slides: PPT, PDF
Livio
Soares, David Tam and Michael Stumm
In the 41st International Symposium on
Microarchitecture (MICRO-41), Lake Como,
Italy, 2008
One of the eight papers nominated for
the Best Paper Award by the Program Committee.
- Describes a new software mechanism,
"pollute buffer", that improves processor cache
performance of cache/memory intensive
applications. The OS profiles application's
address spaces with hardware performance
counters and re-maps polluter pages to a small
partition of the processor cache. Performance of
5% to 35% improvement is obtained on commodity
hardware.
- 2007
- PATH: Page Access Tracking to
Improve Memory Management
- Reza
Azimi, Livio
Soares, Michael Stumm, Angela Demke-Brown, and Tom
Walsh
In International Symposium on Memory Management (ISMM 2007)
- Experience Distributing Objects
in an SMMP OS
- Jonathan
Appavoo, Dilma Da Silva, Orran Krieger, Marc Auslander,
Michal Ostrowski, Bryan Rosenburg, Amos Waterland,
Robert W. Wisniewski, Jimi Xenidis, Michael Stumm, Livio
Soares
In ACM Transactions on Computer Systems (TOCS) [2007, Volume 25, Issue 3]
- Managing Shared L2 Caches on
Multicore Systems in Software
- David Tam,
Reza Azimi, Livio
Soares, and Michael Stumm
Workshop on the Interaction between Operating Systems
and Computer Architecture (WIOSCA 2007)
[Held with ISCA-2007]
- Experiences Understanding
Performance in a Commercial Scale-Out Environment
- Robert W.
Wisniewski, Reza Azimi, Mathieu Desnoyers, Maged M.
Michael, Jose Moreira, Doron Shiloach, and Livio
Soares
In European Conference on Parallel Computing (Euro-Par 2007)
- 2004
- 2003
- Meta-data Snapshotting: A Simple
Mechanism for File System Consistency
- Livio
Soares, Orran Krieger, Dilma Da Silva
In International Workshop on Storage Network
Architecture and Parallel I/O (SNAPI '03)
[Held with PACT-2003]
It is also available on the K42 web page here,
and on the SNAPI pageA here.
- We propose meta-data snapshotting, a
new, low overhead, technique for maintaining
file-system meta-data consistency. The main idea
consists of continually snapshotting the
meta-data hierarchy through "copy-on-write". The
technique is considerably simpler than
soft-updates, and performs better than
journalling. The paper describes our Linux
implementation using the K42 file system, and
performance comparisons with "ext3" journalled
file system.
- Master's
Thesis (in
Portuguese):
|