Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!pasteur!ucbvax!decwrl!nsc!stevew From: stevew@nsc.nsc.com (Steve Wilson) Newsgroups: comp.arch Subject: Re: VM needed for rapid startup Keywords: paging virtual-memory speed Message-ID: <5129@nsc.nsc.com> Date: 26 May 88 16:06:02 GMT References: <463@cvaxa.sussex.ac.uk> <19322@beta.UUCP> Reply-To: stevew@nsc.UUCP (Steve Wilson) Organization: National Semiconductor, Sunnyvale Lines: 35 In article <19322@beta.UUCP> jlg@beta.UUCP (Jim Giles) writes: >In article <463@cvaxa.sussex.ac.uk>, aarons@cvaxa.sussex.ac.uk (Aaron Sloman) writes: >> [...] >> Anyhow, while disk access remains significantly slower than main memory, >> something like paged virtual memory will remain highly desirable for >> those of us who want to use large sophisticated software packages like >> AI development environments, powerful editors, etc. EVEN if there is >> enough physical memory for the whole package. > >One of the things that makes virtual memory LESS useful than it used to be >is the fact that disk is so slow compared to main memory (and CPU speed). >If it takes less than the disk access time for your program to execute >through a whole page of code, a busy multiprocessing environment may spend >nearly all its time waiting on page faults. What's really needed is some >form of mass storage that is faster than disk - implement a paging scheme >off the intermediate storage (which in turn can page off disk in larger >chunks?). If a system is running below its "thrash" point, and assuming there are other useful things to do beside hang around in the idle loop, a multi-tasking system will suspend a job that ran into a page fault or blocked for I/O. At this point they'll move on to some other job. Also consider that USUALLY the execute-a-page then fault situation only occurs at process startup. This is where the concept of a "working set" comes from. Once that working set of pages is resident in main memory the occurance of page faults drop off. It makes more since to place more storage in the primary memory instead of an intermediate store. After all, that is where you want the code/data to wind up in the first place. Steve Wilson National Semiconductor [Universal disclaimer goes here]