Michael Abebe

Headshot of Michael Abebe.

I am a fourth-year Ph.D. student in Computer Science at the University of Waterloo, advised by Khuzaima Daudjee. I am also a member of the Data Systems Group.

Generally, my research interests lie in the intersection of distributed systems, databases, and machine learning. I am particularly interested in building adaptive and distributed data systems.

I received a Bachelor of Computer Science degree from Waterloo in 2016, with a focus on bioinformatics.

Below you can find additional information on my teaching experiences and awards which I have received. My resume and full CV are also available.


Physical Design within Distributed Data Systems: Modern data systems exist within a cluster of servers, with data distributed across the cluster. Therefore, how data is placed and accessed is critical to application performance. My research focuses on building adaptive data systems that make intelligent and dynamic physical design decisions improve performance. I have applied these techniques in distributed database systems (MorphoSys and DynaMast) and erasure coded storage systems (EC-Store).


DBLP | Google Scholar


MorphoSys: Automatic Physical Design Metamorphosis for Distributed Database Systems
Michael Abebe, Brad Glasbergen, Khuzaima Daudjee
Proceedings of the Very Large Databases Endowment (PVLDB) (Tech Report)

DynaMast: Adaptive Dynamic Mastering for Replicated Systems
Michael Abebe, Brad Glasbergen, Khuzaima Daudjee
IEEE International Conference on Data Engineering (ICDE) (Tech Report) (Slides) (Talk)

Sentinel: Universal Analysis and Insight for Data Systems
Brad Glasbergen, Michael Abebe, Khuzaima Daudjee, Amit Levi
Proceedings of the Very Large Databases Endowment (PVLDB) (Tech Report)

ChronoCache: Predictive and Adaptive Mid-Tier Query Result Caching
Brad Glasbergen, Kyle Langendoen, Michael Abebe, Khuzaima Daudjee
ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD)

Demo: Sentinel: Understanding Data Systems
Brad Glasbergen, Michael Abebe, Khuzaima Daudjee, Daniel Vogel, Jian Zhao
ACM SIGMOD/PODS International Conference on Management of Data (SIGMOD) Demo Track (Demo video)


WatDFS: A Project for Understanding Distributed Systems in the Undergraduate Curriculum
Michael Abebe, Brad Glasbergen, Khuzaima Daudjee
ACM Technical Symposium on Computer Science Education (SIGCSE) (Slides)


EC-Store: Bridging the Gap Between Storage and Latency in Distributed Erasure Coded Systems
Michael Abebe, Khuzaima Daudjee, Brad Glasbergen, Yuanfeng Tian
International Conference on Distributed Computing Systems (ICDCS) (Slides)

Tutorial: Adaptive Replication and Partitioning in Data Systems
Brad Glasbergen, Michael Abebe, Khuzaima Daudjee
ACM/IFIP International Middleware Conference (Middleware) (Slides)

Apollo: Learning Query Correlations for Predictive Caching in Geo-Distributed Systems
Brad Glasbergen, Michael Abebe, Khuzaima Daudjee, Scott Foggo and Anil Pacaci
Extending Database Technology (EDBT)


Diversity-generating retroelements: natural variation, classification and evolution inferred from a large-scale genomic survey
Li Wu, Mari Gingery, Michael Abebe, Diego Arambula, Elizabeth Czornyj, Sumit Handa, Hamza Khan, Mingshun Liu, Mechthild Pohlschroder, Kharissa L. Shaw, Amy Du, Huatao Guo, Partho Ghosh, Jeff F. Miller and Steven Zimmerly
Nucleic Acids Research


A pipeline of programs for collecting and analyzing group II intron retroelement sequences from GenBank
Michael Abebe, Manuel A Candales, Adrian Duong, Keyar S Hood, Tony Li, Ryan A E Neufeld, Abat Shakenov, Runda Sun, Li Wu, Ashley M Jarding, Cameron Semper and Steven Zimmerly
Mobile DNA



I worked on two different infrastructure teams during my internships (2015) at Facebook.

On the Data Infrastructure team I worked on the next generation data warehouse system. I helped improve operational workflows by building a custom log search tool for distributed debugging. I additionally worked on a shared memory file transfer between the client interface and the storage interface.

On the Service Infrastructure team I worked on service discovery and the internal ZooKeeper system. My work focused on moving service discovery from a daemon process to a service itself. In the process I modified the Thrift compiler to provide transport level request caching.


As a Software Engineering Intern (2014) at Palantir I prototyped a web application that allowed users to collaborate during investigations within the Palantir web applications. The application allowed users to directly share the state of their investigations as a first class citizen. I also worked on the maps application within Palantir.


I am currently supported by a NSERC CGS-D scholarship. Previously, I have been supported by a Facebook Emerging Scholar, the NSERC CGS-M scholarship, the David R. Cheriton Graduate Scholarship and the Ontario Graduate Scholarship.


I was a TA for CS 454 (Distributed Systems) in the winter of 2017, 2018, 2019, 2020 and the summer of 2018. In these offerings I gave guest lectures on erasure coded storage systems. I also helped develop a new assignment on distributed file systems, which is described in our WatDFS SIGCSE paper.


Email: mtabebe@uwaterloo.ca

GitHub: @mtabebe

Office: Davis Centre 2118