Proceedings of the 1981 Conference on Functional Programming Languages and Computer Architecture - FPCA '81 1981
DOI: 10.1145/800223.806778
|View full text |Cite
|
Sign up to set email alerts
|

Executing functional programs on a virtual tree of processors

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
56
0
1

Year Published

1987
1987
2018
2018

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 144 publications
(58 citation statements)
references
References 13 publications
0
56
0
1
Order By: Relevance
“…First, to lower communication costs, we would like to steal large amounts of work, and in a tree-structured computation, shallow threads are likely to spawn more work than deep ones. This heuristic notion is the justification cited by earlier researchers [8,15,21,35,43] who proposed stealing work that is shallow in the spawn tree. We cannot, however, prove that shallow threads are more likely to spawn work than deep ones.…”
Section: The Cilk Work-stealing Schedulermentioning
confidence: 94%
See 2 more Smart Citations
“…First, to lower communication costs, we would like to steal large amounts of work, and in a tree-structured computation, shallow threads are likely to spawn more work than deep ones. This heuristic notion is the justification cited by earlier researchers [8,15,21,35,43] who proposed stealing work that is shallow in the spawn tree. We cannot, however, prove that shallow threads are more likely to spawn work than deep ones.…”
Section: The Cilk Work-stealing Schedulermentioning
confidence: 94%
“…Cilk' s scheduler uses the technique of work stealing [4,8,14,15,16,21,29,30,31,37,43] in which a processor (the thief) who runs out of work selects another processor (the victim) from whom to steal work, and then steals the shallowest ready thread in the victim's spawn tree. Cilk' s strategy is for thieves to choose victims at random [4,29,40].…”
Section: The Cilk Work-stealing Schedulermentioning
confidence: 99%
See 1 more Smart Citation
“…Agents make new work available to other agents (and also to itself) through a goal list which is associated with every stack set and which can be consulted by all the agents. This is an instance of the general class of work-stealing scheduling algorithms, which date back at least to Burton and Sleep's [4] research on parallel execution of functional programs and Halstead's [12] implementation of Multilisp, and the original &-Prolog abstract machine [13,16], for logic programs.…”
Section: Sketch Of a Shared Memory Implementationmentioning
confidence: 99%
“…Some actual implementations have chosen to place them in different parts of the available data areas. 4 When the first WAM executes the parallel conjunction r(X, Y) & s(X, Z), it pushes a parcall frame onto its stack and a goal descriptor onto its goal stack for the goal s(X, Z) (i.e., a pointer to the WAM code that will construct this call in the argument registers and another pointer to the appropriate environment), and it immediately starts executing r(X, Y). A second WAM, which is looking for jobs, picks s(X, Z) up, pushes an input marker into its stack (which references the parcall frame, where data common to all the goals is stored, to be used in case of internal failure) and constructs and starts executing the goal.…”
Section: Introductionmentioning
confidence: 99%