Dual Seminars • Systems and Networking

Friday, November 12, 2021 2:00 pm - 2:00 pm EST (GMT -05:00)

Please note: These two talks — the first a seminar, the second a PhD seminar — will be given sequentially online.

Bryant Curto, Master’s candidate
David R. Cheriton School of Computer Science

Supervisor: Professor Martin Karsten

Delegated Execution — Migrating to Warmer Caches

Many modern datacenter applications require low-latency and high-throughput I/O. As a result, there has been some work in reorganizing the execution of synchronous I/O operations to achieve improved application performance. Many of these works propose reorganizing synchronous code paths so that I/O operations are performed asynchronously, in batches, and possibly on specially designated CPUs. The aim of these reorganizations is to improve cache locality and reduce the number of user-kernel boundary crossings. However, the proposals stemming from these works require modifications to the OS and/or kernel. Additional complexity in the OS/kernel comes at the cost of reduced safety, security, and simplicity for all involved. Further, they only enable the reorganization of executing system calls even though many other synchronous code paths could benefit from such a mechanism.

In this talk, I will present our progress in investigating if reorganizing the execution of synchronous I/O operations using Libfibre, a user-level M:N threading runtime, can achieve similar performance improvements. Using Libfibre’s lightweight user-level threads, execution can be paused on one CPU and resumed on another to achieve improved cache locality. Further, I’ll describe our work on developing an approach for characterizing the memory accesses of synchronous execution paths to determine their amenability to reorganization.

Bio: Bryant Curto is currently a 2nd year master’s thesis student at the University of Waterloo supervised by Professor Martin Karsten.


Ryan Hancock, PhD candidate
David R. Cheriton School of Computer Science

Supervisor: Professor Ali Mashtizadeh

OrcBench: A Serverless Load Generator Modeled after Microsoft Azure

The serverless paradigm has grown in popularity due to its ability to provide high availability and scaling with little effort for the developer, allowing developers to simply provide only a function for cloud providers to execute given some trigger. These cloud providers in turn benefit as they can sell extra compute within their data center. Serverless’ growth in popularity has led to research in this area to solve the many interesting problems that have arisen. However, many cloud providers are not open with data surrounding serverless functions leading to a lack of benchmarks for researchers to use to evaluate their prototypes. Recently, Microsoft released coarse grain traces of around 70K functions. OrcBench is a project that is attempting to model these traces to provide a benchmark that generates a realistic load. Further we are analyzing applications to find how functions call each other allowing us to generate function chains.

Bio: Ryan Hancock is a 4th year PhD student within the Reliable Computer Systems lab under his advisor Professor Ali Mashtizadeh. Ryan is interested storage systems and their use in particular to operating systems and serverless.


To join these back-to-back seminars on Zoom, please go to https://uwaterloo.zoom.us/j/99449197983?pwd=NDFCbHV3dWZ3T1U5eXZXTTdhTU9qZz09.