BigAdmin System Administration Portal
XPerts

BigAdmin XPerts

XPert Transcript: Solaris 9 Resource Manager
Joost Pronk van Hoogeveen - Sun Microsystems, Inc.

XPerts Home
Last Updated October 2002
 
 
  1. What is Solaris 9 Resource Manager?
  2. How does Solaris 9 Resource Manager relate to Solaris Resource Manager 1.2 and Solaris Bandwidth Manager 1.6?
  3. Who needs Solaris 9 Resource Manager?
  4. What are the highlights for Solaris 9 Resource Manager?
  5. How can I start the "Solaris 9 RM" and Network Bandwith GUI?
  6. How does Sun's resource managment differ from HP....IBM....?
  7. Will Sun ever have server virtualization in lieu of SRM?
  8. Is there any way to limit the process to occupy not more than 40% of CPU...?

Q: What is Solaris 9 Resource Manager?

A: Solaris 9 Resource Manager is a set of resource management and network quality of service features that enables customers the means to allocate and control resources such as CPU, physical memory, and network I/O bandwidth. Solaris 9 Resource Manager is integrated into the Solaris 9 Operating Environment (OE) kernel and provides the framework for controlling system and network resources for users, groups, or applications to provide more predictable service levels.

Back to top


Q: How does Solaris 9 Resource Manager relate to Solaris Resource Manager 1.2 and Solaris Bandwidth Manager 1.6?

A: Solaris Resource Manager 1.2 and Solaris Bandwidth Manager 1.6 are unbundled products for controlling system and network resources, respectively, for the Solaris 2.6, 7 or 8 Operating Environments. Solaris 9 Resource Manager, on the other hand, is integrated into the Solaris 9 kernel. While Solaris 9 Resource Manager contains features similar to what is delivered in Solaris Resource Manager 1.2 and Solaris Bandwidth Manager 1.6, the code base of Solaris 9 Resource Manager is completely different. Moreover, Solaris 9 Resource Manager also contains features which are not part of the existing unbundled products.

Back to top


Q: Who needs Solaris 9 Resource Manager?

A: Solaris 9 Resource Manager is essential for customers who are pursuing a server consolidation strategy to reduce costs through simplifying their environments into fewer servers. This capability provides mainframe like resource management in the networked world. In addition, Solaris 9 Resource Manager allows Service Providers or hosting companies to charge for multiple e-commerce sites on a single server. Customers can gain economies of scale in management and greater efficiency by using larger servers instead of a number of small ones.

Back to top


Q: What are the highlights for Solaris 9 Resource Manager?

A: The features of Solaris 9 Resource Manager are integrated into the Solaris Operating Environment. This tight integration enhances the manageability, stability, and accounting capabilities for Solaris 9 Resource Manager. By integrating into the Solaris OE kernel, it also enables Solaris 9 Resource Manager to better support other core Solaris OE features. Moreover, integrating Solaris 9 Resource Manager into the Solaris OE provides the foundation for the continued delivery of powerful resource management features in future releases.

Back to top


Q: How can I start the "Solaris 9 RM" and Network Bandwith GUI?

A: The "Solaris 9 RM" GUI is integrated with other Solaris functionality like the former admintool in one tool called Solaris Management Console. This tool is started by typing: "smc". For more info please see: http://docs.sun.com/app/docs/doc/806-4073/6jd67r92j?a=view

Solaris 9 Resource Manager in general: http://docs.sun.com/app/docs/doc/806-4076/6jd6amqos?a=view

As for the network GUI, I presume you mean the Solaris Bandwidth Manager 1.6 tool. This is started with "batool". For more info see: http://docs.sun.com/app/docs/doc/806-4704/6jdp1js14?a=view

Back to top


Q: How does Sun's resource managment differ from HP's Process Resource Manager (PRM) or IBM's AIX offering?

A: Trying to keep the answer brief and not make it sound like a sales pitch.

In many ways they are similar, they all try to manage how much of the system's resources are assigned to certain users/groups/applications. Currently the difference is more in the details of the implementation. Things like what you call the process collectives (projects in Solaris 9, PRM groups for HP-UX, workloads in IBM's WLM), how many you can have (unlimited for Solaris 9, <100 for HP-UX and AIX).

For Solaris 9 we've integrated the unbounded SRM 1.2 and SBM 1.6 into the core Solaris so all the regular tools like "ps" and "prstat" are aware of what the resource usage of projects. Again similar to what the other platforms have. What is new is that we introduced the notion of Resource Pools (an extension of Processor Sets) and made them work with other controls like the Fair Share Scheduler (FSS) allowing you to have FSS govern in one part of the system and possibly the Time Share Scheduler (TS) in another. There are many more things, for more info: http://docs.sun.com/app/docs/doc/806-4076/6jd6amqos?a=view

Back to top


Q: Will Sun ever have server virtualization (ie. Server Partitions like AIX 5.2L or VmWare) in lieu of Solaris Resource Manager? Dynamic System Domains in the 10K/SunFire line may no longer be a good proposition these days - Server virtualization allows for better utilization of large servers.

A: Yes, in more ways than one.

What I mean is that there are different types of problems that you would want to tackle with Server Virtualization.

The first is allowing the workload/service to be virtualized from the size of the hardware. To address this we have started releasing the Solaris Containers. We will be releasing Container functionality in steps with the first being isolation of resource usage by the workloads. The next steps will be introducing fault and security isolation. This approach is similar to Server Partitions and VM's, however there is a fundamental difference. In many cases people don't want to create a whole new OS instance for every little service, however they want certain qualities VM's give them.

For example if you have a Sun Ray server creating a VM for every user seems a lot of overkill and would create quite a lot of overhead, instead people are actually looking to get the same guarantees single desktops give yet using the benefits a single server give cost (both admin and HW) wise.

Another example is in a database environment were there are often many database instances (production and test) using the same system installation, giving the cost benefits again. However creating separate OS instances would negate many of the admin overhead benefits.

The other type of virtualization is done under the N1 umbrella and will address the need to reduce the complexity of managing a data center as a whole. This is taking it a step further and allowing automation of things like provisioning, network layouts so you can ultimately de couple you service from your systems and network and reduce the operational complexity.

VM's and Server Partitions are not addressing that aspect.

Dynamic System Domains still give unique qualities VM's and Containers don't have they are fully isolated. They might be pretty course but in many cases and for many workloads this is sufficient, plus they give the unique capability of moving components between electrically isolated environments.

Back to top


Q: I have a real time process which is taking more than 90% of the CPU time. Is there any way to limit the process to occupy not more than 40% of the CPU time at any given point of time?

A: Why does this process have Real Time (RT) privileges? Is it latency sensitive? (normally why a process is given Real Time privileges) If there is no real reason to have it run in RT then you could also have it run in the FSS class with the correct amount of shares or in it's own Processor Set (Resource Pool).

However there is a reason that the process is getting/taking 90% of the CPU, how do you think that limiting the CPU usage will still give a reasonable performance?

Why is 90% too much, are other services being impacted? Should they be on the same system?

Another thing you could do is use the Fixed-Priority Scheduler (FX). See man dispadmin (1M).

Back to top


BigAdmin