5. Processes and Queues
Overview
Questions
- What are Queues/Buffers?
- How does data actually move from machine to machine?
Objectives
- Understand the processes involved in transfering data from one machine to another.
Queues (also known as buffers)
Queues are places where things arrive to wait for something
Data waits in queues for a chance to be transmitted further
Queues are the reason that everything in the universe isn’t stuck waiting for everything else.
A human queue
(Attribution: © Vulphere Wikimedia Commons CC BY 4.0 https://creativecommons.org/licenses/by/4.0/deed.en)
Common mental picture
IPerf test
File transfer
Now let’s add buffering:
Key Points
- Data moves by processes:
- Enqueuing data
- Dequeuing data
- Some Network queues have “easy” adjustments because:
- Of large variation in latency
- Optimizations vary by use-case
- Storage systems benefit from design choices
- Most defaults support many users sharing a resource*
- Our use case is more about committing entire machines to a single purpose
- There are many processes in transfering data that can cause bottlenecks and degrade performance, the network is only one of many of these processes.