Technical data

Programming Release Notes
6.20 POSIX Threads Library
6.20.2 Dynamic CPU Configuration Changes
V7.3
Starting in OpenVMS Version 7.3, the POSIX Threads Library is sensitive to
dynamic changes in the number of CPUs that are configured for a running
multiprocessor Alpha system. When use of multiple kernel threads is enabled
(by way of the LINK/THREADS_ENABLE qualifier or the THREADCP command
verb) for an image, the POSIX Threads Library monitors the apparent parallelism
of an application and creates multiple kernel threads up to the number of CPUs
available. Each kernel thread can be scheduled by the OpenVMS executive to
execute on a separate CPU and, therefore, can execute simultaneously.
While an application is running, an operator can stop or start a CPU. Such a
dynamic change affects the allowable number of kernel threads that future image
activations can create. It also will now affect images that are currently executing.
When a CPU is added or removed, the threads library will query for the new
number of active CPUs, and compare this to the number of kernel threads that
the process is currently using. If there are now more CPUs than kernel threads,
the library will try to spread out the existing POSIX threads over the CPUs
(creating new kernel threads as needed, now or in the future). If there are now
fewer CPUs than kernel threads, the library will force the extra kernel threads
to hibernate, and will reschedule the POSIX threads onto the remaining kernel
threads. This will ensure that—so far as the process is concerned—there will not
be more kernel threads competing for CPU resources than are available.
6.20.3 Enhanced Debugging of Threaded Programs
V7.3
The POSIX Threads Library provides enhanced data collection capabilities to
support monitoring and debugging tools. These capabilities provide support for
Visual Threads, a new debugging and analysis tool for threaded programs on
OpenVMS Alpha systems. Visual Threads, which is licensed with OpenVMS
Version 7.3, provides monitoring, automatic debugging, and performance
evaluation of multithreaded applications. For more information about Visual
Threads, see the OpenVMS Version 7.3 New Features and Documentation
Overview.
6.20.4 POSIX 1003.4a Draft 4 Interface Retirement
V7.0
The POSIX 1003.4a, Draft 4 (or "d4") interface of the POSIX Threads Library is
slated for retirement in a future release. Applications that were written using the
POSIX 1003.4a, Draft 4 interface should be migrated to the new POSIX 1003.1c
standard (or "pthread") interface provided by the POSIX Threads Library. A
compatibility mode for the Draft 4 POSIX 1003.4a interface is provided in this
release to help ease migration. This compatibility mode will be removed in a
future release.
6–20 Programming Release Notes