An introduction to distributed and parallel computing - Crichlow (Prentice Hall, 1996)