Teaching a new class CS594: Network Design in Spring 2017! Here is a brief summary:

Networks are critical for diverse computing environments, from power-constrained IoT devices to compute-intensive datacenters. Various aspects of networking (e.g., topology, routing, congestion control) are carefully designed to match computational needs of the underlying applications to the platforms’ constraints (e.g., energy, cost). While battery-operated bluetooth devices employ simpler protocols in ad-hoc mesh networks to enable monitoring and sensing, datacenters require sophisticated transport protocols in bandwidth-intensive clos networks that provide near-optimal bisection bandwidth to process vast amounts of data (e.g., Web Search). Therefore, it is fascinating to compare and contrast design choices across the spectrum from minimal ad-hoc networks and Internet to more powerful datacenters and Interconnection networks.