MICHIGAN E NGINE E RING
M M M M M M M M M M M M M M M M M M M M M M M M M M
The Impact of Concurrency Gains
- n the Analysis and Control
- f Multi-threaded Internet Services
Hani Jamjoom MICHIGAN E M M Chun-Ting Chou M M Kang G. Shin M - - PowerPoint PPT Presentation
M M M M M The Impact of Concurrency Gains M M M on the Analysis and Control M M M of Multi-threaded Internet Services M M Hani Jamjoom MICHIGAN E M M Chun-Ting Chou M M Kang G. Shin M M M M NGINE M Electrical
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
services A typical shared hosting environment with:
Services use multi-threading or multi- processing to improve their efficiency:
TYPICAL SERVER requests
M M M M M M M M M M M M M M M M M M M M M M M M M M
services
TYPICAL SERVER requests
are workload dependent
impact of gains on server performance
compete for server resources
thread and service interactions
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
Requests Service Class Queues Application A Application B CPU schedule in a round- robin fashion Service class 2 Service class 1 Service class 3
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M
mmax 1 2 m
Class 1 Class 2 Classes 1,2
Each table corresponds to the worst-case cost
(mmax– m) threads belong to the other service classes, which are assumed to be saturated. 1 A new table combines tables of class 1 and 2. Each row holds the minimum cost if classes 1 and 2 are given m threads. This process is repeated, combining the resulting table from the previous step and the next service class. 2 The optimal allocation is found by tracing back the allocation that produced the minimum worst-case cost. 3
Class 3
Classes 1,2,3
mmax 2 m mmax 3 m
M M M M M M M M M M M M M M M M M M M M M M M M M M
Configure one service class with a fixed number of threads that are always busy, and compare predicted response time of the other service class with the measured values for different thread allocations.
M M M M M M M M M M M M M M M M M M M M M M M M M M
Low priority service is allocated 8 threads Low priority service is allocated 16 threads
M M M M M M M M M M M M M M M M M M M M M M M M M M
since a request is admitted quickly by a worker thread
characteristics (such as I/O heavy vs. CPU heavy)
guarantees with similar workloads
M M M M M M M M M M M M M M M M M M M M M M M M M M
M M M M M M M M M M M M M M M M M M M M M M M M M M