I am a principal researcher at Microsoft Research India. I completed my PhD at Carnegie Mellon University in 2012 where I was fortunate to have Anupam Gupta as my advisor. From 2012-2014, I was a Simons Postdoctoral Fellow at the CS Department in Princeton University, and I also spent Fall 2014 visiting the IEOR Department in Columbia University. Long ago, I was an undergrad at IIT Madras.

My recent research has been on designing new algorithms and data structures for very large-scale vector search a.k.a approximate nearest neighbor search. With the emergence of deep learning, almost all information is represented as vectors in high-dimensional space, and almost most search problems crucially depend on being able to identify nearby vectors (corresponding to the base corpos of information) to the query's vector embedding. To ensure scalability -- which was the limiting factor prior to our work -- the system we have designed, called DiskANN, is a hybrid data-structure which stores only a small fraction of the data structure in main memory, and the bulk of the index resides on cheaper but slower SSDs. The crucial technical challenge is in ensuring that our search methods don't access the SSD-portion of the index very often due to the long latencies. DiskANN has been used extensively within Microsoft, both for first-party use-cases as well as third-party offerings through Azure.

I am also interested in approximation algorithms, especially for graph-(connectivity/flow) problems and clustering problems, and in studying models which incorporate uncertainty in the input such as online algorithms and stochastic optimization. Here is a link to my PhD thesis on Approximation Techniques for Stochastic Combinatorial Optimization.


Contact
Vigyan Building, 9, Lavelle Road, Bangalore 560018
ravishan (at) cs (dot) cmu (dot) edu