Design Considerations of a Distributed Task Scheduler

Lesson 99 of 25610 min readPremium lesson preview
In this lesson1 sections

Design Considerations of a Distributed Task Scheduler

Queueing

A distributed queue is a fundamental building block of a scheduler. The simplest approach is first come, first served (FCFS), in which the scheduler dequeues tasks from the queue and assigns them to available nodes. However, if all resources are busy, small tasks can be blocked by long-running ones.

If the queue’s next task cannot fit the available resources, a strict FCFS policy can also block smaller tasks behind it. This is a scheduling-latency problem, not necessarily a service outage. Use priority and resource-aware selection when urgent work needs preferential treatment. The figure separates these illustrative categories:

  • Urgent: Tasks that cannot be delayed.

  • Delayable: Tasks that can wait for resources.

  • Periodic: Tasks that become due on a schedule, such as every hour. Periodicity is separate from urgency; each scheduled run still needs a priority and deadline.

The rest of this lesson is for Premium members

Premium opens every lesson in this course, along with all questions and solutions on PracHub.