Currently Investigating

Research


We conduct research on a variety of topics, including operating systems, distributed systems, security, data provenance, program analysis, and much more!

Interpretable Machine Learning

We use computational caching as well as novel data structures and algorithms to produce provably optimal solutions to real world NP-hard problems. Our focus is on interpretable, certifiably optimal models.

Optimal Rule Lists

Rule lists are a set of easily interpretable solutions to classification tasks. We develop custom discrete optimization techniques to use these interpretable models while remaining competitive with common black box approaches.

arrow_forward Read More

Optimal Decision Trees

We create optimal decision trees for classification tasks. We optimize an objective that includes a penalty on the number of leaves in a tree to favor models that are sparse and interpretable. Sparse decision trees function as an interpretable model with greater flexibility and power than rule lists (the latter being a special case of the former).

arrow_forward Read More

Networked and Distributed Systems

We investigate new design principles in datacenter system design and operation. Our work covers broad areas such as Network Function chain allocation and acceleration, disaggregated datacenters, and using programmable devices to acclerate data analytics workloads.

Scheduling Spot VMs in datacenters

Datacenter scheduling of Spot virtual machines

arrow_forward Read More

Datacenter scheduling with networking guarantees

Datacenter scheduling of virtual machines with network guarantees

arrow_forward Read More

Programmable Networks

We use dataplane programmable switches to improve goodput in Network Function chain deployments.

arrow_forward Read More

Privacy

Systems that handle users' data must consider the privacy of that data. We build systems that provide privacy guarantees in the face of various types of threats and also study individual privacy expectations using mixed methods approaches.

Side-channel security

This research looks at data disclosures due to side channels in cloud services.

arrow_forward Read More

Privacy as trust

Who do we want to share our information with and why? This project looks at the emotional and social dynamics of privacy and trust in intimate relationships.

arrow_forward Read More

Applied differential privacy

We are designing a smart cache that uses synthetic data to allow users to issue more differentially-private queries before depleting their privacy budget.

arrow_forward Read More

Privacy in blockchains

We study transaction source privacy and transaction content privacy in blockchain systems.

arrow_forward Read More

Provenance

We investigate techniques and applications that make data more valuable, from capturing data provenance (a formal history of how data came to be in its present form) to deriving provenance to developing applications that use data provenance. We build tools to facilitate scientific reproducibility and we investigate ways to build systems that are more accountable to the people who develop and use them.

Visicorn

We offer visual insight into the anomalies triggered by a detection system to assist in performing root-cause analysis.

arrow_forward Read More

Computational Reproducibility

We develop systems that facilitate computational reproducibility for scientific and ML workflows

arrow_forward Read More

Provenance-based Security

We explore the use of system provenance for security.

arrow_forward Read More

Security

We research, develop, evaluate, and deploy tools and systems designed to ensure that system/network security missions can be accomplished successfully despite cyber attacks. We also develop advanced algorithms and techniques for processing big datasets from a range of sources, such as IoT devices and network traffic.

CPS Security

We offer techniques for building intrusion detection system for Cyber-Physical Systems (CPSes).

arrow_forward Read More

Side-channel security

This research looks at data disclosures due to side channels in cloud services.

arrow_forward Read More

Visicorn

We offer visual insight into the anomalies triggered by a detection system to assist in performing root-cause analysis.

arrow_forward Read More

ML Security

We study attacks and defenses for distributed machine learning systems

arrow_forward Read More

Provenance-based Security

We explore the use of system provenance for security.

arrow_forward Read More

Self-optimizing Systems

We investigate the use of Machine Learning techniques to design systems able to self-optimize.

Tuneful

Tuneful is an extension for Spark which optimizes workload configurations starting from a zero-knowledge setting. The more workloads a cluster executes, the better it becomes at executing them. In order to achieve this, we leverage Multi Task Gaussian Process, Similarity Analysis and Significance Analysis.

arrow_forward Read More

SmartTuning

Auto-tuning complex systems configurations for high performance

arrow_forward Read More

Software Engineering for Systems

Complex software systems are difficult to design, implement, tune, debug, and understand. We are working on techniques to address these challenges.

PGo

We compile Go-based distributed systems from specifications written in a variant of PlusCal.

arrow_forward Read More

Storage

We investigate emerging storage technology such as non-volatile RAM and ultra-dense hard disk drives to match technology characteristics with file system capabilities. We also explore new approaches to namespace management, data organization, and data analytics.

Zoned Storage

Zoned storage devices, such as flash drives and shingled magnetic disks, are divided into units called zones, in which all writes must be sequential. We develop techniques to improve I/O performance on these devices.

arrow_forward Read More

Building Block File Systems

We are redesigning file system implmentation structures to enable synthesis of file system components and automated file system assembly.

arrow_forward Read More

Graph Storage and Processing

We develop systems and algorithms for large scale graph processing and explore novel applications for graph-structured data.

arrow_forward Read More

Persistent Memory

We benchmark Intel Optane Persistent Memory to understand file allocation policies that optimize performance for applications that use persistent memory.

arrow_forward Read More

User Mode File Systems

Traditionally, file systems have been implemented in kernel mode for efficiency and security, albeit at substantially higher development complexity. User mode file systems have existed for decades and suffer from lower efficiency. Why? How can we improve them?

arrow_forward Read More

File System Name Spaces

The hierarchical filesystem namespace originated in the 1950s and was modeled after filing cabinets. While it has served us adequately for decades, we explore alternate namespace paradigms to determine if there are alternatives that can enhance the ability to find and present information to users.

arrow_forward Read More

Synthesizing System Software

We investigate novel techniques for specifying systems components and tractably synthesizing provably correct implementations.

Shellac

Shellac synthesizes compiler rules from specification to implementation languages.

arrow_forward Read More

General Purpose Isolation Mechanisms

Grand unified theory of isolation mechanisms in an operating system.

arrow_forward Read More

Tinkertoy

Tinkertoy is a set of modular operating systems components from which one can assemble a custom IoT system.

arrow_forward Read More

Building Block File Systems

We are redesigning file system implmentation structures to enable synthesis of file system components and automated file system assembly.

arrow_forward Read More

COMET

COMET synthesizes reactive hardware and software from UNITY protocol specifications.

arrow_forward Read More

Graph-structured Data

We develop systems, machine learning models, and algorithms for different tasks on large scale graphs and explore novel applications for graph-structured data.

Systopia lab is supported by a number of government and industrial sources, including Cisco Systems, the Communications Security Establishment Canada, Intel Research, the National Sciences and Engineering Research Council of Canada (NSERC), Network Appliance, Office of the Privacy Commissioner of Canada, and the National Science Foundation (NSF).