Position Paper: Using a "Codelet" Program Execution Model for Exascale Machines

Stéphane Zuckerman, Joshua Suetterlein, Rob Knauerhase, Guang R. Gao · 2011

As computing has moved relentlessly through giga-, tera-, and peta-scale systems, exa-scale (a million trillion opera-tions/sec.) computing is currently under active research. DARPA has recently sponsored the “UHPC ” [1] — ubiqui-tous high-performance computing — program, encouraging partnership with academia and industry to explore such sys-tems. Among the requirements are the development of novel techniques in “self-awareness”1in support of performance, energy-efficiency, and resiliency. Trends in processor and system architecture, driven by power and complexity, point us toward very high-core-count designs and extreme software parallelism to solve exascale-class problems. Our research is exploring a fine-grain, event-driven model in support of adaptive operation of these ma-chines. We are developing a Codelet Program Execution Model which breaks applications into codelets (small bits of functionality) and dependencies (control and data) between these objects. It then uses this decomposition to accom-plish advanced scheduling, to accommodate code and data motion within the system, and to permit flexible exploita-tion of parallelism in support of goals for performance and power. Categories and Subject Descriptors CR-number [subcategory]: third-level ∗This research was, in part, funded by the U.S. Government. The views and conclusions contained in this document are those of the authors and should not be interpreted as rep-resenting the official policies, either expressed or implied, of the U.S. Government.

Read the paper · More papers on PaperTik