Parallel programming techniques and applications using networked workstations and parallel computers - Wilkinson, Barry. (Pearson Education, 2005)