Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers (2nd Edition)