Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

< Back to Article

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.

More »

Fig 1 Expand

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.

More »

Fig 2 Expand

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.

More »

Fig 3 Expand

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.

More »

Fig 4 Expand

Table 1.

Changes on the following chunk sized according to d and parameters.

More »

Table 1 Expand

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 .

More »

Fig 5 Expand

Fig 6.

2D representation that connects our function with the intuitive behavior described in Sect. 7.

More »

Fig 6 Expand

Fig 7.

Intersection of the graphic of with d = 0.

More »

Fig 7 Expand

Fig 8.

Dynamic Moody Scheduling.

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.

More »

Fig 8 Expand

Fig 9.

Adaptive Moody Scheduling.

(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.

More »

Fig 9 Expand

Table 2.

Characteristics of the algorithms and input sizes used.

More »

Table 2 Expand

Fig 10.

Performance comparison for 2D-Hull with disc, square, and kuzmin input sets, and 2D-MEC, delaunay, and TREE.

More »

Fig 10 Expand

Fig 11.

Time spent in the scheduling calculations for 2D-Hull with disc, square, and kuzmin input sets, and 2D-MEC, delaunay, and TREE.

More »

Fig 11 Expand