Two extremes of modern computing are supercomputers in the Petaflops performance regime taking up thousands of square feet and embedded computing found in cell phones, automobiles, and TV remote controls. Yet these apparently disparate classes of computing devices have many properties and requirements in common and, in fact, are converging. Power, reliability, multicore, efficiency, and programmability are among the many demands that these two historically separate forms share. The multicore challenge demands a new strategy for organizing and conducting concurrent tasks, which is referred to as a "model of computation" or alternatively an "execution model". Typically embedded computers have been programmed individually by cores to guarantee real-time operation. But as their performance requirements grow, embedded processors will have to depend on multiple cores to achieve needed response time. Supercomputers are relying on multicore components with exponentially growing number of cores per socket to deliver increased performance with technology advances. This project is producing a new version of the ParalleX execution model to support embedded real-time multicore operation while imbuing future supercomputers with the semantics of real-time for introspection, enabling dynamic adaptive resource management and task scheduling. This further advances future supercomputers, as a current trend is to replace heavyweight cores such as the IBM Power architecture or the Intel x86 architecture with lightweight cores similar to embedded processors like the IBM PowerPC architecture or the Intel Xeon Phi architecture. Other supercomputer projects are exploring the use of the ARM embedded cores for high performance systems. The availability of the ParalleX real-time execution model will unify both embedded control computers and high performance computers for mutual support and benefit. Key results of this project will be a new runtime system that can serve both embedded and high performance computing systems and a programming interface to facilitate scalable application development of both.
The project's broader significance is that it will dramatically strengthen US competitiveness in both realms of computing-critical domains and enhance the nation?s economic development while addressing key challenges to the advancement of both. The field of supercomputing is facing a major challenge in how to continue to exploit technology advancement and the ParalleX execution model augmented with real-time introspection is providing the guiding principles to support co-design of architecture, programming methods, and system software and tools. Embedded control computers need to be able to use parallel processing with a single-system image for ease of programming and adaptive resource utilization. ParalleX will provide this capability. Finally, through the work of this project, future embedded processors will become the building blocks of the next generation of high performance computing to achieve exascale performance by decade's end.