262 Introduction to Concurrency in Programming Languages
2. Improve the efficiency of the Cilk Sudoku solver by only recursively
searching for solutions with numbers that fit the constraints known for
the puzzle at each step; this should speed up the solution dramatically
as the constraints will reduce the number of attempted solutions.
3. Adapt the Sudoku solver to run serially using only C. Measure the time
it takes to reach a solution and plot how this time compares with the Cilk
version on various numbers of processors available to you. Discuss these
measurements. Are two processors faster than the serial version? If not,
why not? Can you find a way to improve the parallel performance?
4. Using the cognitive dimensions from Chapter 5, compare and