Introducing Students to MapReduce using Phoenix++
Summary
Phoenix++ is a shared memory implementation of MapReduce that can leverage multicore architectures. As a result, it is a very useful way to introduce students to MapReduce, and demonstrate speedup with the paradigm. This module provides a gentle introduction to MapReduce and the Phoenix++ MapReduce framework. Students trace through a simplified version of the the word_count application provided with Phoenix++, and complete simple exercises to benchmark and modify the code.
Module Characteristics
Languages Supported: , , C++, ,
Relevant Parallel Computing Concepts: , Task Parallelism, , Shared Memory,
Recommended Teaching Level: Introductory, Intermediate,
Possible Course Use: , Computational Theory, , , Operating Systems,
Learning Goals
Explain how a simple problem (Word Count) is parallelized using MapReduce.
Trace through the Phoenix++ Word Count example.
Use Phoenix++ MapReduce to yield speedups on a shared memory system.
Context for Use
Description and Teaching Materials
You can visit the module in your browser:
Introducing Students to MapReduce with Phoenix++
or you can download the module in either PDF format, latex, or Word format.
PDF Format: IntroducingStudentstoMapReducewithPhoenix.pdf.
Latex Format: latex.tar.gz.
Word Format: IntroducingStudentstoMapReducewithPhoenix.docx.
Full code and data archive: phoenix__-wc.tar.gz (gzip Archive 9.6MB Aug12 16)
Teaching Notes and Tips
- try the exercises out for yourself
TCPP Curriculum Elements
Assessment
References and Resources
Comment? Start the discussion about Introducing Students to MapReduce using Phoenix++