[Return to Bookshelf] [Contents] [Previous Section] [Next Section] [Index] [Help]


B.12.1 DECthreads Virtual Processors

Virtual processors are created as they are needed by the application. The number of virtual processors that DECthreads creates is limited by the SYSGEN parameter MULTITHREAD. This parameter is typically set to the number of processors that reside in the system. In general, there is no reason to create more virtual processors than there are physical processors. The virtual processors would contend with each other for the physical processors and cause unnecessary overhead. Regardless of the value of the MULTITHREAD parameter, DECthreads will create no more virtual processors than there are user threads (excluding DECthreads internal threads).

DECthreads does not delete virtual processors or let them terminate. They are retained in an idle (HIB) state until they are needed again. During image-rundown, they are deleted by OpenVMS.

The DECthreads scheduler may schedule any user thread onto any virtual processor. Therefore, a user thread may run on different kernel threads at different times. Normally, this should pose no problem. However (for example), a user thread's PID (as retrieved by querying the system) may change from time to time.