Fig 1.
Plot of the chunk size depending on the chunk number with different scheduling strategies: (a) FSC, (b) Meseta scheduling following the trapezoidal approach [20]. Finally, (c) and (d) show Just-In-Time scheduling in loops with and without dependencies, respectively.
Fig 2.
JIT scheduling, dynamic approach.
The first time chunk 10 is executed, its size is calculated using the JIT scheduling function and its execution counter is set to 1. The size will be preserved regardless of the number of re-executions of chunk 10.
Fig 3.
JIT scheduling, adaptive approach.
(a) Size of chunk 10 is calculated using the JIT scheduling function. (b) Chunk 9 issues a squash operation. (c) Squashed threads recalculate in program order the size of the chunk to be executed, using the new value of the execution counters.
Fig 4.
(a) A possible execution profile for a given loop, and (b) an example of the use of linear regression to measure the tendency of the last h chunks.
Recall that the y-axis does not represent the chunk size, but the number of re-executions for each chunk.
Table 1.
Changes on the following chunk sized according to d and parameters.
Fig 5.
3D representation of the Moody Scheduling function, that returns a value for nextChunkSize (nCS) provided the current lastChunkSize and depending on d and .
Fig 6.
2D representation that connects our function with the intuitive behavior described in Sect. 7.
Fig 7.
Intersection of the graphic of with d = 0.
Fig 8.
The size for the following chunk to be executed (#10 in the example) is calculated once, and its size will be preserved regardless of the number of re-executions of this chunk.
Fig 9.
(i) Size of chunk #10 is calculated with the Moody Scheduling function. (ii) Chunk #9 issues a squash operation. (iii) All squashed threads recalculate in program order the size of the chunk to be executed, using the updated values of the execution counters.
Table 2.
Characteristics of the algorithms and input sizes used.
Fig 10.
Performance comparison for 2D-Hull with disc, square, and kuzmin input sets, and 2D-MEC, delaunay, and TREE.
Fig 11.
Time spent in the scheduling calculations for 2D-Hull with disc, square, and kuzmin input sets, and 2D-MEC, delaunay, and TREE.