Post Job Free
Sign in

Engineer Software

Location:
Pinellas Park, FL, 33782
Posted:
March 09, 2010

Contact this candidate

Resume:

Ajit Agarwal

# 678-***-****

**************@*****.***

Summary:

I have about 10+ years of work experience in the area of optimizing compiler technologies, System

Tools,Developer Tools performance Analysis tool (Static Analysis and Dynamic Analysis at run time), EDA

Software Development and system software like Linux Kernel filesystem enhancements . I am passionate in

undertaking technically challenging roles and exploring new technology areas.

Core Competencies

Software developer proficient in using C, C++ in UNIX,LINUX and Windows environment.

Static Analysis and Dynamic Analysis(run time)

Optimizing compilers

In depth knowledge of Compilers, Linkers, UNIX internals.

Linux Kernel Enhancement version (2.6.26.6)

TCL Compiler

GNU Tool Chain.

Expertise in porting the gcc compiler for new Architectures

Migrating to Linux and GNU Tool Chain

Experience in writing compilers for DSP/SIMD architectures.

Instrumenting Oracle Binaries.

EDA Tools Development.

High Level Synthesis.

System Tools Development.

Experience in implementing Code Generation phase and Machine Dependent Optimizations like Instruction

Scheduling and Pipelining phases of a compiler and Register Allocation.

Good knowledge in Object Code Insertion and Profiler Technology (OCI).

Knowledge of different architectures like PA-RISC, Data Flow Architectures.

Experience in assembly language of PA-RISC, IXS-1000,Motorola 68000.

Exposure to Software Engineering Processes like Rational Unified Process (RUP) and Intel’s PLC model. DO-

178B.

Technical Proficiencies:

Platforms Worked on: System V,Linux, Fedora6,Win95, Pentium, WinNT Pentium, Linux 2.0.0, Sun4c sparc

SUNW, ultra-1, Sunos 5.5.1 HPUX 11.x/10.x, PA RISC 1.1/2.0,Real Time operating system, Tru64 Unix.

Software/Language Known: C,C++

Tools : Clearcase,lex and yacc,UML Modelling tool Rational Rose, Cadence Tools Verifault Fault

Simulation,Purify,quantify,purecoverage.

Hardware Description Language : Verilog

Logic Design and Fault Simulation.

Area of competence

Compilers(Code Generation, Low and High Level Optimiztion),Static Analysis,control and data flow

Analysis,Dynamic compiler,Memory Optimization,Development tools, System Tools,Linux Kernel,VLSI

Design Tools,Architecture,Object Code Insertion, Object Oriented Design,Algorithm,Migration tools.

Professional Experience:

Tandel Systems Inc(till date).

Senior Software Engineer

I have been working as a senior software Engineer and involves in following projects for Honeywell Space

Station.

June 2007-June 2008

Migration of software support for Space Station for Honeywell from proprietary compiler to gcc compiler

for Motorola 68000 and migrating from Unix System V to Linux.

July 2008 – Nov 2008

I worked on modification of TCL compiler for new Language features (tcl commands) in Linux. New TCL

Language feature(commands) are decided by Honeywell and I incorporated new TCL Language in

TCL Compiler. Language features exercise Power supply and memory for embedded system.

Different memory utilities are interfaces with TCL Compiler us. Implementation of TCL Compiler

are done in C and Assembly.

I have worked on terminal Emulator in Linux of Honeywell. Data are displayed in formatted sent by test

machine with UNIX system V running software that sends menu items, booting information when the

keystroke is pressed Command and debug feature where we can enter TCL commands and sent to test

machine and we get the data related to command and display the data. Unix commands are also

supported. Also incorporated to run different modules on test machine from linux machine. Used

different library like ncurses in linux and terminal emulator application is multithreaded.

I worked on other utilities of Honeywell. In the utilities the binary files is send from System V and

converted to appropriate format in Linux. In the other utilities binary files are transferred from Linux

to test machine with System V and that get processed in test machine with receiving software. Worked

on interface of Linux and System V.

Environment:

C,C++,Linux,Kernel 2.6.26.6,Unix System V,bash script,,ncurses libraries, pthreads,SVN,CVS.

Nov 2008-till date

Implemented the system V file system in Linux. The test machine of Honeywell is subset of System V and

customized operating system Implementing the same file system in Linux. Also implemented the mkfs and

mount,file size optimization in Linux. This enhancement is done in Linux kernel 2.6.26.6.

Mirafra Technologies Jan 2006 to Jan 2007

Lead R & D Engineer

I have been working as a lead in EDA software Development team. Verilog designs gets transformed to parse

tree and populated to a object model. Various utilities are written on object model that creates module instance

graph. Object model is transformed to signal objects..

Responsibilities:

My work involves design and implementing object model and populating object model from parse tree

Involved in transforming to signal objects.

I have also involved in developing API's on top of Interra's API.Interra API's form the frontend for verilog and

system verilog.

Environment

Linux, C++, g++, Verilog,System Verilog, logic design.

Centillium India Pvt Ltd. May 2005 to Jan 2006

Senior Design Engineer

I worked as a part of DSP Tools team on compiler for sigma processor. Sigma is VLIW like Architecture to

achieve higher instruction Level parallelism. The vector mode enables four Multiply –accumulate (MAC) per

cycle, 300 MHz clock speed with relative low power consumption. My work involves in developing a compiler

for sigma processor. The frontend is taken from gnu Gcc sources and backend is written.

Responsibilities

My responsibilities include extracting the frontend from gnu gcc sources and writing a backend. The backend

work involves Code generation. Register Allocation. Instruction scheduler, Machine Dependent optimization

Environment

Linux, gcc, g++

Hewlett Packard Feb 2003 to May 2005

Associate Software Analyst

Compiler and tools group

O worked as a part of HP performance Analysis tool and binary translation team for IA-64. HP Caliper is an

architecture for software developer tools that deals with executable (binary programs). It allows a framework

that allows building of wide variety of tools for doing performance analysis, profiling, coverage analysis,

correctness checking. Binary translation transparently emulates a 32 bit and 64 bit PA-RISC HPUX

Application on Itanium based HPUX Machine.

Responsibilities

My work involves in dynamic instrumentation technology which allows program instruction to be changed on

the fly with instrumentation probes.

Involved in improving run time performance and adding new features to the product like code inlining, dwarf

information sharing, and virtual table instrumentation.

Worked on superblock scheduler (trace scheduling), loop unrolling and loop invariant code motion for a

dynamic binary emulator which transparently emulates 32 bit and 64 bit PA-RISC HPUX application on

Itanium based HPUX Machine.

Environment

Clearcase, Rational DDTS, C++, C, python, Internal Regression test suite

INTEL November 2001 to Feb 2003

Senior Software Engineer

Compiler Group, Edge Access Division

I worked as a part of Intel Compiler Team, involved in developing a compiler for the Intel’s Digital Signal

Processor, IXS-1000. The processor is based on SIMD architecture having both a vector and a super scalar unit.

The processor with its a multiple delay slots and having a non-orthogonal and restricted VLIW Instruction Set

makes writing a compiler a for it a very challenging and interesting.

Responsibilities:

My responsibilities include Code Generation, Vectorization, Machine Dependent Optimization, and Register

Allocation.

Environment

Win95 Pentium, WinNT Pentium, VC++,C++.

Rational Software Corporation(Now IBM) April 2000-November 2001

Developer Tools Group

Rational Purify/Quantify/Pure Coverage are a complete set of automated runtime analysis tools for improving

application performance and quality. These tools use Object Code Insertion (OCI) Technology, to insert

memory-checking, profiling and monitoring instructions into the object files, shared libraries and executables.

Responsibilities

Worked on maintaining and enhancing Rational product called purify, quantify and pure coverage.

Work involves enhancing purify/quantify for MXN thread,MX1 and 1X1 kernel threads, different new linker

features and instrumenting Shared library. I understood the products completely in short span and

enhancing the above features.

Wrapping of system call API to do parameter checking for memory leaks and does mixed case instrumentation.

I was involved in instrumenting Oracle database application like instrumenting the oracle libraries and

instrumenting the database application.

I was involved in design, coding and testing of these features.

I was also involved in defect fixing of different problems that deals with different compiler features and control

and data flow analysis.The work involves dealing with different object file format like SOM and ELF and

low level features.

Different Architectures concepts are incorporated like delay slot code optimization etc.Implemented new and

efficient locking technique that speed up the performance of the product.

Environment

Clearcase, Rational DDTS, C++, C, Internal Regression testsuite, Perl

Silicon Automation Systems Ltd July 1998 - March 2000

(Electronic Design Automation)

India.

In silicon systems I worked in the area of compilers and Electronic Design Tools (EDA) and Arcitecture.

Responsibilities

I was involved in the design of tools using object oriented Concept (OOAD) with C++ and coding with Ellmtell

Standard in VC++ environment.

I was also involved in the design of intermediate data structures.

Projects completed while on assignment with Sillicon Automation Systems Ltd.

Sharp Corporation Ltd (Japan) Aug 1998 - November 1998

Role: Team Member

SAS was developing a comprehensive tool chain for Data Flow Processor. Toolchain involves Flow Graph

Editor, optimizer, allocators, Estimator and DDMP Simulator, synthesis tools. Flow Graph Editor which

captures the Data Flow program and converts to Assembly code for that processor which is taken as input by

simulator

Responsibilities

My Role was in developing the tool that takes Data Flow program captured through Data Flow program and

converts into Assembly code. Assembly is given to assembler developed by Sharp to generate the object

code.

Later I was involved in Estimators and allocators.

Environment

Win95 Pentium, WinNT Pentium, VC++,C++,lex and yacc, Visual SourceSafe, STL

Sharp Corporation Ltd December 1998 to Feb 1999

Role: Team Member

Responsibilities

Work involves developing API's using Sockets for communicating two different simulators called ARM and

DDMP Simulator. Packets are generated by ARM simulator and gets stored in buffer. When DDMP

simulator needs any data it calls socket API to fetch the data buffer stored by ARM Simulator.

BSD Berkely sockets are used for communicating between two simulators.

Sharp Corporation Ltd March 1999 to Jan 2000

Role: Team Member

Responsibilites

The work involves developing High Level Estimators tools for estimating different parameters like Memory

Latency, CST Memory, Program storage Memory, FC Memory Bandwidth. These parameters are very

specific to data flow Asynchronous processors. All data flow programs related DSP and Image processing

which has inherent parallelism are tested for the tools developed by us.

I was also involved in developing a tool for automatically mapping data flow programs on Data Driven Media

processors. The mapping process should balance the dynamic load among the processing elements while

satisfying different constraints.

My Roles coauthored Requirement Specification, High level Design using object oriented approach, coding

testing.

Environment

Win95 Pentium, WinNT Pentium, VC++, C++,lex and yacc, Visual SourceSafe, STL,UML.

M.S Projects:

Completed Six Months project at cadence Design Systems (I) Private LTD (R&D Center Noida)

I was involved in development of utility for a cadence tool called Verifault-XL. The utility is VfAdvisor that

parses the design and report about different option settings.

Simulation of Distributed Mutual Exclusion Algorithm,Distributed Deadlock Algorithm

Image Compression and Pattern Restoration using Neural Network.

Persistent Data Structure using OOP methodology.

Genetic Annaeling Algorithm for Optimization problem.

BS Projects:

Simulation of Multiprocessor System

Construction of pascal compiler, PDP-11 Assember and simulator and text editor

Education Qualifications:

MS (Computer Science) BITS Pilani Rajasthan with distinction (9.2 CGPA /10)

BS (Computer Science): Graduated Manipal Institute of Technology Manipal with distinction (70% marks)

References: Available on request



Contact this candidate