Sun N1 Grid Engine 6.1 Administration Guide

Configuring the Functional Policy

Functional scheduling is a nonfeedback scheme for determining a job's importance. Functional scheduling associates a job with the submitting user, project, department, and job class. Functional scheduling is sometimes called priority scheduling. The functional policy setup ensures that a defined share is guaranteed to each user, project, or department at any time. Jobs of users, projects, or departments that have used fewer resources than anticipated are preferred when the system dispatches jobs to idle resources.

At the same time, full resource usage is guaranteed, because unused share proportions are distributed among those users, projects, and departments that need the resources. Past resource consumption is not taken into account.

Functional policy entitlement to system resources is combined with other entitlements in determining a job's net entitlement. For example, functional policy entitlement might be combined with share-based policy entitlement.

The total number of tickets that are allotted to the functional policy determines the weight of functional scheduling among the three scheduling policies. During installation, the administrator divides the total number of functional tickets among the functional categories of user, department, project, job, and job class.

Functional Shares

Functional shares are assigned to every member of each functional category: user, department, project, job, and job class. These shares indicate what proportion of the tickets for a category each job associated with a member of the category is entitled to. For example, user davidson has 200 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 shared among 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 dialog box, click Functional Policy. The Functional Policy dialog box appears.

Dialog box titled Functional Policy. Shows category list,
category members, and ratio of tickets. Shows Refresh, Apply, Done, and Help

Function Category List

Select the functional category for which you are defining functional shares: user, project, department, or job.

Functional Shares Table

The table under Functional Shares is scrollable. The table displays the following information:

QMON periodically updates the information displayed in the Functional Policy dialog box. Click Refresh to force the display to refresh immediately.

To save all node changes that you make, click Apply. To close the dialog box without saving changes, click Done.

Changing Functional Configurations

Click the jagged arrow above the Functional Shares table to open a configuration dialog box.

Ratio Between Sorts of Functional Tickets

To display the Ratio Between Sorts Of Functional Tickets, click the arrow at the right of the Functional Shares table .

User [%], Department [%], Project [%], Job [%] and Job Class [%] always add up to 100%.

When you change any of the sliders, all other unlocked sliders change to compensate for the change.

When a lock is open, the slider that it guards can change freely. The slider can change either because it is moved or because the moving of another slider causes this slider to change. When a lock is closed, the slider that it guards cannot change. If four locks are closed and one lock is open, no sliders can change.

Configuring the Functional Share Policy From the Command Line

Note –

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, use the qconf command with the appropriate options.

ProcedureHow to Create User-Based, Project-Based, and Department-Based Functional Scheduling

Use this setup to create a certain share assignment of all the resources in the cluster to different users, projects, or departments. First-come, first-served scheduling is used among jobs of the same user, project, or department.

  1. In the Scheduler Configuration dialog box, select the Share Functional Tickets check box.

    See Sharing Functional Ticket Shares, and the sched_conf(5) man page.

  2. Specify the number of functional tickets (for example, 1000000) in the scheduler configuration.

    See Configuring Policy-Based Resource Management With QMON, and the sched_conf(5) man page.

  3. Add scheduling-relevant items:

  4. Assign functional shares to each user, project, or department.

    See Configuring User Access Lists With QMON, and the access_list(5) man page.

    Assign the shares as a percentage of the whole. Examples follow:

    For users:

    • UserA (10)

    • UserB (20)

    • UserC (20)

    • UserD (20)

    For projects:

    • ProjectA (55)

    • ProjectB (45)

    For departments:

    • DepartmentA (90)

    • DepartmentB (5)

    • DepartmentC (5)