SpyderByte.com: OpenVMS.org dba.OpenVMS.org dcl.OpenVMS.org de.OpenVMS.org fr.OpenVMS.org it.OpenVMS.org
   
Home Contribute News, Jobs, Press Releases, etc. Advertise on OpenVMS.org About/Contact Search News Archives
More Links
  • (Part 1)
  • Logical Names (Part 3) >>
  • << Logical Names (Part 1)
  • www.rlgsc.com
  • gezelter@rlgsc.com
  • Printer friendly version
    Share this story

    Navigation
    VMS Audio Network (VAN)
    Featured Articles
    Vendors
    Training
    Golden Eggs
    Help for VMS Beginners
    Documentation
    Developer Resources
    Books
    Commercial Software
    Open Source & Freeware
    OpenSource ported to VMS
    Resources
    FAQs/How-to
    Lists/Newsgroups/Forums
    Security Advisories & Info
    OpenVMS Patches
    The OpenVMS Consultant
    OpenVMS Advocacy
    30 Year Anniversary site

    Forums
     HP ITRC OpenVMS forum
     OpenVMS Hobbyist forums
     Usenet: comp.os.vms

    Mailing Lists
    OpenVMS.org Newsletter
    OpenVMS.org Alerts
    Rdb Managers

    Roadmaps
    OpenVMS Roadmap (2009)
    Itanium Roadmap
    HP Roadmaps (2002)
    BCS Roadmap FAQ (2002)
    Storage Roadmap FAQ (2002)


    OpenVMS.org Info
    OpenVMS.org Admin Staff:
    Ken Farmer, Ian Miller, Marty Kuhrt
    About
    Search OpenVMS.org
    News Archives
    Mobile Edition
    Submit News
    Advertising Information

    OpenVMS.org Websites

    Databases running on OpenVMS


    Digital Command Languauge


    French



    German


    Italian


     Upcoming Server Relocation Notice
    Updated: Friday, Apr 4, 2009 - I should have known better than to mention any dates or projected dates for the migration. Know this...preperations are being made to relocate the servers that host the OpenVMS.org sites. Downtime should not exceed 12+/- hours. I will give plenty of notice before the migration. -kf


    Latest News

    The OpenVMS Consultant: Logical Names (Part 2)
    Posted by Robert Gezelter on Thursday October 17 2002 @ 05:16PM EDT
    The previous column (Part 1) examined the basics of the OpenVMS logical name facility. This installment focusses on how applications use and misuse logical names.

    Logical names are used implicitly via Record Management Services (RMS); or explicitly via the $TRNLNM system service and associated run time library routines. Logical names can appear almost anyplace that a filename can appear; thus logical names potentially affect the opening of every file on an OpenVMS system. Iterative translation can be combined with differing user contexts to greatly leverage the logical name facility.

    Logical names provide great leverage, but like most leverage, can be mis-used, leading to poor performance and wasted resources. While today's systems often have greater resources than yesterday's, workloads are often correspondingly higher, supporting larger numbers of users with more complex and numerous tasks.

    Once, at a client site, I was asked to look at a "login performance" problem. What I found was several inter-related problems, some of which I will write about in later columns. However, the "login performance" was rather straightforward, and it also gave rise to an inefficient logical name structure.

    The first problem was that each user, when logging in, executed a common procedure which defined upwards of 40 logical names. Virtually every user created the exact same logical names, bit for bit. In this particular case, the involved users covered several different UIC groups, and the particular application was the primary use of the system (if the user community had been more diverse, I would have designed a slightly more sophisticated solution, with the same effect, but not imposing the overhead of more logical names on each user).

    Thus, each user's login command file referenced a common command file which contained a multitude of

    $ ASSIGN string logical-name

    commands, each one for a different logical name used by the application. A lexical function was used in some cases to generate the component of the logical name equivalence string which referred to the directory path.

    The first step could have been creating Group logical name tables (created and populated at system startup), however, the nature of the definitions permitted a different approach.

    I first modified the common procedure so that the names would be placed in the System logical name table, and invoked the command file at system startup; thus eliminating the need for the names to be defined for each user at the time of login. This noticeably shortened the time required to login. However, we were not finished. In actuality, not all of the groups were using the exact same logical names. Some groups were using parallel logical name structures, as shown below (one name used as an example without sacrificing generality):

    CommunityName Equivalence String
    Group ADATABASEDISK$DUCK1:[PRODUCTION.DATA]DATABASE.FIL
    Group BDATABASEDISK$DUCK1:[TESTING.DATA]DATABASE.FIL
    Group CDATABASEDISK$DUCK1:[SUBPRODUCTION.DATA]DATABASE.FIL

    Taking advantage of iterative translation, we were able to normalize all groups to use the common logical name:

    CommunityName Equivalence String
    Groups A, B, CDATABASEDATADISK:[DATA]DATABASE.FIL

    with different definitions for DATADISK contained in each Group logical name table.

    CommunityNameEquivalence String
    Group ADATADISKDISK$DUCK1:[PRODUCTION.]
    Group BDATADISKDISK$DUCK1:[TESTING.]
    Group CDATADISKDISK$DUCK1:[SUBPRODUCTION.]

    Thus, the multitude of translations actually depended on the particulars of the value of the DATADISK logical name contained in the Group logical name table. Thus when using the directory command, the results illustrate the efects of the iterative translations:

    Community Actual File Name
    for Group A DISK$DUCK1:[PRODUCTION.][DATA]DATABASE.FIL
    for Group B DISK$DUCK1:[TESTING.][DATA]DATABASE.FIL
    for Group C DISK$DUCK1:[SUBPRODUCTION.][DATA]DATABASE.FIL

    For a single logical name (DATABASE), the results are purely semantic. The payoff is the elimination of the duplicative names on a per-user basis, and the resulting conversion to a per incarnation of the application basis. As the late Senator Dirksen is reported to have said, “A million here, a million there, sooner or later it is real money”.

    If you have been counting, there are now a single copy of the application specific logical names, plus a single logical name in each Group logical name table to identify the particular directory tree, a substantial savings in memory space, login overhead, spawn overhead, and complexity.

    This is actually one of the simpler uses of the logical name facility. In our next installment, we will look at a more complex example.


    Next article in this series by Robert Gezelter:
    Logical Names (Part 3) >>

    Previous article in this series by Robert Gezelter:
    << Logical Names (Part 1)


    Biography:

    Robert Gezelter is the Founding Principal of the consulting firm that bears his name (www.rlgsc.com).

    The consulting practice emphasizes in-depth technical expertise in computer architectures, operating systems, networks, security, APIs, and related matters. Mr. Gezelter has worked with OpenVMS since the initial release of VAX/VMS in 1978.

    His clients have ranged from small businesses to the Fortune 10 locally, nationally, and internationally.

    He can be reached at gezelter@rlgsc.com.


    < Books: "Linux and OpenVMS Interoperability" now available | Siliconvalley.internet.com: Sun Slashing 11% of Jobs >



    ADVERTISEMENT:
    Sponsors


    The OpenVMS Consultant
    OpenVMS Consulting


    The Minimum You Need to Know book series
    Books by Roland Hughes


    Alpha and VAX Replacement
    StanQ.com



    Interested in Advertising? Click here...

    Friends of VMS
    Connect (HP User Community):
    Connect Home
    Connect Chapters
    Connect Special Interest Groups

    United Kingdom
    Canada
    Encompasserve
    OpenVMS Hobbyist
    More usergroups...
    Other Sites:
    Aaron's OpenVMS blog
    Alexey Chupahin
    Arne Vajhoej
    DJE Systems
    Dr OpenVMS blog
    Francesco Gennai
    Eight-Cubed blog
    Free OpenVMS Software
    Galen Tackett
    HoffmanLabs
    Hunter Goatley
    Ian Miller
    Itanium Solutions Alliance
    Jeff Cameron
    John Fisher
    Syltrem VMS Page (French)
    Kednos PL/I
    Keith Parris
    Migration Specialties
    MVB Freeware Archive
    OpenOffice Port to VMS
    OpenVMSPlanet.org
    OpenVMS Rocks
    Preatorian.net
    Retrobeep
    Steven M. Schweda
    SYSMGR Blog
    Trends That Matter
    VAMP (VMS, Apache, MySQL, PHP)
    VIM
    Vaxination
    Visio Cafe (HP Templates)
    VMSresource.org.uk
    XDelta
    Free VMS Accounts:
    Deathrow Public OpenVMS Cluster
    Encompasserve
    Polarhome
    Fafner
    Poetry Hacklab
    Marway.Org
    In Memory:
    John Wisniewski Memorial Site
    Terry Shannon Memorial Site


    OpenVMS Rings

    OpenVMS Webring

    Prev

    Random

    Next

    Prev5

    List

    Next5

    OpenVMS Gurus

    Prev

    Random

    Next

    Prev5

    List

    Next5




    Home About & Contact Search Archive Mobile Submit News Sponsorship & Advertising
         Copyright © 2001-2007 SCORSE, LLC
    OpenVMS® is a trademark of HP
    All other trademarks are those of their owners.
        
      SpyderByte.com ;Technical Portals