Distributed Packet Rewriting and its Application to Scalable Server Architectures The 6 th IEEE International Conference on Network Protocol, Oct A. Bestavros, M. Crovella, J. Liu, and D. Martin September 7, 2000 Chang Kyu Lee
Chang Kyu Lee, Dept. of EECS, KAIST. 2 Introduction Distributed WWW Server System DNS approach (1994 ~ 1996) Significant load imbalance Not fault tolerant HTTP redirection approach Heavy load on server-side Dispatcher at server-side Finer control of load distribution Berkeley MagicRouter for NOW project (1996) Cisco LocalDirector (1997) IBM’s Network Dispatcher IBM’s TCP Router (1996)
Chang Kyu Lee, Dept. of EECS, KAIST. 3 DNS-based approach Round-Robin DNS Service Significant Load Imbalance (DNS Cache) Not Fault Tolerant Server1 Server2 Server3 Client A Client B Client C DNS servers DNS server
Chang Kyu Lee, Dept. of EECS, KAIST. 4 NAT-based Approach (1) NAT (Network Address Translation) S = C:A D = P:80 S = C:A D = B:81 S = B:81 D = C:A S = P:80 D = C:A private subnet client C:A Dispatcher P:80 server 1 D:81 server 2 B:81
Chang Kyu Lee, Dept. of EECS, KAIST. 5 NAT-based Approach (2) Bottle-neck at dispatcher MagicRouter by Berkeley NOW Local Director by Cisco VS-NAT by Linux Virtual Server Project Server Magic Router Server Client A Client B Client C
Chang Kyu Lee, Dept. of EECS, KAIST. 6 More Advanced Architecture Server1 TCP Router Server2 Server3 Client A Client B Client C Little overhead at dispatcher TCP Router by IBM VS-NAT/VS-DR by Linux Virtual Server Project
Chang Kyu Lee, Dept. of EECS, KAIST. 7 Distributed Packe t Rewriting Goals Transparency Scalability Efficiency (small overhead solution) Graceful Degradation (Fault Tolerant) Connection Assignment Flexibility
Chang Kyu Lee, Dept. of EECS, KAIST. 8 Architecture for DPR Server1 Server2 Server3 Server4 Client A Client B Client C All servers are routers, too. Distributed requests by RR-DNS
Chang Kyu Lee, Dept. of EECS, KAIST. 9 Design Issues Stateless vs. Stateful Stateless Approach Based on client’s address Client’s IP/Port hashing server selection Stateful Approach Based on the current server loads Address Translation Techniques NAT-based approach MAC-based or IPIP-based approach
Chang Kyu Lee, Dept. of EECS, KAIST. 10 Performance (1) Overhead test Environment Hardware : 200 MHz Pentium Pro, 32 MB memory, SCSI HDD, 100 Mbps Ethernet Switch Server : Linux , ext2 filesystem, Apache Client : Windows NT 4.0, SPECWeb96
Chang Kyu Lee, Dept. of EECS, KAIST. 11 Results (1-1)
Chang Kyu Lee, Dept. of EECS, KAIST. 12 Results (1-2)
Chang Kyu Lee, Dept. of EECS, KAIST. 13 Performance (2) Scalability test (1~5 servers) Environment Hardware for server : 200 MHz Pentium Pro, 64 MB memory, IDE HDD, 100 Mbps Ethernet Switch Hardware for central router : 266 MHz Pentium II Server : Linux , Apache Client : Surge Load Generator
Chang Kyu Lee, Dept. of EECS, KAIST. 14 Results (2-1)
Chang Kyu Lee, Dept. of EECS, KAIST. 15 Results (2-2)
Chang Kyu Lee, Dept. of EECS, KAIST. 16 Conclusion Critique Is there anything new? Load metric? Fault Tolerant? Server kernel modification