For the CS 566 class (Parallel Processing) I implemented the find_max algorithm for use on clusters. The program creates a random array of n numbers, distributes the array across all the nodes of the cluster and then finds the max. The program also calculates the processing time, communication time and overall time to find the max. It outputs the results in either a human readable form, or in a tab separated output.
More information here
Source code here