Research

Projects

Derecho and Cascade

Derecho is a C++ library for building high-performance replicated services within datacenters. It is designed to take full advantage of the low-latency and zero-copy characteristics of RDMA networks while providing the familiar semantics of a replicated state machine. I was one of the lead developers for the Derecho platform as published in the 2019 TOCS paper (see below), and continue to actively contribute to developing and testing new features. You can read more about Derecho, and download its open-source code, on its GitHub page.

Cascade is a data storage and processing framework built on Derecho that provides a versioned key-value storage API along with the ability to trigger user-specified application logic on each update to a specified key or key range. Its goal is to enable the development of low-latency cloud applications that can react promptly to incoming data, without sacrificing safety or consistency. A preliminary technical report on this project, which is led by Weijia Song at Cornell, is available on arXiv, and the code and documentation is on GitHub.

In addition to helping develop the main Cascade system, I am also leading the development of CascadeChain, a variant of Cascade focused on providing a storage system with a publicly-verifiable log of all updates. In this system, the main Cascade storage service produces a signed commitment to each update after storing it, and these signatures are backed up to physically remote backup services. Clients can use the signed commitments to ensure the service does not change or re-order updates after accepting them.

Electronic Pollbooks

I am currently working with several other faculty and students at Augusta University to develop a system that provides a secure and fault-tolerant electronic pollbook for US elections. The goal of this system is to allow voters to check in at a “kiosk” client device and be granted access to the voting booths without needing to interact with a pollworker. It will guarantee that each voter is allowed to check-in exactly once even if the kiosk devices are compromised by an adversary.

Private Distributed Queries

During my PhD at Cornell, I developed a distributed algorithm for collecting aggregated data from sensor devices such as smart meters without revealing the source of each individual contribution. This algorithm uses only public-key cryptography, rather than advanced or specialized encryption, and tolerates a small number of malicious or compromised devices. An implementation of the algorithm, that can run either as a simulation on one computer or as a real distributed program on multiple devices, is available on GitHub here.

Miscellaneous Other Projects

  • Cryptographic Accumulators (my undergraduate thesis): GitHub.
  • Source code for the quotes page: GitHub
  • My Cornell-localized fork of SignMeUp, a web app created by Brown undergraduates to help automate waiting lists for office hours: GitHub

Publications

Ken Birman, Sagar Jha, Mae Milano, Lorenzo Rosa, Weijia Song, and Edward Tremel. “Invited Paper: Monotonicity and Opportunistically-Batched Actions in Derecho.” In: Shlomi Dolev and Baruch Schieber (eds), Stabilization, Safety, and Security of Distributed Systems. SSS 2023. Lecture Notes in Computer Science, vol 14310. doi: https://doi.org/10.1007/978-3-031-44274-2_14

Edward Tremel, Sagar Jha, Weijia Song, David Chu, and Ken Birman. “Reliable, Efficient Recovery for Complex Services with Replicated Subsystems.” 2020 50th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Valencia, Spain, 2020. doi:https://doi.org/10.1109/DSN48063.2020.00035

Sagar Jha, Jonathan Behrens, Theo Gkountouvas, Matthew Milano, Weijia Song, Edward Tremel, Robbert Van Renesse, Sydney Zink, and Kenneth P. Birman. “Derecho: Fast State Machine Replication for Cloud Services.” ACM Trans. Comput. Syst. 36, 2, Article 4 (April 2019), 49 pages. doi:https://doi.org/10.1145/3302258

Edward Tremel, Ken Birman, Robert Kleinberg, and Márk Jelasity. “Anonymous, Fault-Tolerant Distributed Queries for Smart Devices.” ACM Trans. Cyber-Phys. Syst. 3, 2, Article 16 (October 2018), 29 pages. doi:https://doi.org/10.1145/3204411

Jonathan Behrens, Sagar Jha, Ken Birman, and Edward Tremel. “RDMC: A Reliable RDMA Multicast for Large Objects.” 2018 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Luxembourg City, 2018, pp. 71-82. doi:https://doi.org/10.1109/DSN.2018.00020

Edward Tremel, Ken Birman, Márk Jelasity, and Robert Kleinberg. “Anonymous Data Collection for the Smart Grid.” In 2016 IEEE Power and Energy Society General Meeting, Boston, MA, July 2016. doi:http://dx.doi.org/10.1109/PESGM.2016.7741058

Ken Birman, Márk Jelasity, Robert Kleinberg, and Edward Tremel. “Building a Secure and Privacy-Preserving Smart Grid.” SIGOPS Oper. Syst. Rev. 49, no. 1 (January 2015), 131-136. doi:http://dx.doi.org/10.1145/2723872.2723891

Internships

Microsoft Research: Summer 2018. Research intern on the Azure Sphere team, working with Phil Eade. Cambridge, UK.

Microsoft Research: Summer 2017. Research intern in the Sensors and Devices Group, working under Ken Woodberry. Cambridge, UK.

Microsoft: Summer 2013. Software engineer on the Active Directory team. Redmond, WA.

Amazon: Summer 2012. Software engineer on the Fast Retail URL team. Seattle, WA.

Cisco: Summer 2011. Software engineer in the Telepresence Exchange business unit. San Jose, CA.

Honors

  • Received an NSF-sponsored Student Travel Grant for SOSP 2019
  • Selected to attend 3rd Heidelberg Laureate Forum (2015)
  • Graduate with Honors, Brown University (2013)
  • Member of Phi Beta Kappa, Brown University (2012)