Exascale and Beyond: Configuring, Reasoning, Scaling. Report of the 2011 Workshop on Architectures II: Exascale and Beyond, held August 8-10, Albuquerque, N.M.
Author(s) -
Stephen Booth,
D. Campbell,
Andrew A. Chien,
Richard Lethin,
Lenore M. R. Mullin,
Arun Rodrigues,
Ron Sass,
John Shalf,
Mark Snir,
Tom Sterling
Publication year - 2011
Language(s) - English
Resource type - Reports
DOI - 10.2172/1471122
Subject(s) - computer science , exascale computing , scalability , field (mathematics) , resilience (materials science) , distributed computing , supercomputer , operating system , mathematics , physics , thermodynamics , pure mathematics
Machine Modeling Language (AMML): An abstract machine modeling language is the formalization of a particular parametric model for a class of machines (a design space). This defines the space of machines that software tools for exascale must address, and informs programmers as they design algorithms and software that should utilize the machine and be portable across the space. It enables programmers to reason about what aspects of the machine are relevant for performance as they design their algorithms/apps and decide how to map them onto a family of machine architectures. It provides a substrate for developing strong evidence to influence vendors and understand trade-offs during the codesign process, by expressing what the valuable aspects of a machine are. Abstract Machine Model (AMM): is a representation of a particular machine within the AMML. This can be used as the referent for mapping processes (automatic as in a compiler, manually by a programmer, or by a runtime process) to optimize software to that particular machine. The model may express ranges or sets of values for groups of parameters – expressing a range of values or configurations that might be used by runtime adaptive systems or co-design processes to choose an ideal configuration.Machine Model (AMM): is a representation of a particular machine within the AMML. This can be used as the referent for mapping processes (automatic as in a compiler, manually by a programmer, or by a runtime process) to optimize software to that particular machine. The model may express ranges or sets of values for groups of parameters – expressing a range of values or configurations that might be used by runtime adaptive systems or co-design processes to choose an ideal configuration. Execution Model: A set of governing principles guiding the co-design and interoperability of system component layers in performing a specified computation. It defines a family (or class, category, etc.) of machine types for which many distinct specific implementations are possible depending on requirements and constraints applied. It establishes the state objects, their naming conventions and hierarchy, sets of actions to be performed on them, semantics and control of parallelism, composability and interoperability of context and action domains, and other ancillary properties shared across machines within the genre (e.g., reliability, performance models, etc.). An execution model is motivated by new opportunities or challenges to be addressed, often as a result of technology advances or application demands. An execution model informs a system ‘decision chain’ that establishes the contribution of each layer in determining where, when, and what actions are to be performed optimally.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom