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!