Loading…

Performance of Scheduling Strategies for Client–Server Systems

Two approaches to the improvement of the performance of client–server systems, multithreading and scheduling of servers, are investigated. Both of these approaches are observed to have a significant impact on system performance. The use of multithreading improves throughput characteristics of system...

Full description

Saved in:
Bibliographic Details
Published in:Journal of parallel and distributed computing 1999-09, Vol.58 (3), p.389-424
Main Authors: Graham, William C, Majumdar, Shikharesh
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Two approaches to the improvement of the performance of client–server systems, multithreading and scheduling of servers, are investigated. Both of these approaches are observed to have a significant impact on system performance. The use of multithreading improves throughput characteristics of systems, whereas the deployment of appropriate scheduling strategies at servers can produce a significant improvement in mean client response times. Based on a simulation model a number of basic questions that are important in the context of scheduling on nonmultithreaded, as well as multithreaded, systems are analyzed. Two important factors, monopolization of servers by large requests and software bottlenecks, are observed to be important in the context of scheduling on client–server systems. Both server scheduling, as well as multithreading, can be used to control these effects and lead to a higher system performance. Scheduling policies based on request characteristics are observed to perform well. A new request characteristic that is useful in the scheduling of client–server systems in the presence of software bottlenecks is proposed. Selection of both the server process, as well as the thread within the server, is required when multiple server, are co-located on the same CPU. A comparison between two scheduling approaches, single level and two level is presented in the paper. The results of this research are useful primarily in the design of operating systems for client–server systems and are also of interest to system designers and users.
ISSN:0743-7315
1096-0848
DOI:10.1006/jpdc.1999.1561