Abstract
Extreme scale parallel computing systems will have tens of thousands of optionally accelerator-equipped nodes with hundreds of cores each, as well as deep memory hierarchies and complex interconnect topologies. Such exascale systems will provide hardware parallelism at multiple levels and will be energy constrained. Their extreme scale and the rapidly deteriorating reliability of their hardware components means that exascale systems will exhibit low mean-time-betweenfailure values. Furthermore, existing programming models already require heroic programming and optimization efforts to achieve high efficiency on current supercomputers. Invariably, these efforts are platform-specific and non-portable. In this article, we explore the shortcomings of existing programming models and runtimes for large-scale computing systems. We propose and discuss important features of programming paradigms and runtimes to deal with exascale computing systems with a special focus on data-intensive applications and resilience. Finally, we discuss code sustainability issues and propose several software metrics that are of paramount importance for code development for ultrascale computing systems.
Author supplied keywords
Cite
CITATION STYLE
Costa, G. D., Fahringer, T., Rico-Gallego, J. A., Grasso, I., Hristov, A., Karatza, H. D., … Astsatryan, H. (2015). Exascale machines require new programming paradigms and runtimes. Supercomputing Frontiers and Innovations, 2(2), 6–27. https://doi.org/10.14529/jsfi150201
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.