Presentation is loading. Please wait.

Presentation is loading. Please wait.

Flash: An efficient and portable Web server Authors: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel Presented at the Usenix Technical Conference, June.

Similar presentations


Presentation on theme: "Flash: An efficient and portable Web server Authors: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel Presented at the Usenix Technical Conference, June."— 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 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 SolarisFreeBSD

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


Download ppt "Flash: An efficient and portable Web server Authors: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel Presented at the Usenix Technical Conference, June."

Similar presentations


Ads by Google