Phoenix Project
Top README File
Last revised May 27, 2009
1. 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
class at Stanford (Advanced Processor Architecture). The paper on
Phoenix won the best paper award in the HPCA'07 conference.
The Phoenix webpage is: http://mapreduce.stanford.edu
2. What has Changed in Phoenix 2
--------------------------------
Phoenix 2 is the significantly improved version of the original Phoenix release.
Changes include:
- Linux (x86_64) support
- Enhanced NUMA support for Solaris environment
- Improved performance and stability
For more details please refer to the CHANGES file in this directory.
3. What is Provided
-------------------
The Phoenix distribution includes the following directories:
docs: The HPCA'07 paper and slides on Phoenix as well as the
original OSDI'04 MapReduce paper by Google.
src: The source code for the Phoenix MapReduce library.
tests: The source code for the sample MapReduce applications.
For each application, we provide MapReduce, sequential, and
Pthreads code for comparison purposes.
bin: Supporting utilities.
include: Header files for the Phoenix library.
lib: Compiled Phoenix library.
Note: Three sample applications (i.e., kmeans, pca, and matrix_multiply)
use randomly generated input data. For other workloads, additional input
datasets are necessary. This source code tar file does not include
these datasets. Please visit the Phoenix webpage to download additional
datasets.
4. License & Credit
-------------------
Phoenix source code is distributed with a BSD-style 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, consider referencing 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"
5. Contact Information
----------------------
Please contact Christos Kozyrakis (christos@ee.stanford.edu) for
further information. We would appreciate if you let us know that you
are using our system. While we may not be able to provide technical
support, please let us know about bug reports and suggested
improvements. If you make some corrections or improvements to Phoenix,
we would appreciate receiving a copy that we can include in the next
release.
The Phoenix webpage is: http://mapreduce.stanford.edu
End File