A Few Notes on Distributed Systems Models and Failures

While the terms “distributed systems” and “distributed computing” are often used interchangeably, for my purposes, I’ve found it useful to draw a distinction. Distributed systems research is often focused on how to get multiple components of a system to act together in a reliable way, whereas distributed computing research is focused on how to use multi-component systems to solve a problem by breaking it down into different parts. While distributed systems is more of an engineering discipline focused on systems architecture, distributed computing is more of a mathematical discipline focused on the design of algorithms.
Read more...

The Researcher Alignment Matrix

Ever since I decided to get myself involved in academic research two years ago, I’ve spent a lot of time thinking about the habits and behaviours of the different researchers I’ve interacted with. Most researchers are crazy, but they’re crazy in different ways because their actions are driven by different forces.

Understanding your particular brand of influences and craziness as a researcher and comparing it with those of others may help you to understand why your collaborations with some researchers work very well and why others drive you insane. Therefore, I hereby present to you the “Researcher Alignment Matrix”.

Read more...

Why Does Theory Matter in Computer Science? (Part 4)

Set Functions, Supermodularity and the Densest Supermodular Set Problem

In Part 3, we discussed the densest subgraph problem (DSP) and some algorithms for solving it. In this section, we’ll be looking at how we can generalize this problem and those algorithms to solve some other problems. This is the part of the talk where I will introduce some fancy new math I had to learn in order to understand how one might generalize iterative peeling to solve adjacent problems.
Read more...

Why Does Theory Matter in Computer Science? (Part 3)

The Densest Subgraph Problem, Peeling, and Iterative Peeling Algorithms

In Part 2 of this talk, we gave a crash course to graph theory and showed how we can use it to view some real-world problems as instances of the densest subgraph problem (DSP). But what exactly is the DSP? If you’ve studied graph theory, you may have heard of something called the Maximum Clique Problem. The goal of the max clique problem is to find the largest complete subgraph in a graph. If we consider our vertices to be people, and edges to represent a friendship relationship between two people, in the max clique problem we are trying to find the largest friend group in a community.
Read more...