Michael Abebe

Headshot of Michael Abebe.

I am a second 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 how machine learning can be applied to data placement within distributed 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 CV is also available.


Data Placement within Distributed Systems: Modern systems exist within a clusters of servers, with data distributed across the cluster. Therefore, how data is placed, and accessed, is critical to application performance. My research is focused on using the access pattern of the applications to intelligently place data so as to improve performance. I am currently working on projects that apply these techniques to distributed storage systems, specifically erasure coded storage systems, as well as database systems.



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 an NSERC CGS-M award, a David R. Cheriton Graduate Scholarship, and a UW President's Graduate Scholarship. I have previously been awarded an Ontario Graduate Scholarship.


In the 2017 Winter semester as a TA for CS 454 (Distributed Systems) I gave a guest lecture on erasure coded storage systems.


Email: mtabebe@uwaterloo.ca

GitHub: @mtabebe

Office: Davis Centre 2118