Title: | VMS Curriculum |
Moderator: | SUPER::MARSH |
Created: | Thu Nov 01 1990 |
Last Modified: | Sun Aug 25 1996 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 185 |
Total number of notes: | 2026 |
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
125.1 | Chapter 2 Ready for Review | SUPER::HARDY::TARRY | Mon May 11 1992 14:54 | 15 | |
Chapter 2 on Memory Management has been revised and placed in the review area. Please place comments in this note. ES$REVIEW:[VMS_PERFORMANCE_V55]VMS_PERF_2_MEMORY.PS Note a new format for LL has been used. I may or may not have this format totally correct. You will notice each chapter has a chapter terms section and a two part summary. Also notice that the chapter is information mapped. On the instructor pages I have given the description for each parameter from the sysgen manual. Emmalee | |||||
125.2 | New copy of Chapter 2 | SUPER::HARDY::TARRY | Fri May 15 1992 13:14 | 10 | |
I have placed a new copy of Chapter 2 in ES$REVIEW. The first copy did not have "INSTRUCTOR NOTES" at the top of each instructor page making it hard to review. Also I have received comments from two people and I updated the chapter with their comments. Please send yours by May 22 for the pilot edition of the course. I have received good and helpful comments. I need your comments too. | |||||
125.3 | Memory Chapter comments | MINDER::GRAVESG | Geoff Graves,EDU(UK); DTN 851 2637 | Mon May 18 1992 17:41 | 148 |
Here are my comments/thoughts on the original Memory Chapter. (ie: *not* the version mentioned in .2 . I copied mine on 12th May and have just finished typing the lot out. Why didn't the 2 people who have sent comments post them in this note? That may help other reviewers (like me!). I haven't bothered with insignificant typos on the instructor pages, but have pointed out those I spotted on the student pages. I like the new order, it flows better than the old one. Page 3: Introduction: why mention "the speed at which the CPU can access the data"? It's not mentioned anywhere else in the module and can't be changed. Page 4: Remove the section headed "TIME" from the student guide. Page 5: Chapter terms: 12 lines down: User Identification Code needs caps on "I" and "C". installed images: "A program" should be "An image" page fault: "." missing at end of second line. paging file: "." missing at end of second line. process header: "stsructure" should be "structure" "(PCB)" should be "(HPCB)" as (PCB) by convention means the Software PCB. process header slots: "addressspace" should be "address space" [Anything wrong with the pagination at the end of this page? It overflowed by 4 lines on my printed copy] Page 9: line 14: "portions data" should be "portions of data" Page 24: add "idle" or "busy" to the batch queue display to pretend it's a 5.5 output. Page 26: top line: remove "," from after "limit", and place it after "additional page". [sentence then scans better] last line: replace "in physical memory." with "available for the original process's use." [I assume you mean that a page has been removed from the free page list to be added to some other process's working set. It will still be in physical memory.] Page 27: 6th bullet point: Add at the end "(Soft page fault)". [similar to page 26 and the free page list fault] Page 29: 3rd bullet point: "WSDEAULT" should be "WSDEFAULT". Page 36: Can you obtain some "real" figures for the effect of TB checking? Also which processors is it implemented on? The instructor notes page says "It is not used on all processors". The warning that "too large" or "too small" can cause performance degradation when TBSKIPWSL could be anything between 8 and 512 begs for more info on setting this parameter. Any guidance here would be beneficial. (Well, it'd certainly help me!) Page 39: 5th bullet point, first "-" : Writing out the modified page list to disk is subject to two conditions. It may not, therefore, take place and SWAPPER may go straight to looking at trimming working sets. [See next page for details]. Page 40: 2nd bullet point: should be: "If pages exceed MPW_THRESH *AND* the (FREEGOAL - current freepage count) deficit can be recovered, write the modified pages to the paging file and place the pages on the free page list." Page 44: line 12: add at the end of the line after WSQUOTA: ", had a recent PIXSCAN boost ". Page 45: 6th bullet point: "working set" should be "working set limit". 7th bullet point: "working set" should be "working set limit". Reclaiming Memory from Periodically Waking Processes: Add an extra bullet point: "Activated when the size of the free page list drops below twice the value of FREEGOAL" Page 46: IRPSIZE is not a SYSGEN parameter. In two places in this diagram, "IRPSIZE" should be replaced with the value "176". [This is a hard coded value] Page 47: Update the $SHOW MEM/POOL/FULL display to VMS 5.5. [The one on page 15 is VMS 5.5] ie: SRPSIZE is 128 IRP Lower bound is 129 LRP Packet size is LRPSIZE + 352, making it 1856. Page 49: Can you update the date from 1988? Page 50: ditto 1989? Page 51: ditto 1988? Page 52: ditto 1988? [The format of $SHOW PROCESS/ACCOUNTING has changed] Page 54: 3rd line: shouldn't "server-client" be "client-server" ? Page 57: 2nd bullet point: "open files" should be "open image files". 6 lines from bottom of page: remove "virtual". [All processes sharing an image have a virtual copy of the program. Installing the image /SHARE stops them having a separate physical copy] Page 58: 7th bullet point: Add "Header resident implies Permanently open." Page 60: Empty except for the heading "Memory Savings from Shared Code". Diagram missing? Page 62: 3rd line: ">INSTALL" should be "INSTALL>". 7th/8th lines: Multiple successive calls of the same image is ineffecient and bad practice [Especially on a performance course! And the example is of a startup file !!! ;-) ]. Replace with $INSTALL CREATE etc CREATE etc CREATE etc $ Page 63: Top line of numbers in circles: "4" should be where "5" is Last line of numbers in circles: "6" should be "5" and "7" should be "6". That's it! Keep up the good work! Geoff | |||||
125.4 | I reviewed the older material, hope it is still useful!!! | SOAEDS::TRAYSER | Seniority means a bigger shovel! | Wed May 20 1992 03:00 | 353 |
Perf Chapter 1 (memory module) -- review Basic comments... VERY NICE JOB with the Instructor pages. These were very clear and useful in most cases. Great help for a successful prep or for answering the oddity questions that always come up in class. I think we jump around between working sets and paging/page faults a bit much. There is a tendency to describe the details that are needed before we get to the pages with the details because of the interceding topics. Overall rather teachable. 1-4 -- The "TIME" stuff is unclear. 1-5 -- The "glossary" is great! But so we want it at the front or the back of the chapter? 1-7 -- Remember that are outside Consultants that teach the course but don't have access to the Instructor's book. The may not know what is meant by "Internal" and "External" and "CPU" memories. Maybe adding "Registers" "Main Memory" and "Disk" behind those definitions would help. 1-8, 8th bullet -- High-speed cache is sometimes included (see uVAX II). To say that it is included assumes we know which systems and how much is there. 9th bullet -- Implied here are two items -- that we can 'influence' it and that we can control it. Both are false from the system managers point of view. In the best case we have a system with a large I&D space and s single application. 10th bullet -- Fine. How do I see the HW cache hit rate? 1-9, Program Variability -- How much of a programmer's code can be in cache? The space is relatively small. Does the effectiveness vary with realtime vs timeshare? Is there an optimal Working set size? To be honest, the programmer needs to write the programs assuming there is NO cache on the system -- careful use of Working set and virtual address requirements. Are we getting down a "Programmers Rat Hole" that is not really pertinent to System Managers? Most of my students are non-programmers or very casual programmers, as such there is nothing of much use in this discussion so far. 1-10a -- "Why list the 6200? Do all the 6000s use two levels of cache? If so, drop 6200 and list 6000. Also, let's put the 9000 (and 4000s if they have it) on the list. The Modified List and the Free List are referred to as caches in VMS. We need to clarify that there are caches in Main Memory, not just the separate high-speed memories. The TB cache is most effective as a temporal cache -- recently accessed pages. 1-9a -- In referring to cache misses in the first paragraph we are assuming that 1) we have a system that implements caching in the HW and 2) that there is something that we can either watch or manipulate. How do we monitor the effectiveness or even detect the presence of this cache? For Row_Major this is best demonstrated on the Freelist and Modified List caches -- not HW cache. 1-10 -- This diagram would more effectively introduce the topic of caching. Maybe place this in front of the Cache discussion. 1-12, 2nd sentence -- "...itself a COLLECTION of programS and..." 1-13a -- Any particular reason for listing just Freelim and Freegoal for the Free List parameters and High and Low limits for the Modified list?? 1-14a -- What are the "(G,M)" entries?? Do we need them? Listing the defaults for MAXPROCESSCNT and BALSETCNT is useless since on a standard installation AUTOGEN gets run automatically and sets them to different values. 1-14 -- Spacing problems with the Date and Modified pages value -- should be further to the right. 1-15 -- Many instructors and customers are not aware that VMS has changed its name again (formerly VAX/VMS) to OpenVMS (or what ever they decided is the final, official, not-going-to-change-again name for VMS. We need to specify this in the Introductory pages of the book. In the same line of thinking, OpenVMS can also describe VMS for Alpha which does not use the same Physical/Virtual translations. So we need to specify that this course is currently targeted for VMS for VAX. 1-16a -- Virtual addressing is limited to 32 bit addressing, although physical is increasing to 34 or 36 (was it in Blade?). Last sentence of the paragraph: "Much larger that the physical memory of *any* computer and much larger than *any* program needs." These are both incorrect. This might have been true 3-5 years ago, but look at the specs for Alpha systems. Let's 'water down' the "any" words. 1-16, 4th bullet -- Pages are numbered normally in Hex. So put "(800,000 hex)" behind the 8,388,608 1-17a -- formatting -- trailing open-paren on second sentence. 1-19a, 2nd sentence from end -- "...can not NORMALLY access..." -- If you have sufficient privs you can do most anything. By the way, VMS engineering doesn't usually refer to the Reserved Region of address space as S1 -- this is 'slang'. 1-20a, Title -- We aren't really talking of Paging as much as we are of Working Sets. Can we drop the PAGING title? We might want to note that Paging will be more completely discussed on following pages -- don't go into details of paging until then. 1-20, Title -- ditto with title of page. 6th bullet -- "...the limit." Which limit?? It is unclear - specify Working Set limit. 1-21a, spelling -- quantum is misspelled without the 'n' on the 3rd paragraph from the bottom. 1-21, 7th bullet, 2nd dash -- At this time we don't need to be telling students that we can get pages from the loan regions of other processes. This is a Working set concepts discussion not a reclamation discussion. 1-22a -- We may want to state that the PQL_MWSxxx parameters limit the low settings of the working sets (overriding SYSUAF). 1-22, 1st line -- "A process running interactively from a login process" -- strange words, we need to be clearer on the student pages than this. Also, the bullets partly obscure other numbers. 1-23a -- "This need not be emphasized, EXCEPT FOR THE FACT THAT THE VALUES OVERRIDE those set by AUTHORIZE/SYSUAF." 1-24a, "demand-zero" -- On page 1-21a we called it "demand" not "demand-zero". Are we talking different terms, should we make a clarification? 1-25a, 3rd paragraph -- "...keeping track of which a page was least used." -- the "a" seems out of place. "The VAX does not have a use bit, ALTHOUGH IT DOES USE TBSKIPWLS ON SOME SYSTEMS." 1-25, title and FPL -- Seems "Adding Page to a Full Working Set" would be better than "Removing a Page from the Working Set". "The free page list is a list of pages that have recently been replaced from the working sets of multiple process." This is only partly correct. On a freshly booted system, all pages 'start life' on this list, never having been in a working set yet. 1-26, linker options -- maybe a reference on the instructors page as to where to send the students for more details. 1-27a, typo and "large" -- "...consists of OTHE free and modified list." Should this be "THE"? 1st bullet says keep a large FPL. But, define large. Since of an average working set? 1/2 of physical memory. I'd guess what you are trying to say is depend on caching on the FPL, which is OK, but still intensive on the VAX systems. 1-28a, reruns -- We've already seem similar on pages 1-20 and 1-21 1-30a -- 2nd bullet should read "Pages are read in increments called clusters in a size up to PFCDEFAULT" 1-30, "Two system parameters" -- We left off the PQL_xWSxxx parameters. 1-32a -- 1st sentence, "...only way for VOLUNTARY decrementing..." because the swapper could out-swap the process body, that would decrement the memory. 2nd sentence, PFRAL is missing the "T" 3rd paragraph, (Nit) "...processes whose page..." - a little personification here seems strange. How about "...process which have a page..."? 4th paragraph, HUH!?? Never heard of this, nor has my internals instructor heard of this. Is it new with V5.5? Where is this documented?? This is *VERY IMPORTANT* since I am totally unaware of this feature--please advise! 5th paragraph starts with "WSDEC(D,M)", do we need the '(D,M)'? Last paragraph, "V%" should be "V5". 1-32a (2nd page), LABELLED has too many "L's" 1-34a, 2nd paragraph -- So, which systems implement this and which ones don't? Can we get a list? Hallyburton suggested asking in the EAGLE::VAX conference. 1-35, FPL diagram -- This order is no longer 'normal' of the new mem-mgt routines (MMG_CTLPAGES) features are used. FREEGOAL is much higher and FREELIM, GROWLIM and BORROWLIM are all the same down under 100 (63 on my system). 1-36a, 2nd bullet -- GREAT STUFF!!!! JUST WHAT I LIKE TO SEE -- a reference where I can go look and ask! Keep it up! 1-36, "MPW_WRTCLUSTER" Can we fix the wrapping? Moving the text columns over by 1 or 2 columns should do it! I've asked for this 2 other times!!! 1-37a, FREELIM -- "...minimum number of pages that must be on the free page list." is not correct. It is the minimum number of pages that the system allows on the FPL before beginning memory recover procedures. 1-37, 4th bullet -- Topic is Swapper Trimming and the bullet says "Initiates swapper trimming..." sounds weird. 5th bullet, why is "Obtain" beginning with a capital "O"? 1-38a, last two sentences -- "It is not just a change in limit. The limit is not changed." Huh? What limit. Is it "not just a change" or is it "not changed"? I don't understand! 1-38, 2nd bullet -- It is unclear that this is only done if 1) FREELIM is encountered, and 2) if the difference between the current number of pages on the FPL and FREEGOAL can be satisfied by the pages above MPW_LOLIMIT. 1-39a, 2nd sentence -- "On the theory is that..." wording is weird. 3rd sentence -- It says "*Two* criteria..." and you list 3 bullets. 1-40a, first bullet -- I thought a Real-Time process couldn't get an increment above WSQUOTA anyways? Last lines -- dormant was already defined on page 1-39a about 1/2 way down the page. 1-41a, spelling error -- first paragraph has "systemwide" as one word...try a hyphen or two words. 1-41 -- first line -- There are now *three* strategies...see #3 on page 1-42!!! 4th dash -- here it is again. This *must* be new stuff, please give me a pointer to the discussion! 5th bullet -- states "Digital layered products" -- I don't care what vendor wrote it, commonly the 3rd party people pick just as good SW numbers for their stuff as we do. Drop "Digital" Last bullet, last 1/2 of statement -- this is not true in practice. I've done a fair bit of tuning and a process that spends a lot of time playing with MPL cache *will* degrade performance, sometime greatly. If it plays mostly with FPL then the damage is minimal. 1-42a, 1st line -- Are we "VMS" or "OpenVMS"? Personally I'd like us to say in the intro that both terms may be used, but references to VMS actually mean OpenVMS. (Gad, I hate that name!) 1-42 -- 3rd bullet -- what defined a deficit? 7th bullet -- "original" should probably be "previous", as original can be easily confused with original 'process just created' values. 9th bullet -- How many times does it trim? Down to what threshold? overall this page could be a bit cleaner, for example there are no references to FREEGOAL (or FREEGOAL*2) values used by the routine! See the V5.5 seminar for some good pages to copy from. 1-43, IRPSIZE -- IRPSIZE is misleading, how about "Size-of-IRPs" or 176. 1-44a, 2nd paragraph -- these regions do not shrink at all! (until reboot!) 1-44, Version! -- get a current (V5.5) display and make sure there is some overdrafting! 1-46a, MPW_WRTCLUSTER -- default is 120, not 96. 1-46 is split on two pages. 1-50a, last line -- Isn't this the same formula that MMG_CTLFLAGS sets things to?? 1-50 -- 1st line should be Client-Server, not Server-Client 3rd bullet should say "...or on separate SYSTEMS." since a VT1000 (an X terminal) is basically a smart terminal that runs the X-Windows SERVER. It is *not* a NODE. 7th bullet, AUTOGEN -- AUTOGEN usually doesn't change this, the various files associated with DECWindows startup (i.e. DECW$CHECK_PARAMS) handles raising this and other parameters. 1-52a, 2nd paragraph, last line -- "...be in the same cluster, BUT SHOULD BE ON THE SAME LAN." Since DECnet point-to-point *will* work, but is INCREDIBLY slow! 1-53, 2nd paragraph -- this is really unclear about what you are trying to say with the one-page issue. Can you expand it a bit?? 1-54 is blank!?? 1-55 -- Can we drop the 1st, 5th and 6th bullets from this page? They have nothing to do with performance and only add to the confusion. Maybe move them to the instructor's page?? 1-58 -- Summary ends with Paging and Working Sets, although there is a lot more to the chapter that should be 'reviewed'. 3rd bullet -- "A cache is USUALLY a memory of..." | |||||
125.5 | A few more edits | SOAEDS::TRAYSER | Seniority means a bigger shovel! | Wed May 20 1992 03:46 | 51 |
I finally printed a relatively current copy and have some additional ideas. I had a chance to lay out the pages on my dining room table like a "story board", if you are used to the film making process. I've reconsidered my initial comment, the flow looks rather good. Some tough choices were make, but the WS/paging section looks quite teachable. Here are some comments after having it all spread out to look at. These changes (including a few typos, shuffles and cut-and-paste jobs) I believe will make it flow a little smoother and be easier to teach... 1-8 -- Figure 1-1 should follow the first 4 bullets on this page, so to make room, move the cache discussion onto its own page immediately following. 1-24 -- 4th bullet should read: "the virtual page is ON THE:" And don't forget to briefly mention Demand-zero, Global Valid and Write in Progress faults...they DO make up part of soft faulting. 1-27 -- This page is rather useless, not to mention a bit controversial. I disagree with the two bullets on the instructors page explaining it. Can we just drop this page -- it adds very little to the material. 1-31 -- Missing Figure Number Also, this page should FOLLOW the AWSA discussion (page 1-33) 1-35 -- This page would be more useful following page 1-26 1-45 - 1-48 -- These pages should be located near the discussions of the topics. Putting them here requires us to possibly review the previously lectured pages to explain what we are doing. They would reinforce the lecture topics much better if they were moved beside the associated lecture pages. 1-45 -- kill this page 1-46 -- belongs after talking about FPL and MPL - probably after 1-26 1-47 -- example 1-5 needs to be near working set diagram - page 1-31 example 1-6 needs to be near shared memory section - page 1-54 1-48 -- Set/Show Working_set belongs ON page 1-22 with the discussion Init/Show Queue needs to be merged with display on page 1-23 $ | |||||
125.6 | Chapter 2 Post Pilot Update Coming Soon | SUPER::SUPER::TARRY | Wed Jun 24 1992 16:37 | 10 | |
I am now working on revising chapter 2 after the pilot. I expect to post the revision Thursday morning. Because I will have made several changes, I will not give this chapter to the editor until Monday. Please think about the following. I think that the methods for maintaining the free page list should be presented in the order in which they "kick in" rather than the order in which they were added to VMS. | |||||
125.7 | Uhm. Erh. Do what? What exactly is this "order"? | SOAEDS::TRAYSER | Seniority means a bigger shovel! | Thu Jun 25 1992 01:31 | 31 |
Emmalee, some thoughts... I'm not sure if that's a good idea. The 4 major FPL parameters have meanings. With MMG_CTLFLAGS turned off or on it could change the order of their discussion. If we assumed that MMG_CTLFLAGS was shipped "on" with all systems, then we encounter 2*FREEGOAL first (Ticker). Then we encoutner FREEGOAL (Troller), and THEN we encounter FREELIM, GROWLIM and BORROWLIM all at the same time. This is NOT a good way to approach it. We need to explain the purpose of these values under their NORMAL use. The advantage of Ticker/Troller vs. "standard" FPL management. I know this is a V5.5 course, and that MMG_CTLFLAGS being on might be the new default, but many people will turn it off as it forces many MORE free pages of memory onto the FPL than many people want on the FPL. Also, most of my customers are still at V5.4 and earlier, so understanding the 'current versions' is important. Besides, showing the standard methods historically is a very easy teach. The explanation of the HISTORY of FPL and MPL is esential to understand WHY SWAPPING was a good way of managing memory in the old days, but not in the V4/V5 days. Explaining FREEGOAL before FREELIM doesn't make sense, neither does mentioning GROWLIM before BORROWLIM. [Initially I'm not excited about this change, but will look carefully at the material this weekend if you can get it posted before Friday morning! I'm planning on being in ZKO on Monday afternoon, let's spread it out on a BIG table and critique the new approach.] $ | |||||
125.8 | Standard Then Extras... | WARNUT::GRAVESG | Geoff Graves,EDU(UK); DTN 851 2637 | Thu Jun 25 1992 04:58 | 5 |
I agree with Buck on this one. The standard features apply to all Versions of VMS our students have, but the Ticker and Troller are switchable. They should be explained AFTER the FREELIM/FREEGOAL/etc discussions. | |||||
125.9 | NITTY::DIERCKS | I advocate safe fluffing! | Thu Jun 25 1992 09:32 | 5 | |
Make that three votes!!!!!!!!!!!! GJD | |||||
125.10 | Revised Chapter 2 in ES$REVIEW | SUPER::SUPER::TARRY | Thu Jun 25 1992 13:14 | 16 | |
I have just posted the revised chapter 2 Memory in es$review SUPER::$1$DUA6:[ES$REVIEW.VMS_PERFORMANCE_55]VMS_PERF_2_MEMORY.PS One drawing is being revised as I write this note. I know I promised change bars, but I get carried away and forget. I will not send this chapter to the editors until the middle of next week so you still have a shot at it. I have not had time to revise the DECwindows portion. If I have time I will work on it next week. It appears most likely that this will have to wait until the next revision. Now working on chapter 3. | |||||
125.11 | Last shot at chapter 2 | SUPER::SUPER::TARRY | Tue Jun 30 1992 08:37 | 15 | |
Chapter 2 has been revised again. I reposted it in ES$REVIEW last night. Please look at it again and make comments today or tomorrow morning at the very latest. We now have a discussion the FPL parameters first followed by a section on Maintaining the Size of the FPL. Methods are discussed in the order in which they "kick in" and I think it works very well. Ticker and Troller names are not used. I followed the terminology in the new CUIP documentation. All chapters have to go to editing on Thursday afternoon. Firm deadline. Thanks for all your comments and help. Emmalee | |||||
125.12 | Off to the printer... | SOAEDS::TRAYSER | Seniority means a bigger shovel! | Thu Jul 02 1992 02:27 | 12 |
Tough module, but I think it's going to work out. There is a significant rewrite of this module. Plan on re-prepping. I think it will work fine for the 'follow the book' instructors, but people like me will probably do what we always have done...use it as a guide and wander off and do our favorite dog-and-pony show for memory. Nothing wrong with this, and I think the module will lend itself to this a lot better than the old module. Any comments on Memory Mgt for DECwindows would be useful...post them here! $ | |||||
125.13 | Found a few little things, but it taught OK. | SOAEDS::TRAYSER | Seniority means a bigger shovel! | Fri Oct 02 1992 02:48 | 21 |
Chapter 2 review of final material... 2-7 -- The cache topic needs a bit more meat (some hardware timings, good cache hit rates, more details on the TYPES of caches, etc.) but it is better than the pilot material. 2-9 -- I still think the diagram is in the wrong place. It belongs near "memory types" on 2-7 or just move it to the instructors page and let us draw it if needed. It only shows 1 type of cache, so it really has a limited use at this point. 2-12 -- I never liked the 'box' diagram, but now I miss it. I do hope it is on the instructor's page (haven't printed the current copy, so I don't know for sure). 2-15 -- 4th bullet. So what! Let's move it to the instructor's page. 2-20 -- "Initial Workins Set Size" belongs on 2-19 after Working Set and before Page Faults. $ |