|About Me * Research * Publications|
|Patents * Other Projects|
|Past Projects * Contact|
I'm a Ph.D. candidate in Computer Science working in the Systems and Networking Group at University of California San Diego under the supervision of Dr. Amin Vahdat. I earned my Bachelor of Science degree in Electrical Engineering and Computer Science from University of California Berkeley in 2007 and my Master of Science degree in Computer Science and Engineering from University of California San Diego in 2010.
My resume contains more detailed information about me.
My research focuses on building highly-efficient data-intensive scalable computing systems.
Themis: An I/O Efficient MapReduce. Alexander Rasmussen, Michael Conley, Rishi Kapoor, Vinh The Lam, George Porter, Amin Vahdat. ACM Symposium on Cloud Computing (SoCC 2012), San Jose, CA. 14 - 17 October, 2012.
TritonSort: A Balanced Large-Scale Sorting System. Alexander Rasmussen, George Porter, Michael Conley, Harsha Madhyastha, Radhika Mysore, Alexander Pucher, Amin Vahdat. Proceedings of the 8th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2011), Boston, MA. 30 March - 1 April, 2011.
Short Paper: Improving the Responsiveness of Internet Services with Automatic Cache Placement. Alexander Rasmussen, Emre Kiciman, Benjamin Livshits, Madanlal Musuvathi. 4th European Conference in Computer Systems (EuroSys 2009). Nuremberg, Germany. 30 March - 3 April 2009.
Google's Deep-Web Crawl. Jayant Madhavan, David Ko, Lucja Kot, Vignesh Ganapathy, Alex Rasmussen, Alon Halevy. 34th International Conference on Very Large Databases (VLDB 2008). Auckland, New Zealand. 24-30 August 2008.
Infusing Parallelism into Introductory Computer Science Curriculum using MapReduce. Matthew Johnson, Robert H. Liao, Alexander Rasmussen, Ramesh Sridharan, Dan Garcia and Brian K. Harvey. UC Berkeley Technical Report No. UCB/EECS-2008-34.
Developing and Maintaining High Performance Network Services. Benjamin Livshits, Emre M. Kiciman, Alexander C. Rasmussen, Madanlal Musuvathi. Publication Number US 2010/0153928 A1 (published 6/17/2010), Application Number US 12/335799 (filed 12/16/2008)
An I/O Efficient MapReduce
Themis is a MapReduce implementation that achieves high performance by limiting the amount of disk I/O it performs to two reads and two writes per record, which is the minimum amount possible for data sets that cannot fit in memory. In order to minimize I/O, Themis makes fundamentally different design decisions from previous MapReduce implementations. It performs a wide variety of MapReduce jobs, including click log analysis and DNA read sequence alignment, at nearly the speed of TritonSort's record-setting sort performance.
An early version of Themis holds the 2011 records in the Daytona GraySort and Daytona 100TB JouleSort benchmarks (see sortbenchmark.org for more information)
A "balanced" sorting system
TritonSort is case study in building balanced computing systems, specifically data-intensive scalable computing (DISC) systems. TritonSort is a staged, pipeline-oriented sorting system designed to process data with a very high degree of per-node efficiency.
TritonSort holds the 2011 records in the Indy GraySort, MinuteSort and 100TB JouleSort benchmarks (see sortbenchmark.org for more information)
I develop and maintain Boomslang, a package for making common academic graphing tasks less painful.
In the summer of 2007, I interned with the deep web indexing group at Google. My primary responsibility was performing analysis of the deep web crawler's indexing statistics to identify major weaknesses in the existing crawler system.
As an undergraduate at UC Berkeley, I played a small role in the P2 declarative networking project. I also worked on UC Berkeley's then-fledgling undergraduate parallelism initiative; the results of that initiative are be available at Google Code for Educators.
Making distributed systems easier to build
The goal of Mace is to simplify the development, research and deployment of distributed systems. It consists of an extensible set of APIs geared at modularizing and componentizing parts of distributed systems, a domain-specific C++ language extension describing a system's behavior from which real operating code can be generated, a software engine implementing common distributed system features and functionality, and a model checker capable of finding violations of liveness properties which lead the system to dead states.
My most recent work with Mace involves extending Mace's model checker to run in parallel on large clusters and supercomputers.
Enabling Strongly-Consistent Cross-Data Center Replication
As applications and infrastructure deployed on a global scale increasingly rely on stateful data center hosted services, these services must be replicated at multiple geographic locations to deliver target levels of availability and performance to all clients. Many of these services require the semantics of strong consistency; however, variations of weak consistency remain the state of the art for wide-area replication. We present a storage service that provides either strong or weak consistency on a per-object basis across a set of wide-area replicas, while meeting performance, availability, and scalability requirements.
A framework for reasoning about and optimizing web services
Fluxo was initially designed as a system that automatically determines good locations for caches in Internet services based on a high-level dataflow model of the service and runtime trace information. Since then, it has been extended to support several more optimizations. Much of this initial work on Fluxo was done while I was an intern at Microsoft Research in Redmond, WA in the summer of 2008.
Department of Computer Science & Engineering
University of California, San Diego
9500 Gilman Drive, MC 0404
La Jolla, Ca 92093-0404
Office: 3146 CSE