Arup Mukherjee San Jose, CA 95132 (408) 347-1354 http://www.mukherjee.net/arup/ arup@mukherjee.net -- PROFESSIONAL INTERESTS -- Building high-performance, scalable systems in a startup or advanced development environment. I am interested in distributed systems, operating systems, electronic commerce, networked applications, mobile computing, and computer security. -- EDUCATION -- CARNEGIE MELLON UNIVERSITY: Doctor of Philosophy (Ph.D.) degree in Computer Science. Dec 1998 Thesis work: Developed techniques and infrastructure for building online services that work effectively in the face of bandwidth constraints. Designed, implemented and evaluated the Oasis system wherein Java agents and Web-based services hosted by a network of programmable proxy servers cooperate to optimize communication by sharing data and capabilities within the network and at end-user devices. Oasis implementation was targetted at services deployed on the World Wide Web for access via dialup and mobile clients. Thesis advisor: Professor Daniel P. Siewiorek Thesis work: Developed techniques and infrastructure for building online services that work effectively in the face of bandwidth constraints. Designed, implemented and evaluated the Oasis system wherein Java agents and Web-based services may cooperate to optimize communication by sharing data and capabilities within the network and at end-user devices. Oasis implementation was targetted at services deployed on the World Wide Web for access via dialup and mobile clients. Thesis advisor: Professor Daniel P. Siewiorek CARNEGIE MELLON UNIVERSITY: Master of Science (M.Sc.) degree in Computer Science. May 1993 Coursework: programming languages, operating systems, computer systems, algorithms, parallel algorithms, distributed programming environments, and artificial intelligence. Noteworthy seminar courses attended include seminars on Mach 3.0 kernel internals and on mobile computing. Research: Investigated means of benchmarking the robustness of complex software systems. (Published in IEEE Transactions on Software Engineering, June 1997.) Conducted as part of the Fault Tolerant Mach effort, with Professor Daniel P. Siewiorek. UNIVERSITY OF PENNSYLVANIA: Bachelor of Science in Engineering (B.S.E.) degree May 1990 Major: Computer Science and Engineering; Graduated Summa Cum Laude, with General Honors distinction. Sr Project: Design and prototyping of the hardware and software for a MC68008/X-windows voicemail system. Coursework: Computer Science and Engineering curriculum tailored for emphasis on software and hardware systems. GPA: 4.00/4.00 (Computer Science and Engineering) 3.82/4.00 (Cumulative) -- EXPERIENCE -- YAHOO!, Inc, SANTA CLARA, CA May 1999 - present Sr. Software Engineer (5/99 - 2/00), Technical Lead & Manager (2/00 - 9/01), Technical Lead and Senior Manager (9/01 - present) Senior Software Engineer: One of a team of four engineers who designed and implemented programmable proxy server infrastructure used to transparently integrate the web sites of external clients into Yahoo! Shopping. The proxy system developed adds Yahoo! branding, integration with Yahoo! services, and extracts and logs transactions on the fly while servicing several million daily pageviews to over 200 large brand-name merchants. Was responsible for several large subsytems written from scratch in C++, and was also heavily involved in operationally launching the system and in developing all required deployment, monitoring, management and server redundancy mechanisms. Promoted to technical lead and manager of this engineering group in February, 2000, and subsequently to senior manager in October 2001. Technical Lead and Manager of Remote Merchant Integration Development: Led the efforts to greatly increase the stability, scalability, flexibility and efficiency of the Remote Merchant Integration system while adding support for new merchants and new services, including several applications from outside shopping. Duties included architecting many system changes to attain the aforementioned goals, guiding and mentoring up to 8 other engineers, hands-on development of technically complex parts of the system, management of the operational servers, leading the internationalization effort, supporting 9 international deployments and participating in recruiting efforts. CARNEGIE MELLON UNIVERSITY, PITTSBURGH, PA September 1991 - March 1999 Research Fellow, Teaching Assistant and Volunteer Systems Programmer Duties: Varied research, teaching, and systems programming and administration responsibilities. Research: 1. Developed, implemented as a proof-of-concept, and evaluated a system for benchmarking the robustness of operating systems platforms. This object-oriented robustness benchmarking scheme has been documented in a paper in the IEEE Transactions on Software Engineering, July 1997. 2. Designed and implemented an infrastructure of enhanced Web proxies to support the effective deployment of Java online services in bandwidth-constrained environments. This research was the basis for my doctoral dissertation. Teaching duties: 1. Operating Systems: Guided students in the implementation of an operating system, including virtual memory and file system, for a SPARC-like virtual machine. Designed and graded assignments. Awarded the 1996 School of Computer Science graduate student teaching award for this work. 2. Distributed Systems: Guided students in the design and implementation of systems for securely conducting electronic commerce over the World Wide Web. Designed and graded assignments. 3. Computer Systems: Grading and homework design. Selected voluntary efforts: 1. Have ported and supported the in-house automated remote backup system for workstations running Linux and AIX. Porting involved enhancing the client software to understand the on-disk data formats of the Linux second extended filesystem and the AIX journalled filesystem respectively. 2. For several years, compiled, installed, adapted, enhanced, and debugged the local installation of XEmacs and associated subsystems (e.g. email), used daily by about 150 people on a multitude of platforms: DEC Alphas (OSF/1), HP 9000 (HPUX), Intel platforms (Linux and NetBSD), DECstations (Ultrix), SGI workstations (IRIX), Sun workstations (Solaris and SunOS), and older platforms running under Mach. 3. Was instrumental in the development of, and ongoing support of, the large software environment for a network of AIX workstations installed locally. 4. Until early 1996, enhanced, maintained and distributed (on the internet) the gnuserv package which enables remote interaction with any of the emacs family of editors running under a unix system. SUN MICROSYSTEMS LABORATORIES, MOUNTAIN VIEW, CA Summer 1993 Summer Research Intern, Spring Project Duties: Spring OS filesystems development. Converted the distributed filesystem of SpringOS (an experimental object-oriented microkernel operating system) to a stackable filesystem composed of file encapsulation and coherency layers. Enhanced the coherency support to handle arbitrary stacked filesystem configurations. Awarded a vice president's letter of recognition and salary bonus for my contributions. SUN MICROSYSTEMS LABORATORIES, MOUNTAIN VIEW, CA Summer 1992 Summer Research Intern, Spring Project Duties: Spring OS virtual memory system performance evaluation. Analyzed the virtual memory system of SpringOS. Characterized its performance, added functionality and significant performance improvements. Was awarded a vice president's letter of recognition and salary bonus for my accomplishments. IBM T. J. WATSON RESEARCH CENTER, HAWTHORNE, NY May 1990 - Sep 1991 Systems Programmer and Researcher, Large Systems Group Duties: Filesystem cache management enhancements, affinity-based scheduling implementation, and analysis of virtual memory management in Unix systems; conception and prototype implementation of a cluster filesystem for RS/6000 workstations. Investigated the applicability of affinity-based scheduling to Unix-based parallel processing (paper in Winter Usenix, 1992), and investigated thrashing in real-addressed caches due to virtual memory management. Also implemented and evaluated frequency based buffer-cache management in the 4.3 BSD filesystem. Parallel AIX Fileserver Project: Designed and implemented much of the low-cost disk sharing scheme in the project prototype via kernel extensions, device drivers, and modifications to the journalled filesystem under AIX 3.1 on the IBM RS/6000. UNIVERSITY OF PENNSYLVANIA, PHILADELPHIA, PA June 1987 - May 1990 Systems Programmer, General Robotics & Active Sensory Perception Lab Duties: Software support and development for image processing applications. Conceived, implemented, and maintained a large extension to the device independent image processing software library in use at the lab. Work included network support using TCP/IP sockets, and design and implementation of a set of device independent output routines for X windows (X10R4 thru X11R4), postscript printers, and IKONAS and DATA TRANSLATION frame buffers. IBM T. J. WATSON RESEARCH CENTER, HAWTHORNE, NY Summer 1989 Summer Intern, Highly Parallel Systems Group Duties: Maintenance of software and hardware systems for the Highly Parallel Systems group at IBM. Maintained and administered a network of IBM RTs running Mach. Also modified the Mach kernel to local needs, assembled and installed new equipment, and installed and supported the Andrew File System and the X Window System. -- PUBLICATIONS -- 1. A. Mukherjee, "Supporting Online Services in Environments Constrained by Communication," Ph. D. Thesis, CMU CS Tech Report CMU-CS-98-172, Nov 1998. 2. A. Mukherjee and D. P. Siewiorek, "Measuring Software Dependability by Robustness Benchmarking," IEEE Transactions on Software Engineering, June 1997 issue. (An earlier version was published in 1994 as CMU CS Tech Report CMU-CS-94-148.) 3. M. Devarakonda, A. Mukherjee and W. Kish, "Meta-Scripts as a Mechanism for Complex Web Services," Proceedings of the Fifth Workshop on Hot Topics in Operating Systems, May 1995. 4. A. Mukherjee and D. P. Siewiorek, "Mobility: A Medium for Computation, Communication and Control," IEEE Workshop on Mobile Computing Systems and Applications, December 1994. 5. M. Devarakonda and A. Mukherjee, "Issues in Implementing Cache-Affinity Scheduling," Proceedings of the Winter Usenix 1992, January 1992. -- HONORS AND AWARDS -- August 1996: School of Computer Science Graduate Student Teaching Award for ``excellence in teaching and dedication to students and to the academic community.'' August 1992, August 1993: Letters of recognition and salary bonuses for contributions to the Spring project at Sun Microsystems Labs. respectively 1991, 1990, 1989, 1988 - present: Sigma Xi, Phi Beta Kappa, Eta Kappa Nu, Tau Beta Pi honors society memberships January 1988 - May 1990: Benjamin Franklin Scholar at the University of Pennsylvania (special honors program for top 7% of students) 1988, 1989, 1990: Dean's List, University of Pennsylvania. May 1987: Second place, Class of 1880 mathematics exam, open to all freshmen at the University of Pennsylvania June 1986: Graduation award for ``setting academic standards for others to strive to emulate'' from the International School of Lusaka. 1985 and 1986: First prize, annual National Mathematical Problems Contest, sponsored by the Zambia Association for Mathematics Education. Only person in the history of the contest to win twice. -- COMPUTER SKILLS -- World Wide Web: Java, HTML, HTTP, Apache, Javascript, proxy server architecture, squid, server farm redundancy and load balancing, caching, some DHTML. Languages: C++, C, Java, Perl 5, HTML, Perl 5, shell scripts (sh/csh), Lisp, Scheme. Operating Systems: Thorough knowledge of Unix systems including Linux, FreeBSD 4.1 and 2.2, AIX 3.2, Linux, BSD 4.3, SunOS, Solaris, and Mach 2.5. Some knowledge of Windows platforms. Unix Kernel: I have worked with the internals of AIX 3.1, BSD 4.3, and Mach 2.5 in the areas of scheduling, filesystem (including the AIX journalled file system) and virtual memory management. I have modified kernels directly in these areas, and have also written device drivers, virtual file systems, and system calls. Unix Software: Most standard unix tools, including X11, AFS, NFS, Netscape, apache, kerberos 4, TeX, LaTeX, TCP/IP, lex, yacc, sed, GNU Emacs, most standard Unix tools. -- PERSONAL -- - I am a legal permanent resident of the United States. - I am a Canadian citizen and I am a native speaker of English. - I studied French for many years, and retain limited ability in spoken and written French. I also speak Bengali fluently. ---------------------------------------------------------------------- This document was last updated on Feb 18, 2003. The current version is available from http://www.cs.cmu.edu/People/arup/resume/resume.html.