We propose a new language-neutral primitive for the LLVM compiler, which provides efficient context switching and message passing between lightweight threads of control. The primitive, called SWAPSTACK, can be used by any language implementation based on LLVM to build higher-level language structures such as continuations, co-routines, and lightweight threads. As part of adding the primitives to LLVM, we have also added compiler support for passing parameters across context switches. Our modified LLVM compiler produces highly efficient code through a combination of exposing the context switching code to existing compiler optimizations, and adding novel compiler optimizations to further reduce the cost of context switches. To demonstrate the...
Functional programming presents a relatively unexplored approach to achieving high- performance comp...
The final publication is available at www.springerlink.com.International audienceIn this paper, we i...
cited By 2; Conference of 4th International Workshop on Adaptive Self-Tuning Computing Systems, ADAP...
peer-reviewedWe propose a new language-neutral primitive for the LLVM compiler, which provides effic...
Multithreading is an important software modularization technique. However, it can incur substantial ...
Multithreading is an important software modularization technique. However, it can incur substantial ...
Massively parallel architectures are gaining momentum thanks to the opportunities for both high perf...
Higher-level parallel programming languages can be difficult to implement efficiently on parallel ma...
Presented at The Second ACM SIGPLAN Workshop on Transactional Computing (TRANSACT 07), Portland, Ore...
This paper examines the article ”Context Threading ” by Berndl, Vitae, Zaleski and Brown published i...
On-Stack Replacement (OSR) is a technique for dynamically transferring execution between different v...
In order to program a target architecture in one of the high-level programming languages, the compil...
As part of the Platform-Aware Compilation Environment (PACE) Project1, Operator Strength Reduction (...
High-level, directive-based solutions are becoming the programming models (PMs) of the multi/many-co...
Most computer programs are concurrent ones: they need to perform several tasks at the same time. Thr...
Functional programming presents a relatively unexplored approach to achieving high- performance comp...
The final publication is available at www.springerlink.com.International audienceIn this paper, we i...
cited By 2; Conference of 4th International Workshop on Adaptive Self-Tuning Computing Systems, ADAP...
peer-reviewedWe propose a new language-neutral primitive for the LLVM compiler, which provides effic...
Multithreading is an important software modularization technique. However, it can incur substantial ...
Multithreading is an important software modularization technique. However, it can incur substantial ...
Massively parallel architectures are gaining momentum thanks to the opportunities for both high perf...
Higher-level parallel programming languages can be difficult to implement efficiently on parallel ma...
Presented at The Second ACM SIGPLAN Workshop on Transactional Computing (TRANSACT 07), Portland, Ore...
This paper examines the article ”Context Threading ” by Berndl, Vitae, Zaleski and Brown published i...
On-Stack Replacement (OSR) is a technique for dynamically transferring execution between different v...
In order to program a target architecture in one of the high-level programming languages, the compil...
As part of the Platform-Aware Compilation Environment (PACE) Project1, Operator Strength Reduction (...
High-level, directive-based solutions are becoming the programming models (PMs) of the multi/many-co...
Most computer programs are concurrent ones: they need to perform several tasks at the same time. Thr...
Functional programming presents a relatively unexplored approach to achieving high- performance comp...
The final publication is available at www.springerlink.com.International audienceIn this paper, we i...
cited By 2; Conference of 4th International Workshop on Adaptive Self-Tuning Computing Systems, ADAP...