nikolaos vasiliou and hanan lutfiyya the university of western ontario london, ontario, canada...

10
Introduction Consumers do not want to be kept waiting when browsing, selecting, or paying for products on- line. Consumers are annoyed by delays and failures. Consumers expect a high- level of quality of service and are sometimes willing to pay for it.

Upload: alfred-potter

Post on 17-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Introduction

Consumers do not want to be kept waiting when browsing, selecting, or paying for products on-line.

Consumers are annoyed by delays and failures.

Consumers expect a high-level of quality of service and are sometimes willing to pay for it.

Page 2: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Architecture

client

AcceptRequest

Read

Request

Register Request

Send

Response

Log

Request

Deregister

Request

Request

Complete

Registration

Deregistration

QoSBoard

Module

Scheduler

Module

Resource

Manager

Normal

Request

Processing

Web Server

QoS

Addition

Page 3: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Architecture

A request is assigned to a process. Register Request occurs when a

request arrives and before any processing begins.

Registration suspends processing of the request until the SchedulerScheduler decides processing should be resumed.

The request is put on a queue based on the categorization taking place (e.g., by type of request or by type of requestor). The queue is in the QoSBoard.

Page 4: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Scheduling Algorithm (Version 1)

Two queues: A and B. The Scheduler always runs class

A requests and only runs class B requests when there are no class A requests.

This can starve out class B requests if there is always a request in the A queue. Obviously, not a good solution.

Page 5: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Scheduling Algorithm (Version 2)

Two queues: A and B Two variables (also stored in

QoSBoard):• max_proc_A :The maximum number

of A processes allowed to run.• max_proc_B : The maximum

number of B processes allowed to run.

Similar to Version 1, except there is now a limit on the number of A processes allowed to run at any one time.

Page 6: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Scheduling Algorithm (Version 2)

Our experimental results show that this works best when max_proc_B is relatively small.

However, by keeping max_proc_B small (and static) means that we may waste computing resources if there aren’t that many A requests.

These resources could have gone to B requests.

Page 7: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Scheduling Algorithm (Version 3)

The difference between this algorithm and the second is that the scheduler doesn’t distinguish between A processes and B processes unless an A process complains that it is waiting too long

If the number of complaints is equal to max_complaints then max_proc_B is reduced.

The variable representing the number of complaints is set to 0. If it again exceeds max_complaints, max_proc_B is reduced.

Page 8: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Scheduling Algorithm (Version 3)

max_proc_A and max_proc_B are initially set to the same value.

As long as A processes aren’t complaining then B processes can be run.

This is a more effective use of resources.

Page 9: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Implementation

We use the Apache Web Server The QoSmodule is implemented

as shared memory between request processes and the Scheduler (which is a separate process).

Page 10: Nikolaos Vasiliou and Hanan Lutfiyya The University of Western Ontario London, Ontario, Canada Differentiated Quality of Service for Web Servers for Electronic

Results and Future Research

Initial results are promising, but they show that there are many factors to take into account.

We are especially interested in architecting out a solution that makes it easy for developers to implement different scheduling algorithms tailored for their sites.

We will also look at other ways of differentiating between users.• Example: If a user is idle for more than

n time units then the process associated with the request is given a lower priority.