170 likes | 357 Views
Flash. An efficient and portable Web server. Vivek S. Pai Peter Druschel Willy Zwaenepoel Rice University. presented by Andreas Anagnostatos CSE 291 Feb. 2, 2000. Overview. Key features Request processing steps Server architectures Flash implementation Performance
E N D
Flash An efficient and portable Web server Vivek S. Pai Peter Druschel Willy Zwaenepoel Rice University presented by Andreas Anagnostatos CSE 291 Feb. 2, 2000
Overview • Key features • Request processing steps • Server architectures • Flash implementation • Performance • Simulations/Comparisons • Conclusions • Discussion
Key features • A new Web server architecture • Aggressive optimizations • Portable • High performance across a wide range of workloads
Blocking steps of a request • Disk blocking • Find File • Read File • Network blocking • Accept Connection • Read Request • Send Header • Send Data
Multi-process architecture • Pros: • no synchronization necessary • Cons: • difficult to perform optimizations
Multi-threaded architecture • Pros: • share global variables • lower overhead for switching than MP • Cons: • OS must provide support • synchronization
SPED architecture • Pros: • No synchronization • No context switching • Cons: • Disk reads block
AMPED architecture • Pros: • Single process • No context switching • Helpers can be processes or threads • No synchronization • Non blocking • Cons: • NONE?
Flash Cons: • Extra cost wrt SPED for IPC between the main process and the helpers • More memory requirements than SPED • OTHERS?
Flash optimizations and caches • Memory-mapped files • Byte alignment (writev)
Performance • Apache (MP) • Zeus (SPED) • Flash (AMPED) • Flash-MT • Flash-MP • Flash-SPED
WAN emulation • Initial rise due to aggregation effects • MT declines due to per-thread switching and memory overhead • MP per-request overhead
Summary • AMPED combines cache behavior of SPED and disk behavior of MT and PS • Shared address space • No synchronization • Low overhead for helpers • High performance in real workloads • Portable (?) • Discussion... • Would you prefer Flash over a commercial server? • Other features missing?