liveBook · Manning

Picking

As explained in Build and Orchestrator in Go (From Scratch)

Picking is a scheduling phase that selects the highest- or lowest-scoring worker according to the scoring policy.

Picking is the scheduler’s final selection phase. After feasibility narrows the workers and scoring assigns values, picking chooses the best candidate according to the policy: either the highest or lowest score. section 1.6 section 10.11

A scheduling decision proceeds through three responsibilities:

  • Feasibility identifies workers that can accept the task. section 1.6
  • Scoring gives each feasible worker a value based on the scheduling policy. section 1.6 section 10.11
  • Picking compares those values and returns the preferred worker or node. section 1.6

Choosing among feasible workers

Suppose three workers pass feasibility. A policy scores them using factors such as resource availability. Picking returns the worker with the highest score, or the lowest when the policy defines lower values as better. section 1.6 section 10.11

Figure 1.9 Mental model for Cube. It has a manager, a worker, and a scheduler, and users (i.e., you) will interact with it via a command line.
01-09

Use the mental model to locate picking inside the scheduler and distinguish it from the manager and worker components. section 1.6

How Build and Orchestrator in Go (From Scratch) covers it

How deep it goes
Defines picking within a three-phase framework but stops short of specifying a concrete selection algorithm.
Examples
Uses a car-selection analogy and multi-worker scheduling examples to illustrate score-based choice.
What it assumes
Assumes familiarity with tasks and workers while introducing feasibility, scoring, and picking as scheduler responsibilities.
What you can do after
Build it from scratch by selecting the highest- or lowest-scoring candidate within a scheduler framework.
How it connects
Connects picking to feasibility, scoring, scheduling, workers, nodes, and orchestration systems.

This explainer was generated by Manning's knowledge graph from the text of Build and Orchestrator in Go (From Scratch). The section links point to the parts of the book it draws on.