- ACI development team (Cisco, Bangalore : June 2016 - till date)
Working with ACI (Application Centric Infrastructure) team on the APIC controller development. This involves working on clustering, data partitioning and replication and other similar aspects of controller development.
- WAFL/ONTAP development and performance team (NetApp, Bangalore: Aug '10 -June 2016 )
Worked with various projects within WAFL organization including :
- Storage modelling and layout: Modelling storage system for a defined workload and to recommend best possible workload layout topology based on workload constraints, storage constraints and user provided constraints for clustered Data ONTAP.
- ActiveObject development - a feature to find most active objects in storage system.
- Some aspects of storage QoS
- DeDuplication development team.
- BG Deduplication development - impact of BG dedup on client performance
- Multi Version File System Development (IBM Rational: Nov'06 - Aug' 10)
I worked on the development of MVFS (Multi Version File System) at IBM Rational. MVFS is a component of ClearCase which plugs-in as a kernel module (kernel extension) on the underlying OS. Supported platforms includes
AIX, Linux, Solaris, Windows and HP-UX.
MVFS's job is to provides a view of the ClearCase elements by
hiding the real storage and providing a fully compatible filesystem
interface to the applications (eg - compiler). This makes MVFS somewhat
similar to NFS since it doesn't provide it's own storage. It depends
on the underlying filesystem for real storage. Hence, another way to
look at it is to think of MVFS as an stackable filesystem on top of
Here, among other things, I led the development effort to
provide support for the recently introduced AIX virtualization
environment, called WPAR (Workload Partition).
- Developed a userspace filesystem on Linux using FUSE framework to do auditing and "build
- Worked on enabling ClearCase on Cloud platform.
- TeamCenter Enterprise Development (UGS: Sep'05 - Nov'06 )
Temcenter Enterprise (TcEnt) is the market leader in PLM systems.
This product is developed on five platforms : Linux, Solaris, AIX, HP-UX and Windows
. It is used by
a number of automobile and aircraft industry giants.
TcEnt is a distributed application and is supported by Oracle
database at the back-end.
The development is primarily done in C language , however
there is support for Java based client also.
The database interface is using OCI (Oracle Call Interface). TcEnt
communication mechanism is based on an RPC layer which in turn is
dependent on VC (Virtual Connection) layer.
I have been involved with several development projects :
- Oracle: OCI8 and CLOB support : Currently
TcEnt's OCI interface uses oci7. This project involves changing that
interface to OCI8. Also, TcEnt uses LONG datatype for storing blob,
which are being changed to use the new CLOB datatype.
- MS SQL 2005 support : Currently TcEnt support
Oracle database as back-end. This project involves adding support for
SQL2005 on Windows. Here, lots of locking and transaction related
issues (involving snapshot isolation level) are being sorted out.
- IPv6 support : Providing support for IPv6 at rpc communication layer.
- Retail/Apparel solution : This involves satisfying specific requirements of apparel industry.
- Linux kernel scalability effort (CalSoft : Jan '05 - Sep'05)
Since Jan'05 to Sep'05 , I
worked in a team (at CalSoft ) entrusted with the
responsibility of increasing the
scalability of Linux kernel for big NUMA
machines. The overall idea of supporting NUMA architecture is to make kernel aware of the topology of the machine and reduce
False Sharing in kernel data structures.
designing and implementing NUMA aware memory management, NUMA aware
locks, per-cpu variables etc. , among other things. This was done using
a series of patches to the linux kernel (Not all of them were sent to
the open source community, but some reference :
removal of last_rx update ,
bigrefs for net_device.refcount )
- Oracle RDBMS Maintenance (Oracle,India : Aug'03 - Jan'05)
Since Sep'03 to Jan'05, I was part of "Server Technology" group (DDR) at Oracle, working on Oracle RDBMS.
This involved maintenance and issue fixing of RDBMS on Solaris, Linux and Windows platform.
- Metaphase Development (Geometric Software Solutions: Apr'01 - Aug'03 )
Before Oracle, I have been involved with the development and
customization of Metaphase (old name for Teamcenter Enterprise), a PDM system.
Some of the projects involving Metaphase that I did:
- Recursive Delete and Purge
- Enterprise Migration System(EMG)
- Call Tree Generator for Metapahse(DspTree)
- Migration from ICEM to CATIA
PDM Customization (TCS : Jul'99-Apr'01):
- Automatic Deactivation of Users : Added special
feature of user management to Metaphase for the better administration .
The functionality facilitates metaphase administrators to find the
appropriate users depending upon some criteria and take proper action
like deactivating and deleting them after they have not logged onto the
system for a specified amount of time .
- Instant Messaging (IM) feature for PDM users
: I developed an instant messaging system to be used in conjuction with
the PDM system . The work involved development of the messaging
protocol (on top of TCP/IP) , and the development of client and server
parts. The server was developed in c and the client was written in Java.
- I did some work porting/compiling Xfce on top of Cygwin . Cygwin is a unix emulation layer on top of Windows.
- Also worked as a system administrator for Solaris E450 server . The responsibilities involved OS installation ,
user management and the development environment management for 20 users.
diverse experience of working with Solaris , Linux and FreeBSD
including scripting , system administration and OS installation .