Introduction to Distributed Task Scheduler [backup]
Learn about distributed task scheduling and our requirements.
A task is a piece of computational work that requires resources (CPU time, memory, storage, network bandwidth, etc.) for some specified time. For example, uploading a photo or a video on Facebook or Instagram consists of the following background tasks:
- Encode the photo/video, in multiple resolutions
- Validate the photo/video, to check for
terms or copyrights, etc.content monetization Content monetization is a way of leveraging content so that a service can profit from it as users consume it.
Successful execution of all the above tasks makes the photo/video visible. Though photo/video uploader does not need to block on the above tasks to complete.
Another example is posting a comment on Facebook. We don’t hold the comment poster until that comment is delivered to all the followers. That delivery can be delegated to an asynchronous task scheduler to do offline.
In a system, there are much more tasks present contending for limited computational resources. A system that mediates between tasks and resources by intelligently allocating resources to tasks such that task-level and system-level goals are met is called a task scheduler.
Motivation
Task scheduler is a critical component of a system for getting the work done efficiently. It allows us to complete a large number of tasks using limited resources. It also aids in fully utilizing the system’s resources, providing users with an ...
Create a free account to access the full course.
By signing up, you agree to Educative's Terms of Service and Privacy Policy