# Scheduler

The component on the head node that decides which compute node runs each task, honoring the resources that task requested.

Source: https://university.eugo.io/glossary/scheduler

---

It places each task on a node that can satisfy the task’s request. A task asking for a GPU only runs where one exists, which is why a request nothing can satisfy waits indefinitely rather than failing.

## Related terms

- [Head node](https://university.eugo.io/glossary/head-node) — The machine in a cluster that coordinates work: it schedules tasks onto compute nodes and tracks their results.
- [options()](https://university.eugo.io/glossary/options) — The method that sets per-call resource requirements on a distributed function, such as num_cpus or num_gpus.
- [Scheduling overhead](https://university.eugo.io/glossary/scheduling-overhead) — The fixed cost of dispatching a task and returning its result. When it approaches the cost of the task body, adding parallelism stops helping.

