1 / 17

Flash

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

hollie
Download Presentation

Flash

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Overview • Key features • Request processing steps • Server architectures • Flash implementation • Performance • Simulations/Comparisons • Conclusions • Discussion

  3. Key features • A new Web server architecture • Aggressive optimizations • Portable • High performance across a wide range of workloads

  4. Blocking steps of a request • Disk blocking • Find File • Read File • Network blocking • Accept Connection • Read Request • Send Header • Send Data

  5. Multi-process architecture • Pros: • no synchronization necessary • Cons: • difficult to perform optimizations

  6. Multi-threaded architecture • Pros: • share global variables • lower overhead for switching than MP • Cons: • OS must provide support • synchronization

  7. SPED architecture • Pros: • No synchronization • No context switching • Cons: • Disk reads block

  8. AMPED architecture • Pros: • Single process • No context switching • Helpers can be processes or threads • No synchronization • Non blocking • Cons: • NONE?

  9. Flash Cons: • Extra cost wrt SPED for IPC between the main process and the helpers • More memory requirements than SPED • OTHERS?

  10. Flash optimizations and caches • Memory-mapped files • Byte alignment (writev)

  11. Performance • Apache (MP) • Zeus (SPED) • Flash (AMPED) • Flash-MT • Flash-MP • Flash-SPED

  12. Single file test

  13. Trace test

  14. Trace test w/ varying dataset size

  15. Individual optimization effects

  16. WAN emulation • Initial rise due to aggregation effects • MT declines due to per-thread switching and memory overhead • MP per-request overhead

  17. 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?

More Related