1/10
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
What is System Design?
the science of putting together system resources into a harmonious whole
What is System Optimisation?
maximise a set of performance metrics given a set of resource constraints
What are Common Optimisation Resources?
time
space
computation
cost
labour
What are the Constraints to System Optimisation?

What is a System Bottleneck?
most constrained element in a system with respect to our optimisation metric
removing them improves performance metrics
What is Multiplexing?
use the same resource to service multiple requests without interference
What are the Dimensions of Multiplexing?
time - CPU, I/O
space - memory
frequency - radio comms
What is Pipelining?
special case of serially dependent subtasks
depends only on the previous one in the execution chain
What is Batching?
group tasks together and process them as a single unit rather than individually
only works when 'overhead for N tasks' < 'N time overhead for one task'
What is Binding?
translate an abstraction into an instance
What is Indirection?
use a reference to access something, instead of directly
provides flexibility because the reference can change without affecting the higher-level system
dynamic binding allows easy optimisation for current conditions