Previous | Next --- Slide 24 of 64
Back to Lecture Thumbnails
Cake

In contrast to the previous examples that we've been going through, this is an example of a program whose opportunities for parallelism arise dynamically (after some iterations have already been executed).

yeq

There may not be much parallelism presented at the very beginning. In fact, it's only a two-way parallelism. However, since it is a recursive algorithm, even though the execution seems more or less sequential at the very top, the processors quickly get saturated after several iterations of function calls are made. This is a general pattern of a divide-and-conquer algorithm that the parallel things to do generate dynamically as we are running the code.