Technical data

System Management Features
4.4 Dedicated CPU Lock Manager (Alpha)
4.4 Dedicated CPU Lock Manager (Alpha)
The Dedicated CPU Lock Manager is a new feature that improves performance on
large SMP systems that have heavy lock manager activity. The feature dedicates
a CPU to performing lock manager operations.
A dedicated CPU has the following advantages for overall system performance as
follows:
Reduces the amount of MP_SYNCH time
Provides good CPU cache utilization
4.4.1 Implementing the Dedicated CPU Lock Manager
For the Dedicated CPU Lock Manager to be effective, systems must have a high
CPU count and a high amount of MP_SYNCH due to the lock manager. Use
the MONITOR utility and the MONITOR MODE command to see the amount
of MP_SYNCH. If your system has more than five CPUs and if MP_SYNCH is
higher than 200%, your system may be able to take advantage of the Dedicated
CPU Lock Manager. You can also use the spinlock trace feature in the System
Dump Analyzer (SDA) to help determine if the lock manager is contributing to
the high amount of MP_SYNCH time.
The Dedicated CPU Lock Manager is implemented by a LCKMGR_SERVER
process. This process runs at priority 63. When the Dedicated CPU Lock
Manager is turned on, this process runs in a compute bound loop looking for
lock manager work to perform. Because this process polls for work, it is always
computable; and with a priority of 63 the process will never give up the CPU,
thus consuming a whole CPU.
If the Dedicated CPU Lock Manager is running when a program calls either
the $ENQ or $DEQ system services, a lock manager request is placed on a
work queue for the Dedicated CPU Lock Manager. While a process waits for a
lock request to be processed, the process spins in kernel mode at IPL 2. After
the dedicated CPU processes the request, the status for the system service is
returned to the process.
The Dedicated CPU Lock Manager is dynamic and can be turned off if there are
no perceived benefits. When the Dedicated CPU Lock Manager is turned off, the
LCKMGR_SERVER process is in a HIB (hibernate) state. The process may not
be deleted once started.
4.4.2 Enabling the Dedicated CPU Lock Manager
To use the Dedicated CPU Lock Manager, set the LCKMGR_MODE system
parameter. Note the following about the LCKMGR_MODE system parameter:
Zero (0) indicates the Dedicated CPU Lock Manager is off (the default).
A number greater than zero (0) indicates the number of CPUs that should be
active before the Dedicated CPU Lock Manager is turned on.
Setting LCKMGR_MODE to a number greater than zero (0) triggers the creation
of a detached process called LCKMGR_SERVER. The process is created, and
it starts running if the number of active CPUs equals the number set by the
LCKMGR_MODE system parameter.
4–4 System Management Features