home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!cs.utexas.edu!uwm.edu!ux1.cso.uiuc.edu!usenet.ucs.indiana.edu!indyvax.iupui.edu!harvey
- From: harvey@indyvax.iupui.edu
- Newsgroups: comp.os.vms
- Subject: Re: $add_holder is slow...
- Message-ID: <1992Dec30.172938.209@indyvax.iupui.edu>
- Date: 30 Dec 92 17:29:37 -0500
- References: <1992Dec30.044645.11200@cnplss5.cnps.philips.nl> <6844364@zl2tnm.gen.nz> <C031y8.9Bz@usenet.ucs.indiana.edu>
- Organization: Indiana University-Purdue University at Indianapolis
- Lines: 76
-
- In article <C031y8.9Bz@usenet.ucs.indiana.edu>, mdchaney@fractal.ucs.indiana.edu (M Darrin Chaney) writes:
- > We've got about 40,000 users on our cluster, which consists of various newer
- > VAXen (the smallest being a 6500, I think). Anyway, we still keep a separate
- > rightslist and uaf on each of the six nodes (I don't run these machines, so
- > don't blame me).
- >
- > Recently, I set about rebuilding the rightslist for the cluster, in order to
- > get each node in sync again, and make sure that everybody has only what they
- > need. We have 5 different rights, of which everybody has at least one. They
- > are:
- >
- > UCS - people who work at UCS
- > STAFF - staff members
- > FACULTY -faculty members
- > GRAD - grad students
- > UGRAD - undergraduate students
- >
- > It is possible for people to have more than one, for instance STAFF and UGRAD.
- >
- > Anyway, we had a spare 8820 sitting around (VMS 5.5-2), so I'm using it. It
- > has 384MB of memory, and we set up a huge cache on it. We also made the
- > account that we are using have high quotas:
- >
- > Maxjobs: 0 Fillm: 100 Bytlm: 50000
- > Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0
- > Maxdetach: 0 BIOlm: 50 JTquota: 1024
- > Prclm: 2 DIOlm: 50 WSdef: 2048
- > Prio: 4 ASTlm: 24 WSquo: 32768
- > Queprio: 0 TQElm: 10 WSextent: 65535
- > CPU: (none) Enqlm: 2000 Pgflquo: 40000
- >
- > Anyway, I copid the rest of the identifiers into the new rightslist, of which
- > there were only a few thousand. Then, I used the cluster UAF to create the
- > username rights (using add/ident/user=* in authorize). I made 5 files, each
- > containing in "rightslist" format the UIC of each person who needed that
- > right, and the right itself. So, each line was like such:
- >
- > right,uic,attr
- >
- > attr is always 0. The program loops through the file, reading each line and
- > using $add_holder to add the holder. Here's the layout:
- >
- > UCS - 500 holders
- > STAFF- 4000 holders
- > FACULTY- 3000 holders
- > GRAD- 8400 holders
- > UGRAD- 30000 holders
- >
- > The amount of time it takes to add these increases rather dramatically. The
- > first 50 (of any set) take maybe 10 seconds. After around 1000, it takes 10
- > or 15 minutes to do 50. I figure it's because of RMS keeping track of all
- > the duplicate keys. I have everything except UGRAD added, with about 16,000
- > left. At the current rate (50 every 20 minutes), it'll take another 4 days.
- > It will probably slow down even more, though, so the time will be longer.
- >
- > Does anyone know a way to speed this up? Pretty much anything is possible
- > with the machine that we are using. Thanks in advance.
-
- Dramatic is indeed the word! We had a very similar situation here about
- a year ago, but only with about 1/10th the users. If you look at the
- organization of the rightlist file, the problem becomes clear. With
- thousands of users each holding one of a small set of "user-type" i.d.s,
- you end up with thousands of duplicate keys in an index slot, which are
- searched sequentially for an update. We ended up storing the user-type
- information in a separate file indexed by username (you could probably
- store it in the "user info" field of the UAF now, which wasn't available
- to us at the time). For all logins a privileged program is run that does
- whatever we want with this information (it defines an executive mode job
- logical here at our site, however, maybe you could use it to grant the
- appropriate identifier to the process at yours?).
-
- Good luck. If you need more info call or write me (or Mark Wood) at your
- local friendly IUPUI campus...
- --
- James Harvey IUPUI OIT Technical Support/Networks
- harvey@iupui.edu harvey@indiana.edu uucp:iugate!harvey bitnet:harvey@indyvax
-