miser(4) miser(4)
NAME
miser - configuration files
DESCRIPTION
The configuration of the miser(1) Queues defines the resources allocated
to the miser system. The configuration of miser(1) involves two steps.
The first is to enumerate all the queues that will be part of the
miser(1) system, and the second is to define the queues. The enumeration
of the queues is done in the miser configuration file. The definition of
the queues is done in the queue definition files.
Every miser(1) system requires that a system queue be defined. The system
queue definition defines the maximum resources available to any other
queue's definition.
MISER CONFIGURATION FILE
The miser configuration file is a list of the queue names and the
location of each queue definition file.
QUEUE system /usr/local/miser/config.system
QUEUE physics /usr/local/miser/config.physics
SUMMARY
Every miser configuration file must include a definition for the system
queue. The system queue is identified by the queue name "system".
Commands are newline terminated, characters following the comment
delimiter are '#' are ignored, and case matters.
The valid tokens are
QUEUE [qname] [file pathname]
The queue name is used to identify the queue when using any
interface to miser. The queue name must be between 1 and 8
characters long. The queue name system is used to designate the
system queue.
QUEUE DEFINITION FILE
The queue definition file consists of a header specifying the policy of
the queue, the number of resource segments and the quantum used by the
queue. If the quantum of any queue is different from the system queue
quantum, the queue definition file is rejected.
EXAMPLE
# This queue definition file defines a queue using the policy named
# "default", has a quantum of 20 seconds, and has 3 elements to the
# vector definition. The start and end times of each tuple are in
# quanta not in seconds. The first segment defines a resource
# tuple begining at 00:00 and ending at 00:50 with 50 CPUs and
# 100 megabytes of memory.
Page 1
miser(4) miser(4)
# The second segment defines a resource tuple begining 00:51.67
# and ending at 01:00 with 50 CPUs and 100 megabytes. The third
# segment defines a resource tuple begining at 01:02.00 and ending
# at 01:03.33 also with 50 CPUs and 100 megabytes of memory.
POLICY default
QUANTUM 20
NSEG 3
SEGMENT
START 0
END 150
NCPUS 50
MEMORY 100m
SEGMENT
START 155
END 185
NCPUS 50
MEMORY 100m
SEGMENT
START 186
END 190
CPU 50
MEMORY 100m
SUMMARY
Commands are newline terminated, characters following the comment
delimiter are '#' are ignored, and case matters.
Each new segment must begin with the token SEGMENT and must have the
number of CPUs, memory and wall clock time specified at a minimum.
The valid tokens are
POLICY name
The name of the policy that will be used to schedule applications
submitted to the queue. Currently, the only valid policy is named
"default".
QUANTUM time
The size of the quantum. The time is specified in seconds.
NSEG number
The number of resource segments.
SEGMENT
Defines the beginning of a new segment of the vector definition.
Page 2
miser(4) miser(4)
START number of quanta from 0
The number of quanta from 0 (defined to be CTU) that the segment
begins at.
END number of quanta from 0
The number of quanta from 0 (defined to be CTU) that the segment
ends at.
NCPUS number of CPUs
The number of CPUs.
MEMORY amount of memory
The amount of memory, specified by an integer followed by an
optional unit of k for kilobyte, m for megabyte, and g for gigabyte.
If no unit is specified then the value is treated as byte.
For all the examples, the machine has 12 CPUs and 160MB memory.
EXAMPLE 1 A machine dedicated to batch scheduling with one queue, 24
hours a day. "
First System Queue must be defined. The length of the system queue
defines the maximum duration of any job submitted to the system. For this
system the maximum duration for any one job can be 48 hours, so the
system vector is defined to have a duration of 48 hours.
#The system queue /usr/local/miser/system
POLICY none # System queue has no policy
QUANTUM 20 # Default quantum set to 20 seconds
NSEG 1
SEGMENT
NCPUS 12
MEMORY 160m
START 0
END 8640 # Number of quanta (48h*60min*60sec/20)
Next a user queue needs to be defined.
#The user queue /usr/local/miser/physics
POLICY default
QUANTUM 20 # Default quantum set to 20 seconds
NSEG 1
SEGMENT
NCPUS 12
MEMORY 160m
START 0
END 8640 # Number of quanta (48h*60min*60sec/20)
Page 3
miser(4) miser(4)
Finally a miser configuration file must be created.
#MISER config file
QUEUE system /usr/local/miser/system
QUEUE physics /usr/local/miser/physics
EXAMPLE 2 A machine dedicated to batch scheduling, 24 hours a day
and is shared between two user groups."
Suppose we have 2 user groups, chemistry and physics. Suppose the
machine must be divided between them, in a ratio of 66% for physics
and 33% for chemistry.
The system queue is identical to the one in EXAMPLE 1.
#The physics queue /usr/local/miser/physics
POLICY default
QUANTUM 20 # Default quantum set to 20 seconds
NSEG 1
SEGMENT
NCPUS 8
MEMORY 120m
START 0
END 8640 # Number of quanta (48h*60min*60sec/20)
Now the chemistry queue:
#The chemistry queue /usr/local/miser/chemistry
POLICY default
QUANTUM 20 # Default quantum set to 20 seconds
NSEG 1
SEGMENT
NCPUS 4
MEMORY 40m
START 0
END 8640 # Number of quanta (48h*60min*60sec/20)
To restrict access to each queue, the user groups physics and
chemistry are created. The permissions on the physics queue
definition file are set to execute ONLY for group physics and
the permissions on the chemistry queue definition are set to
execute only for group chemistry.
Finally, the miser configuration file must be created:
#MISER configuration file
QUEUE system /usr/local/miser/system
QUEUE physics /usr/local/miser/physics
Page 4
miser(4) miser(4)
QUEUE chem /usr/local/miser/chemistry
EXAMPLE 3 The machine is dedicated to TS in the morning but
to batch in the evening. The evening is 8pm - 4am and the
morning is 4am to 8pm."
This is the same example discussed in
miser(1).
First the system queue is defined.
#System queue
POLICY none # System queue has no policy
QUANTUM 20 # Default quantum set to 20 seconds
NSEG 2
SEGMENT
NCPUS 12
MEMORY 160
START 0
END 720 # (4h * 60m * 60s) / 20
SEGMENT
NCPUS 12
MEMORY 160
START 3600 # 8pm is 20hours from CTU, so (20h * 60m * 60s) / 20
END 4320
Next, the batch queue is defined.
#User queue
POLICY default
QUANTUM 20 # Default quantum set to 20 seconds
NSEG 2
SEGMENT
NCPUS 12
MEMORY 160
START 0
END 720 # (4h * 60m * 60s) / 20
SEGMENT
NCPUS 12
MEMORY 160
START 3600 # 8pm is 20hours from CTU, so (20h * 60m * 60s) / 20
END 4320
Page 5
miser(4) miser(4)
SEE ALSO
miser(5), miser(1), miser_submit(1), miser_jinfo(1), miser_qinfo(1),
miser_move(1), miser_reset(1).
Page 6