Network Algorithmics: An Interdisciplinary Approach to Designing Fast Networked Devices, Second Edition
- 16h 28m
- George Varghese, Jianjun Xu
- Elsevier Science and Technology Books, Inc.
- 2022
Network Algorithmics: An Interdisciplinary Approach to Designing Fast Networked Devices, Second Edition takes an interdisciplinary approach to applying principles for efficient implementation of network devices, offering solutions to the problem of network implementation bottlenecks. In designing a network device, there are dozens of decisions that affect the speed with which it will perform – sometimes for better, but sometimes for worse. The book provides a complete and coherent methodology for maximizing speed while meeting network design goals. The book is uniquely focused on the seamless integration of data structures, algorithms, operating systems and hardware/software co-designs for high-performance routers/switches and network end systems.
Thoroughly updated based on courses taught by the authors over the past decade, the book lays out the bottlenecks most often encountered at four disparate levels of implementation: protocol, OS, hardware and architecture. It then develops fifteen principles key to breaking these bottlenecks, systematically applying them to bottlenecks found in end-nodes, interconnect devices and specialty functions located along the network. Later sections discuss the inherent challenges of modern cloud computing and data center networking.
- Offers techniques that address common bottlenecks of interconnect devices, including routers, bridges, gateways, endnodes, and Web servers
- Presents many practical algorithmic concepts that students and readers can work with immediately
- Revised and updated throughout to discuss the latest developments from authors’ courses, including measurement algorithmics, randomization, regular expression matching, and software-defined networking
- Includes a new, rich set of homework exercises and exam questions to facilitate classroom use
About the Author
George Varghese is a widely recognized authority on the art of network protocol implementation. Currently he holds the Jonathan B. Postel Chair of Networking at the University of California, Los Angeles. Earlier he was a Partner at Microsoft Research, and served as a professor in the departments of Computer Science at UC-San Diego and Washington University. He was elected to American Academy of Arts and Sciences in 2022, to the Internet Hall of Fame in 2021, to the National Academy of Inventors in 2020, to the National Academy of Engineering in 2017, and as a Fellow of the ACM in 2002. He co-founded a startup called NetSift in 2004 that was acquired by Cisco in 2005. With colleagues, he holds 26 patents in the general field of network algorithmics. Several algorithms that he helped develop have found their way into commercial systems, including Linux (timing wheels), the Cisco GSR (DRR), and MS Windows (IP lookups). Varghese has written more than 100 papers on networking, computer architecture, genomics, and databases.
Jun Xu has been a Professor in the School of Computer Science at Georgia Tech since 2000. He has worked on the design and analysis of network algorithmics for over two decades. He was instrumental in introducing randomization to the design of network algorithmics. His network algorithmics research jointly with his former students has garnered Best Student Paper Awards in conferences such as ACM Sigmetrics. In the past three years, he has ventured into an emerging research field called big data algorithmics that includes topics such as locality sensitive hashing (LSH) techniques for supporting similarity search in database and machine learning applications, and follows the same guiding principle of network algorithmics: combining algorithmic thinking with systems thinking. He has been an ACM Distinguished Scientist since 2010.
In this Book
-
15 Principles Used to Overcome Network Bottlenecks
-
Introduction
-
Introducing Network Algorithmics
-
Network Implementation Models
-
Fifteen Implementation Principles
-
Principles in Action
-
Introduction
-
Copying Data
-
Transferring Control
-
Maintaining Timers
-
Demultiplexing
-
Protocol Processing
-
Introduction
-
Exact-Match Lookups
-
Prefix-Match Lookups
-
Packet Classification
-
Switching
-
Scheduling Packets
-
Routers as Distributed Systems
-
Introduction
-
Measuring Network Traffic
-
Network Security
-
Conclusions
-
References