Dynamic Load Balancer Plustm


Previous Contents Index


Appendix E
Resources Used by DLB Plus

E.1 Resources Used by DLB Plus

Note

DLB Plus requires a BYTLM quota of at least 50000 and a PGFLQUO of at least 35000.

The DLB Plus distribution directory contains less than 12,000 blocks of disk space. The distribution directory includes all of the files required for both OpenVMS 5.x and OpenVMS 6.x. When the DLBPLUS_STARTUP procedure is executed, it selects the files needed for your version of OpenVMS. In addition, various files helpful to TTI's support people are included in the directory.

The DLB Plus analyzer uses about three blocks of disk space for every ten OpenVMS locks. This data space is used to contain file lock detail information.

DLB Plus uses the system logical TTI_DLB to store the location of the DLB Plus package. This logical is created by the DLBPLUS_STARTUP.COM command file.

Table E-1 DLB Defined Logicals
DLB_OPTIONS DLBP performance options
DLB_PROCESS_PID DLBP process ID
DLB_STATUS_INFO DLBP internal status information
DLB_SYSBUF_ADDR DLBP internal system buffer address
DLBP_VERSION Product version

Note

Do not deassign or change the contents of the DLB_SYSBUF_ADDR logical. Changes to this logical results in the loss of about 10,000 bytes of NPAGEDYN. The lost bytes will not be reacquired until the system is rebooted.

E.2 Resources Used by the Fragmentation Prevention Feature

Fragmentation prevention runs as a detached process. Fragmentation prevention also includes a pseudo device driver. This driver uses less than 5000 bytes of NPAGEDYN. In addition, about 50,000 bytes of NPAGEDYN are used for parameter and statistics buffers.

Because fragmentation prevention can dynamically control the window-size that a given file uses, we recommend a BYTLM of at least 50000.

Fragmentation prevention uses the system logical TTI_DLB to store the location of the feature. This logical is created by the start up command file.

The following logicals are used internally by fragmentation prevention:

Table E-2 Fragmentation Prevention Defined Logicals
CD_PID PID of the fragmentation prevention detached process
CD_STATUS Status of the last fragmentation prevention startup


Appendix F
An Installation Example

The following is an example of the installation of DLB Plus on a VAX or Alpha computer system:


        Username:  SYSTEM 
        Password:  (the system password) 
 
 
        $ CREATE/DIRECTORY SYS$SYSDEVICE:[TTI_DLBPLUS] 
        $ SET DEFAULT SYS$SYSDEVICE:[TTI_DLBPLUS] 
        $ DIRECTORY 
           No files found. 
        $ ALLOCATE MSA0: 
        _MSA0: allocated 
        $ MOUNT MSA0:/FOREIGN 
        Volume is write locked 
        DLBP mounted on _MSA0: 
        $ BACKUP/LOG MSA0:dlb *.*/NEW_VERSION/VERIFY 
                .
                .
                .
        $ DISMOUNT MSA0:        
        $ DEALLOCATE MSA0: 
 
        (one of the start up commands is issued here - see following) 
 
        $ log 
         SYSTEM       logged out at 01-MAY-1995 09:50:59.95 

F.1 Start Up Commands

Both DLB Plus and fragmentation prevention can be started up at the same time. They can also be started up separately. The following shows the start up commands that can be used and the informational text that is displayed when a startup command is issued.

Note

The *.EXE files are linked the first time DLP Plus and/or fragmentation prevention are started up.

Command to Start Up Both DLB Plus and fragmentation prevention


        $ @DLBPLUS_STARTUP CD
 
        Dynamic Load Balancer Plus (Version 4.1) - DLB Plus Startup 
        Copyright (c) 1991-1996 Touch Technologies, Inc. 
 
        [ Linking DLB_DISPLAY_V61.EXE ] 
        [ Linking DLB_STARTUP_V61.EXE ] 
        [ Linking DLB_STATUS_V61.EXE ] 
        [ Linking DLB_V61.EXE ] 
        [ Linking DLBP_GATHER_V61.EXE ] 
        [ Linking DLBP_BLOCKED_V61.EXE ] 
        [ Linking DLBP_CHECK_LMF_V61.EXE ] 
        [ Linking CD_CONTROL_SHR_V61.EXE ] 
        [ Linking CD_SERVER_V61.EXE ] 
        [ Linking CD_CONTROL_V61.EXE ] 
        [ Linking CDDDRIVER_V61.EXE ] 
 
 
         DLB - Dynamic Load Balancer - Startup Utility 
 
        Dynamic Load Balancer, Copyright (c) 1991-1996 Touch Technologies, Inc. 
 
        %RUN-S-PROC_ID, identification of created process is 20E0069C 
 
        Starting DLB Plus CleanDisk... 
        %RUN-S-PROC_ID, identification of created process is 20E0059D 
        DLB Plus CleanDisk startup completed 
 
        DLB Plus startup completed 
        $ 

Command to Start Up Only DLB Plus


        $ @DLBPLUS_STARTUP
 
        Dynamic Load Balancer Plus (Version 4.1) - DLB Plus Startup 
        Copyright (c) 1991-1996 Touch Technologies, Inc. 
 
        [ Linking DLB_DISPLAY_V61.EXE ] 
        [ Linking DLB_STARTUP_V61.EXE ] 
        [ Linking DLB_STATUS_V61.EXE ] 
        [ Linking DLB_V61.EXE ] 
        [ Linking DLBP_GATHER_V61.EXE ] 
        [ Linking DLBP_BLOCKED_V61.EXE ] 
        [ Linking DLBP_CHECK_LMF_V61.EXE ] 
        [ Linking CD_CONTROL_SHR_V61.EXE ] 
        [ Linking CD_SERVER_V61.EXE ] 
        [ Linking CD_CONTROL_V61.EXE ] 
        [ Linking CDDDRIVER_V61.EXE ] 
 
 
         DLB - Dynamic Load Balancer - Startup Utility 
 
        Dynamic Load Balancer, Copyright (c) 1991-1996 Touch Technologies, Inc. 
 
        %RUN-S-PROC_ID, identification of created process is 20E0089E 
        $ 

Command to Start Up Only Fragmentation Prevention


        $ @DLBPLUS_STARTUP CD_ONLY
 
        Dynamic Load Balancer Plus (Version 4.1) - DLB Plus Startup 
        Copyright (c) 1991-1996 Touch Technologies, Inc. 
 
        [ Linking DLB_DISPLAY_V61.EXE ] 
        [ Linking DLB_STARTUP_V61.EXE ] 
        [ Linking DLB_STATUS_V61.EXE ] 
        [ Linking DLB_V61.EXE ] 
        [ Linking DLBP_GATHER_V61.EXE ] 
        [ Linking DLBP_BLOCKED_V61.EXE ] 
        [ Linking DLBP_CHECK_LMF_V61.EXE ] 
        [ Linking CD_CONTROL_SHR_V61.EXE ] 
        [ Linking CD_SERVER_V61.EXE ] 
        [ Linking CD_CONTROL_V61.EXE ] 
        [ Linking CDDDRIVER_V61.EXE ] 
 
        Starting DLB Plus CleanDisk... 
        %RUN-S-PROC_ID, identification of created process is 20E0099F 
        DLB Plus CleanDisk startup completed 
 
        DLB Plus startup completed 
        $ 


Appendix G
An Example of Using AUTOGEN

The following is an example of making changes to SYS$SYSTEM:MODPARAMS.DAT and then running the Digital supplied SYS$UPDATE:AUTOGEN.COM.

Example G-1 Editing MODPARAMS.DAT and using AUTOGEN to change SYSGEN parameters

Username: SYSTEM 
Password: 
    Last interactive login on Friday,  1-SEP-1995 16:29 
    Last non-interactive login on Saturday, 2-SEP-1995 17:34 
 
 
$ SET DEFAULT SYS$SYSTEM 
$ EDIT MODPARAMS.DAT 
     . 
     . ! move to the bottom of the file 
     . 
MPW_HILIMIT     = (MEMSIZE*15)/100      ! change for DLB Plus 
MPW_WAITLIMIT   = MPW_HILIMIT           ! change for DLB Plus 
     . 
     . ! exit from the editor 
     . 
$ @SYS$UPDATE:AUTOGEN GETDATA SETPARAMS 
     . 
     . 
     . 
$ @SYS$SYSTEM:SHUTDOWN 
 SHUTDOWN -- Perform an Orderly System Shutdown 
How many minutes until final shutdown [0]: 0 
Reason for shutdown [Standalone]: 
Do you want to spin down the disk volumes [NO]? 
Do you want to invoke the site-specific shutdown procedure [YES]? 
Should an automatic system reboot be performed [NO]? YES 
When will the system be rebooted [shortly via automatic reboot]: 
Shutdown options (enter as a comma-separated list): 
 REMOVE_NODE         Remaining nodes in the cluster should adjust quorum 
 CLUSTER_SHUTDOWN    Entire cluster is shutting down 
 REBOOT_CHECK        Check existence of basic system files 
 SAVE_FEEDBACK       Save AUTOGEN feedback information from this boot 
 
Shutdown options [NONE]: 
     . 
     . ! The system is shutdown...and then rebooted by OpenVMS 
     . 


Appendix H
SYSGEN Parameters and DLB Plus Usage

DLB Plus changes a number of DYNAMIC SYSGEN parameters. Changes to DYNAMIC parameters take effect while OpenVMS is running. DLB Plus changes DYNAMIC parameters in order to tune the system for optimum performance.

The following is a list of the SYSGEN parameters dynamically changed by DLB Plus.

H.1 Parameters

H.1.1 AWSTIME

Description:

The automatic working set list adjustment time in ten millisecond units. Every time a process consumes AWSTIME of CPU resources, its working set list (WSL) is eligible for adjustment.

DLB Plus Usage:

As DLB Plus adjusts QUANTUM, it also adjusts AWSTIME to speed up working set list adjustment.

H.1.2 IOTA

Description:

The amount of time in ten millisecond units charged against QUANTUM when a process voluntarily goes into a wait state.

DLB Plus Usage:

DLB Plus adjusts this parameter continuously based on the value of QUANTUM.

H.1.3 MPW_LOWAITLIMIT

Description:

The writing of modified pages to pagefiles stops when the modified list contains MPW_LOWAITLIMIT pages.

DLB Plus Usage:

DLB Plus adjusts MPW_LOWAITLIMIT in order to reduce I/O operations to pagefiles and to reduce process page faulting.

H.1.4 MPW_THRESH

Description:

When OpenVMS is short on memory, if the current size of the modified page list is above this value, OpenVMS flushes the modified page list.

DLB Plus Usage:

Set to MPW_HILIMIT+1 at DLB Plus startup. Not adjusted thereafter. This prevents OpenVMS from flushing the modified page list when memory is scarce. The modified page list is still flushed if, even after swapping processes, memory is still scarce.

H.1.5 PFRATH

Description:

If the number of process page faults in a 10-second period exceeds this value, OpenVMS may increase the process working set list.

DLB Plus Usage:

PFRATH is reduced by DLB Plus in order to encourage processes to use whatever memory resources they require.

H.1.6 PFRATL

Description:

If the number of process page faults in a 10-second period is less than this value and WSDEC is greater than zero, OpenVMS decreases the process working set list.

DLB Plus Usage:

Set to zero at DLB Plus startup. This turns off OpenVMS automatic working set list decrementing so that DLB Plus can better control memory resources.

H.1.7 PQL_MPGFLQUOTA

Description:

Used by OpenVMS to control the minimum allowable writable virtual address space for each process on the system.

DLB Plus Usage:

When making changes to PQL_MWSEXTENT, the value of PQL_MPGFLQUOTA must also be increased. Otherwise, some Digital supplied utilities (such as the SORT package) will fail.

H.1.8 PQL_MWSEXTENT

Description:

Used by OpenVMS to control the minimum allowable working set extent size for each process on the system.

DLB Plus Usage:

PQL_MWSEXTENT is increased by DLB Plus in order to encourage processes to use whatever memory resources they require.

H.1.9 MMG_CTLFLAGS

Description:

Used by OpenVMS to control a number of optional memory reclamation characteristics.

DLB Plus Usage:

Adjusted by DLB Plus at startup. Not adjusted thereafter. The value DLB Plus sets MMG_CTLFLAGS to turns off the Digital supplied memory reclamation system.

H.1.10 QUANTUM

Description:

The time, in ten millisecond units, a process may run before it gets rescheduled, assuming it is not preempted by another process running at a higher priority.

DLB Plus Usage:

DLB Plus adjusts QUANTUM continuously based on CPU load.

H.1.11 RSRVPAGCNT

Description:

For each process, controls the number of pages reserved in a given page file. Is also a factor in the distribution of modified pages to multiple page files.

DLB Plus Usage:

Increased by DLB Plus at startup. Not adjusted thereafter. The value DLB Plus sets RSRVPAGCNT to results in a more balanced distribution of modified pages written to pagefiles.

H.1.12 SWPOUTPGCNT

Description:

The number of pages the SWAPPER attempts to reduce a working set to before starting an outswap of a process.

DLB Plus Usage:

Decreased by DLB Plus at startup. Not adjusted thereafter. The value DLB Plus sets SWPOUTPGCNT to results in fewer hard page faults when processes are swapped into memory.

H.1.13 WSINC

Description:

The number of pages to increase the working set list size by during automatic working set adjustment.

DLB Plus Usage:

Increased to a value that minimizes the probability of working set list oscillation. In addition, this increase encourages processes to use whatever memory resources they require.


Appendix I
Answers to Commonly Asked Questions

I.1 DLB Plus Questions and Answers

I.1.1 Determining I/O Counts and Rates

Question: How does DLB Plus determine I/O counts and I/O rates?

Answer: OpenVMS keeps in system memory the total I/O read and write counts for each open file. DLB Plus externalizes this information, writing it into a database. In order to determine I/O rates, DLB Plus performs two samples. The difference in I/O counts divided by the elapsed time between the two samples is the I/O rate in seconds.

I.1.2 I/O Rates Consolidated across Nodes

Question: Do I/O rates consolidate across nodes?

Answer: Yes, in those reports where it makes meaningful sense to do so.

I.1.3 Measuring the Success of RMS Global Buffering

Question: How do I know if setting global buffering on a file helps to reduce the file's I/O rates?

Answer: Watch the DLB Plus reports. As you increase global buffering on a file, the read I/O count decreases until no more buffering is needed. If you are on OpenVMS 5.x, you can also set statistics on the file and use the Digital provided MONITOR RMS command.

I.1.4 DLB Plus Data Directory

Question: Should only one directory contain DLB Plus samples?

Answer: Yes, in most cases using a single directory for all samples works best. This allows DLB Plus to perform meaningful across-node consolidations.

I.1.5 Report Generation

Question: When generating a DLB Plus report there is a difference between records read and records selected. Why is this?

Answer: When sampling the system, DLB Plus creates two sample records for each file open. This is so I/O rates can be calculated. During report generation, the first of the two sample records is skipped. In addition, OpenVMS internal files information is skipped if you didn't ask for it.

I.1.6 Applications and Processes

Question: Will I benefit from using DLB Plus even though I have only one application running on my system?

Answer: Yes. DLB Plus looks at the number of processes on your system, not the number of applications.

I.1.7 DLB Plus and I/O EXPRESS Memory Usage

Question: Will DLB Plus take memory away from I/O EXPRESS?

Answer: No. DLB Plus cannot take memory away from I/O EXPRESS, because the part of I/O EXPRESS that uses memory is a device driver and not a process. With the proper I/O EXPRESS settings, DLB Plus greatly enhances the effectiveness of I/O EXPRESS.

I.1.8 Swapping Processes

Question: Does DLB Plus swap processes?

Answer: No, DLB Plus is not a swapper. DLB Plus trims memory from memory-rich processes and makes that memory available to memory-poor processes.

I.1.9 Full Page Files

Question: What does it mean that my page file header is full, when trying to extend my page file?

Answer: "Page file header full" means that your page file is badly fragmented. To fix a badly fragmented page file, you can either purchase a defragmenter, or BACKUP and RESTORE the fragmented disk. In either case, you need to defragment your disk in order to expand the size of your page file.

I.1.10 Extending Page Files

Question: What are the consequences of not extending my page file to equal 2 x the total number of physical pages? Will DLB Plus still run?

Answer: DLB Plus stills run if your page file has not been extended. However, by not extending your page file, your page file may later become full. A full page file causes all processes using that particular page file to be placed in a resource wait state.

I.1.11 Global Pages

Question: Does DLB Plus use any global pages?

Answer: No, DLB Plus does not use any global pages.

I.1.12 Memory Reclamation Facility Conflicts

Question: Will the Digital Memory Reclamation Facility conflict with DLB Plus's Memory Reclamation Facility?

Answer: No, DLB Plus turns off the new Digital Memory Reclamation Facility. DLB Plus's method of reclaiming memory is much more precise than Digital's method. DLB Plus's memory reclamation is based on page fault rate. Both the current page fault rate and past paging rates are considered. Digital's method relies only on CPU time used as a basis for reclaiming memory.

I.1.13 CPU Bound Processes

Question: Will DLB Plus speed up my CPU bound processes?

Answer: Probably not. DLB Plus tries to make sure that each process on the system gets its "fair share" of the CPU. In most cases, CPU bound processes are already getting their "fair share" of the CPU.

I.1.14 Dynamic Parameters

Question: Does DLB Plus reset dynamic parameters back to their original setting once DLB Plus is turned off?

Answer: Yes. When DLB Plus is turned off, all dynamic parameters are set back to their original settings.

I.1.15 Hard and Soft Page Faults

Question: I Notice that with DLB Plus, the Number of Page Faults Sometimes Increases. Why is that?

Answer: A hard page fault takes about a thousand times longer to complete than a soft page fault. One of DLB Plus's main tasks is to reduce the number of hard page faults. Although the total number of page faults may increase, the number of hard page faults decreases when using DLB Plus.

I.1.16 DLB Plus Monitor System Values

Question: When does DLB Plus get the system values for the DLB Plus monitor?

Answer: DLB Plus gets the system values for the DLB Plus monitor at each monitor interval. DLB Plus does not use an average, so whatever each system value is at that instant (default time is once every 10 seconds), the value is displayed on the DLB Plus monitor.

I.2 Fragmentation Prevention Questions and Answers

I.2.1 Using Other Disk Defragmenters

Question: If I have fragmentation prevention, can I still use my online disk defragmenter --- such as DISKEEPER?

Answer: Yes, fragmentation prevention works well as a companion product for any disk defragmentation software. Disk defragmenters constantly defragment files that are not being accessed. Fragmentation prevention constantly does its best to keep open files from becoming excessively fragmented. Disk defragmenters create consolidated free space on the disk. Once files are deleted, by default, OpenVMS does not use the free space, but instead uses random file fragments found in the XQP extent cache. Fragmentation prevention causes OpenVMS to use the consolidated free space as much as it can. The net result is reduced disk and file fragmentation and fewer disk I/Os.

Fragmentation prevention not only causes your system to better use the contiguous space made available by a defragmenter, but also allows the defragmenter to do less work.


Previous Next Contents Index