SuiteCloud Processors Priority Scheduling Examples

The two examples in this section, Default Priority Scheduling Example and Varying Priority Scheduling Example, each show three diagrams. The two sets of diagrams compare the same 18 jobs as they are handled by:

This table shows the duration of each job submitted. As demonstrated in the examples, the processing environment has no impact on the amount of time required to complete each job after processing starts.

Note:

Each map/reduce stage is handled by a minimum of one job. Therefore, the duration listed for map/reduce jobs is per stage. For example, the reduce stage jobs 11 and 12 have a combined duration of 5. This means that the sum of the duration of jobs 11 and 12 is 5. When one of the jobs is canceled or not created, the combined duration becomes the duration of the remaining job from the pair.

Job

Duration

1

5

2

2

3

2

4

6

5 +6

2

7 + 8

1

9 + 10

5

11 + 12

5

13 + 14

2

15

3

16

3

17

3

18

2

Default Priority Scheduling Example

This example assumes default priority settings (standard priority) and default preferences. It also assumes that each job executes in full without yielding.

The map/reduce deployment in the first diagram has a Queues value of 2 and 3. The map/reduce deployment in the second and third diagrams has a Concurrency Limit value of 2.

Note:

With the introduction of SuiteCloud Processors, the Queues field is replaced with the Concurrency Limit field on map/reduce deployments.

Diagram Key

Scheduling Queues Only

SuiteCloud Processors – All Queues Removed

SuiteCloud Processors – Some Queues Removed

An example of the SuiteCloud Processors default priority scheduling. SuiteCloud Processors Priority Scheduling Examples section of the SuiteCloud Processors page SuiteCloud Processors Priority Scheduling Examples section of the SuiteCloud Processors page

Time Slot

Scheduling Queues Only

SuiteCloud Processors – All Queues Removed

SuiteCloud Processors – Some Queues Removed

101

Jobs 1, 4, and 6 start.

Jobs 1, 2, and 3 start.

Jobs 1, 4, and 5 start.

102

Job 6 cancels job 5. The getInput stage cannot be processed by multiple jobs, so the first getInput job to start (job 6) automatically cancels all others in the queues.

103

Job 6 completes.

The next job in Q3, job 8, starts.

Jobs 2 and 3 complete.

Jobs 4 and 5 start.

Job 5 completes. There is no job 6 with SuiteCloud Processors. In the Scheduling Queues example, jobs 5 and 6 are both getInputstage jobs. The getInput stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple getInput stage jobs are no longer needed.

Job 7 starts.

104

Job 8 completes. The map stage can be processed by multiple jobs. But since the other map stage job, job 7, is unable to start (the job utilizing its processor, job 4, is not yet complete), job 8 completes the entire map stage. Job 7 is no longer needed, so it is canceled.

The next job in Q3, job 10, starts.

Job 7 completes. Since job 7 completes the entire map stage, job 8 is no longer needed. Job 8 is canceled.

Job 9 starts.

105

Job 10 cancels job 9. The shuffle stage cannot be processed by multiple jobs, so the first shuffle job to start (job 10) automatically cancels all others in the queues.

Job 5 completes. There is no job 6 with SuiteCloud Processors. In the Scheduling Queues example, jobs 5 and 6 are both getInputstage jobs. The getInput stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple getInput stage jobs are no longer needed.

Job 7 starts.

106

Job 1 completes.

The next job in Q1, job 2, starts.

Job 7 completes. Since job 7 completes the entire map stage, job 8 is no longer needed. Job 8 is canceled.

Job 1 completes.

Jobs 9 and 15 start. Jobs 11 - 13 are dependent on job 9. There is no job 10 or job 14 with SuiteCloud Processors. In the Scheduling Queues example, jobs 9 and 10 are both shuffle stage jobs and jobs 13 and 14 are both summarize stage jobs. The shuffle and summarize stages cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple shuffle and summarize stage jobs are no longer needed.

Job 1 completes.

The next job in Q1, job 2, starts.

107

Job 4 completes.

Q2 is blocked. The next job in Q2, job 11, cannot start. It is dependent on job 10, and job 10 is not complete.

Job 4 completes.

The first job in Q3, Job 15, starts.

108

Job 2 completes.

The next job in Q1, job 3, starts.

Job 2 completes.

The next job in Q1, job 3, starts.

109

Job 10 completes.

Job 11 can now start and Q2 is no longer blocked. The next job in Q3, job 12, starts. These are both reduce stage jobs. The reduce stage can be processed by multiple jobs.

Jobs 4 and 15 complete.

Jobs 16 and 17 start.

Job 9 completes. There is no job 10 with SuiteCloud Processors. In the Scheduling Queues example, jobs 9 and 10 are both shuffle stage jobs. The shuffle stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple shuffle stage jobs are no longer needed.

Job 11 starts.

110

Job 3 completes.

The next job in Q1, job 16, starts.

Jobs 3 and 15 complete.

There are no additional jobs to process in Q1.

Jobs 12 and 16 start.

111

Job 11 completes.

Q2 is blocked. The next job in Q2, job 13, cannot start. It is dependent on job 12, and job 12 is not complete.

Job 9 completes.

Job 11 starts.

112

Job 12 completes.

Job 13 can now start and Q2 is no longer blocked. The next job in Q3, job 14, can also start. But these are both summarize stage jobs, and the summarize stage cannot be processed by multiple jobs. Job 13 starts first, so job 14 is canceled.

Since job 14 is canceled, the next job in Q3, job 15, starts

Jobs 16 and 17 complete.

Jobs 12 and 18 start.

Jobs 11 and 12 complete.

Jobs 13 and 17 start.

113

Job 16 completes.

The next job in Q1, job 17, starts.

Job 16 completes.

The next job in Q3, Job 18, starts.

114

Job 13 completes.

There are no additional jobs to process in Q2.

Jobs 11, 12, and 18 complete.

Job 13 starts

Job 13 completes. There is no job 14 with SuiteCloud Processors. In the Scheduling Queues example, jobs 13 and 14 are both summarize stage jobs. The summarize stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple summarize stage jobs are no longer needed.

115

Job 15 completes.

The next job in Q3, job 18, starts.

Jobs 17 and 18 complete.

There are no additional jobs to process.

116

Job 17 completes.

There are no additional jobs to process in Q1.

Job 13 completes.

There are no additional jobs to process.

117

Job 18 completes.

There are no additional jobs to process in Q3.

Varying Priority Scheduling Example

This example assumes default preferences. It also assumes that each job executes in full without yielding.

The map/reduce deployment in the first diagram has a Queues value of 2 and 3. The map/reduce deployment in the second and third diagrams has a Concurrency Limit value of 2.

Note:

With the introduction of SuiteCloud Processors, the Queues field is replaced with the Concurrency Limit field on map/reduce deployments.

The second and third diagrams vary from Default Priority Scheduling Example as follows:

Diagram Key

Scheduling Queues Only

SuiteCloud Processors – All Queues Removed

SuiteCloud Processors – Some Queues Removed

An example of the SuiteCloud Processors varying priority scheduling. SuiteCloud Processors Priority Scheduling Examples section of the SuiteCloud Processors page SuiteCloud Processors Priority Scheduling Examples section of the SuiteCloud Processors page

Time Slot

Scheduling Queues Only

SuiteCloud Processors – All Queues Removed

SuiteCloud Processors – Some Queues Removed

101

Jobs 1, 4, and 6 start.

Jobs 15, 18, and 1 start. Jobs 15 and 18 are designated as high priority so they are assigned to processors first (in the order of submission). Job 1 is the first standard priority job submitted so it is the next job assigned to a processer.

Jobs 1, 5, and 15 start. Job 4 is designated low priority, so it is processed after all other available standard priority jobs. All other standard priority jobs submitted before job 15 have dependencies that are blocking them.

102

Job 6 cancels job 5. The getInput stage cannot be processed by multiple jobs, so the first getInput job to start (job 6) automatically cancels all others in the queues.

103

Job 6 completes.

The next job in Q3, job 8, starts.

Job 18 completes.

Job 2 starts.

Job 5 completes. There is no job 6 with SuiteCloud Processors. In the Scheduling Queues example, jobs 5 and 6 are both getInputstage jobs. The getInput stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple getInput stage jobs are no longer needed.

Job 7 starts.

104

Job 8 completes. The map stage can be processed by multiple jobs. But since the other map stage job, job 7, is unable to start (the job utilizing its processor, job 4, is not yet complete), job 8 completes the entire map stage. Job 7 is no longer needed, so it is canceled.

The next job in Q3, job 10, starts.

Job 15 completes.

Job 3 starts.

Jobs 7 and 15 complete. Since job 7 completes the entire map stage, job 8 is no longer needed. Job 8 is canceled.

Jobs 9 and 16 start.

105

Job 10 cancels job 9. The shuffle stage cannot be processed by multiple jobs, so the first shuffle job to start (job 10) automatically cancels all others in the queues.

Job 2 completes.

Job 5 starts. Job 4 is designated low priority, so it is processed after all other available standard priority jobs.

106

Job 1 completes.

The next job in Q1, job 2, starts.

Jobs 1 and 3 complete.

Jobs 16 and 17 start.

Job 1 completes.

The next job in Q1, job 2, starts.

107

Job 4 completes.

Q2 is blocked. The next job in Q2, job 11, cannot start. It is dependent on job 10, and job 10 is not complete.

Job 5 completes. There is no job 6 with SuiteCloud Processors. In the Scheduling Queues example, jobs 5 and 6 are both getInputstage jobs. The getInput stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple getInput stage jobs are no longer needed.

Job 7 starts.

Job 16 completes.

Job 17 starts.

108

Job 2 completes.

The next job in Q1, job 3, starts.

Job 7 completes. Since job 7 completes the entire map stage, job 8 is no longer needed. Job 8 is canceled.

Job 9 starts.

Job 2 completes.

The next job in Q1, job 3, starts.

109

Job 10 completes.

Job 11 can now start and Q2 is no longer blocked. The next job in Q3, job 12, starts. These are both reduce stage jobs. The reduce stage can be processed by multiple jobs.

Jobs 16 and 17 complete.

Job 4 starts. Job 4 is designated as low priority, but all the remaining standard priority jobs are dependent on job 9.

Job 9 completes. There is no job 10 with SuiteCloud Processors. In the Scheduling Queues example, jobs 9 and 10 are both shuffle stage jobs. The shuffle stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple shuffle stage jobs are no longer needed.

Job 11 starts.

110

Job 3 completes.

The next job in Q1, job 16, starts.

Jobs 3 and 17 complete.

There are no additional jobs to process in Q1.

Job 12 starts. The next job in Q3, Job 18, starts.

111

Job 11 completes.

Q2 is blocked. The next job in Q2, job 13, cannot start. It is dependent on job 12, and job 12 is not complete.

112

Job 12 completes.

Job 13 can now start and Q2 is no longer blocked. The next job in Q3, job 14, can also start. But these are both summarize stage jobs, and the summarize stage cannot be processed by multiple jobs. Job 13 starts first, so job 14 is canceled.

Since job 14 is canceled, the next job in Q3, job 15, starts

Jobs 11, 12 and 18 complete.

There are no additional jobs to process in Q3.

Jobs 13 and 4 start.

113

Job 16 completes.

The next job in Q1, job 17, starts.

Job 9 completes. There is no job 10 with SuiteCloud Processors. In the Scheduling Queues example, jobs 9 and 10 are both shuffle stage jobs. The shuffle stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple shuffle jobs are no longer needed.

Jobs 11 and 12 start.

114

Job 13 completes.

There are no additional jobs to process in Q2.

Job 13 completes. There is no job 14 with SuiteCloud Processors. In the Scheduling Queues example, jobs 13 and 14 are both summarize stage jobs. The summarize stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple summarize stage jobs are no longer needed.

115

Job 15 completes.

The next job in Q3, job 18, starts.

Jobs 4 and 12 complete.

116

Job 17 completes.

There are no additional jobs to process in Q1.

Job 11 completes.

Job 13 starts.

117

Job 18 completes.

There are no additional jobs to process in Q3.

118

Job 13 completes. There is no job 14 with SuiteCloud Processors. In the Scheduling Queues example, jobs 13 and 14 are both summarize stage jobs. The summarize stage cannot be processed by multiple jobs. Since this map/reduce deployment is not using queues, multiple summarize stage jobs are no longer needed.

There are no additional jobs to process.

Job 4 completes.

There are no additional jobs to process.

Related Topics

SuiteCloud Processors Priority Levels
SuiteCloud Processors Priority Settings Page

General Notices