Issue No. 06 - Nov.-Dec. (2013 vol. 15)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MCSE.2013.98
George Bosilca , Univ. of Tennessee, Knoxville, TN, USA
Aurelien Bouteiller , Univ. of Tennessee, Knoxville, TN, USA
Anthony Danalis , Univ. of Tennessee, Knoxville, TN, USA
Mathieu Faverge , Bordeaux Inst. of Technol., Bordeaux, France
Thomas Herault , Univ. of Tennessee, Knoxville, TN, USA
Jack J. Dongarra , Univ. of Tennessee, Knoxville, TN, USA
New high-performance computing system designs with steeply escalating processor and core counts, burgeoning heterogeneity and accelerators, and increasingly unpredictable memory access times call for one or more dramatically new programming paradigms. These new approaches must react and adapt quickly to unexpected contentions and delays, and they must provide the execution environment with sufficient intelligence and flexibility to rearrange the execution to improve resource utilization. The authors present an approach based on task parallelism that reveals the application's parallelism by expressing its algorithm as a task flow. This strategy allows the algorithm to be decoupled from the data distribution and the underlying hardware, since the algorithm is entirely expressed as flows of data. This kind of layering provides a clear separation of concerns among architecture, algorithm, and data distribution. Developers benefit from this separation because they can focus solely on the algorithmic level without the constraints involved with programming for current and future hardware trends.
Programming, Computer architecture, Runtime, Computational modeling, Parallel processing, Biological system modeling, Adaptation models, Scalability
G. Bosilca, A. Bouteiller, A. Danalis, M. Faverge, T. Herault and J. J. Dongarra, "PaRSEC: Exploiting Heterogeneity to Enhance Scalability," in Computing in Science & Engineering, vol. 15, no. 6, pp. 36-45, 2014.