Note:The PDF version is usually more up to date.
Karthik Swaminathan Nagaraj
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
-
Research Intern: Microsoft Research, Redmond - Distributed Systems; Summer, 2012. Mentors: John (JD) Douceur and Bryan Parno.
-
Software Engineer Intern: Google, Mountain View, California; Summer, 2009. Mentor: Rushabh Doshi.
- Worked with the Video processing pipeline team on building a new streaming upload framework (including YouTube).
- Allowed videos to go live as soon as they are uploaded.
- I was also responsible in testing
my code on Development and Staging infrastructures before pushing it to
Production.
- Research Assistant at Department of Computer Science, under Prof. Charles Killian since Spring 2009.
- Teaching Assistant for Introduction to Distributed Systems (CS505), Spring 2010.
- Research Assistant at Rosen Centre of Advanced Computing (RCAC). Fall 2008 with Faisal Saied.
- High performance and Parallel computing benchmarking of a Top 500 supercomputer
Publications
-
Karthik Nagaraj, Charles Killian, Jennifer Neville.
Structured Comparative Analysis of Systems Logs to Diagnose Performance Problems.
at 9th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2012). San Jose, CA.
(to appear)
-
Karthik Nagaraj, Hitesh Khandelwal, Charles Killian and Ramana Kompella.
Hierarchy-Aware Distributed Overlays in Data Centers using DC2
at 4th International Conference on Communication Systems and Networks (COMSNETS 2012). Bangalore, India.
-
Charles Killian, Karthik Nagaraj, Salman Pervez, Ryan Braud, James W. Anderson and Ranjit Jhala.
Finding Latent Performance Bugs in Systems Implementations
at 18th International Symposium on the Foundations of Software Engineering (FSE 2010).
-
KC Sivaramakrishnan, Karthik Nagaraj, Lukasz Ziarek and Patrick Eugster.
Efficient Session Type Guided Distributed Interaction
at 12th International Conference on Coordination Models and Languages (COORDINATION 2010). Amsterdam, Netherlands.
Posters
-
Karthik Nagaraj, Charles Killian, Jennifer Neville.
Tracking Behavioral Changes in Distributed Systems using Distalyzer
at 23rd ACM Symposium on Operating Systems Principles
(SOSP 2011).
Cascais, Portugal.
-
Karthik Nagaraj, Charles Killian, Jennifer Neville.
Structured Comparative Analysis of Systems Logs using Distalyzer
at 8th USENIX Symposium on Networked Systems Design and Implementation
(NSDI 2011).
Boston, MA.
-
Karthik Nagaraj, Hitesh Khandelwal, Ramana Rao Kompella, Charles Killian.
DC2: Scalable Distributed Communication Middleware for the Cloud
at 7th USENIX Symposium on Networked Systems Design and Implementation
(NSDI 2010).
San Jose, CA.
-
Karthik Nagaraj, Ramana Rao Kompella, Charles Killian.
Distributed Social Networking
at 6th USENIX Symposium on Networked Systems Design and Implementation
(NSDI 2009).
Boston, MA. 22-24 April, 2009.
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
- Travel grants to attend Networked Systems Design & Implementation (NSDI) 2011 and 2009.
- Winner of the Orbitz 2010 Coding challenge.
- Selected as one of 20 students for Summer Fellowship program, IITM.
- School topper in Computer Science during 12th grade in 2004.
- Awarded certificate of excellence at the National Chemistry Olympiad 2003.
Co-curricular achievements
- Event Manager for War of the Bots, an AI programming contest at Pragyan '08, the international techno-management festival of NIT, Trichy
- Event Coordinator for Technical Quiz at Pragyan '07
- Winner of Adaventure Web Designing at Pragyan '07
- Designed an FTP crawler and search [http://sourceforge.net/projects/ftp-crawler/]
References
On Request.