What challenges lie in making parallel computing usable?
The next generation of parallel computers will achieve more than three trillion floating-point operations per second (three teraflops). Unfortunately, several factors have hindered users from exploiting this potential: • For the past 30 years, programmers have developed computer software and operating systems that exploit the use of one processor for a task. Everything about how a computer is used (software, operating systems, programming languages, and algorithms) needs to be rethought and redeveloped in the context of using multiple processors working together. • Standards need to be developed to ensure that software programs can be effectively run independent of the machine running them. This will ensure that businesses using and developing parallel software can retain their software investment while taking advantage of new developments in hardware. • Science and engineering students and current supercomputing users need to be trained in the use of new parallel tools and methods. A