Flash An efficient and portable Web server Vivek S. Pai Peter Druschel Willy Zwaenepoel Rice University presented by Andreas Anagnostatos CSE 291 Feb.

Download Report

Transcript Flash An efficient and portable Web server Vivek S. Pai Peter Druschel Willy Zwaenepoel Rice University presented by Andreas Anagnostatos CSE 291 Feb.

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
Jump to first
page
Overview








Key features
Request processing
steps
Server architectures
Flash implementation
Performance
Simulations/Comparisons
Conclusions
Discussion
Jump to first
page
Key features




A new Web server
architecture
Aggressive optimizations
Portable
High performance across
a wide range of
workloads
Jump to first
page
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?
Jump to first
page
Flash optimizations
and caches


Memory-mapped files
Byte alignment (writev)
Performance






Apache (MP)
Zeus
(SPED)
Flash
(AMPED)
Flash-MT
Flash-MP
Flash-SPED
Single file test
Trace test
Trace test w/
varying dataset size
Individual
optimization effects
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?
