VMS Help  —  RMU72  Backup  Database  Command Qualifiers, Threads=number
    Threads=number

    Specifies the number of reader threads to be used by the backup
    process.

    RMU creates so called internal 'threads' of execution to read
    data from one specific storage area. Threads run quasi-parallel
    within the process executing the RMU image. Each thread generates
    its own I/O load and consumes resources like virtual address
    space and process quotas (e.g. FILLM, BYTLM). The more threads,
    the more I/Os can be generated at one point in time and the more
    resources are needed to accomplish the same task.

    Performance increases with more threads due to parallel
    activities which keeps disk drives busier. However, at a certain
    number of threads, performance suffers because the disk I/O
    subsystem is saturated and I/O queues build up for the disk
    drives. Also the extra CPU time for additional thread scheduling
    overhead reduces the overall performance. Typically 2-5 threads
    per input disk drive are sufficient to drive the disk I/O
    susbsystem at its optimum. However, some controllers may be
    able to handle the I/O load of more threads, for example disk
    controllers with RAID sets and extra cache memory.

    In a backup operation, one writer thread is created per output
    stream. An output stream can be either a tape drive, a disk file
    or, a media library manager stream. In addition, RMU creates
    a number of reader threads and their number can be specified.
    RMU assigns a subset of reader threads to writer threads. RMU
    calculates the assignment so that roughly the same amount of
    data is assigned to each output stream. By default, five reader
    threads are created for each writer thread. If the user has
    specified the number of threads, then this number is used to
    create the reader thread pool. RMU always limits the number of
    reader threads to the number of storage areas. A threads number
    of 0 causes RMU to create one thread per storage area which start
    to run all in parallel immediately. Even though this may sound
    like a good idea to improve performance, this approach suffers
    performance for databases with a larger number (>10) of storage
    areas. For a very large number of storage areas (>800), this
    fails due to hard limitations in system resources like virtual
    address space.

    For a backup operation, the smallest threads number you can
    specify is the number of output streams. This guarantees that
    each writer thread has at least one reader thread assigned to it
    and does not produce an empty save set. Using a threads number
    equal to the number of output streams generates the smallest
    system load in terms of working set usage and disk I/O load.
    Disk I/O subsystems most likely can handle higher I/O loads.
    Using a slightly larger value than the number of output streams
    (for example, assigning more reader threads to a writer thread)
    typically results in faster execution time.
Close Help