logical names: limits - VMS

This is a discussion on logical names: limits - VMS ; What are the logical-name limits, where are they documented and are there any plans to change them in the future? How many logical names can I define? Are the limits per table or shared or something else? What are the ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: logical names: limits

  1. logical names: limits

    What are the logical-name limits, where are they documented and are
    there any plans to change them in the future?

    How many logical names can I define? Are the limits per table or shared
    or something else? What are the limits on the amount of data in the
    translation(s) of these logical names?

    For symbols, there is CLISYMTBL. Logical names, of course, are more
    involved, but the gist is: what is CLISYMTBL for logical names?


  2. Re: logical names: limits

    In article , helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply) writes:
    >What are the logical-name limits, where are they documented and are
    >there any plans to change them in the future?
    >
    >How many logical names can I define? Are the limits per table or shared
    >or something else? What are the limits on the amount of data in the
    >translation(s) of these logical names?
    >
    >For symbols, there is CLISYMTBL. Logical names, of course, are more
    >involved, but the gist is: what is CLISYMTBL for logical names?
    >

    I think you are probably looking for the sysgen parameters

    LNMPHASHTBL

    LNMPHASHTBL sets the size of the process logical name hash table.
    Logical names are hashed using a function of the name length
    and contents. The LNMPHASHTBL parameter determines the number
    of entries for process-private logical names. The recommended
    setting is the average number of process-private logical names.
    Note that the hashed values are rounded up to the nearest power
    of 2.

    LNMPHASHTBL has the GEN attribute. On VAX systems, LNMPHASHTBL is
    also an AUTOGEN-altered parameter.

    and

    LNMSHASHTBL

    LNMSHASHTBL sets the size of the system logical name hash table.
    Logical names are hashed using a function of the name length
    and contents. The LNMSHASHTBL parameter determines the number
    of entries for shareable logical names. These names include all
    names from the system, group, and job logical name tables. The
    recommended setting allows one to four logical names per hash
    table entry. The default setting is usually adequate, unless
    your installation has a large number of groups, or many jobs are
    active simultaneously. In that case, an increase in the value of
    the next higher power of 2 might improve logical name translation
    performance. Note that the hashed values are rounded up to the
    nearest power of 2.

    LNMSHASHTBL has the AUTOGEN, FEEDBACK, and GEN attributes.


    The number of logical name entries in a job table is also controlled on a
    per-user level by the SYSUAF JTQUOTA parameter

    MODIFY

    /JTQUOTA

    /JTQUOTA=value

    Specifies the initial byte quota with which the jobwide logical
    name table is to be created. By default, the value is 4096 on VAX
    systems and 4096 on Alpha systems.


    David Webb
    Security team leader
    CCSS
    Middlesex University

  3. Re: logical names: limits

    On 3 Jun, 15:51, hel...@astro.multiCLOTHESvax.de (Phillip Helbig---
    remove CLOTHES to reply) wrote:
    > What are the logical-name limits, where are they documented and are
    > there any plans to change them in the future?
    >
    > How many logical names can I define? Are the limits per table or shared
    > or something else? What are the limits on the amount of data in the
    > translation(s) of these logical names?
    >
    > For symbols, there is CLISYMTBL. Logical names, of course, are more
    > involved, but the gist is: what is CLISYMTBL for logical names?



    process logical names are held in the process logcal p1 pool and the
    size of this is limited by some SYSGEN parameter I don't recall.

    shared local names are in paged pool. There is a quota in the username
    record for limiting job logical names. Group and system logical names
    are not limited except by the size of paged pool. You can create
    shared logical name tables that do have limits.

    Each logical name can have 128 values and each value can be 255
    bytes.
    http://h71000.www7.hp.com/doc/83FINA...ml#index_x_118


  4. Re: logical names: limits

    In article , david20@alpha2.mdx.ac.uk writes:
    >In article , helbig@astro.multiCLOTHESvax.de (Phillip Helbig---remove CLOTHES to reply) writes:
    >>What are the logical-name limits, where are they documented and are
    >>there any plans to change them in the future?
    >>
    >>How many logical names can I define? Are the limits per table or shared
    >>or something else? What are the limits on the amount of data in the
    >>translation(s) of these logical names?
    >>
    >>For symbols, there is CLISYMTBL. Logical names, of course, are more
    >>involved, but the gist is: what is CLISYMTBL for logical names?
    >>

    >I think you are probably looking for the sysgen parameters
    >
    > LNMPHASHTBL
    >
    > LNMPHASHTBL sets the size of the process logical name hash table.
    > Logical names are hashed using a function of the name length
    > and contents. The LNMPHASHTBL parameter determines the number
    > of entries for process-private logical names. The recommended
    > setting is the average number of process-private logical names.
    > Note that the hashed values are rounded up to the nearest power
    > of 2.
    >
    > LNMPHASHTBL has the GEN attribute. On VAX systems, LNMPHASHTBL is
    > also an AUTOGEN-altered parameter.
    >
    >and
    >
    > LNMSHASHTBL
    >
    > LNMSHASHTBL sets the size of the system logical name hash table.
    > Logical names are hashed using a function of the name length
    > and contents. The LNMSHASHTBL parameter determines the number
    > of entries for shareable logical names. These names include all
    > names from the system, group, and job logical name tables. The
    > recommended setting allows one to four logical names per hash
    > table entry. The default setting is usually adequate, unless
    > your installation has a large number of groups, or many jobs are
    > active simultaneously. In that case, an increase in the value of
    > the next higher power of 2 might improve logical name translation
    > performance. Note that the hashed values are rounded up to the
    > nearest power of 2.
    >
    > LNMSHASHTBL has the AUTOGEN, FEEDBACK, and GEN attributes.
    >
    >
    >The number of logical name entries in a job table is also controlled on a
    >per-user level by the SYSUAF JTQUOTA parameter
    >
    >MODIFY
    >
    > /JTQUOTA
    >
    > /JTQUOTA=value
    >
    > Specifies the initial byte quota with which the jobwide logical
    > name table is to be created. By default, the value is 4096 on VAX
    > systems and 4096 on Alpha systems.


    The LNM*HASHTBL SYSGEN params deal with the length of the hash table used
    to locate logical names for translation. Not a direct relationship to the
    CLISYMTBL parameter with respect to DCL symbols.

    Logical names (LNMB, LNMX, etc.) are carved from paged regions of memory
    depending upon whether or not they are process private or system/group.
    Limit-wise I believe you would be limited by the about of page pool re-
    sources available. The hash table length isn't a limiting factor. Their
    may be more hash table collisions with a short hash table with respect to
    the number of logicals defined. This would only affect the lookup time
    as they translation would require walking down a chain of LNMBs queued in
    hash table at the index computed by hashing the logical name string. The
    hash table algorithm is detailed in the OpenVMS I&DS (LNM$HASH). Rotate
    by 9 bits and XOR the next 4 bytes of the string until the end. Excess
    is treated by XORing byte by byte with a 13 bit rotate. The result is
    then multiplied by a value and normalized to the number of hash table
    entries for the index.


    --
    VAXman- A Bored Certified VMS Kernel Mode Hacker VAXman(at)TMESIS(dot)COM

    "Well my son, life is like a beanstalk, isn't it?"

    http://tmesis.com/drat.html

+ Reply to Thread