Cilk: an efficient multithreaded runtime system
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Earth: an efficient architecture for running threads
Earth: an efficient architecture for running threads
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Sequoia: programming the memory hierarchy
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
Sequoia: programming the memory hierarchy
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
Parallel Programmability and the Chapel Language
International Journal of High Performance Computing Applications
Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation)
Using OpenMP: Portable Shared Memory Parallel Programming (Scientific and Engineering Computation)
Intel threading building blocks
Intel threading building blocks
ParalleX An Advanced Parallel Execution Model for Scaling-Impaired Applications
ICPPW '09 Proceedings of the 2009 International Conference on Parallel Processing Workshops
OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems
IEEE Design & Test
The International Exascale Software Project roadmap
International Journal of High Performance Computing Applications
Exascale computing technology challenges
VECPAR'10 Proceedings of the 9th international conference on High performance computing for computational science
Using a "codelet" program execution model for exascale machines: position paper
Proceedings of the 1st International Workshop on Adaptive Self-Tuning Computing Systems for the Exaflop Era
Hierarchical place trees: a portable abstraction for task parallelism and data movement
LCPC'09 Proceedings of the 22nd international conference on Languages and Compilers for Parallel Computing
For extreme parallelism, your OS is Sooooo last-millennium
HotPar'12 Proceedings of the 4th USENIX conference on Hot Topics in Parallelism
An implementation of the codelet model
Euro-Par'13 Proceedings of the 19th international conference on Parallel Processing
ASAFESSS: A Scheduler-driven Adaptive Framework for Extreme Scale Software Stacks
Proceedings of International Workshop on Adaptive Self-tuning Computing Systems
Hi-index | 0.00 |
Computing systems have reached the performance limits attainable by increasing clock rates and complexity, and are now using increased thread-level parallelism and heterogeneity instead. Existing software typically deals poorly with large-scale or heterogeneous computer systems, relying on multiple poorly interacting or special-purpose software interfaces to approach scaling/heterogeneity; attempting to use these approaches on future computers (especially at exascale) will only make matters worse. To solve this problem, software components may be broken up into pieces, called "codelets", that can be dynamically scheduled without reliance on binding to any one thread or hardware component in relation to other codelets. By placing a supporting runtime layer between the system interface and codelet-based application, a very high degree of parallelism can be exposed, scaled, and scheduled to use the available hardware efficiently and intelligently. A codelet-based runtime can be used to create a clear path forward to exascale, as well as to deal with computing challenges in the interim.