More on Multithreaded Execution
The image of the last slide shows the computation of P-Fib(4).
- Each circle represents one strand. Blacks circles are either base cases or the part of procedure up to the spawn of
P-Fib(n-1).
- Shaded circles represent the part of the procedure that calls P-Fib(n-2) up till the sync of line 5. Each group of strands belonging to the same procedure is surrounded by a rounded rectangle.
- Horizontal edges represent continuation edges, that is, an edge for execution within the same procedure
- The rectangle is lightly shaded for spawned procedures and darkly shaded for called one. A downward edge to a spawned procedure is called a spawn edge.
A downward edge to a called procedure is called a call edge. The upward edges representing the return from a spawn or call are called return edges.
- A computation starts from an initial strand, in this case, the black circle in P-Fib(4) and ends with a single final strand, in this case the white vertex in P-Fib(4).