Internship projects

Central Institute Of Road Transport Pune - May-July 2008 Intern (PS I)

Guide : Mr S Rama Krishna, Asst. VP, Urban Mass Transit Company

Personal : It was an extremely arduous task of first trying to fully understand the dynamics of Indian public transportation-their rules, timings, nature of administration, and education level of service men involved and then come up with an algorithm to optimise the fleet usage. Intention was to make a system as user friendly as possible which meant reducing the complexity of calculations as far as possible. The input had to be extremely simple and output simpler. Thankfully, I finally stumbled upon a freely available mathematical treatment of an optimisation algorithm (most of the other such initiatives were strictly proprietary). I set to code it in C, but eventually realised that the use of classes would significantly reduce the complexity, hence C++. The presentation was attended by top placed officials and thoroughly appreciated. However, since my mentor took up another job, I fear the project would have not seen its way to the desks of bus fleet managers.

Technical : Developed software in C++ to minimize bus utilization based on a given schedule as input thus automating the otherwise manual process of bus scheduling. Also involved in ground survey for EU-Quantify – International project to assess pollution levels in cities

IBM Pune - May-July 2008 Intern

Guide : Mr. Prashant Bopadikar, IBM Pune

Personal : Mainly a design project that involved reading up the proposed system and suggesting a front end system and providing specifications for the hardware, software and distribution techniques to be employed.

Technical : Worked on design of Business Support System for Vodafone WCC cards that included a  prototype for a consumer friendly portal for distribution management/ account management for the WCC Business. It includes screen design, and system flow and the MIS report format. 

Nevis Networks Pune - May-July 2009 Intern

Guide : Mr. Ajit Shehlat, Mr. Saurabh Mathur, Mr. Nikunj Vaidya

Personal : It was primarily a study oriented project, since an innovative idea was needed by the company and the domain was pretty alien to me. It took me quite some time to fully understand all the activity in the network security domain and in spite of my interest in the field, getting right to its basics needed me to get more clear on many of my computer networking fundmanetals not aptly covered in our course at BITS. It was an illuminating experience and opened up a lot more avenues to explore. Here is where it struck me that almost all worms are targetted towards big enterprises. And as these enterprises are shifting towards clouds and other distributed systems, it wouldn't be too late before crackers discovered vulnerabilities in either the middleware or structure of the system itself and exploit it. 

*** We had a presentation by Unisys at BITS-Pilani late last semester where I discussed more thoroughly these issues and had my ideas cleared at a more industrial level. Although I did not have sufficient time to actually submit a paper to the Cloud2020 competition, I did strike a good rapport with the concerned sir and am looking forward to get better literature to understand the issue at an academic level.

Technical : Worked on detection of network and application layer worms intended at zero-day detection. Designed framework to identify malicious activity in the network using a graph based system that flags temporal and spatial alarms. Project required study and analysis of Wireshark packet captures and understanding of Nmap and Snort source code. Practical issues like collateral damage caused due to worm infection as opposed to low false positive rate needed to be considered.

Computational Research Labs Pune - January-June 2010 Intern

Guide : Dr. Dhananjay Bramhe

Personal : First two weeks of the project were dedicated to developing absolutely optimised codes for various standard operations like dot product of 2 vectors, latency, bandwidth etc. These are yet to be extensively tested on eka and benchmarked against the performance of standard, yet more generic routines.

Also developed a new algorithm for MPI_Scatter that performed nearly 10% better than the corresponding HPMPI routine. My algorithm aimed at computation-communication overlap balancing, that is, depending on latency to send/recv data to/from a particular node, root node will continue operating on data. It requires very complicated interleaving of computation and send calls. Tested only on vector dot product operation.

Have given thread support in multi-node SPMV kernel. Performance benefit of nearly 20-30% over commercial suites like HYPRE. Scaling is also very good though it shoots up at very large number of nodes, which is probably due to very small data size. The algorithm used involves creation of boxes as discussed in papers by Vuduc et al., except that we allow for variable sized boxes(ie: non-square without padding of zeros) without shifting of matrix itself. This is aimed at efficient cache utilization and register reuse.

Technical : The assigned project is to parallelise SPMV operations with specific onus on the data partition.

I have given further, more detailed updates on the Project Updates Page. Apart from those, I also intend to look into the PG implementation based on Karmarkar's Algorithm, especially analysis and comparision with other network structures like Bcube, Cayley etc..