Handbook on parallel and distributed processing (Berlin Springer verlag, 2000)