DHARMESH PARIKH dharmesh@alumni.virginia.edu http://www.cs.virginia.edu/~dp8x Objective Seeking a challenging full time position in software/design/development EDUCATION Master of Computer Science: University of Virginia, Virginia, VA Jan 2003, GPA: 3.82/4.00 (Sept 2000 –Jan 2003) B-Tech in Computer Science: Institute of Technology, BHU, Varanasi, India May 2000, First Class (Aug 1996 - May 2000) WORK EXPERIENCE Graduate Research Assistant: University of Virginia, Department Of Computer Science • Explored design issues for power/energy/performance in a branch predictor of a super scalar processor (HPCA 2002). Project leader of a three-member team. Responsible for all the coordination and communication between the members and two professors. (June 2001 – Jan 2003) Graduate Teaching Assistant: University of Virginia, Department Of Computer Science (Sept 2000 - May 2001) • Programming Languages: Graded assignments, exams and held office hours for over 30 students. (Fall 2000) • Object Oriented Programming Using UML: Helped in lab set-up and graded exams for 35 students. (Spring 2001) Software Development Intern: National Aerospace Laboratories Bangalore, India • Simulated the message passing protocol of Flosolver Mark V, successor of India’s first parallel computer. Led a three-member team. Developed the main algorithm and also wrote the technical report. (May – July 1999) SKILLS Technical Programming Languages: C, C++, Visual C++, Java, Perl, Visual Basic, and Assembly. Operating Systems: Win NT/95/98, UNIX, Solaris, and Linux. Tools: Rational Rose, Socket Programming, HTML, SQL, Access, and FrontPage. Academic Graduate Courses Information System Security (Fall 2002) Software Dynamic Translation, Design and Analysis of Algorithms, and Statistics for Engrs. (Fall 2001) Operating Systems, Advanced Computer Organization, and Theory of Computation. (Spring 2001) Computer Networks, Computer Architecture, and Designing Complex Software System. (Fall 2000) PROJECTS AND SEMINARS Graduate Level • Developed and implemented a protocol for a chat application based on peer-to-peer paradigm in Java. • Developed and evaluated an in-kernel web server for Linux with prioritized service in C. • Developed and implemented a Finite Automata Simulator as a Java Applet. • Explored design issues for an effective fetch engine of a Simultaneous Multi Threaded processor (SMT). • Presented a class seminar on: “Tradeoffs of RISC Vs. CISC processors”. Undergraduate level • DOC@HOME: A Computer society international design competition (CSIDC) project. DOC@HOME is a facility provider, which exploits the availability of the cheap, reliable computational power as well as the ubiquitous communication facility, the Internet. Part of a five-member team. • Developed and implemented an image segmentation method using evolutionary computation in the B.Tech. Senior year project. SELECTED PUBLICATIONS • D. Parikh, K. Skadron, Y. Zhang, M. Barcella, and M. Stan. “Power Issues Related to Branch Prediction”. In Proceedings of 8th International Symposium on High Performance Computer Architecture, Feb. 2002. • D. Parikh, K. Skadron, Y. Zhang, M. Barcella, and M. Stan. “Power-Aware Branch Prediction: Characterization and Design”. IEEE Transactions on Computers, To Appear. • K. Skadron et al. “HotSpot: Techniques for Modeling Thermal Effects at the Processor-Architecture Level”. In Proceedings of the 2002 International Workshop on THERMal Investigations of ICs and Systems (THERMINIC), Oct. 2002. • S. Velusamy, K. Sankaranarayanan, D. Parikh, T. Abdelzaher, and K. Skadron. “Adaptive Cache Decay using Formal Feedback Control.” In Proceedings of the Workshop on Memory Performance Issues, held in conjunction with ISCA-29, May 2002. • Y. Zhang, D. Parikh, M. Stan, K. Sankaranarayanan, and K. Skadron. “HotLeakage: A Temperature-Aware, Model of Subthreshold and Gate Leakage for Architects”. Tech Report CS-2003-05, Univ. of Virginia Dept. of Computer Science, Mar. 2003. • D. Parikh, Zhang, M. Stan, and K. Skadron. “Comparison of State-Preserving vs. Non-State Preserving Leakage Control in Caches”. In Submission to Workshop on Duplicating, Deconstruction, and Debunking held in conjunction with ISCA-30, May 2003. • S. Arnold, D. Parikh, and R Poornalingam. “Evaluation of In-Kernel Web Server with Differentiated Services”, Project Report for Advanced Operating Systems May 2001 HONORS • Selected in the prestigious IIT-JEE and ranked among the top 2 %. • Leader of a top twenty team in the IEEE Computer Society International Design Contest, 2000. • Vice-Chair of IEEE Student Branch, BHU, Varanasi, India. Led the daily operations of a 50-member branch. References Dr. Kevin Skadron Professor Department of Computer Science University of Virginia ,Virginia, USA Email: skadron@cs.virginia.edu Phone:(01)-434-982-2042 Dr. Mircea Stan Dr. Mircea Stan Professor Department of Elect. & Computer Engg. University of Virginia ,Virginia, USA Email: mircea@virginia.edu Phone:(01)-434-924-8818 Dr. Tarek Abdelzaher Dr. Tarek Abdelzaher Professor Department of Computer Science University of Virginia ,Virginia, USA Email: skadron@cs.virginia.edu Phone:(01)-434-982-2227 Projects Details 1. Developed and implemented a protocol for a chat application based on peer-to-peer paradigm in Java Details: A protocol, with some restraints, for looking up of hosts for chatting without a central server was developed and implemented using Java Swing. Responsibilities: This was a group project. This was implemented in Java, and my primary responsibility was to develop the network protocol stack using socket programming. 2. Developed and evaluated an in-kernel web server for Linux with prioritized service in C Details: During the semester long project the performance of an in-kernel web server Khttpd was evaluated against that of a popular user space web server, Apache. A QoS optimization for the in-kernel web server was also implemented. It was found that the in-kernel web server was more efficient in serving static file. This work led to a technical report. Responsibilities: This was a group project. This is implemented was C in the Linux environment. I developed the QoS optimization. 3. Developed and implemented a Finite Automata Simulator as a Java Applet Details: An applet was developed using Java Swing for simulating deterministic finite automata. After inputting the automata the user could check whether a string would be accepted by the particular automata or not. Responsibilities: This was an individual project. This was implemented in Java. 4. Design issues for power/energy/performance of a super scalar and a SMT processor. Details: Explored design issues for power/energy/performance for a branch predictor, caches of both superscalar and a SMT processor. This work has led to three publications. Responsibilities: This was a group project. This is implemented in C/Unix/Perl, and SimpleScalar simulator was used for developing and testing. 5. DOC@HOME: A Computer society international design competition (CSIDC) project Details: DOC@HOME is a facility provider, which exploits the availability of the cheap, reliable computational power as well as the ubiquitous communication facility, the Internet. By integrating these evolving technologies and enabling interaction with the available expertise in the medical field, it provides easy accessibility to a user with a pool of medical experts available anywhere anytime Responsibilities: This was a group project and was developed in C/Linux. 6. Image Segmentation Using Evolutionary Computation Details: The primary aim of this project was to implement the preprocessing phase of Image Segmentation, followed by the cost function optimization using genetic algorithm and finally testing it for different test images. Responsibilities: This was a group project and was developed in Visual C++. 7. Network Protocols Details: During the semester long networks course several networks protocols like TCPDUMP, ETHEREAL, ARP, ICMP, RIP and OSPF were used. Techniques to capture and filter network traffic and setup procedures of a commercial router (CISCO 7000) were also used. Responsibilities: This was an individual project. Both C and Java were used for implementation purposes.