Modeling restricted processor sharing in a computer system with non-exponential service times

Date of Completion

January 2007


Computer Science




A computer system often has to handle computational jobs with highly varying CPU service time requirements. In principle, unrestricted processor sharing can be useful in handling such demands. In practice, it must be implemented by round-robin, and there is an overhead cost (e.g., cache thrashing and operating system management of job switching) to implementing this scheme. Furthermore, significant main-memory thrashing (i.e., increased paging activities) may occur with many jobs inside the system. To bound the cache thrashing overhead, the number of jobs actively sharing the processors has to be restricted. This is essentially restricted processor sharing. Similarly, to bound the main-memory thrashing overhead, the total number of jobs granted access to the system at any time has to be restricted as well. Because of these population size constraints, the existing analytical results for Jackson networks do not apply here. The goal of this research, therefore, is to develop analytical models for systems under the above mentioned constraints and the impact of memory thrashing overhead. ^ First, by ignoring peripherals and paging activities, we present an analytical model for CPU subsystems with arbitrary service time distributions. In the model, the cache thrashing overhead is considered by assuming a certain portion of CPU power being wasted. Using this model, we demonstrate that restricted processor sharing, which avoids significant cache thrashing, is effective in handling highly varying jobs demands (i.e., C2v≫ 1). Based on this baseline model, we then develop models for systems with a data disk and/or paging activities. By applying the models, we study the interplay among the parameters such as the CPU service time distribution, the number of processors, and the degree of processor sharing to analyze the performance of different computer system configurations in terms of mean system time (or response time) and maximum throughput. We show that different configurations can have quite different maximum throughput values. Furthermore, we find that, given highly varying job demands, the system performance may get improved with some amount of paging activities. While we assume open systems (with dynamic arrivals) in this work, the models can also be applied to study time-sharing systems and draining systems (with static arrivals). ^