To work with the team engaged
in the filed of embedded systems or system programming that
provides a scope for personal growth along with the organizational growth.
· Senior Design Engineer, Neomagic Semiconductor India Pvt Ltd
Oct 2005 till date. Noida.
· Senior Software Engineer, Solidcore Techsoft Systems,
Dec 2004 Sept 2005.
· Software Engineer, Gridlogics Technologies Pvt. Ltd.
July 2004 Dec 2004. Pune.
· Senior Research Fellow Computer Science and Engg. Dept.
September 2001- May 2004. IIT-Bombay
· Linux Board Support Package for various boards with ARM based SoC
· Server Integrity Suite - A Server Protection System
· GridFS A High Performance Cluster File System
· Parallel File System for Linux based Intel Clusters
· Parallelizing Compiler - Auto Parallelization of Sequential Code
· Seven years of experience in C in the following areas:
§ Linux BSP
§ Device Driver development
§ File Systems Development
§ Linux Kernel Development
§ Socket programming
§ Network stack development
§ System V IPC communication
§ Pthread programming
§ Parallel programming using MPI
§ RPCs such as RxRPC, SunRPC and PortalRPC.
· ARM Assembly Language Programming
· Excellent debugging skills with MultiICE and gdb
· Supplied patch to Linux kernel for MMC
· Scripting languages such as Shell and Perl
Master of Computer Application
1. Linux Board Support Package (BSP)
Being a one among the three member team of Linux BSP in Neomagic Semiconductor India Pvt. Ltd., I was involved in the BSP of various boards with the in-house ARM architecture based multimedia rich application processors. The Operating Systems used are Linux 2.4 and 2.6. Among other components, I was mainly involved in the following:
· MMC/SD Driver: Developed the SD/MMC driver for both 2.6 and 2.4 kernels. The SD protocol stack was implemented from scratch for the 2.4 kernel. Also ported and incorporated the CPRM (Content Protection for Recorded Media) into the driver. A patch I had suggested in MMC is scheduled to be incorporated into the Linux tree.
· Design and development of a communication stack based on OSI model, used to provide interface between MM8 SoC and Baseband chip.
· Design and development of a battery/power module both in the kernel and in the bootloader.
· Developed/maintained the following IPs: DMA, clock, I2C, Audio, NAND flash, Frame buffer, Overlay, TV-Tuner, IR remote control, etc.
Duration: 3 years
2. Server Integrity Suite
This is a product being developed at Solidcore Systems, which introduces a new approach that provides unsurpassed levels of server protection without the costly operational overhead associated with today's security solutions. This protection is achieved by ensuring that no unauthorized code is allowed to execute.
My contributions to the project include developing a kernel user message passing mechanism on solaris/linux, and developing a network server. The development platform was C.
3. GridFS A High Performance Cluster File System
The aim of the project is to develop a next generation storage solution for clusters and grid. GridFS, the file system for clusters being developed at Gridlogics Technologies Pvt. Ltd., overcomes the drawbacks of Lustre and AFS, the most popular network file systems of today, by involving a mathematical model.
The project was completely developed in C for Linux Kernel 2.4. The knowledge various network file systems like NFS, AFS, Coda, Lustre etc., of various RPCs like RxRPC, SunRPC, PortalRPC, and Linux Kernel was a prerequisite for designing such a project.
My tasks included the overall software architecture design, detailed module designs, and prototype development. The server storage targets and the lock manager was completely designed and developed by me.
4. Parallel File System for Linux based Intel Clusters
This project was aimed at improving the performance of parallel programs through efficient use of IO resources thereby helping the scientific application to keep up with the advances in computing power. A parallel file system distributes files over multiple storage devices allowing multi-process programs to co-ordinate read and write operations on multiple nodes thereby presenting the appearance of a single logical file. Access to the logical file was made available to the user through Unix like command line utilities and APIs.
My involvement in the project includes participation in software architecture design and design of IO modules. My key role involved design and implementation of access methods to manipulate the logical file at the local nodes and utilities to control the file system from the master node. In principle, my work involved design and programming of client server technology using BSD sockets, System V IPC and pthreads.
A research paper titled Design of Parallel File System for Networked Intel Workstation was published and presented at International conference on Parallel and Distributed Processing Techniques and Applications (PDPTA02), Las Vegas, USA, June 2002.
5. Parallelizing Compiler Auto Parallelization of Sequential Code
The project aimed to synthesize efficient parallel programs from existing sequential programs. Unlike traditional approaches where parallelization is performed either manually or using data dependency analysis based auto-parallelizer, auto-parallelizer designed in this project, employed pattern matching techniques to identify parallelizable constructs. Syntactic analysis was performed to generate a dependency graph, and to extract parallelism at the loop and statement level using this dependency information.
I was involved in design and implementation of different modules needed for the autoparallelizer such as template creation module, pattern recognizer, loop transformation, copy propagation, code replacement etc. The project was build using C over SAGE++ libraries.
A research paper titled Parallelization By Pattern Matching was published and presented at the International conference on Parallel and Distributed Processing Techniques and Applications (PDPTA03), Las Vegas, USA, June 2003.
Other Professional related activities
As a part of my interest, I have been
administrating the systems in computer science and
engineering department laboratories during my spare time. The system administration involved:
· Linux with NIS/NFS/Samba, and building compiler tool chains and compiling linux for power-pc.
· Windows NT server with WinNT/Windows2000 Clients
· SunOS Work Station
· OSF1 Alpha Work Stations
· Prof. S. S. S. P. Rao,
Head (retd), Computer Science and Engineering Department,
Powai, Mumbai. Pin 400076.
· Mr. Vivek Goyal,
Neomagic Semiconductor India Pvt. Ltd.,