Solaris System Resource Manager as It Is

The system administrator can allocate CPU resources according to predefined shares as opposed to fixed percentages, which allows the system to dynamically apportion all available resources according to the relative proportion οf shares οf any current user. The SRM pro rates resource shares to users and groups and then adjusts CPU usage to meet the shares.Dr. Gunther presents two significant differences between the TS and SRM schedulers. The first is that the SRM guarantees a minimum percentage οf CPU, rather than a fixed percentage. The other difference is that when the allocations are changed dynamically, the SRM changes are not always immediately reflected the in percentages οf CPU time the users receive. Dr. Gunther’s first example explains that if a user is awarded 10 οf 100 shares, that user receives a minimum οf 10% οf the CPU resources when the machine is busy. If the machine is only 50% active, the same user will receive double or 20% οf the CPU resources. This CPU usage is determined by an instantaneous and periodic sampling οf the usage to adjust the resource usage. Since the user has to be sampled and adjusted, this causes a time lag between the allocation and the realization οf resources. In his second example, Gunther shows that if two users equally share the system resources, when one is not logged on, the SRM will adjust and allow the single user to use 100% οf the resources. When the second user logs on, the resources are split in half. For all οf the examples in this paper, the processes are assumed to be CPU-bound to present a least upper bound model οf resource usage.The goal οf the SRM is to dynamically adjust each user’s CPU usage to reflect the ratio οf shares to which the user is entitled. Dr. Gunther uses a modeling tool called PDQ to demonstrate several capacity planning scenarios. The first scenario presents two small share users in one group. The data compares TS and SRM response times as well as comparisons οf SRM response times between scenarios.