Sun HPC ClusterTools 3.0 Administrator's Guide: With CRE

Configuring Partitions

You can configure partitions by setting and deleting their attributes using the set and unset commands. Table 6-9 shows commonly used partition attributes.

Table 6-9 Common Partitions and Their Attributes

Partition Type 

Relevant Attributes 

Recommended Value 

Login 

no_logins 

not set 

Login 

max_total_procs 

not set or set greater than 

Dedicated 

max_total_procs no_logins 

=1 set 

Serial 

no_mp_tasks 

set 

Parallel 

no_mp_task 

not set 

You can combine the attributes listed in Table 6-10 in any way that makes sense for your site. See "Configuring Partitions" for suggestions about how to configure your partitions.

Partitions, once created, can be enabled and disabled. This lets you define many partitions but use just a few at a time. For instance, you might want to define a number of shared partitions for development use and dedicated partitions for executing production jobs, but have only a subset available for use at a given time.

Partition Attributes

Table 6-10 lists the predefined partition attributes. To see their current values, use the mpadmin show command.

Table 6-10 Predefined Partition Attributes

Attribute 

Kind 

Description 

enabled

Boolean 

Set if the partition is enabled, that is, if it is ready to accept logins or jobs. 

max_locked_mem

Value 

Maximum amount of shared memory allowed to be locked down by MPI processes (in Kbytes). 

max_total_procs

Value 

Maximum number of simultaneously running processes allowed on each node in the partition. 

min_unlocked_mem

Value 

Minimum amount of shared memory that may not be locked down by MPI processes (in Kbytes). 

name

Value 

Name of the partition. 

no_logins

Boolean 

Disallow logins. 

no_mp_tasks

Boolean 

Disallow multiprocess parallel jobs. 

nodes

Value 

List of nodes in the partition. 

shmem_minfree

Value 

Fraction of swap space kept free for non-MPI use 

enabled

Set the enabled attribute to make a partition available for use.

By default, the enabled attribute is not set when a partition is created.

max_locked_mem and min_unlocked_mem


Note -

You should not change these partition attributes. See "max_locked_mem and min_unlocked_mem" for a description of their effects.


max_total_procs

To limit the number of simultaneously running mprun processes allowed on all nodes in a partition or in all partitions, set the max_total_procs attribute in a specific node context or in the general Partition context.

[node0]
P(part0):: set max_total_procs=10[node0] P(part0):: 

You can set max_total_procs if you want to limit the load on a partition. By default, max_total_procs is unset.

The CRE does not impose any limit on the number of processes allowed on a node.

name

The name attribute is set when a partition is created. To change the name of a partition, set its name attribute to a new name.

[node0]
P(part0):: set name=part1[node0] P(part1):: 

See "Naming Partitions and Custom Attributes" for partition naming rules.

no_logins

To prohibit users from logging in to a partition, set the no_logins attribute.

[node0]
P(part1):: set no_logins[node0] P(part1):: 

no_mp_tasks

To prohibit multiprocess parallel jobs from running on a partition--that is, to make a serial partition, set the no_mp_tasks attribute.

[node0]
P(part1):: set no_mp_tasks[node0] P(part1):: 

nodes

To specify the nodes that are members of a partition, set the partition's nodes attribute.

[node0]
P(part1):: set nodes=node1[node0] P(part1):: show        set nodes = node1
        set enabled
[node0] P(part1):: 

The value you give the nodes attribute defines the entire list of nodes in the partition. To add a node to an already existing node list without retyping the names of nodes that are already present, use the + (plus) character.

[node0]
P(part1):: set nodes=+node2 node3[node0] P(part1):: show        set nodes = node0 node1 node2 node3
        set enabled
[node0] P(part1):: 

Similarly, you can use the - (minus) character to remove a node from a partition.

To assign a range of nodes to the nodes attribute, use the : (colon) syntax. This example assigns to part0 all nodes whose names are alphabetically greater than or equal to node0 and less than or equal to node3:

[node0]
P(part1):: set nodes = node0:node3[node0] P(part1):: 

Setting the nodes attribute of an enabled partition has the side effect of setting the partition attribute of the corresponding nodes. Continuing the example, setting the nodes attribute of part1 affects the partition attribute of node2:

[node0]
P(part1):: node node2[node0] N(node2):: show        set partition = part1
[node0] N(node2):: 

A node cannot be a member of more than one enabled partition. If you try to add a node that is already in an enabled partition, mpadmin returns an error message.

[node0]
P(part1):: show        set nodes = node0 node1 node2 node3
        set enabled
[node0] P(part1):: current part0[node0] P(part0):: set enabled[node0] P(part0):: set nodes=node1mpadmin: node1 must be removed from part1 before it
can be added to part0

Unsetting the nodes attribute of an enabled partition has the side effect of unsetting the partition attribute of the corresponding node.

Unsetting the nodes attribute of a disabled partition removes the nodes from the partition but does not change their partition attributes.

shmem_minfree

Use the shmem_minfree attribute to reserve some portion of the /tmp file system for non-MPI use.

For example, if /tmp is 1 Gbyte and shmem_minfree is set to 0.2, any time free space on /tmp drops below 200 Mbytes (1 Gbyte * 0.2), programs using the MPI shared memory protocol will not be allowed to run.

[node0]
P(part1):: set shmem_minfree=0.2

shmem_minfree must be set to a value between 0.0 and 1.0. When shmem_minfree is unset, it defaults to 0.1.

This attribute can be set on both nodes and partitions. If both are set, the node's shmem_minfree attribute overrides the partition's shmem_minfree attribute.