Snippet: Parallel map using multiprocessing
This module (courtesy Brian Refsdal at SAO) implements a parallelized version of the native Python map function that utilizes the Python multiprocessing module to divide and conquer an iterable. It takes advantage of the nifty NumPy function array_split() to divide an input iterable into approximately equal chunks. It also demonstrates the use of the multiprocessing Manager class and how to use Queues in multiprocessing.
The updated version below ...
Blog: MPI Cluster Programming with Python and Amazon EC2