Establishing standards for HPC system software and tools

Pancake Cherri · 1997

Although the number and variety of high-performance computing (HPC) systems has grown dramatically over the last decade, the quality of system and tools remains far below the expectations of the user community. The nature of HPC has changed, due to competition for HPC resources and the short lifespan of HPC platforms. Like it or not, most HPC programmers will end up working on a number of very different machine platforms over the course of time. Moreover, many applications either run across multiple platforms (so that specialized hardware can be applied to computational tasks) or are developed in a distributed, multi-platform environment. As a result, demand has increased for the standardization of system and tools. Unfortunately, standardization is hard to achieve in the world of HPC. Vendor companies are struggling to exist, not contemplating how standards might improve the future usability of their systems. There is a widespread notion that software doesn''t sell HPC so vendors do not perceive a real economic advantage to implements features that would make their machines consistent with others. Other constraints, such as the limited window-of-opportunity for introducing HPC standards and mixed responses from the user community, have also inhibited standardization. Until unequivocal requirements are included consistently in procurements of HPC machines, vendors are unlikely to take user requests for standardization seriously. 1995, a national task force was convened to address this situation. Endorsed by the National Coordinating Office for HPCC and the Parallel Tools Consortium, the group set out to establish the basic requirements for a infrastructure to support the development of HPIC applications. Representatives from both the HPC industry and major HPC user sites participated in the effort. They drafted standard verbiage for system and tools requirements, for use in preparing RFPs and other procurement documents. This article begins by discussing why standardization is important for the future of HPC. It goes on to describe the comprehensive discussions held by the task force on all aspects of system and tools -- from distributed file systems to interactive debuggers and parallelizing compilers. Hyperlink refer to pertinent sections of the task forces formal documentation. The rationale for how the group established guidelines is presented, including where elements were omitted because it was felt that technology is not sufficiently mature for standardization or because the need was representative of only some user sites. Finally, attention is drawn to the groups discussions on obstacles to standardization and promising areas for further work.

Read the paper · More papers on PaperTik