General Purpose Parallel Computers - Architectures, Programming Environments, and Tools