Home > Technical
Technical

I fancied having this section forever reading, "Thank you for considering the possibility that I could be doing some serious technical work. Sorry I can't yet make this section worth your trouble. Check back in after a month". However, as it turns out, that wasn't to be. Here's what I am, and have been, up to.

The Graduate Years - Washington University in St. Louis (2004-2006)
The Undergraduate Years - IIT Madras (2000-2004)


The Graduate Years - Washington University in St. Louis (2004-2006)

I did my MS in Computer Science at Washington University between September 2004 and May 2006, graduating with the Thesis option. I was a Graduate Research Assistant under Dr. Jeremy Buhler, working on the Storage Based Supercomputing project funded by the National Science Foundation grant ITR-427794. Our work was in applications of the Storage Based Supercomputing Approach to Algorithms for Problems in Computational Biology.

The following is the abstract of my Masters thesis, titled Acceleration of Profile-HMM Search for Protein Sequences in Reconfigurable Hardware. [Download pdf]

Profile Hidden Markov models are highly expressive representations of functional units, or motifs, conserved across protein sequences. Profile-HMM search is a powerful computational technique that is used to annotate new sequences by identifying occurrences of known motifs in them. With the exponential growth of protein databases, there is an increasing demand for acceleration of such techniques. We describe an accelerator for the Viterbi algorithm using a two-stage pipelined design in which the first stage is implemented in parallel reconfigurable hardware for greater speedup. To this end, we identify algorithmic modifications that expose a high level of parallelism and characterize their impact on the accuracy and performance relative to a standard software implementation. We develop a performance model to evaluate any accelerator design and propose two alternative architectures that recover the accuracy lost by a basic architecture. We compare the performance of the two architectures to show that speedups of up to 3 orders of magnitude may be achieved. We also investigate the use of the Forward algorithm in the first pipeline stage of the accelerator using floating-point arithmetic and report its accuracy and performance.
Publications
R. Maddimsetty, J. Buhler, R. Chamberlain, M. Franklin, and B. Harris. "Accelerator Design for Protein Sequence HMM Search." In Proceedings of the 20th ACM International Conference on Supercomputing (ICS06), Cairns, Australia, June 2006. [Download pdf]

The Undergraduate Years - IIT Madras (2000-2004)

Though I supposedly studied Chemical Engineering in IIT, this section will have rather little to do with it. My real interest was always in Computer Science, and the opportunities I found in IIT to do some work in the area in spite of my major, have helped me greatly in managing to pursue higher studies in Computer Science. My Minor in IIT was Theoretical Computer Science, and though that too wasn't exactly a pleasure, it did help in other indirect ways.

Utilities for Interconversion between IIT Madras Local Language Format and Unicode - Theoretical Computer Science Minor Stream Mini Project, IIT Madras
(January to May 2004)
This is the single most meaningful academic project I've done in my entire four years in IIT. Though, on paper, it was for the two credit Minor Stream Mini Project, I worked on it more out of the zeal to do some good, solid work in the Computer Science and Engineering department. As I had already worked under Prof. Kalyana Krishnan of the Systems Development Laboratory for the IIT Madras website and come to greatly admire him, I was very keen on using this opportunity to work with him again, and do more than write CGI scripts this time. I had been sufficiently forewarned that the kind of work would in fact have nothing to do with Theoretical Computer Science but would be proper implementation and application instead. That suited me great. And the time demand would be way more than that of a two credit course. I could live with that too. After several weeks of preliminary reading (mostly the pages of the Acharya website) I came to be extremely interested in multilingual systems and all the issues involved in computing with them. My work involved writing utilities to convert between the 16-bit Local Language Format (llf) developed in the lab, and Unicode (both UCS-2 and UTF-8 encoding). The llf to unicode conversion utility is available as an online demo on the Acharya website. Acharya is a wonderful website and I strongly urge everyone with an interest in either the linguistic or computing aspects of multilingual systems to visit it.

BillingWorks - B.Tech Project, IIT Madras
(January to May 2004)
My B.Tech Project was to be under Prof. S. Pushpavanam of the Chemical Reaction Engineering Laboratory of the Department of Chemical Engineering, IIT Madras. In my seventh semester I had started work on something that broadly daydreamed about water recovery from sewage. While that may have been socially relevant and reasonably relevant to Chemical Engineering, it wasn't to be. In my eighth semester, my project was changed to simply developing an application in Visual Basic, for billing water. It seemed simple enough, and except for Microsoft's miserably inadequate documentation, it was. The end product was slick and somewhat professional, and though my project had absolutely nothing to do with Chemical Engineering (a point the rather cruel viva-voce panel hoped they could use to torture me with but I stonefacedly and unashamedly admitted! Let's face it - it suited me great!) it was good enough to get me a B grade (8/10). I care little else for this project. It's over now.

The following is a slightly edited version of the abstract of the project report.

Proposals have been made for conservation of water by controlling transmission losses and increasing accuracy of metering. One such project is being undertaken by the CRE Laboratory of IIT Madras. Consequently, supporting software utilities must be written for metering and billing purposes. BillingWorks is a comprehensive utility written in Microsoft Visual Basic, with connectivity to a Microsoft Access Database, which handles all tasks relating to metering and billing of Water (as well as other metered services such as Electricity and Gas), along with archiving readings and financial transactions. BillingWorks, as opposed to custom software written for large boards, is a general purpose program with a user-oriented design. The program can be used by a board or by a single customer or group of customers to verify the usage and billing reported by their board. The program has features keeping an informed customer in mind and offers extensive logging and graphing abilities. It supports both fixed rate and slab rate billing systems. BillingWorks also offers the flexibility of providing a commonly supported Database type, which can further be manually viewed and manipulated for maximum functionality. BillingWorks is now in Version 1.0 and a fully packaged self-installing Setup program with full documentation is available at this time.

The GNOME Crossword Builder
(20th July 2001 to 10th December 2003)

This project began in 2001 at a time I was rather heavily into crosswords and also trying to get seriously into Linux programming. I picked up GTK in the Summer of 2001 and started out writing this program for practice. About a month into it, I also experimented with Glade and rewrote a part of the user interface. I then left the project to rot, with my crossword habit, for two whole years, a few failed attempts at jump-starting it in the summers of 2002 and 2003 notwithstanding. At this point, it was only intended to be a program that helps you design the grid, rather than actually suggest words to fit it. Actually framing the clues was way more than even a dream. In my seventh semester (July - December 2003), I finally took it all the way to some recognisable end, as my end-term project for the Artificial Intelligence course I had taken as a free elective. The decidedly final version of the program (and I mean decidedly final - I do not even intend to clean up the code!) takes the earlier version further by filling a designed grid with words from a user-specified dictionary subject to any constraints that the user may place by way of specifying some letters or words on the grid. The strategies used are neither purely heuristic nor blind searches but instead work in one of four different ways - minimum specifications first, maximum specifications first, minimum degrees-of-freedom first, or maximum degrees-of-freedom first. The difference between these strategies, though subtle, can produce different results based on the layout of the grid.

Administration of the Chemical Engineering Department Computing Facility, IIT Madras
(August 2002 to May 2004)

Some day I shall tire of saying this - Ravi did this too! As the founding System Administrator in 2001. Though Sai Kiran, Balachandra, Anshumani Ruddra and myself had little else to do for about six months than wait for the supposedly under-renovation DCF to re-emerge, it was always something we were excited about. It has re-emerged, and in style too! The new and improved DCF has been operational since January 2003 and there still remained a lot of scope for us to play around with it. Prof. S. Pushpavanam kept us on our toes, making sure everything was always in order and that Chemical Engineering work, which ought to be first priority, was never sacrificed for a moment. And though on the surface there wouldn't appear to be too much more dimension to our job than plain old housekeeping, the DCF remains the best learning platform there was for us Linux freaks!

IntraPlant - Summer Internship Project at IndianOil Mathura Refinery
(May to July 2003)
This was a project I undertook for the Department of Advanced Process Control, under the guidance of Process Engineer Sivaramabrahmam K.V. in the latter four weeks of my six week internship at Mathura Refinery. IntraPlant was a valuable and much appreciated utility written in Visual Basic. Version 1.0 was released shortly after I finished my six weeks.

The following is a slightly edited version of what may be called the abstract of my project report.

IntraPlant is an application that provides real-time plant information for the monitoring of Mathura Refinery. The program connects to the Process History Database and retrieves the values of various tags. This information is represented pictorially, logically, and graphically through the various IntraPlant features. The idea for IntraPlant stemmed from the need for a single program that could be used by the Executives of Mathura Refinery to get a bird's eye view of the operation of the refinery from the Administrative building itself. This would help eliminate the numerous phone calls to the control rooms of individual units for the required information. The Mathura Refinery has a Local Area Network. Connected to this LAN, are various Distributed Control Systems (DCS), each of which has complete control of a block of units. These systems are located inside the refinery area, and have terminals in each of the control rooms. All across the refinery, in all Process Units as well as in the Oil Movement and Storage division, the DCSs monitor and control the values of various parameters and variables, which are referred to by unique tagnames. There is also a Process History Database (PHD) server, which is connected to all the DCSs and retrieves and stores the process data. The PHD server maintains records of the data for extended periods of time - three to four months. The process engineers of the Technical Services division use a multitude of programs or dynamic spreadsheet documents to monitor the values of these tags, and to plot their trend, make comparisons, calculate product yields, etc. IntraPlant provides a single interface to the PHD server and retrieves the information most commonly queried by the executives. There is also a fair amount of detail represented. Only the most obscure details will need to be obtained directly from the unit control rooms.

Administration of the IIT Madras Website
(9th May 2002 to Summer 2003)

Call me unoriginal! I can't ignore the fact either, that my brother did the same thing three years ago, when he was one of the founding web administrators of www.iitm.ac.in. Nevertheless, I thoroughly enjoyed myself, as part of the two member team (the smallest ever; my partner being my classmate Anshumani Ruddra), learning from all that Prof. Kalyana Krishnan had to say. This project required us to get familiar with Perl programming, and in particular interfacing our scripts with MySQL; set up and administrate a news server in IIT Madras; and implement other such ideas that our professor had in mind. All this of course, was aimed in the general direction of keeping IITM's website elegant and up-to-date, and keeping the IITM community electronically well-knit. We were also being constantly enriched by all the general web design principles flying around, and I hope to adequately reflect that in this site!

Copyright and Disclaimer

rpm --inside_out
Copyright © 2001-2010 Rahul Pratap Maddimsetty
All rights reserved

No part of this website or associate pages may be reproduced without the consent of the author.

All views expressed on this website and associate pages are solely those of the author and do not in any way reflect the official stand of his current or past academic institutions or employers.