Foundations for building resilient, fair, and high-performance distributed systems.
This collection distills the essential theory and practical techniques from advanced computer networking — focused on programmability, resource allocation, performance modeling, and stability under real-world constraints.
End-to-end argument, stateless core, "smart edges / dumb network" evolution, and the Tussle in Cyberspace (competing requirements and trust).
Software-Defined Networking (SDN) principles, control-plane / data-plane separation, open interfaces, and network virtualization/slicing.
On-off models (voice), hierarchical web traffic, burstiness, heavy-tailed (Pareto) vs exponential distributions and their impact on queues/loss.
M/M/1 and M/M/m models, delay/utilization analysis, and extensions for multi-server systems.
Max-Min fairness & Water-filling algorithm, Generalized Processor Sharing (GPS), Weighted Fair Queuing (WFQ), and practical trade-offs.
Token bucket algorithm, policing vs shaping, burst control.
Binary feedback, Additive Increase Multiplicative Decrease (AIMD), stability, fairness, and efficiency lines.
Some examples:
water_filling.py — Max-Min allocatortoken_bucket.py — rate limiterwfq_simulator.py — simple schedulerpareto_traffic_gen.py — bursty traffic generator (to be added)mm1_queue.py — M/M/1 queue model (to be added)