We present an on-line (run-time) algorithm that manages the granularity of parallel functional programs. The algorithm exploits useful parallelism when it exists, and ignores ineective parallelism in programs that produce many small tasks. The idea is to balance the amount of local work with the cost of distributing the work. This is achieved by ensuring that, for every parallel task spawned, an amount of work that equals the cost of the spawn is performed locally. We analyze several cases and compare the algorithm to the optimal execution. In most cases the algorithm competes well with the optimal algorithm, even though the optimal algorithm has information about the future evolution of the computation that is not available to the ...
In functional language implementation, there is a folklore belief that there is a conflict between i...
The emergence of commercial multiprocessors has prompted computer scientists to take a closer look a...
Creating efficient parallel software can be a complicated and time consuming task, as there are many...
iii Abstract This thesis demonstrates how to reduce the runtime of large non-strict functional progr...
Many parallel algorithms are naturally expressed at a fine level of granularity, often finer than a ...
This thesis considers how to speed up the execution of functional programs using parallel execution,...
This work investigates novel methods for improving the efficiency of evaluating lazy functional prog...
Load balancing increases the efficient usage of existing resources for parallel and distributed appl...
International audienceOver the past decade, many programming languages and systems for parallel-comp...
This paper describes the design and use of a new tool for profiling the parallelism present in annot...
: is a system for parallel evaluation of lazy functional programs implemented on a Sequent Symmetry....
Good scheduling is important for ensuring effective use of Grid resources, while maximising parallel...
AbstractSeveral types of parallelism can be exploited in logic programs while preserving correctness...
In the last few decades, modern applications have become larger and more complex. Among the users of...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
In functional language implementation, there is a folklore belief that there is a conflict between i...
The emergence of commercial multiprocessors has prompted computer scientists to take a closer look a...
Creating efficient parallel software can be a complicated and time consuming task, as there are many...
iii Abstract This thesis demonstrates how to reduce the runtime of large non-strict functional progr...
Many parallel algorithms are naturally expressed at a fine level of granularity, often finer than a ...
This thesis considers how to speed up the execution of functional programs using parallel execution,...
This work investigates novel methods for improving the efficiency of evaluating lazy functional prog...
Load balancing increases the efficient usage of existing resources for parallel and distributed appl...
International audienceOver the past decade, many programming languages and systems for parallel-comp...
This paper describes the design and use of a new tool for profiling the parallelism present in annot...
: is a system for parallel evaluation of lazy functional programs implemented on a Sequent Symmetry....
Good scheduling is important for ensuring effective use of Grid resources, while maximising parallel...
AbstractSeveral types of parallelism can be exploited in logic programs while preserving correctness...
In the last few decades, modern applications have become larger and more complex. Among the users of...
The goal of parallelizing, or restructuring, compilers is to detect and exploit parallelism in seque...
In functional language implementation, there is a folklore belief that there is a conflict between i...
The emergence of commercial multiprocessors has prompted computer scientists to take a closer look a...
Creating efficient parallel software can be a complicated and time consuming task, as there are many...