Skip to content

FIFO Queue

Ordering policy — instantiates Queue Discipline Design

Serves waiting items in the exact order they arrived, so position depends only on arrival time and nothing about the item itself.

Version
v1 · 2026-08-24 · History
Mechanism #
3619
Type
Ordering Policy
Form family
Control, Automation & Runtime
Solution family
Buffering & Reserves
Problem family
Congestion, Backlog & Flow Breakdown
Problem subfamily
Queue Order, Class & Waiting-Path Failure
Origin domain
Operations Research
Also from
Computer Science & Software Engineering
Instantiates
Queue Discipline Design

FIFO Queue — first-in, first-out — orders the waiting set by arrival time and by nothing else. No attribute of an item changes its place: not urgency, not size, not who is asking, not how much they are willing to pay. The only fact that determines when you are served is when you joined the line. That single-mindedness is the whole point. Because the sort key is a witnessed, monotonic event — your moment of arrival — the order is trivially legible, hard to argue with, and hard to game. FIFO treats "you were here first" as the definition of fair, and refuses to look at anything else about the item.

Example

It is Saturday morning at a busy neighborhood bakery. A ticket dispenser by the door prints numbers; a display above the counter reads Now serving 39. A customer pulls #47 and can see exactly how many people are ahead of her. When #40 through #46 have been served, she is next — full stop. The retiree who wants a single baguette pulled #52 and will wait behind a caterer with #48 who is ordering three custom cakes, because #48 arrived first. Even a regular who knows the owner takes a ticket like everyone else. No one has to adjudicate whose need is greater, because the rule never asks: the order is the arrival order, the position is visible, and disputes about "who's next" simply do not arise. The cost is equally plain — a one-item order can wait a long time behind a large one, because FIFO is blind to how long each will take.

How it works

  • One shared line, one sort key. Items enqueue at the tail and are served from the head; the sole state is arrival order.
  • No re-ranking, ever. Once an item is in the line, nothing it does and nothing that arrives later moves it; the line only advances.
  • Position is a public artifact. Because rank equals arrival order, each waiter can locate itself exactly, which is what makes the discipline feel legitimate.

Tuning parameters

  • Arrival timestamp point — when the clock starts (join the physical line, take a ticket, submit a request). This is the only judgment call FIFO makes, and it quietly decides who counts as "earlier."
  • Single line vs. parallel servers — one shared queue feeding several servers (the "serpentine" line) versus a line per server. A single feeder line cuts the variance of wait times without touching the FIFO rule.
  • Balk / renege handling — what happens to the order when someone abandons the line: their slot simply collapses and everyone behind advances.
  • Batch size — serving one item at a time versus a fixed batch, trading a little strict-order purity for throughput.

When it helps, and when it misleads

Its strength is legitimacy at near-zero cost: FIFO is cheap to run, obvious to explain, and resistant to manipulation because arrival order in a witnessed line is difficult to fake. It is the right rule whenever items are genuinely comparable and "who arrived first" is an honest proxy for fairness.

Its central failure is that it is blind to urgency and to duration. A person having a heart attack waits behind a sprained ankle; a five-second task waits behind an hour-long one. It also quietly rewards whoever can arrive early — people with free time, faster connections, or physical proximity — so "first come" can encode an unequal ability to come first. And reordering the line would not even shorten the average wait: for a work-conserving queue the mean time in system is fixed by arrival rate and service rate, so FIFO merely spreads waiting evenly rather than reducing it.[n1] The guarding discipline is to reserve FIFO for comparable work and to put a triage or priority step above it wherever the harm of waiting differs across items.

How it implements the components

FIFO fills only the ordering-and-fairness core of the archetype — the smallest honest subset:

  • service_order_rule — the rule is exactly "serve the smallest arrival timestamp first," with no other input.
  • fairness_policy — FIFO's chosen fairness concept is first-come-first-served: arrival order is the declared equity principle, not a side effect.

It reads nothing about the item beyond arrival time, so it implements no prioritization_criteria (that is Priority Queue), no class_or_actor_partition (Round-Robin Queue), and no service_time_estimate (Shortest Job First). Its nearest twin is Round-Robin Queue — also a neutral, urgency-blind rule — but Round-Robin owns class_or_actor_partition and cycles turns among actors, whereas FIFO keeps a single shared line ordered strictly by arrival.

Editorial Notes

Form Classification

Form family: Control, Automation & Runtime

Rationale: FIFO Queue operates as a live operational control that automatically routes, enforces, adapts, or responds during execution because it serves waiting items in the exact order they arrived, so position depends only on arrival time and nothing about the item itself.

Independent corroboration: The frozen evidence defines FIFO Queue as 'Serves waiting items in the exact order they arrived, so position depends only on arrival time and nothing about the item itself', so its operative form is Control, Automation & Runtime.

Review outcome: Independent reviewer agreement; high confidence.

Origin Attribution

Primary origin: Operations Research

Origin pattern: Convergent development

Present-day reach: Universal

Rationale: First-in-first-out is a canonical queue discipline in queueing theory and operations research.

Related originating lineages:

Review outcome: Independent reviewer agreement; high confidence.

Notes

[n1] Little's Law — for a stable queue the average number of items in the system equals the arrival rate times the average time in the system (L = λW). A corollary is that a work-conserving discipline cannot change the mean wait, only how that wait is distributed across items; FIFO distributes it in arrival order.