![Page 1: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/1.jpg)
Providing Differentiated Levels of Service in Web Content Hosting
Jussara Almeida, etc...
First Workshop on Internet Server Performance, 1998
Computer Architecture Lab. CS Dept. KAIST
2000/9/18
Kim, Sung-Wan
![Page 2: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/2.jpg)
2/16
Contents
• Introduction
• Methodology
• Design & Implementation
• Experiment & Results
• Limitations of the study
• Conclusions
![Page 3: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/3.jpg)
3/16
Introduction (1/2)
• 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
![Page 4: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/4.jpg)
4/16
Introduction (2/2)
• Priority-based request scheduling– Performance metric
• QoS - Response time to the request
– Method of improving performance
• Restrict the maximum number of concurrent processes at each priority
– Approaches
• User-level & kernel-level
![Page 5: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/5.jpg)
5/16
Methodology
• Priority of requests– Based on customer who pay, not 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
• Performance metric– Response time
• The average latency time taken by the server
• After accepting a connection, until closing the connection
![Page 6: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/6.jpg)
6/16
Design & Implementation (1/3)
• Scheduling policies– 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
• Conserving policies– Non-work conserving
• Allow requests to occupy only slots of the same type
– Work conserving
• Does NOT allow above
High-priority
Low-priority
Queue
request
or or
![Page 7: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/7.jpg)
7/16
Design & Implementation (2/3)
• 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 8: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/8.jpg)
8/16
Design & Implementation (3/3)
• Kernel-level approach– Parameters
• The number of priority levels• The number of concurrent processes at each level• The priority value assigned to a blocked process
– SLEEPING_PRIORITY
– 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
• New system calls– initialize_priority_scheme, my_set_priority, my_release_priority
![Page 9: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/9.jpg)
9/16
Experimental Setup
• For user-level approach– Sun SparcStation
• Two 66MHz CPUs, 64 MB RAM, Solaris 2.4, 100 Mbps Ethernet
• For kernel-level approach– DEC 90MHz Pentium
• 32 MB RAM, Linux 2.1.54, 10 Mbps Ethernet
• HTTP server : Apache 1.3b2, KeepAlive off
• Client : WebStone benchmark
– 6 machines, 5 client processes per machine
– 2 different workloads
![Page 10: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/10.jpg)
10/16
Results (1/6)- User-level approach (1/3)
• Non-work conserving
![Page 11: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/11.jpg)
11/16
Results (2/6)- User-level approach (2/3)
• Non-work conserving
![Page 12: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/12.jpg)
12/16
Results (3/6)- User-level approach (3/3)
• Work conserving
![Page 13: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/13.jpg)
13/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 14: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/14.jpg)
14/16
Results (5/6)- Kernel-level approach (2/3)
Average latency for workload WA
Average latency for workload WB
![Page 15: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/15.jpg)
15/16
Results (6/6)- Kernel-level approach (3/3)
Average latency for workload WB using non-work conserving and SLEEPING_PRIORITY = -1
![Page 16: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/16.jpg)
16/16
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
• Various mix of high-priority and low-priority requests
![Page 17: Providing Differentiated Levels of Service in Web Content Hosting Jussara Almeida, etc... First Workshop on Internet Server Performance, 1998 Computer](https://reader036.vdocument.in/reader036/viewer/2022070403/56649f2a5503460f94c449ef/html5/thumbnails/17.jpg)
17/16
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
• Critique– Kernel modification– Too small benefit for high-priority, too much loss for low-priority– Thresholds parameter– Request ratio - High-priority : low-priority = 1 : 1 ?– Separated server for high-priority requests