Experience
2024 — Now
Milpitas, California, United States
Recent work:
1. Working on some aspects of the design and implementation of runtime for a ML compiler targeted at custom AI chips. (Memory management, command lists/queues, synchronization etc.)
2. Investigate the One API Level-Zero (Level-0) framework as a model for developing custom runtime. User mode custom Level-Zero driver development as a proof-of-concept.
3. User mode contiguous memory allocator. Leverage Linux kernel CMA mechanism to reserve large amount of contiguous memory at boot time. Use kernel DMA APIs to allocate and and export contiguous memory to user space. Involved Linux kernel module/ driver development with IOCTL/sysfs interfaces. Researching the virtual and physical memory interfaces exposed by Linux kernel, especially the DMA apis.
4. Custom Linux kernel module/driver design and development to do various relevant tasks in the kernel.
5. Researching ARM architecture, memory management and virtualization related stuff.
2016 — 2023
2016 — 2023
Redwood City, California, United States
Systems software engineer in Database Org.
My ownership/focus areas:
• Memory Management: virtual/physical memory management, memory protection, SGA (system global area, shared memory for all database processes), shared memory, private memory, hugetlbfs, NUMA (non-uniform memory access), Intel MPK (memory protection keys),
• Synchronization: Locking/enqueues in a multi-process/ multi-threaded and distributed (RAC) setup. Deadlock detection, hang analysis, error handling.
Projects:
• Hugetlbfs for SGA
• Implemented feature to introduce usage of hugetlbfs based large pages for SGA backup memory and get the benefits from reduced TLB memory usage.
• Added/modified memory protection APIs for large page mode and mixed mode, considering the page granularity and the protection range.
• SGA file deletion
• Introduced feature to address a security issue where plain text information in file backed memory can be obtained by scanning through the contents of in-memory files (hugetlbfs, /dev/shm).
• Memory granule management (multiple granules per file)
Implemented feature to address a critical performance issue that resulted in significant performance benefits.
• SGA symbol table
• Implemented a key-value store interface to be used by other DB components primarily in write once read many use cases.
• Shutdown time process/ thread state analysis
• Added a feature to address a widespread issue where shared memory resources from a previously running DB instance were not released at the time of shutdown.
• Memory protection keys
• Implemented support for Intel Memory Protection Keys (MPK) usage in DB code.
• Lock operation error message modification
• Previously the error message shown to the user after failing to acquire a lock was very generic and did not contain much relevant information. Modified this to provide detailed information regarding the failure to obtain the lock.
• Dynamic SGA
• Implemented mechanisms to achieve SGA memory overcommitment in multitenant setups.
2006 — 2015
2009 — 2009
Education
Georgia Institute of Technology
PhD
Indian Institute of Technology, Kharagpur