Model the System Before Building It

Find the image service bottleneck

BOTIE

Calculate preparation, inference, and storage requests per second from workers and rates.
Ready to test
0 passed · 0 failed · 2 not run

An empty floor. Start with the information your machine needs.

Received result

Your answer will arrive here.

Examples, experiments and workspace controls
Live values

Connect a tool's inputs to see what it produces. You can try a branch before connecting it to Result.

Try your own inputs

Use a copy of the example to try your own data. Keep the problem's assumptions in mind, and predict the effect of a change before checking the output. You can also add another branch to compare two ways of doing the calculation.

Start at an output arrow, then click or drag to an input. Drag empty space to pan. Delete removes a selection. Ctrl/Cmd+Z undoes a change.
Context for this challenge

Calculate preparation, inference, and storage requests per second from workers and rates.

Botie has worker counts and measured per-worker rates for preparation, inference, and storage.

Inspect the component calculation
Multiply(
  Value: Worker count by stage
  Multiplier: Requests/s per worker by stage
)
Examples and results
Worker count by stage
  1. 02
  2. 11
  3. 22
Requests/s per worker by stage
  1. 06
  2. 120
  3. 25
Required result
  1. 012
  2. 120
  3. 210
Worker count by stage
  1. 03
  2. 11
  3. 23
Requests/s per worker by stage
  1. 06
  2. 120
  3. 25
Required result
  1. 018
  2. 120
  3. 215
Try a fresh construction

This clears this draft, including its undo history. Earlier successful attempts stay recorded. Build again without opening hints to record an independent attempt.

Stuck? Inspect a worked construction

The tools below form one possible solution. You can assemble it, follow its signals, and undo that change to return to your own construction.

Assumptions and test precision

This ideal bound omits shared-resource contention, variable request work, and queueing delays. Numerical tests allow a difference of 0.001. Lists and structures must also have the right shape.

Your last tested pieces can start the full construction. An existing draft there keeps its own pieces.

Adding prediction workers leaves review as the bottleneck

This check uses the pieces from “Calculate the bottleneck from stage capacities”.

BOTIE

Botie's pipeline has four sequential stages. Each stage's workers run in parallel at the supplied per-worker rate, measured in items per minute. Find the steady throughput limit imposed by the slowest total stage capacity.
Worker count by stage
  1. 02
  2. 14
  3. 21
  4. 33
Requests/s per worker by stage
  1. 08
  2. 110
  3. 27
  4. 34

Use a number, text, or an array matching the requested result. For a matrix, put each row in brackets. Saving your prediction runs your current construction on these inputs and checks the earlier examples too.

Build a construction in the workspace above first. This case will test those pieces.

Which real measurements would test the assumption that per-worker rates add independently?

A bottleneck calculation guides measurement, but shared resources and variable work can lower actual throughput.

This ideal bound omits shared-resource contention, variable request work, and queueing delays.

Work through the Python challenges →
Continue the courseWhat Happens When Requests Arrive Together? →
← What Can the System Know at Decision Time?