dwm@msc.edu (Don Mears) (01/14/91)
The biggest argument in favor of virtual memory is that FORTRAN does not support dynamic memory allocation. So that you have users that run FORTRAN programs that look like: parameter(MAXSIZE=500) common /block/ s(MAXSIZE, MAXSIZE, MAXSIZE), array(MAXSIZE,MAXSIZE) read *, newsize, ((s(i, j, 1), i=1,newsize, j=1,newsize)) ... Typically, these programs will be configured to the largest size that fits on a machine, but most runs will use only a small part of the memory. If most of the runs of the above program use a 'newsize' that is substantially smaller than MAXSIZE, you could be wasting over 100MW of real memory per run. This is especially a problem with vendor supplied applications that you do not have source access to. This would not be a problem with a virtual memory system because the unused parts of the address space would not tie up real memory. Other VM arguments are: (1) If I have a 500MW machine, I would like to be able to debug a 500MW problem during the day without preventing other users from getting work done. I don't want to have to swap in and out my 500MW process. (2) If I have a 500MW machine and my problem requires 501MW, I would like to just run it and suffer the slight paging penalty rather that having to re-write my code. (3) If I have a 500 MW machine and my friend has a 1000MW machine and my code fails on his machine, I would like to be able to debug it on my machine. (4) Users are used to writing in a style that assumes the presence of virtual memory because there are so many virtual memory machines around today. It is a waste of my time to remove the wasteful use of memory in these programs to make them run efficiently on supercomputers. (5) New and interesting operating systems like Mach require segmented memory at least and work best with virtual memory. On the other hand, Real Programmers (tm) don't need no stinkin' virtual memory :-). Why, when I was your age, sonny, I could fit a compiler, an editor, and the operating system in 4K bytes. I don't know what this world is coming to. dwm@msc.edu Donald W. Mears @ Minnesota Supercomputer Center dwm@msc.edu Donald W. Mears @ Minnesota Supercomputer Center