CSCI7551 - Parallel and Distributed Processing.