1 / 18

Flash: An efficient and portable Web server

Flash: An efficient and portable Web server. Authors: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel Presented at the Usenix Technical Conference, June 1999. Presented by Richard Ta-Min. Introduction. Web servers need to be fast and able to service many requests concurrently

rowena
Download Presentation

Flash: An efficient and portable Web server

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 Authors: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel Presented at the Usenix Technical Conference, June 1999 Presented by Richard Ta-Min

  2. Introduction • Web servers need to be fast and able to service many requests concurrently • Three web server architectures • Multi-process and multi-thread • Apache web server • Single process event driven • Zeus web server • Asymmetric multi process event driven • Flash web server

  3. Processing of HTTP request

  4. Processing of HTTP request Data not ready to be read from socket stat() and open() sys call may block on disk I/O read() and write() sys call may block too

  5. Multiple Process - MP • Each process handles one request • Disadvantages • Each process has its separate address space • Cannot share data: separate cache • Context switch overhead

  6. Multiple Threads - MT • Each thread handles one request • Advantages • One address space: All threads share one cache • Less context switch overhead • OS has to support kernel threads • Apache V2.0 can use threads

  7. Single Process Event Driven - SPED • Single thread of execution • Use non-blocking system calls to perform I/O operations • Used by Zeus web server

  8. Single Process Event Driven - SPED • SPED should be able to process many requests at a time but … • Non-blocking read/write don’t work on disk operations Disk I/O operations still block

  9. Asymmetric Multi Process Event Driven • Combination of MP and SPED • Use non-blocking calls to perform network and pipe operations • Use helper process to perform blocking disk I/O operations

  10. Asymmetric Multi Process Event Driven • Helper process can be a separate thread or process • Master and Helper process communicate through IPC • Master and Helper mmap() the same request file • Helper process reads file from disk and brings into memory • Helper notifies master that file is ready • Avoid data transfer between processes

  11. Flash Web Server • Flash web server – implementation of the AMPED architecture • Uses aggressive caching • Pathname translation caching • Response header caching • Caching of already mapped files

  12. Performance Evaluation • Compare different web server architecture • Flash AMPED • Flash SPED • Flash MT • Flash MP • Apache V1.3.1 • Zeus V1.30

  13. Test Platform • Server • Speed: 333 MHz Pentium II • Memory: 128 MB • Operating System • Solaris 2.6 • Free BSD 2.2.6 – No support for threads • Clients • Software that simulates HTTP clients

  14. Synthetic Workload • Clients request the same file repeatedly • Purpose to see how web server behaves under best conditions Solaris FreeBSD

  15. Trace Based Experiments • Replay access logs from real web servers

  16. Trace Based Experiments • Test server with workload of different data set size

  17. Trace Based Experiments • Varying the number of clients

  18. Conclusion • Efficient web server: Need to handle request and perform disk operations • Web server architecture • MP/MT • SPED • AMPED – Combines efficiency of SPED and MP • Flash web server based on AMPED outperforms Zeus and Apache

More Related