- Performance Engg Team (NetApp, Bangalore: Aug '10 - till date )
I am part of "Performance Engg Team" at NetApp, working on various aspects of
Data ONTAP 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
another
(normal) filesystem.
-
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
avoidance".
- 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 backend.
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 severals 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 backend. 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.
- Recycle/Bin feature : Implements a recycle/bin in TcEnt similar to Window's recycle/bin .
- Grid Widget : Implements a grid widget for mass update (looks similar to google's spreadsheet...) in thin client web based
interface of TcEnt.
- Audit Trail : Auditing feature required for administrators . Logs every activity (or update) done on specific object in TcEnt.
- 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.
This involves
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 Maintainance (Oracle,India : Aug'03 - Jan'05)
Since Sep'03 to Jan'05, I was part of "Server Technology" group at Oracle, working on Oracle RDBMS.
This involved maintainance and defect 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.
- Has
diverse experience of working with Solaris , Linux and FreeBSD
including scripting , system administration and OS installation .