Presentation - NCLab, KAIST

Download Report

Transcript Presentation - NCLab, KAIST

Design and Performance of
a Web Server Accelerator
Eric Levy-Abegnoli, Arun Iyengar,
Junehwa Song, and Daniel Dias
Proc. Of INFOCOM, Jan 1999
Kyungmin Cho
Network Computing Lab. , EECS.
2001/10/23
2001-10-23
TE628 Internet Server
System Description
Web
Server
Client
Accelerator
Web
Server
2001-10-23
TE628 Internet Server
Characteristic(1)

Network Dispatcher(ND)



Present a single IP address to clients
If the requested page is found in the
cache. The page is returned to the client.
Otherwise, ND routes the request to a
back-end Web server node

2001-10-23
Round-robin or a method which takes server
load into account.
TE628 Internet Server
Characteristic(2)

Content-based routing



Intelligent decision
It could send all requests for static
pages to one set of servers and all
requests for dynamic pages to another
set of servers.
In situations where the contents of the
servers are not all identical.
2001-10-23
TE628 Internet Server
Characteristic(3)

The cache modes

Automatic mode



Data are cached automatically after cache
misses.
The Webmaster sets cache policy
parameters which determine which URL’s
are automatically cached.
Dynamic mode

2001-10-23
The cache contents are explicitly controlled
by application programs.
TE628 Internet Server
Characteristic(4)

API functions



Allow application programs to cache,
invalidate, query and specify lifetimes of
the contents of URL’s
Makes it feasible to cache dynamic Web
pages.
All cached data are stored in memory
2001-10-23
TE628 Internet Server
Efficient IP forwarding


Can route 80,000 IP packets per second
(Compared to 10,000)





Lightweight operating system
Copy-less path from input queue to output
queue
A polling mechanism based on input/output
queues with a tasker scanning these queues at
high rates to feed a network handler
A single buffer data structure
The absence of context switches
2001-10-23
TE628 Internet Server
Modifying the TCP stack



Initial TCP stack contained a number of
inefficiencies such as task scheduling and
unnecessary data copying.
TCP stack was modified to use the same
“scheduling logic” as the one applied to
the IP path.
To use the same data structure for both
TCP and IP, with the device I/O buffer in
one contiguous piece so that no linkage of
multiple buffers is necessary.
2001-10-23
TE628 Internet Server
The System for Measuring
Throughput - Webstone
2001-10-23
TE628 Internet Server
Web server Accelerator throughput
The number of
cache hits per
second
2001-10-23
TE628 Internet Server
Web server Accelerator throughput
The projected
number of cache
hits per second
for large pages
2001-10-23
TE628 Internet Server
The overall performance
Each curve
represents a
back-end server
configuration
with a different
capacity
2001-10-23
TE628 Internet Server
Caching and SPECweb96



SPECweb96 estimates system
performance by measuring the average
server response times while the requested
throughput levels vary.
The workload data size varies with the
levels of the requested throughput.
Cache hit ratio changes along with the
throughput level.
2001-10-23
TE628 Internet Server
Hit Ratio Analysis (SPECweb96)

Each cell represents the access
probability for a different file size.
2001-10-23
TE628 Internet Server
Hit Ratio Analysis (SPECweb96)


Assume LRU is used for cache
replacement
Average hit ratio. N is # of requests

d : the number of directories in the
SPECweb96 data set
2001-10-23
TE628 Internet Server
Hit Ratio Analysis (SPECweb96)

The cache size required for the bin

is the size of
Overall cache hit ratio

Under the condition

2001-10-23
TE628 Internet Server
Throughput on SPECweb96
Hit rates as a
function of
expected
throughput on
SPECweb96
using LRU
2001-10-23
TE628 Internet Server
Throughput on SPECweb96
Byte hit rates
as a function of
expected
throughput on
SPECweb96
using LRU
2001-10-23
TE628 Internet Server
Throughput on SPECweb96
Hit rates as a
function of
expected
throughput on
SPECweb96
using LRU,
when files 500
Kbytes or larger
are not cache.
2001-10-23
TE628 Internet Server
Throughput on SPECweb96
The maximum
SPECweb96
throughput which
accelerator can
sustain is obtained
from the
intersection of the
line with the
appropriate curve.
2001-10-23
TE628 Internet Server
Summary

Presents





Design
Key issues in the implementation
The performance of a Web server accelerator
Under Embedded OS
Provides an API

Can be used to cache dynamic as well as
static data.
2001-10-23
TE628 Internet Server
Critique

Good Points




Dynamic contents can be cached.
Put the cache in front of the Web Servers.
Provide API
Week points


Experimental results are not presented when
workload is SPECweb96
Need more detail explanation about
configuration of the Web Server Accelerator.
2001-10-23
TE628 Internet Server