Throughout the last several decades, scientist, engineers and researchers alike have sought to harness the power of computing technology to both simplify and accelerate the computational processes that have typically taken days or months to complete. Supercomputers evolved from this demand as well as from the demand for greater sustained performance than that provided by contemporary mainstream computers. These demand originated largely from fields that required the quick processing of large amounts of complex data, especially in scientific research and engineering.
From the start, the improvement of computing performance necessary to meet these demands was achieved through faster logic and more parallelism that allowed for concurrent data access and computations. Almost all supercomputers are constructed through the connection of many computer nodes that have one or more processors and a shared memory. Where supercomputers can differ is in the design of their nodes, switches and interfaces as they affect greater performance and high-volume processing.
Although supercomputers clearly surpass mainstream or conventional computers, their performance is generally measured by the amount of time that they require to solve the specific problem or function that they are designed to accomplish. This supports the assertion that the real value of the supercomputer is derived not from the innovative technology that they display but rather, from the problems that they solve. At the same time, new demands such as those for the handling of finer spatial resolution, larger time scales and massive amounts of experimental and observational data have evolved that challenge the capacity of supercomputers to excel at problem solving.
Not unlike most aspects of computer technology, the development of supercomputers that can meet emerging and future demands will depend on innovation. Although innovation is clearly essential in the development of computer architecture, the necessity of innovation is especially true of the software that operates on the supercomputer, which plays the most significant role of serving as an intermediary between the application, as the problem being addressed, and the architectural platform.