Contextual abstraction in a type system for component-based high performance computing platforms - de Carvalho Junior, Francisco Heron; Rezende, Cenez Araújo; de Carvalho Silva, Jefferson; Guimarães Al-Alam, Wagner; Uchoa de Alencar, João Marcelo (Science of computer programming, 2016)
HTS (Hash Type System) is a type system designed for component-based high performance computing (CBHPC) platforms, aimed at reconciling portability, modularity by separation of concerns, a high-level of abstraction and high performance. Portability and modularity are properties of component-based systems that have been extensively validated. For improving the performance of HPC applications, HTS introduces an automated approach for dynamically discovering, loading and binding parallel components tuned for the characteristics of the parallel computing platforms where the application will execute. To do so, it is based on contextual abstraction, where the performance of components that encapsulate parallel computations, communication patterns and data structures may be tuned according to the features of parallel computing platforms and the application requirements. In turn, for providing a higher level of abstraction in parallel programming, HTS supports an expressive approach for skeleton-based programming. A study of the safety properties of HTS using a calculus of component composition has provided solid foundations for the design of configuration languages for the safe specification and deployment of parallel components. The features of HTS are validated with three case studies that exercise the programming techniques behind contextual abstraction, including skeletons and performance tuning. •HTS is a type system for automatic discovery of components in CBHPC platforms.•HTS implements contextual abstraction for component discovery in CBHPC platforms.•Contexts define component assumptions about their execution platform and application.•HTS supports parallel programming with skeletons.•We provide a set of formal proofs about safety properties of HTS.