Note:The PDF version is usually more up to date.
Karthik Swaminathan Nagaraj

knagara@cs.purdue.edu
Ph: 765-586-4605
http://www.cs.purdue.edu/~knagara
Department of Computer Science
Purdue University
305 N. University Street
West Lafayette, IN 47907

Education

Purdue University, W Lafayette, USA
PhD student in Computer Science, Fall 2008 - Dec 2013 (expected), GPA: 4.0/4.0
Advisors: Prof. Charles Killian and Prof. Jennifer Neville

Purdue University, W Lafayette, USA
MS in Computer Science, May 2011, GPA: 4.0/4.0

National Institute Of Technology, Trichy, India
Bachelor of Technology in Computer Science and Engineering, May 2008
First class with Distinction, Undergraduate GPA: 9.14/10.0

Research Interests:

Distributed systems, Cloud computing & Data center networks, Machine Learning, Overlay networks.

Experience


Publications

Posters


Software skill set

Languages:C++, Python, C, C#, Java, Perl, JavaScript, PHP, MySQL
Operating Systems:GNU/Linux, Windows 7

Courses

Graduate level: Advanced Topics in Distributed Systems, Introduction to Distributed Systems, Data Mining, Datacenter Architecture, Computer Networks, Algorithms, Inter-networking, Parallel computing

Other Projects

Distributed Systems Events Characterization through Cluster Analysis (Fall 2010)
Logs obtained from real distributed systems executions contain useful information in understanding and uncovering performance problems. However, their complexity leads to overwhelmingly large set of logs which is hard to analyze manually. By using a particular data mining technique: Clustering, we analyze the logs from BitTorrent executions through a neatly crafted infrastructure. We identified a couple of abnormalities which hamper the performance of a popular implementation using this technique in a fast and automated manner.

Efficient Session Type Guided Distributed Object Interaction (Fall 2009)
Multi-party session types provide a way of rigorously specifying protocols of interaction among multiple distributed participants, by capturing the typed interactions and verifying them on the program. Our work focuses on automatically extracting performance improvements on session type enhanced programs for optimization techniques such as RPC batching and chaining. This was done as a course project and submitted to ECOOP 2010.

Performance Evaluation of Google Cluster Architecture using Mace (Fall 2008)
The project aimed at characterizing the Google cluster Architecture (a distributed system for Web search), for various system configurations to find the perfect configuration for a target deployment. Mace was used to implement this system and Amazon EC2 for running the application. This was done as a course project.

Creation of an Automatic Assembly program Generator for Microprocessors (Final B. Tech project, Spring 2008)
With Prof. N Ramasubramanian. The project was aimed at creating software that would take the specification of any microprocessor in detail and then generate random assembly level programs that can be used for verification of the RTL design of the processor.

Performance evaluation of the Protocol for Evolutionary Addressing as a part of Summer Fellowship Program, Indian Institute of Technology, Madras (Summer 2007)
With Prof. SV Raghavan. Designing and building an emulation model in software that was used to implement the Protocol for Evolutionary Addressing (PEA) for Ad-hoc wireless networks. Further, other popular protocols of the same class were implemented on the same platform and compared with the PEA thus leading to a performance comparison.

Study of the x86 architecture of microprocessors, Indian Institute of Technology, Madras (Summer 2006)
With Prof. V Kamakoti. Dealt with the architectural features of the x86 microprocessor such as Memory management (segmentation, paging), Task switching, etc. Hands-on experience with writing Assembly programs for these operations and executing them directly on a Pentium processor.


Awards & Achievements

Co-curricular achievements

References

On Request.

knagara@cs.purdue.edu