The Phoenix System for MapReduce Programming

What's New?

June 8, 2011 - Come see us presenting Phoenix++ in MAPREDUCE'11
June 6, 2011 - Phoenix++ released

What is Phoenix?

Phoenix is a shared-memory implementation of Google's MapReduce model for data-intensive processing tasks. Phoenix can be used to program multi-core chips as well as shared-memory multiprocessors (SMPs and ccNUMAs).  Phoenix was developed as a class project for the EE382a course at Stanford. The paper on Phoenix won the best paper award in the HPCA'07 conference.

About Phoenix 2

The initial version of Phoenix was released in the April of 2007. Since then it has been significantly updated to improve scalability and portability. Compared to the original release, version 2 includes:

About Phoenix++

Phoenix++ is a C++ reimplementation of Phoenix 2. It is designed to provide a modular, extensible pipeline that can be easily adapted by the user to the characteristics of a particular workload.


You have the following download options:


Phoenix 2

Phoenix (Original Release)

Input Datasets


The Phoenix source code is distributed with a BSD license. The copyright is held by Stanford University. Phoenix is provided "as is" without any guarantees of any kind.

If you use Phoenix in your work or research, please let us know about it. We also encourage you to reference one of these papers:

"Phoenix++: Modular MapReduce for Shared-Memory Systems",
Justin Talbot, Richard M. Yoo, and Christos Kozyrakis.
In the Second International Workshop on MapReduce and its Applications (MAPREDUCE),
San Jose, CA, June 2011. [paper][slides]

"Phoenix Rebirth: Scalable MapReduce on a Large-Scale Shared-Memory System",
Richard M. Yoo, Anthony Romano, and Christos Kozyrakis.
In Proceedings of the 2009 IEEE International Symposium on Workload Characterization (IISWC),
pp. 198-207, Austin, TX, October 2009. [paper][slides]

"Evaluating MapReduce for Multi-core and Multiprocessor Systems",
Colby Ranger, Ramanan Raghuraman, Arun Penmetsa, Gary Bradski, and Christos Kozyrakis.
In Proceedings of the 13th Intl. Symposium on High-Performance Computer Architecture (HPCA),
Phoenix, AZ, February 2007. [paper][slides][video] (Best Paper Award)

Mailing List

We have created a mailing list for Phoenix users ( The goal is to provide a forum to communicate issues / fixes and exchange ideas about Phoenix and MapReduce programming in general. To receive the messages, please register. The messages are also archived. Note that the existence of the mailing list does not come along with support guarantees...

Related Projects

Below are some of the external projects / publications that use Phoenix.


Contact Information

Please contact Christos Kozyrakis for further information. While we may not be able to provide technical support, let us know about bug reports and suggested improvements. If you make some correction or improvement to Phoenix, we would appreciate receiving a copy that we can include in the next release.

This page has been visited HTML Hit Counters times since 5/2/2007.
Stats provided by the Free Hit Counter.