I received my PhD in Computer Science from the Johns Hopkins University in 2019. I was part of the Institute for Data Intensive Engineering and Science. My dissertation focussed on reimagining infrastructure for large-scale semi-external memory graph analysis and unsupervised clustering. My primary advisor was Randal Burns, PhD. I obtained my Masters in Computer Science in 2015 and Masters in Engineering Management in 2013, both from Hopkins. I earned my Bachelors in Electrical and Computer Engineering from Morgan State University in 2010.
In 2017 I received the UPE Academic Achievement award and the
Best Presentation award at High-Performance Parallel and
Distributed Computing (HPDC) Conference.
In 2014 I was awarded the Hopkins Computer Science Graduate
(Paul V. Renoff) Fellowship, and the
UPE Special Recognition award.
I love to work on highly-scalable tools, frameworks, libraries (generally in C++ and Python) for graph analytics and artificial intelligence applications.
I enjoy backend web-service infrastructure development and strongly believe in SaaS via RESTful web-services as a scalable service delivery strategy.
I also enjoy studying the effect of advancements in computing on business and their co-evolution as AI and high-scale computing becomes ubiquitous in industry and academia alike.
Parallel & Distributed Computing
C++
Python
Backend RESTful Dev.
Management
Development and maintenance of back and front-end web-services that leverage Django. The project sits at the intersection of big-data and computational neuroscience as we deliver connectome building and exploratory graph analysis tools.
Development of a vertex-centric, semi-external memory, parallel graph analytics library. Graphyti is developed on FlashGraph and is a high level Python wrapper over C++. Graphyti, inherits its performance characteristics from FlashGraph and can outperform distributed frameworks on billion-node graphs on a single commodity server!
Development of a parallelized, NUMA-architecture aware clustering framework. We utilize fine-grained I/O manipulation, informed thread-binding, NUMA-aware task scheduling and other memory access latency reduction techniques. We achieve a 10-100 X speedup when compared with commercial products such as Spark's MLlib, Turi (Formerly Dato, GraphLab) and H2O for k-means, and several factors speedup for other algorithms.
Monya provides a unified programming interface for the creation and querying for forests of trees. Monya parallelizes tree construction and querying and contains scheduling, caching and memory (de)allocation optimizations.
I teach a Seminar in Emerging Technologies for the MSEM program. We discuss, evaluate and develop concrete business plans for emerging and disruptive technologies. We also invite several CEOs and owners of businesses to speak.
I teach an Excel and Python bootcamp for the MSEM program. Students learn (i) essential (advanced) skills in MS Excel, (ii) fundamental programming skills in Python to allow students to reason about how software is developed.
I have been a teaching assistant for Parallel Programming several times. We tackle topics and projects using OpenMP, Java Threads, Hadoop!/MapReduce, Spark, Message Passing Interface (MPI) and GPU programming via CUDA.
I received a full scholarship to compete at NCAA D1 level for Morgan State University as an undergraduate.
I am certified as a USTA P1 (highest level) high performance tennis coach. I have trained players who have gone on to compete in NCAA D1 tennis at UPenn, Ohio State University, and Loyola University.
Husband, Technologist and Scholar
© 2021 Disa Mhembere