Home >> Resume Asim Shankar

Asim Shankar



510 E White St, Apt #14
Champaign, IL - 61820
[PDF](PDF version)  [TXT](plaintext version)


Seeking a full-time software development position starting summer 2005.


M.S. in Computer Science
University of Illinois, Urbana-Champaign
Current CGPA: 3.9/4.0
Expected Graduation: May 2005

B.Tech in Computer Science and Engineering
Indian Institute of Technology, Kanpur
Graduated in May 2003 with a CGPA of 3.3/4.0


Spent three consecutive summers (2002-2004) as an intern in the Clustering group at VERITAS Software in Mountain View, CA.
Simulator for VERITAS Cluster Server (VCS) May - Jul 2002
VCS is VERITAS' high-availability framework for enterprise applications. I developed a simulator which allows a 32-node cluster to be simulated on a stand-alone machine. The simulator is now shipped with VCS and is used for marketing demos, training, "what-if" analysis and debugging. Implementation required understanding the VCS architecture and enhancing it with a simulator design that reused the core engine logic modules.
Prototype for next generation VCS Jun - Aug 2003
The next generation VCS moves from a homogeneous, replicated-state model to a heterogeneous, client-server model. I developed the initial prototype which was demonstrated on a 128-node cluster containing a mixture of Windows and Linux. The prototype has since turned into a committed project of the company.
Log Analysis Jun - Aug 2004
Designed a framework and tool to aid in the root cause analysis of failures that have causally related log entries in multiple applications and OS subsystems. This involved implementing a generic log parsing facility and temporal and context-sensitive correlation of log entries. I created a prototype for the correlation engine, a GUI, and the correlation specification language. This tool is intended for Customer Support and Engineering to analyze field escalations.
Regular Expression Engine Aug 2004
Enhanced the Perl Compatible Regular Expression (PCRE) library to allow it to match patterns spread over non-contiguous memory buffers. This was to be used in an in-kernel regular expression engine to do deep-packet inspection for load balancing of HTTP connections.

University Projects

Distributed Scalable Java Operating System (DSJOS) (Research Assistant)
DSJOS is a distributed Java Virtual Machine (JVM) that provides applications a shared-memory view of a cluster. I implemented modules to migrate threads and internal structures between nodes that act as a single JVM. With this we are now focusing on dynamic load-balancing and cluster membership protocols.
Power-Aware Storage Cache Management Sep 2003 - Feb 2004
Designed and simulated a power-aware storage cache management algorithm along with another student. Simulations showed up to a 14% decrease in disk energy consumption in large storage systems. The work was published in the 18th annual International Conference on Supercomputing (ACM).
3D Trajectory Generation Undergraduate Thesis
The goal of this project was to generate 3D trajectories of actors in a video sequence. The system consisted of face detection, followed by mean-shift tracking and used rough estimates of camera parameters to convert the (x,y) coordinates and scale of the face in the camera to real world (x,y,z) coordinates. (More details).
User-Level Process Restarting
Developed a user-level system for restarting a Linux process that could be check-pointed by forcing a core dump. The program to be restarted required no modifications.
Neural Network Library
Designed and implemented a general-purpose library for various neural network models (in C++). This open-source project is now available at
Online Academic Registration System (OARS)
Designed and developed a web-service for course registration at IIT Kanpur. OARS has been in active service at the institute for the last three years. It uses ASP and connects to an Oracle database at the back-end.

Technical Skills

Proficient and experienced in C/C++, Java
Experienced in Perl
Comfortable with Visual Basic, ASP, other scripting languages

Comfortable with both Windows and Unix-based platforms
Comfortable with Linux kernel programming, especially the networking stack

Tools & Technologies:
Visual Studio, gdb, MySQL, Oracle, PL/SQL, Java RMI, XML, ANTLR, Swing (Java), User-mode Linux, Eclipse platform

Other Notes

  • Linux Enthusiast - Enjoy experimenting with kernel patches, tools, utilities and distributions
  • Quick learner - Can easily pick-up technical skills and techniques that I am not currently familiar with.

Last modified: Tue Aug 18 11:43:46 Central Standard Time 2004