I am looking for PhD students

I am trying to recruit PhD students and since this is the application season for graduate school, I thought I should also advertise here.

If you are interested, please contact me via email.

Below are the two projects I plan to get new students started on.

Yes, it snows a lot in Buffalo. But the summer is beautiful, and Niagara Falls region is 20 minute drive from the university.

Paxos Unpacked

Due to their excellent fault-tolerance and consistency benefits, Paxos protocols are employed at the core of many distributed systems infrastructures at Google, Facebook, Amazon, and Microsoft. When properly tailored and optimized, Paxos family of protocols can deliver efficiency, performance, and scalability at par with weakly consistent protocols, while providing a stable and strong foundation to build services and applications on top.

In this project, we will explore performant, scalable, practical and usable variants of Paxos. We already implemented the Paxi framework to facilitate developing and benchmarking Paxos variants, and provided implementations of a dozen Paxos variants. https://github.com/ailidani/paxi

In this project, we will develop new Paxos variants in Go using Paxi, and run experiments and benchmarks on these implementations. These include implementing:

  • reconfiguration for Paxos
  • in-protocol sharding for Paxos
  • linearizable quorum reads for Paxos variants
  • durability of Paxos log on disk in an efficient manner
  • BigPaxos for vertically scaling Paxos to hundreds of nodes
  • Byzantine tolerant Paxos variants for blockchains/blockDAGs


Timely Protocols

This project proposes timely protocols that use tightly-synchronized clocks to convey acquisition and affirmation of information with the passage of time and reduce the communication costs of distributed coordination.

Consider a timely commit protocol. The transaction manager (TM) sends a message to the resource managers (RMs) asking them to commit the transaction at time T. If an RM needs to reject, it sends back a message; upon receiving this, the TM sends an Abort message to all the RMs. Otherwise the TM’s first message to commit at T is the only message transmitted. While the classical two-phase commit protocol uses two broadcast, and receives N responses, the timely commit protocol uses silent-consent to reduce that to only one broadcast for the most common happy path. By eschewing explicit positive acknowledgments, timely protocols have the potential to avoid incast storm problems and improve the throughput of the system.

In contrast to leases and timeouts, which use passage of time to convey expiration and removal of information, timely protocols propose a more active and general use of synchronized clocks. While this approach is attractive as it can reduce the communication costs of distributed protocols, the reason this has not been adopted in practice is the multiplitude of challenges involved. Faults, such as crash of nodes and loss of messages, invalidate the information to be conveyed via passage of time.

We formulate a systematic two-pronged approach to circumvent these challenges: 1) fault detection and correction to reduce threats to safety violation of timely protocols, and 2) hindsight reconciliation to recover any potential safety violation that persists nevertheless.

In this project we will implement proof-of-concept prototypes of timely protocols, timely detectors, timely correctors, and hindsight reconciliation. High-level timely detectors and correctors can build on our previous work on Retroscope. 

Comments

Popular posts from this blog

Hints for Distributed Systems Design

Learning about distributed systems: where to start?

Foundational distributed systems papers

Metastable failures in the wild

The demise of coding is greatly exaggerated

The end of a myth: Distributed transactions can scale

Scalable OLTP in the Cloud: What’s the BIG DEAL?

SIGMOD panel: Future of Database System Architectures

Why I blog

There is plenty of room at the bottom