Work Experience
TSTZ data type immune to DST changes:
This project was done to make the TIMESTAMP WITH TIME ZONE data type immune to Daylight Saving Time (DST) changes in Oracle DB. This required rewriting a major section of the existing Oracle Date/Timestamp API and adding new timezone datafile management, Timestamp upgrade APIs. As a part of this project, I designed a new format of the timezone datafile which removed the problems in the existing format and increased the maximum number of zones that could be stored in the datafile.

Optimized performance of reader/writer locks:
The implementation of Reader/Writer lock in Oracle uses the pthread mutex which introduces a spinlock contention in the 2.6 Linux kernel when there are multiple threads repeatedly calling the mutex lock/unlock functions at the same time. The solution for this problem required optimizing for a case with only readers by synchronizing thread access to the critical sections using atomic increment and compare and swap operations.

Porting of Oracle DB:
I have also been involved in the porting of the 11g version of the RDBMS to various platforms like SOLARIS.SPARC64, HPUX.IA64, AIX.PPC64. This work has given me an excellent understanding of the various Operating Systems, the assembly language of the processors and the Application Binary Interface of these platforms. For instance, I discovered several code generation issues in the Solaris Studio 12 and Intel ICC compilers, which I helped resolve.