HP-UX 11i June 2004 Release Notes
Process, Threads, Memory, and Kernel Parameters
Kernel Threads vs. CMA Threads
Chapter 10
217
Kernel Threads vs. CMA Threads
new at 11i
original release
The CMA threads (libcma) package, which is POSIX P1003.1a (Draft 4) compliant, is
based on Concert Multi Thread Architecture (CMA). CMA is a user-level threads
package in which thread scheduling and synchronization are handled within the user
space without the kernel's assistance.
CMA threads have been deprecated (slated for future obsolescence) at HP-UX 11i. This
development environment will not be shipped in a future HP-UX release. Also, there is
no plan to release native Itanium CMA threads on Itanium-based platforms.
Therefore, HP now strongly recommends that you use the currently supported kernel
threads libraries and development tools. Thus, applications using CMA threads should
start migrating to kernel threads.
Multi-threading is also supported in the HP-UX kernel at 11i and is known as kernel,
POSIX or 1x1 threads. This kernel threads implementation, libpthread, is compliant
with the approved POSIX 1003.1c (POSIX.1-1996 Draft 10) standard and will be
replacing the CMA threads package.
The kernel threads implementation allows the application to take advantage of multiple
processors in the system to parallelize execution of threads.
Compatibility Issues
It is expected that all existing CMA applications will continue to run on future releases.
However, CMA applications may have to be ported to HP-UX POSIX threads in future
releases, including those supporting Itanium, as there are differences in certain APIs
between CMA threads and HP-UX POSIX threads.
As a POSIX standard, the kernel thread implementation facilitates better application
portability on to POSIX-compliant vendor platforms.
Documentation
A white paper Porting DCE Threads Programs to HP-UX 11.0 POSIX Threads is
available to help move from CMA threads to kernel threads
(http://h21007.www2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,17
01,970,00.html). The HP-UX Software Transition Kit (STK) for 11.0/11.x/Itanium is
also available (http://devresource.hp.com/STK/) for assistance. The STK contains
documents that explain how to perform a source code or system transition. For more
information see http://devresource.hp.com/STK/toc_trans.html.