Documentation Home > Sun N1 Grid Engine 6.1 Administration Guide > Chapter 5 ManagingPolicies and the Scheduler > Administering Policies > Configuring the Functional Policy
Configuring the Functional Policy
Functional scheduling is a nonfeedback scheme fordetermining a job"s importance. Functional scheduling associates a job withthe submitting user, project, department, and job class. Functional schedulingis sometimes called priority scheduling. The functional policy setup ensuresthat a defined share is guaranteed to each user, project, or department atany time. Jobs of users, projects, or departments that have used fewer resourcesthan anticipated are preferred when the system dispatches jobs to idle resources.
At the same time, full resource usage is guaranteed, because unusedshare proportions are distributed among those users, projects, and departmentsthat need the resources. Past resource consumption is not taken into account.
Functional policy entitlement to system resources is combined with otherentitlements in determining a job"s net entitlement. For example, functionalpolicy entitlement might be combined with share-based policy entitlement.
The total number of tickets that are allotted to the functional policydetermines the weight of functional scheduling among the three schedulingpolicies. During installation, the administrator divides the total numberof functional tickets among the functional categories of user, department,project, job, and job class.
Functional shares are assigned to every member of each functional category:user, department, project, job, and job class. These shares indicate whatproportion of the tickets for a category each job associated with a memberof the category is entitled to. For example, user davidson has200 shares, and user donlee has 100. A job submitted by davidson is entitled to twice as many user-functional-tickets as donlee"s job, no matter how many tickets there are.
The functional tickets that are allotted to each category are sharedamong all the jobs that are associated with a particular category.
Configuring the Functional Share Policy With QMON
At the bottom of the QMON Policy Configuration dialogbox, click Functional Policy. The Functional Policy dialog box appears.
Select the functional category for which you are defining functionalshares: user, project, department, or job.Functional Shares Table
The table under Functional Shares is scrollable. The table displaysthe following information:
A list of the members of the category currently selected fromthe Function Category list.
The number of functional shares for each member of the category.Shares are used as a convenient indication of the relative importance of eachmember of the functional category. You can edit this field.
The percentage of the functional share allocation for thiscategory of functional ticket that this number of functional shares represents.This field is a feedback device and is not editable.
QMON periodically updates the information displayedin the Functional Policy dialog box. Click Refresh to force the display torefresh immediately.
To save all node changes that you make, click Apply. To close the dialogbox without saving changes, click Done.
Click the jagged arrow above the Functional Shares table to open a configurationdialog box.Ratio Between Sorts of Functional Tickets
To display the Ratio Between Sorts Of Functional Tickets, click thearrow at the right of the Functional Shares table .
User <%>, Department <%>, Project <%>, Job <%> and Job Class <%> alwaysadd up to 100%.
When you change any of the sliders, all other unlocked sliders changeto compensate for the change.
When a lock is open, the slider that it guards can change freely. Theslider can change either because it is moved or because the moving of anotherslider causes this slider to change. When a lock is closed, the slider thatit guards cannot change. If four locks are closed and one lock is open, nosliders can change.
User slider – Indicates the percentage of the totalfunctional tickets to allocate to the users category
Departments slider – Indicates the percentage of thetotal functional tickets to allocate to the departments category
Project slider – Indicates the percentage of the totalfunctional tickets to allocate to the projects category
Job slider – Indicates the percentage of the total functionaltickets to allocate to the jobs category
Configuring the Functional Share Policy From theCommand LineNote –
You can assign functional shares to jobs only using QMON. No command-line interface is available for this function.
To configure the functional share policy from the command line, usethe qconf command with the appropriate options.
Use the qconf -muser command to configurethe user category. The -muser option modifies the fshare parameter of the user entry file. See the user(5)man page for information about the user entry file.
Use the qconf -mu command to configurethe department category. The -mu option modifies the fshare parameter of the access list file. See the access_list(5)man page for information about the access list file, which is used to representdepartments.
Use the qconf -mprj command to configurethe project category. The -mprj option modifies the fshare parameter of the project entry file. See the project(5)man page for information about the project entry file.
Use the qconf -mq command to configurethe job class category. The -mq option modifies the fshare parameter of the queue configuration file. See the queue_conf(5) man page for information about the queue configuration file,which is used to represent job classes.
The weighting between different categories is defined in thescheduler configuration sched_conf and can be changed using qconf-msconf. The parameters to change are weight_user, weight_department, weight_project, weight_job, and weight_jobclass. The parameter values rangebetween 0 and 1, and the total sum of parameters must add up to 1.
How to Create User-Based, Project-Based, and Department-BasedFunctional Scheduling
Use this setup to create a certain share assignment of all the resourcesin the cluster to different users, projects, or departments. First-come, first-servedscheduling is used among jobs of the same user, project, or department.