The Phoenix System for MapReduce Programming


1. What is Phoenix

Phoenix is shared-memory implementation of Google's MapReduce model for data-intensive processing tasks. Phoenix can be used to program multi-core schips 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.

The current distribution of Phoenix runs only on the Solaris operating system. If you want to use Phoenix on a Linux system, please use this modified file for the MapReduceScheduler. In general, it should be simple to port the code to any OS with support for shared-memory threads. See the Porting notes in the scheduler README file.


2. Software Download

The current version of Phoenix was posted in April of 2007. You have the following download options:

You may also want to check the page with known issues about the sample applications.

3. License & Credit

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.

Phoenix was developed by Colby Ranger, Ramanan Raghuraman, and Arun Penmetsa under the supervision of Christos Kozyrakis. Gary Bradski provided valuable feedback and the original version for some of the sample applications. 

If you use Phoenix in your work or research, please let us know about it. We also encourage you to reference the HPCA'07 paper:

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



4. Mailing List

We have created a mailing list for Phoenix users (phoenix-users@lists.stanford.edu). 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...


5. 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.