Server Design, Architecture, Performance & Measurement Vivek Pai Princeton University October 17, 2001
2 I Work on Network Servers Performance Scalability Design Some features All hard-core systems work, lots of implementation
3 What’s a Network Server? Software/hardware combination Large # of clients, “easy” tasks Think of the Web
4 What’s a Really Big Server? Higher reliability, capacity, etc
5 What’s the Difference? Previously, lots Earlier research addressed this Application design OS structure Cluster approach
6 Application Design What? New application structure for servers – bypasses OS limitations
7 Application Design Results More stable performance – in green
8 OS Redesign After application, bottlenecks in OS
9 OS Redesign Results Higher performance, less degradation (in solid black bars)
10 Cluster Request Distribution Eliminate duplication of effort
11 Cluster Management Results Simple, Fast, Comprehensive (in blue)
12 Goal: Get Real Results Application High speed user-level servers now common Almost all use this approach Operating system More copy elimination appearing in Oss Some almost usable Clusters “Layer 7” switches now common Decision logic moving to hardware
13 What’s Next? DDoS Protection Automated Perf. Characterization Mobility & Servers Giant Machines
14 Global DDoS Attack Absorption With Limin Wang Apply cluster lessons to WANs Develop new techniques for DDoS Already seeing promising results
15 Performance Characterization With Ramesh Dharan Develop flexible measurement tools Design “macro” microbenchmarks Exhaustively test system to detect performance strengths/weaknesses
16 Mobility & Servers With Matt Hebert Explore little/big machine interaction Develop secure, usable system Improve performance via asymmetry
17 Giant Servers With Ping Ruan Expand Flash to handle newer tests Run tests on Giant Server Determine bottlenecks of these systems
18 Why Big Servers? Untapped area Few real studies Lots of new research problems Better suited to some problems Read/write sharing, transactions Companies like them Easier to manage than clusters
19 What Can You Do With Them? Lots! Huge memories (8GB on mine) Lots of disks (16 on mine) Network bandwidth (2Gb on mine) What holds them back? We’re not entirely sure yet Attack of the killer micros
20 My Untapped Side Project Princeton Non-Google Robot Project A web-crawler to gather systems data How to use lots of memory How to organize lots of disks Application design/management Writing these things is hard Performance across systems is hard