Today we wrap up this course with the network systems design toolbag of tricks.
It could be instructive to take each trick and see where it showed up earlier in the course.
Statistical multiplexing - in conservation law and scheduling.
Pipelining- the entire idea both of a stack (vertical) and the network path (sequence of links and switches and routers) is illustrative of pipelining. Both closed loop and open loop flow control are trying to balance the pipeline, either through congestion control to share the bottleneck, or through admission control.
Caching/Locality - mentioned in passing memcached as a data center service, for example.
Batching also shows up in some data center distributed processing platforms (not really covered here)
Optimising the common case is probably something that BGP demonstrates how not to do!
Binding and Indirection - e.g. multicast addresses aren't real locations, but logical group identifiers, and the actual locations are distributed by the group membership protocol...
Randomness - as discussed in telephone routing! Also used in some load balancers when talking to replicated services (and flow or packet level balancing over multipath enabled routes).
There are many many other examples...
No comments:
Post a Comment