MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple load balancing scheme for task allocation in parallel machines
SPAA '91 Proceedings of the third annual ACM symposium on Parallel algorithms and architectures
Communication complexity for parallel divide-and-conquer
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
An atomic model for message-passing
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
Randomized parallel algorithms for backtrack search and branch-and-bound computation
Journal of the ACM (JACM)
Provably efficient scheduling for languages with fine-grained parallelism
Proceedings of the seventh annual ACM symposium on Parallel algorithms and architectures
Guaranteeing Good Memory Bounds for Parallel Programs
IEEE Transactions on Software Engineering
Executing multithreaded programs efficiently
Executing multithreaded programs efficiently
Space-efficient scheduling of parallelism with synchronization variables
Proceedings of the ninth annual ACM symposium on Parallel algorithms and architectures
Space-Efficient Scheduling of Multithreaded Computations
SIAM Journal on Computing
Thread scheduling for multiprogrammed multiprocessors
Proceedings of the tenth annual ACM symposium on Parallel algorithms and architectures
Storage Management in Virtual Tree Machines
IEEE Transactions on Computers
A New Scheduling Algorithm for General Strict Multithreaded Computations
Proceedings of the 13th International Symposium on Distributed Computing
Virtual Data Space - A Universal Load Balancing Scheme
IRREGULAR '97 Proceedings of the 4th International Symposium on Solving Irregularly Structured Problems in Parallel
Scheduling Algorithms for Strict Multithreaded Computations
ISAAC '96 Proceedings of the 7th International Symposium on Algorithms and Computation
Executing functional programs on a virtual tree of processors
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Parallel algorithms for combinatorial search problems
Parallel algorithms for combinatorial search problems
Scheduling multithreaded computations by work stealing
SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
A New Scheduling Algorithm for General Strict Multithreaded Computations
Proceedings of the 13th International Symposium on Distributed Computing
Hi-index | 0.00 |
In this paper, we study the problem of efficiently scheduling a wide class of multithreaded computations, called strict; that is, computations in which all dependencies from a thread go to the thread's ancestors in the computation tree. We present the first scheduling algorithm which applies to any strict multithreaded computation and is provably efficient in terms of execution time, space complexity and communication cost. The algorithm is distributed, randomized, works in an asynchronous way and follows the work-stealing paradigm. Our analysis applies for both shared-memory and distributed-memory parallel machines and generalizes the one presented in [5], which applies only to fully strict multithreaded computations; that is, computations in which all dependencies from a thread go to the thread's parent.