A driving motivation for pursuing PetaFLOPS capability is the wealth of applications that impose computing demands at that scale and that are of potential importance to our Nation's economic future. The Applications Working Group considered two important factors related to the realization and use of PetaFLOPS computing systems: the class of problems that would make use of such capability, and the characteristics of the application demands on the computing resources. It was found that there were many such applications spanning a wide array of domains. These fell into the catagories of large-scale simulations, data-intensive applications, and novel applications. A distinction among simulation problems for PetaFLOPS computing is those whose problem size can grow to fill system capacity and those problems of fixed size requiring greatly extended simulated time. Data-intensive applications require storage capacity equalling or exceeding a petabyte even when PetaFLOPS performance may not be critical. Novel applications are those not yet identified but which can be anticipated to open entirely new forms of services for humanity with the advent and availability of PetaFLOPS computers.
A number of applications that would benefit from availability of PetaFLOPS performance were identified in each of the following major areas:
These, among others, establish a firm basis of justification for PetaFLOPS machines. The need for such computing capacity derives either from the physical structure of the problem or from the size of the large datasets. It is noted that the results from this examination are considered preliminary and should be confirmed and refined by domain-specific expert groups. While all critical applications in the ensuing decades cannot be predicted, it can be anticipated that they will include extensions of problems from the areas mentioned above. It is expected that many such applications will take on an increasingly multidisciplinary character incorporating models of distinct but interacting regimes. Also, future applications will commit significant resources to advanced methods of user interface including scientific visualization and virtual reality which will be enabled by the availability of PetaFLOPS capable systems.
A number of key characteristics of applications as they relate to architectures were identified. Among those, the following were particularly germane:
Among these, the question of required system memory capacity was among the most urgent because it fixed the time scale in which such architectures would become commercially viable. With the Architecture Working Group, it was determined that, for a wide range of simulation class applications, memory requirements scale less than linearly with performance such that a PetaFLOPS system is likely to need no more than about 30 terabytes of main memory, and probably less. This is not to say that there will not be problems that will make use of a petabyte of memory. In some cases, such problems might not even need the full PetaFLOPS performance capability but rather are memory intensive in nature. A detailed examination of a number of applications was conducted and the results of each case captured in Section 4.4 of this report.
In all likelihood, algorithms will have to evolve to make use of the unprecedented scale of performance, parallelism, and latency that the use of PetaFLOPS machines will encompass. The scalability of today's problems to those at the PetaFLOPS level will require advances in the serial complexity of the algorithm (algorithmic efficiency) and the parallelization efficiency. These requirements are often in conflict. It is anticipated that the hierarchical structure of PetaFLOPS systems' memory and processor organization will favor algorithms that exhibit hierarchical abstract structure for synchronization and communication. But hierarchical algorithms are difficult to implement with perfect parallel efficiency. This challenge is compounded by issues of problem size scaling which do not always return comparable parallelism for increased problem size. Finally, precision of calculations may need to be increased as problem size grows. All of these issues require further study before our understanding of the impact on applications of PetaFLOPS computing is definitive.