[comp.os.vms] MPW_HILIMIT

STEINBERGER@KL.SRI.COM (Richard Steinberger) (06/21/88)

I have been reading the VMS Tuning Guide provided (free) from Touch Technol-
ogies (they market the Dynamic Load Balancer).  The guide advises setting
MPW_HILIMIT (limit at which VMS starts writing pages from the modified
page list to disk.  Sets a limit on the MP list size) at 15 percent of the
size of physical memory.  The claim is made that the loss of physical
memory is more than compensated by a reduced paged I/O activity.
    This seems like a rather large number for this sysgen parameter,
as DEC set the default at 500 pages.  Has anyone followed Touch's advise?
Have you noticed a significant performance improvement?  We run large
images, use large pagefiles and often encounter applications where much
paging is required even with large WSEXT values.  I am thus trying to
evaluate whether increasing MPW_HILIMIT (and MPW_WAITLIMIT) is a
reasonable thing to do (our current setting is 655, physical memory
is 32768 pages and VMS already uses 4400+ of these).
    Any comments or other rules of thumb?

-Ric Steinberger
steinberger@kl.sri.com

-------

PSYDAVE@UBVMSC.CC.BUFFALO.EDU (Dave Straitiff) (06/21/88)

   Dan Esbensen who wrote the Dynamic Load Balancer and the booklet
you are refering to gives a couple reasons for raising MPW_HILIMIT.
This parameter tells VMS to dump the whole modified page list into the
page file when this number is reached.  That's a lot of I/O overhead.
Most of what Dan recommends is oriented towards systems with a large
amount of memory.  You are not really losing any memory by setting
this high, but rather keeping more pages around in physical memory.
The modified page list is purged to replentish the free page list.  
What you are doing is keeping a lot more modified pages around in the 
hope that MPW_HILIMIT will be reached less often and therefore prevent 
a number of hard page faults and I/Os.  Many pages will be immediately 
faulted back in.  The idea is to make it a soft fault and not a hard one.

   Testing a high number is not going to hurt you.  It is worth giving a 
try.  As in all tuning, it is based on your applications and hardware. 
This concept may or may not help in your environment.  Too low of a value 
will probably hurt though.  Digital's numbers are not always a good 
reference for what is a reasonable value.  Many defaults are the same on
Vax 730s and 8800s, they are usually only best guesses.  The new version 
of autogen may correct some of this by collecting stats on a running CPU
for later tuning.  As the title says, "Rules of Thumb", 15% may not
be the right number for you.  Try it high, try it low, try it inbetween,
and see what it does for you.  A last note is on MPW_WAITLIMIT, it should
be the same as MPW_HILIMIT.  The system could deadlock if MPW_WAITLIMIT
was lower than MPW_HILIMIT.

   Tuning can be a lot of fun and very informative, but it usually only
produces a marginal increase in performance.  Poor or excessive tuning 
may even hinder performance.  I'd approach it with a little reservation.

				Good Luck!

				Dave...


============================================================================
 David M. Straitiff                  Bitnet:   PsyDave@UBvms
 Computer Resource Manager           Internet: PsyDave@UBvms.cc.buffalo.edu
                                     Phone:    (716)689-8093
 Speech Research Laboratory
 Department of Psychology
 State University of New York at Buffalo
 Buffalo, New York  14260
============================================================================

OBERMAN@ICDC.LLNL.GOV ("Kevin Oberman, LLNL, 422-6955, L-156", 415) (06/21/88)

>I have been reading the VMS Tuning Guide provided (free) from Touch Technol-
>ogies (they market the Dynamic Load Balancer).  The guide advises setting
>MPW_HILIMIT (limit at which VMS starts writing pages from the modified page
>list to disk.  Sets a limit on the MP list size) at 15 percent of the size of
>physical memory.  The claim is made that the loss of physical memory is more
>than compensated by a reduced paged I/O activity. 
>
>This seems like a rather large number for this sysgen parameter, as DEC set the
>default at 500 pages.  Has anyone followed Touch's advise? Have you noticed a
>significant performance improvement?  We run large images, use large pagefiles
>and often encounter applications where much paging is required even with large
>WSEXT values.  I am thus trying to evaluate whether increasing MPW_HILIMIT (and
>MPW_WAITLIMIT) is a reasonable thing to do (our current setting is 655,
>physical memory is 32768 pages and VMS already uses 4400+ of these). Any
>comments or other rules of thumb? 

15% is about whrer we keep our MPW_HILIMIT. We did this to reduce pagging
I/O activity, and it was very effective. The Modified Page List is a cache
of pages released from working sets which are different from the page
originally loaded from disk. If the pages have not been actually written
to disk, they may be restored to the original working set if needed.

We do ray-tracing and as a result move through large arrays in a nearly
random pattern. This results in trmendous paging activity. An enlarged MPW
greatly reduces the disk activity. Not to mention speding up the execution
of the code.

Since VMS will force a modified page write if the free list gets too small,
increasing the MPW_HILIMIT seemed a reasonably painless method of decreasing
paging I/O at only a moderate impact if memory ran low. And since we have
a lot of memory, that is unlikely.

					R. Kevin Oberman
					Lawrence Livermore National Laboratory
					Internet: oberman@icdc.llnl.gov
   					(415) 422-6955

Disclaimer: Don't take this too seriously. I just like to improve my typing
and probably don't really know anything useful about anything.

kenw%noah.arc.CDN@ean.ubc.ca (Ken Wallewein) (06/26/88)

   I've been following this discussion, and it's encouraged me to do a bit of 
digging.

  We've been running memory-rich in the past, althought that's changing. 
MPW_HILIMIT is at 6000, and MPW_LOLIMIT at 3000.

  However, one thing is bothering me: I can't seem to get the modified list 
above about 600 pages, and it's usually somewhere between 50 and 300.  With 
the free list running around 16,000 blocks, it just doesn't seem right.

  Here's an edited SYSGEN listing of what I believe are the pertinent
parameters. Can anybody see anything that could be a problem?  I'm baffled.

Parameters in use: Active
Parameter Name             Current   Default   Minimum   Maximum Unit  Dynamic
--------------             -------   -------   -------   ------- ----  -------
MPW_WRTCLUSTER                  96        96        16       120 Pages       
MPW_HILIMIT                   6000       500         0     16384 Pages       
MPW_LOLIMIT                   3000        32         0     16384 Pages       
MPW_THRESH                    4000       200         0     16384             D
MPW_WAITLIMIT                 6000       500         0     16384             D
PFRATL                           0         0         0        -1 Flts/10Sec  D
PFRATH                          30       120         0        -1 Flts/10Sec  D
WSINC                          150       150         0        -1 Pages       D
WSDEC                           35        35         0        -1 Pages       D
AWSMIN                          50        50         0        -1 Pages       D
AWSTIME                         20        20         1        -1 10Ms        D
SWPOUTPGCNT                     80        60         0        -1 Pages       D
FREELIM                         90        32        16        -1 Pages       
FREEGOAL                       327       200        16        -1 Pages       
GROWLIM                        326        63         0        -1 Pages       D
BORROWLIM                      408       300         0        -1 Pages       D
PHYSICALPAGES               532480    532480      2048    532480 Pages       
PFRATS                           0         0         0        -1 Flts/10Sec  D

 /kenw
                                                                 A L B E R T A
Ken Wallewein                                                  R E S E A R C H
kenw@noah.arc.cdn                                                C O U N C I L

ewilts%Ins.MRC.AdhocNet.CA%Stasis.MRC.AdhocNet.CA%UNCAEDU.@CORNELLC.CCS.CORNELL.EDU.BITNET (Ed Wilts) (06/29/88)

Just a reminder to all people who want to play with the parameter MPW_HILIMIT.
Ensure that MPW_WAITLIMIT is EXACTLY EQUAL to MPW_HILIMIT.  If they are un-
equal the following will happen:
        When a processes modifies a page and MPW_WAITLIMIT is reached, the
        process will enter a RWMPB state.  It will stay that way until
        MPW_HILIMIT is reached at which point SWAPPER will write out the
        modified pages and normall processing continues.  It is easy
        to see what happens if MPW_HILIMIT > MPW_WAITLIMIT:  processes will
        enter the RWMPB state and stay there forever because MPW_HILIMIT
        will never be reached.
I just spent the morning trying to figure out why my system kept hanging as
soon as users starting to use it (I just know I shouldn't let users on).

Why does SYSGEN not check for this obvious attempt to shoot yourself in the
foot (VMS 5.0?) ?

        .../Ed

ewa@csdgwy.csd.unsw.oz (07/05/88)

In article <2022*kenw@noah.arc.cdn>, kenw%noah.arc.CDN@ean.ubc.ca (Ken Wallewein) writes:
>    I've been following this discussion, and it's encouraged me to do a bit of 
> digging.
> 
>   We've been running memory-rich in the past, althought that's changing. 
> MPW_HILIMIT is at 6000, and MPW_LOLIMIT at 3000.
> 
>   However, one thing is bothering me: I can't seem to get the modified list 
> above about 600 pages, and it's usually somewhere between 50 and 300.  With 
> the free list running around 16,000 blocks, it just doesn't seem right.
> 

According to what I've been told at one VAX/VMS performance seminar, it
does not make sense to define a large MPW_HILIMIT. The reason is that whenever
a process with pages in the modified list terminates, the whole list is
written to disk, so its size gets down to zero. That's probably why it can
never grow really big. 

I never found any reference to it in any documentation, but my observation
of the multiple VAX/VMS systems confirm this. On many ocassions I actually
saw a zero-size modified list. An additional concern regarding a large modified
page list is, that when it is all written back to disk, all processes with
pages in it will hard-pagefault at the same time. This introduces rather
undesirable oscillating system behaviour.

Regards,

   +----------------------------------------------------------------------+
   |  E.Z. Bem,			       ASCnet: ewa@csdgwy.csd.unsw.oz     |
   |  VAX/VMS Systems Group,          Infopsi: ewa@csdgwy.unsw.edu.au     |
   |  University of New South Wales,      FAX: 61 2 662 8665              |
   |  PO Box 1, Kensington, 2033 NSW,	Phone: 61 2 697 2920              |
   |  AUSTRALIA                                                           |
   |                                                                      |
   |            Daily a clever man learns something, daily a wise         |
   |                  man gives up a certainty, perhaps...                |
   +----------------------------------------------------------------------+

graham@DRCVAX.ARPA (07/20/88)

On the subject of the MPL discussion, Mike Pung correctly writes:

>One comment concerning Frank's response is to note that the ALL-IN-1 product
>DOES use global sections and thus each time an ALL-IN-1 user's process
>terminates the Modified Page List (MPL) is flushed (i.e. ALL pages are
>written, not just down to MPW_LOLIMIT).  So if your are running ALL-IN-1 and
>you have a large MPL, then you may see pauses in the system as the
>Modified Page Writer is busy clearing the MPL.  In this case, it would be
>better to set a moderate to small MPL and set up large user working sets.

I am running, among other things, a Microvax II for nothing but All-in-1.  
This machine has 16 mb of memory, so resources are not a problem.  I have 
played "Tune-up Masters" with thie machine for two years.  Mike is right, a 
500 page MPL is the largest it should be, and 300 does not do badly either. 
 We use 2500 page working sets and find that we get good response.  I did 
some extensive revisions of other sysgen parameters, though.  

The idea of freelim being only 100 or so blocks by default rubbed me the 
wrong way, so I raised freelim to 1000.  I then had to adjust freegoal, 
borrowlim, weinc and wedec, also.  Finally, we have a system where about 
16-18 allin1 users can coexist pretty well.

Another important thing with Allin1, be sure they aren't using the 
qualifier that creates a default subprocess unless they ABSOLUTELY need it. 
 Those subprocesses eat up memory and are a big waste.

Just my $0.02 worth,

Dan Graham
graham@drcvax.arpa

--------------------------------------------------------------
"You're kidding, THAT is an opinion?  THAT is drivel!!"
------

EVERHART%ARISIA.DECnet@GE-CRD.ARPA (07/22/88)

M.S. Pung writes that the All-in-One product writes out modified pages
a lot...
  He asked for comments, so here goes:
  Why would ANYONE use all-in-one (aka all-in-Fun) when the Vax Professional
Workstation package (from your friendly local VAX SIG tapes, courtesy of
Jim Downward) does basically the same things, is free, available in source,
does NOT write modified pages so much, and runs (by one benchmark) about
15 TIMES FASTER than all-in-one???
  (That's 1500% better, for those who prefer that style...)
  You will need to relink some pieces for VMS V5, and VPW needs perhaps
an hour of your time to customize for YOUR system. It remains an excellent
package, easy to add to, and easy to use. I find it a good thing to keep
around for those needing an intro to using tools on the VAX.
  Incidentally, since VPW defines a good many symbols, I define VPW
as a command to define the symbols. The command file redefines the VPW
symbol and starts it, so the overhead occurs on first use, rather than at
every login. This trick works for a variety of larger packages of this
sort, and I recommend it generally.
Glenn Everhart
Everhart%Arisia.decnet@ge-crd.arpa

woods@blia.BLI.COM (Michael Nowacki) (07/28/88)

I'll bet a large number of system manglers would be interested to see a dump
of the SYSGEN params on the uVAXII that's been running A1 exclusivly for 2
years.
Even if they're not, I am.

-- 
 
 |\  /|
 | \/ |
_|ike |_				uucp: ...!ucbvax!mtxinu!blia!woods