In this paper we describe lazy threads, a new approach for implementing multi-threaded execution models on conventional machines. We show how they can implement a parallel call at nearly the efficiency of a sequential call. The central idea is to specialize the representation of a parallel call so that it can execute as a parallel-ready sequential call. This allows excess parallelism to degrade into sequential calls with the attendant efficient stack management and direct transfer of control and data, yet a call that truly needs to execute in parallel, gets its own thread of control. The efficiency of lazy threads is achieved through a careful attention to storage management and a code generation strategy that allows us to represent potenti...
While fine-grained concurrent languages can naturally capture concurrency in many irregular and dyna...
This thesis studies efficient runtime systems for parallelism management (multithreading) and memory...
We introduce explicit multi-threading (XMT), a decentralized architecture that exploits fine-grained...
Many modern parallel languages support dynamic creation of threads or require multithreading in thei...
Many modern parallel languages support dynamic creation of threads or require multithreading in thei...
This paper presents three novel language implementation primitives—lazy threads, stacklets, and sync...
Many parallel algorithms are naturally expressed at a fine level of granularity, often finer than a ...
The use of multithreading can enhance the performance of a software system. However, its excessive u...
In this paper, we present a relatively primitive execution model for fine-grain parallelism, in whic...
International audienceWe propose an abstraction to alleviate the difficulty of programming with thre...
Threads provide a useful programming model for asynchronous behavior because of their ability to enc...
With ubiquitous multi-core architectures, a major challenge is how to effectively use these machines...
We present an operational semantics for parallel lazy evaluation that accurately models the paralle...
. Lazy task creation (LTC) is an efficient approach for executing divide and conquer parallel progra...
International audienceSimultaneous Multi-Threading (SMT) is a hardware model in which different thre...
While fine-grained concurrent languages can naturally capture concurrency in many irregular and dyna...
This thesis studies efficient runtime systems for parallelism management (multithreading) and memory...
We introduce explicit multi-threading (XMT), a decentralized architecture that exploits fine-grained...
Many modern parallel languages support dynamic creation of threads or require multithreading in thei...
Many modern parallel languages support dynamic creation of threads or require multithreading in thei...
This paper presents three novel language implementation primitives—lazy threads, stacklets, and sync...
Many parallel algorithms are naturally expressed at a fine level of granularity, often finer than a ...
The use of multithreading can enhance the performance of a software system. However, its excessive u...
In this paper, we present a relatively primitive execution model for fine-grain parallelism, in whic...
International audienceWe propose an abstraction to alleviate the difficulty of programming with thre...
Threads provide a useful programming model for asynchronous behavior because of their ability to enc...
With ubiquitous multi-core architectures, a major challenge is how to effectively use these machines...
We present an operational semantics for parallel lazy evaluation that accurately models the paralle...
. Lazy task creation (LTC) is an efficient approach for executing divide and conquer parallel progra...
International audienceSimultaneous Multi-Threading (SMT) is a hardware model in which different thre...
While fine-grained concurrent languages can naturally capture concurrency in many irregular and dyna...
This thesis studies efficient runtime systems for parallelism management (multithreading) and memory...
We introduce explicit multi-threading (XMT), a decentralized architecture that exploits fine-grained...