Handbook on Parallel and Distributed Processing by K. Ecker & J. Blazewicz