Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamic Process Allocation in Apache Server Yu Cai.

Similar presentations


Presentation on theme: "Dynamic Process Allocation in Apache Server Yu Cai."— Presentation transcript:

1 Dynamic Process Allocation in Apache Server Yu Cai

2 Introduction Degrading DDoS attacks. We want a web server system which can provide clients with differentiated services of proportional response time Two ways: –A) admission control and traffic classification: classify the incoming traffic into different queues with different QoS requirement. –B) dynamic resource management (our focus): dynamically control the number of processes assigned to each class.

3 Problem Formulation We use M /M /1 queue to model the web server traffic. Proportional-delay of response time for two classes 1 and 2. Assumption of processing rate:

4 Problem Formulation We want to achieve the resource allocation by process allocation in Apache. The ratio of process allocation can be calculated by:

5 Implementation in Apache We modify Apache to make it listen to two ports (80, 8000). The traffic of class 1 will be routed to port 80, and class 2 to port 8000 by admission control. We assign different number of processes to serve each port and dynamically control the number of processes. The child_main() function in http_main.c file of apache was modified to dynamically change the number of process allocated for each port, while still maintaining the process allocation ratio specified in the ratio file. The process allocation ratio is put in a local text file. A resource management daemon will dynamically calculate the process ratio and update the ratio file. The file will also be read/write by the apache process.

6 Dynamic Process Allocation Algorithm 1. read apache scoreboard to get number of active processes currently allocated for each port 2. access the process ratio file to get number of processes that needed to be allocated for each port. 3. If number of active processes for a port >= number of processes given in the ratio file for that port Do not listen for requests on that server socket 4. if number of active process for all ports >= number of processes given in the ratio file for those port increase the number of processes for all the ports update the ratio file else reduce the number of active processes update the ratio file 5. exclusively wait for requests on any available server socket 6. handle request 7. update scoreboard

7 System Architect

8 Testbed Use Httperf and Webbench as the request generator. It will generate http requests of Poisson distribution. Use two PC as router and task server running Linux Redhat 9. We modify the apache 1.3.29.

9 Performance Evaluation In the experiments, the system first warmed up for 100 time units. We collect the response time during the next 1000 time units. We average the result after 50 runs. Then we change the system load and repeat the above process.

10 Without Process Adaptation

11

12 With Process Adaptation

13

14

15

16 Future Work More test data on dynamic resource allocation Admission control and traffic classification


Download ppt "Dynamic Process Allocation in Apache Server Yu Cai."

Similar presentations


Ads by Google