MANJUNATH RAJASHEKHAR 163 Chattanooga St San Francisco, CA 94114 cell: (650) 521-1544 [email protected] http://www-cs-students.stanford.edu/~manj EDUCATION Masters of Science in Computer Science Stanford University, California Sep '05 – Jun '07 Specialization: Systems WORK EXPERIENCE Staff Engineer Cache Team Twitter Sept '10 – present Designed, architected and built the caching system at Twitter, scaling it from 50 million to more than 200 million users. As a part of this group, I built and open-sourced Twemcache (Twitter memcached) and Twemproxy (memcached & redis proxy). Twemcache and Twemproxy are the fundamental building blocks of the Twitter's caching system and have been instrumental in scaling the backend systems at Twitter and improving the performance of Twitter’s core infrastructure components. I also worked closely with the kernel team to tune the Linux kernel in Twitter’s datacenter that enabled us to run low latency and high throughput network services. As a part of the performance tuning effort of the caching system, I built and open-sourced Twemperf – a tool for measuring and analyzing memcached server performance. I also built and open-sourced Fatcache - a memcache on SSD that serves as a cache for your big data. Fatcache enables us to use SSD technology to bridge the caching divide between volatile RAM and non-volatile databases and file systems when many gigabytes of data needed to be cached on a single machine. Member of Technical Staff Virtual Machine File System (VMFS) group VMware Aug '07 – Sept ‘10 VMFS is a high performance cluster file system over block storage that enables storage virtualization optimized for virtual machines. As a part of this group, here are some of my contributions: Lock Manager for VMFS-5: Designed and developed the lock manager for the next generation of cluster file system called VMFS-5: the successor of VMFS-3. Unlike VMFS-3, the VMFS-5 lock manager scales linearly with the number of nodes in the cluster and hence enables VMFS-5 to scale gracefully when subjected to limits of increased VM density and node connectivity in an enterprise cloud. For an 8-node cluster setup, the new lock manger exhibited ~40% improvement over its predecessor during concurrent updates of shared resources in the cluster. Garbage Collector: Designed and implemented an incremental, online garbage collector to reclaim leaked heartbeat and journal blocks on an active VMFS. Investigated and implemented algorithmic optimization for Read-Only and Multi-Writer on-disk locks in VMFS. Software Development Engineer (Summer Intern) Core File Systems (CFS) group Microsoft Jul '06 – Sept '06 I worked in the Distributed File System Replication (DFSR) team, where I developed a lease-based file locking prototype for the DFSR service. I also contributed towards Longhorn Server Beta 3 release by designing and implementing performance counters for the DFSR service using PerfLibV2 library. Software Engineer Citrix Systems (previously NetScaler) Jul '03 - Aug '05 Worked in the kernel group of SSLVPN team as a FreeBSD kernel programmer Intranet IP: Designed and implemented the Intranet IP feature to manage the assignment of unique routable IP address in the intranet domain for the SSLVPN feature. 2 Single Sign-On (SSO): Designed and implemented the 401 pop-up based Single Sign-On (SSO) mechanism and integrated it with the existing SSLVPN feature. Designed and implemented the forward proxy cache redirection feature. Policy Engine Enhancement Framework: Implemented enhancements to policy engine framework, that provided support for compound expressions, run time modification of expressions and priority based evaluation. Project Trainee Center for Artificial Intelligence and Robotics (CAIR) Defense Research and Development Organization, India Feb '03 - May '03 TLS Library: Designed and implemented TLS protocol (rfc2246) compliant library, which provided network application programmer with a convenient set of interfaces to implement a secure application compliant with TLS protocol. RESEARCH AND TEACHING EXPERIENCE Research Assistant (Guibas Group) Jan '06 – Jun '07 Research on Sensor Networks under Professor Leonidas Guibas. Teaching Assistant for the “Low-Power Wireless Networking” (cs244e) class at Stanford. Duties involved teaching and evaluating lab assignments, holding office hours to clarify students’ questions, and giving guest lectures. PUBLICATIONS Ajay Mani, Manjunath B. Rajashekhar, and Philip Levis, “TINX: A Tiny Index Design for Flash Memory on Wireless Sensor Devices.” In Proceedings of the Fourth ACM Conference on Embedded Networked Sensor Systems (Sensys 2006), Poster Session, Pages: 425 – 426. SELECTED GRADUATE PROJECTS Pintos: Designed and Implemented multithreading, multiprogramming, virtual memory and file system on top of Pintos operating system. Data Mining Project: Frequent Itemsets Mining in Distributed Wireless Sensor Networks SELECTED UNDERGRADUATE PROJECTS Peer-to-peer network: Designed and implemented File sharing application (Napster like model) over P2P network on Linux using a “centralized server with content lookup”. User-level Network Address Translator (NAT): Designed and Implemented a Dynamic Network Address Translator called IP masquerading in the user space using packet socket and Libnet library. COMPUTING SKILLS Platforms: Linux, FreeBSD, Windows. Languages: C, C++, Java, Python. Programming: Kernel programming (FreeBSD), Unix system programming (IPC, Socket), Unix shells (bash, tcsh), Flex, Yacc. Software: MS Office, GTK+, apache modules, perforce (P4), VIM, VMWare. MISC - BASES e-challenge 2007 quarter finalist. - Former member of Ballet Folklorico de Stanford.