Analyzing the impact of computational heterogeneity on runtime performance of parallel scientific components