Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!zaphod.mps.ohio-state.edu!samsung!viewlog.viewlogic.com!peter From: peter@suntan.viewlogic.com (Peter Colby) Newsgroups: comp.sys.mac.system Subject: Re: VM rule of thumb (sic) Message-ID: <1991May31.135034.16813@viewlogic.com> Date: 31 May 91 13:50:34 GMT References: <1991May30.132055.23209@xn.ll.mit.edu> <14845@ector.cs.purdue.edu> <1991May30.193537.21239@m.cs.uiuc.edu> Sender: news@viewlogic.com Organization: Viewlogic Systems, Inc., Marlboro, MA Lines: 47 Originator: peter@hari Nntp-Posting-Host: hari In article <1991May30.193537.21239@m.cs.uiuc.edu>, gillies@m.cs.uiuc.edu (Don Gillies) writes: |> My own rule of thumb gleaned from Pilot (Xerox OS) is also 2:1. Thus |> this rule is not just a UNIX artifact. I think that most reasonable |> systems, when the software is packaged/tuned for VM, can present |> double the amount of physical memory without thrashing. |> |> 128Mb of virtual memory v.s. 8Mb of physical memory on a LISP machine |> is because LISP is a joke. Common Lisp has thousands of useless |> functions that need to be available, and are eating that swap space. |> You have other junk in your environment like a compiler or a debugger |> that by all rights is wasting VM 100% of the time. And the majority |> of garbage collection algorithms are dogs if memory is more than 50% |> occupied. |> |> So while you *say* you have 128Mb of virtual memory, you are probably |> *using* tons less memory, the rest being garbage of one sort or |> another. Too bad for you, great for the disk drive makers. I am the originator of this "VM Rule of thumb" thread. That being stated, I have another comment regarding VM (or swap space). Yes, the UNIX (and apparently other systems) rule of thumb is 2:1 virtual to physical. However, I have worked on and seen a number of other programs which NEED vast amounts of VM yet function adequately in fairly small amounts of physical memory. Certain CAD and CAE programs are high on the list. I would also imagine that complex statistical programs (like Markov chain analysis) need lots of VM but work fine in small amounts of physical. The issue here is locality of reference. If you have a program that needs large arrays in memory then you need LOTS of swap; but if the program only accesses small localized areas of those large data structures at any particular time, then page faulting is minimal and a small physical memory is adequate for the computations. Then again, these programs could do their OWN memory management and work perfectly well without VM at all - as in fact happened before the days of VM. I worked for a company that had a program that was written (and overlayed for) a physical address space of 64K on a mini-computer. The code space required for this program was about 8MB (yes, 2+ MILLION lines of code). This massive program was ported to a VM workstation with a 2^32 address space and immediately required 50MB of swap. I believe the original workstations we ported to could take somewhere between 8-16MB max. There was a small loss in performance but not significant. P -- (O)(O)(O)(O)(O)(O)(O)(O)(O) (O)(O)(O)(O)(O)(O)(O)(O)(O) (O) !the doctor is out! (O) (0) peter@viewlogic.com (0) (O)(O)(O)(O)(O)(O)(O)(O)(O) (O)(O)(O)(O)(O)(O)(O)(O)(O)