P.C. Shyamshankar

My name's Shyam, and I'm a PhD student in Computer Science at the Johns Hopkins University. My research is focused on bringing database and programming languages technqiues together to create more intelligent compilers for large-scale data processing systems.

I'm part of the Data Management Systems Lab (DaMSL), headed by my advisor, Dr. Yanif Ahmad.

I can be found during most reasonable times, in Malone Hall on Homewood Campus, room 255. Alternatively, I can be reached by email.

This is my academic page; you can find my resumé here. I also maintain a personal webpage here.


I work primarily on K3, a high-level language for writing distributed data processing pipelines. K3 provides programming abstractions for specializing systems using workload- and deployment-specific information, all the way from algorithm design to low-level memory layouts.

K3 straddles database, programming language and compiler research, incorporating techniques including:

Apart from being a research project, the K3 toolchain is also a veritable software engineering effort. The K3 compiler is 30K lines of Haskell code, and K3 programs are supported by a 3K LOC C++ runtime. If you're interested, you can find all of it on GitHub.


Apart from K3, I've been involved in several different projects, including:



During my PhD, I've been a Teaching Assistant for a number of courses in the Computer Science department. These include: