9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

21
Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, Mihaela Dabu, Anand Manikutty and Pei Cao First Workshop on Internet Server Performance, 1998 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

description

Providing Differentiated Levels of Service in Web Content Hosting J ussara Almeida, Mihaela Dabu, Anand Manikutty and Pei Cao First Workshop on Internet Server Performance, 1998. 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo. Contents. Introduction Methodology - PowerPoint PPT Presentation

Transcript of 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

Page 1: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, Mihaela Dabu, Anand Manikutty and Pei Cao

First Workshop on Internet Server Performance, 1998

9/25/2001Network Computing Lab. EECS. KAISTKang, Seungwoo

Page 2: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

2

Contents

Introduction Methodology Design & Implementation Experiment & Results Limitations of the study Conclusions

Page 3: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

3

Introduction Increased Web content hosting

Many servers charge fees for the Web service Customers expect quality of service proportional to the fee

Apache Most used Web server FCFS(first-com first-served)

doesn’t support for differentiated quality of service

Objective To provide differentiated levels of service by priority-

based request scheduling Focus on server QoS, not network QoS Single-machine server system

Page 4: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

4

Methodology (1/2) Priority-based approaches

Two levels (high, low) of quality priority based on requested documents

Approaches User-level

Add a scheduler process to Apache Kernel-level

Both Apache and Linux kernel by adding new system calls Mapping from request priorities into process priorities Keeping track of which processes are running at each priority level

Page 5: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

5

Methodology (2/2)

Performance metric Response time

The average latency time taken by the server After accepting a connection, until closing the connection

Page 6: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

6

Design & Implementation (1/5)

Scheduling policies Preemptive at kernel-level, non-preemptive at user-level Sleep policy : Upon receiving a request Wakeup policy : In place of a completed request

Implementation Maximum thresholds : A fixed number of slots for each priority

level Queue for blocked requests

High-priority

Low-priorityQueue

request

or or

Page 7: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

7

Design & Implementation (2/5) Conserving policies

Non-work conserving Allow requests to occupy only slots of the same type

Work conserving Not allow a slot to go empty Allows requests to occupy slots of a different type

High-priority

Low-priorityQueue

request

or or3 requests

4 requests

Page 8: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

8

Design & Implementation (3/5) User-level approach

A master process spawn a child process for each request and a Scheduler process

The child process determines its priority from URL Maps the customer name into a priority value

Master process

Schedulerspawn

Childprocess

#1

Child process

#2

Child process

#3

spawn

requests

request scheduling

sleep or wakeup policy

Page 9: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

9

Design & Implementation (4/5) Kernel-level approach

Parameters The number of priority levels The number of concurrent processes at each level The priority value The priority value assigned to a blocked process

SLEEPING_PRIORITY

New system calls initialize_priority_scheme my_set_priority my_release_priority

Page 10: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

10

Design & Implementation (5/5) Roles of kernel

Maps request priority to a process priority Scheduling (sleep & wake-up policy) Wake-up

Decides the priority level of the processes to be unblocked Choose the oldest process

Process

kernel

call

Sleep policy Wakeup policy

Page 11: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

11

Experimental Setup (1/2) HTTP server : Apache 1.3b2, KeepAlive off

For user-level approach Sun SparcStation

Two 66MHz CPUs, 64 MB RAM, Solaris 2.4, 100 Mbps Ethernet

Client : WebStone 6 machines, 5 client processes per machine

Page 12: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

12

Experimental Setup (2/2) For kernel-level approach

DEC 90MHz Pentium 32 MB RAM, Linux 2.1.54, 10 Mbps Ethernet

Client : WebStone 2 independent WebStone benchmarks on the same machine 15 client processes for one specific type

2 different workloads

Page 13: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

13

Results (1/6)- User-level approach (1/3)

Non-work conserving

Page 14: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

14

Results (2/6)- User-level approach (2/3)

Non-work conserving

Page 15: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

15

Results (3/6)- User-level approach (3/3)

Work conserving

Page 16: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

16

Results (4/6)- Kernel-level approach (1/3)

Average latency for requests of type A & B for both workload with no policy

The configurations used in the experiments

Page 17: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

17

Results (5/6)- Kernel-level approach (2/3)

Average latency for workload WA

Page 18: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

18

Results (6/6)- Kernel-level approach (3/3)

Average latency for workload WB using non-work conserving and SLEEPING_PRIORITY = -1

Average latency for workload WB

Page 19: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

19

Limitations of the Study For truly differentiated QoS

CPU scheduling Replacement policy for buffer cache Disk I/O scheduling to favor high-priority Networking QoS But, focused on only CPU scheduling in this study

Webstone cannot drive the Web server to overload Need to test under bursty loads with various mix of

high-priority and low-priority requests

Page 20: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

20

Conclusions Implement the priority-based scheduling Restricting the number of concurrent processes is

a simple and effective strategy Work conserving policy is not adequate when the

thresholds are large Non-work conserving is better for multiple levels of

priority

Page 21: 9/25/2001 Network Computing Lab. EECS. KAIST Kang, Seungwoo

21

Critique

Is the way to determine priority reasonable? Too small benefit for high-priority, too much loss

for low-priority Is modifying kernel good approach? If requests of the same type are explosive?