As scalable parallel systems evolve towards more complex nodes with many-core architectures and larger trans-petascale & upcoming exascale deployments, there is a need to understand, characterize and quantify the underlying execution models being used on such systems. Execution models are a conceptual layer between applications & algorithms and the underlying parallel hardware and systems software on which those applications run. This paper presents the SCaLeM (Synchronization, Concurrency, Locality, Memory) framework for characterizing and execution models. SCaLeM consists of three basic elements: attributes, compositions and mapping of these compositions to abstract parallel systems. The fundamental Synchronization, Concurrency, Locality and Memory attributes are used to characterize each execution model, while the combinations of those attributes in the form of compositions are used to describe the primitive operations of the execution model. The mapping of the execution model’s primitive operations described by compositions, to an underlying abstract parallel system can be evaluated quantitatively to determine its effectiveness. Finally, SCaLeM also enables the representation and analysis of applications in terms of execution models, for the purpose of evaluating the effectiveness of such mapping.
Revised: February 1, 2016 |
Published: October 13, 2014
Citation
ChavarrÃa-Miranda D., J.B. Manzano Franco, S. Krishnamoorthy, A. Vishnu, K.J. Barker, and A. Hoisie. 2014.SCaLeM: A Framework for Characterizing and Analyzing Execution Models. In Beowulf 2014: Proceedings of the 20 Years of Beowulf Workshop on Honor of Thomas Sterling's 65th Birthday, October 13-14, 2014, Annapolis, Maryland, 34-43. New York, New York:ACM.PNNL-SA-105049.doi:10.1145/2737909.2737910