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.
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 |
---|---|---|
Boolean |
Set if the partition is enabled, that is, if it is ready to accept logins or jobs. |
|
Value |
Maximum amount of shared memory allowed to be locked down by MPI processes (in Kbytes). |
|
Value |
Maximum number of simultaneously running processes allowed on each node in the partition. |
|
Value |
Minimum amount of shared memory that may not be locked down by MPI processes (in Kbytes). |
|
Value |
Name of the partition. |
|
Boolean |
Disallow logins. |
|
Boolean |
Disallow multiprocess parallel jobs. |
|
Value |
List of nodes in the partition. |
|
shmem_minfree |
Value |
Fraction of swap space kept free for non-MPI use |
Set the enabled attribute to make a partition available for use.
By default, the enabled attribute is not set when a partition is created.
You should not change these partition attributes. See "max_locked_mem and min_unlocked_mem" for a description of their effects.
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.
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.
To prohibit users from logging in to a partition, set the no_logins attribute.
[node0] P(part1):: set no_logins[node0] P(part1)::
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)::
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.
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.