- Designed and implemented the SQL Azure I/O resource governor mechanism in the database kernel. Some of the interesting challenges we had to deal with included a new I/O scheduling mechanism aligned with the SQL OS scheduler, scaling to thousands of database tenants on one node and accommodating more than one, possibly heterogeneous throughput capacity storage media.
- Owned the dev side of the back end of SQL Server Database Tuning Advisor (opens in new tab) . DTA analyzes a representative workload consisting of queries and updates that run against the database engine and recommend appropriate changes to physical design for the workload. Recent work include tuning workload from the engine query plan cache, recommending compressed indexes, filtered indexes and extending existing index selection algorithms to exploit multiple processors.
- I have worked on workload driven index defragmentation in the database engine. We developed low overhead techniques to identify and defragment a logical range rather than the whole physical B-Tree based on the workload, making the index reorganize/rebuild operation amenable to online and zero admin settings.
- I developed a framework for dynamic profiling and static analysis of database centric applications. We adapted profiling techniques and traditional program analysis (using extensible compiler framework Microsoft Phoenix). We did this by leveraging understanding of call level data access APIs in the application.
About
I am a Software Design Engineer in the Data Systems – Microsoft Research (opens in new tab)
Currently I am working on building flexible resource governance mechanisms (memory, CPU, placement and load balancer) for the Azure SQL Database infrastructure.
Previously I was part of a team that implemented the PerfIso (opens in new tab) service, a performance isolation framework which is being used in Microsoft Bing to colocate batch jobs with latency-sensitive services (on over 90,000 servers)
Past Work