Student research and .. every nanosecond counts!

The projects that I have worked with students over the years involve developing algorithms that are better than the state-of-the-art in both theory and practice. Coming up with new algorithms that are provably better than existing ones is, not surprisingly, difficult. Furthermore exploring their practical merits and optimizing their efficiency requires a love for both theory and programming, for both high and low-level details. In all the projects that I've worked with students we have done significant work implementing the algorithms and performing experimental analysis, all the way to the hardware level, working with the profiler, obsessing over instruction counts, cache misses and page counts, writing scripts and making plots. The research that leads to a publication in a selective conference can take years and builds on the work of many along the way. Long hours of tracing memory leaks, pointers, seg faults, servers aborting experiments, code that runs for days, disk quotas exceeded, to name just a few of the fun moments along the way. Overall, the interplay between theory and practice at its best!

Showcasing below the students whose work resulted in publications.