jump to first page flash an efficient and portable web server presented by andreas anagnostatos cse...

17
Jump to first page Flas h An efficient and portable Web server presented by Andreas Anagnostatos CSE 291 Feb. 2, 2000 Vivek S. Pai Peter Druschel Willy Zwaenepoel Rice University

Post on 19-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Jump to first page

FlashAn efficient and portable Web server

presented by

Andreas Anagnostatos

CSE 291

Feb. 2, 2000

Vivek S. Pai

Peter Druschel

Willy Zwaenepoel

Rice University

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

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?

Jump to first page

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

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?