[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference clt::cma

Title:DECthreads Conference
Moderator:PTHRED::MARYSTEON
Created:Mon May 14 1990
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1553
Total number of notes:9541

1049.0. "OpenVMS kernel thread/DECthreads info sought..." by MAHONE::DMCWEENEY (better to burn out than fade away...) Tue Jan 31 1995 09:51

T.RTitleUserPersonal
Name
DateLines
1049.1Kernel Threads High PointsDCETHD::SCALESDespair is appropriate and inevitable.Tue Jan 31 1995 11:5584
1049.2I like it !!AUSSIE::BELLCharitas Patiens estTue Jan 31 1995 20:506
1049.3Kernel threads in OpenVMS 7.nUCXAXP::TIBBERTLee Tibbert, DTN 226-6115Tue Jan 30 1996 08:5017
1049.4DCETHD::BUTENHOFDave Butenhof, DECthreadsTue Jan 30 1996 11:0512
1049.5Kernel threads in OpenVMS V7.0!WTFN::SCALESDespair is appropriate and inevitable.Tue Jan 30 1996 15:5633
1049.6Real questionUCXAXP::TIBBERTLee Tibbert, DTN 226-6115Wed Jan 31 1996 16:1813
1049.7March/JuneDCEIDL::BERGWed Feb 07 1996 07:508
1049.8SYSGEN MULTITHREAD 16 -> only 1 kernel threadCSC32::D_SANFORDFri Apr 04 1997 01:0726
    Customer is attempting to run a multithreaded application on a single
    CPU.  Only one kernel thread is being created to run the application.

    SYSGEN MULTITHREAD is set to 16 which should allow creation of up to 
    16 virtual processors for kernel thread creation.

    RE: .5

      The number it is set to is the upper bound on the number of kernel 
      threads that your processes can create.  It should be set to the number 
      of processors on your system.  You can set it higher if you like, but 
      (except for one arcane case) I have yet to hear a good argument for 
      having more kernel threads than processors.

    Customers just naturally try to do anything you shouldn't do, then
    blame Digital later.

    This reply also mentions a logical name, PTHREAD_CONFIG, and a
    "vp-count" is this the reason he is not getting more than one
    kernel?  If yes, where would I refer the customer for more
    information on this?  Can you provide a sample definition of this
    logical here?

    Regards, Drew Sanford
    Customer Support Center
    C970403-3176
1049.9DCETHD::BUTENHOFDave Butenhof, DECthreadsFri Apr 04 1997 07:2327
Aside from the potential of provoking a slightly different variety of
"unexpected" concurrency, for TESTING purposes, there is no advantage to
setting MULTITHREAD higher than the number of processors. In fact, for
production code, it's a disadvantage, resulting in unproductive scheduling
overhead.

For DECthreads, the setting of MULTITHREAD is a limit, not a goal. We create
the number of virtual processors that will be useful to the process -- the
number of physical processors (assuming the setting of MULTITHREAD allows us
to create that many). The undocumented (and unsupported) vp-count
configuration option can cause DECthreads to create more virtual processors
than there are physical processors -- but that is hardly ever useful, much
less necessary.

>    Customers just naturally try to do anything you shouldn't do, then
>    blame Digital later.

They're welcome to set MULTITHREAD to anything they want. But saying that
their system has 16 processors doesn't make it so -- any more than saying it
has 1024 Terabytes of physical memory would make it so. Without 16 physical
processors, they shouldn't expect any code to make use of all 16. If they
want to "blame" us for anything, it should be that they were allowed to set a
SYSGEN parameter to a nonsensical value. More realistically, they should be
happy that we didn't allow the nonsensical value to harm their application
performance!

	/dave
1049.10It's unsupported.WTFN::SCALESDespair is appropriate and inevitable.Fri Apr 04 1997 13:3818
Drew, you didn't mention which version the customer is running...  (It does
sort of matter.)

On V7.1, unless customer uses the proper linker qualifier (or other means),
he'll never get more than one kernel thread, regardless.

Assuming he's doing everything right, then in order to get more kernel
threads than there are processors, as Dave said, the customer would have to
use an undocumented, unsupported hook which is intended for testing and
debugging DECthreads itself and which is not intended for customer use.

We'd rather not publicize this mechanism, because, as Dave said, there is
precious little reason for the customer to need it and we have to avoid at
all costs the customer developing a dependency on it (since it could change
at any time, and it is unsupported).


					Webb
1049.11SYSGEN MULTITHREAD limits threads <= actual CPU'sCSC32::D_SANFORDFri Apr 04 1997 21:4911
    Re: .9/.10

    Thank you for explaining that.  The customer does not need to know
    how to use the test environment.  Just knowing you can set MULTITHREAD
    to any number you want, but you don't get more than the actual CPU's
    you have explains it.
    
    I guess if you had 8 CPU's you could use it to set the maximum
    to say 4 and only have 4 kernels.
    
    -drew