Highly Parallel Computer Architectures for Scientific Applications