Thread View: net.arch
32 messages
32 total messages
Started by R. James Nusbaum
Sat, 30 Aug 1986 16:40
Reasons For Large Main Memories
Author: R. James Nusbaum
Date: Sat, 30 Aug 1986 16:40
Date: Sat, 30 Aug 1986 16:40
22 lines
1864 bytes
1864 bytes
Some very good reasons for large main memories seem to have been ignored in the recent discussion. For a multiprocess machine large main memories obviously eliminate paging, which is a significant system overhead. There are also certain single user systems which can easily use 10 meg or more of address space. These systems are Lisp systems. It is easy and in fact desirable to have a very large main memory so that the entire system can reside in silicon and not on disk. This very problem crops up in HP's new line of AI workstations based on 68020s with 8 meg of main memory. A simple application can easily build a core image of well over 8 meg. When it comes time to garbage collect, the garbage collection process must swap pages in and out of main memory. Since the disks in these machines are fairly slow garbage collection can take 30 or 40 seconds. Paging can also cause problems when traversing a large data structure (data structures of over 2 meg are easy to build) which resides on multiple pages. While it is true that sophisticated software can overcome some of the paging problems, in many cases the cost of more memory is less than the total cost of developing this software. In todays world silicon is often cheaper than programmer time. Jim Nusbaum Duke University CS Dept. Durham, NC
Re: Reasons For Large Main Memories
Author: Dave Hsu
Date: Mon, 01 Sep 1986 01:59
Date: Mon, 01 Sep 1986 01:59
35 lines
2126 bytes
2126 bytes
In article <8494@duke.duke.UUCP> rjn@duke.UUCP (R. James Nusbaum) writes: > >Some very good reasons for large main memories seem to have been ignored >in the recent discussion. >[deleted text about paging; large data structures] >... While it is true that >sophisticated software can overcome some of the paging problems, in many >cases the cost of more memory is less than the total cost of developing >this software. In todays world silicon is often cheaper than programmer time. > >Jim Nusbaum >Duke University CS Dept. >Durham, NC All good and well, Jim, but not the topic of discussion. By `large' we mean on the order of Gbytes, not Mbytes, at which point various other factors in the system design can degrade performance substantially. With a database of hundreds of Gbytes, the paging problems facing a hypothetical programmer with one or two Gbytes of RAM can actually be much worse than those facing a programmer with one or two Mbytes worth. All it takes is a few zillion page faults, and the time lost in page- search-and-replacement can easily exceed the time gained by a slightly reduced number of accesses. babbling again, -dave -- David Hsu (301) 454-1433 || -8798 || -8715 "I know no-thing!" -eneevax Communications & Signal Processing Laboratory / EE Systems Staff Systems Research Center, Bldg 093 / Engineering Computer Facility The University of Maryland -~- College Park, MD 20742 ARPA: hsu@eneevax.umd.edu UUCP: [seismo,allegra,rlgvax]!umcp-cs!eneevax!hsu "Electro-nuclear carburetion seems fine..."
Re: Reasons For Large Main Memories
Author: Scot E. Wilcoxon
Date: Mon, 01 Sep 1986 23:18
Date: Mon, 01 Sep 1986 23:18
20 lines
1674 bytes
1674 bytes
Since most net.arch readers probably don't usually read Business Week
(I was reading it for tax change info :-) I'll point out "Giving Computers
an Elephant's Memory" in BW, Sept 1 86, pg 50. Mostly about Princeton's M3
(Massive Memory Machine), but also mentions some applications for it and
several companies working on huge memories.
As a mostly-application programmer, I'm deferring comments on the present
pagefaults-and-other-problems discussion to those more knowledgeable.
As a system administrator and sometimes OS tinkerer, I expect a machine
with huge memories will let it be tuned through OS parameters (we're
currently replacing three machines partially because SCO didn't give
us a way to configure XENIX* on them).
* XENIX is a trademark of Microsoft Corporation. Nobody else wanted it.
--
Scot E. Wilcoxon Minn Ed Comp Corp {quest,dicome,meccts}!mecc!sewilco
45 03 N 93 08 W (612)481-3507 {{caip!meccts},ihnp4,philabs}!mecc!sewilco
Laws are society's common sense, recorded for the stupid.
The alert question everything anyway.
Paging
Author: Jim Hutchison
Date: Tue, 02 Sep 1986 07:06
Date: Tue, 02 Sep 1986 07:06
40 lines
2388 bytes
2388 bytes
<>
As memory prices drop and other economic things come to pass,
suddenly we have people asking for big fast memory. Maybe RAM,
maybe SUPER disk, maybe super-cooled core. Whatever it is going
to be, paging will still go on. (Atleast thats a best guess, but
I digress)
Decoding an address is a look up. Simple cascades will not cut it in
the GB or TB range (you laughed at the first guy who said Gig, how
about Tera! :-). Log(n) is nice, but seconds (plural) is not all that
fun for finding a page, even if you go for 8,16 legged trees (base
8,16).
Perhaps having clusters of pages, grouping allocations. This would
help for 2000+ user systems (giving everyone their own cluster or even
one per process), but would fail miserably for the 2GB data base.
Each process having a page translation table, and a VM system which
could grok processes or would only look in one place (via another
translation table perhaps).
It keeps coming back to that translation.
Well how about a mix. A reasonable N MB of virtual memory paged
by whatever scheme you have in hand, and N TB of physical memory
mapped way out somewhere. You could have the real near and the
virtual far if you wanted. Probably easier for faulting and all
that noise. You still have a VM machine, its just that the VM
is way out there where you may not have to use it.
Yes, this rapes the virtual memory environment. Segmentation comes
to mind as something to put on top of the two for protection and
address monkeying (every process gets to have its space start at 0
or whatever makes life easy).
Dabble, yes, flames if you must, please be informative with them.
--
Jim Hutchison UUCP: {dcdwest,ucbvax}!sdcsvax!hutch
ARPA: hutch@sdcsvax.ucsd.edu
"Disclaim, disclaim, off to post I go."
Re: Paging
Author: Jeff Lee
Date: Tue, 02 Sep 1986 16:27
Date: Tue, 02 Sep 1986 16:27
11 lines
977 bytes
977 bytes
> Log(n) is nice, but seconds (plural) is not all that
>fun for finding a page, even if you go for 8,16 legged trees (base
>8,16).
As the memories get bigger, all of a sudden random replacement
starts to look not so bad.... :-)
--
Jeff Lee
CSNet: Jeff @ GATech ARPA: Jeff%GATech.CSNet @ CSNet-Relay.ARPA
uucp: ...!{akgua,allegra,hplabs,ihnp4,linus,seismo,ulysses}!gatech!jeff
Re: Paging
Author: Jerry Natowitz
Date: Tue, 02 Sep 1986 17:20
Date: Tue, 02 Sep 1986 17:20
13 lines
988 bytes
988 bytes
[Time required for virtual memory mapping in huge memory systems] How about increasing the page size proportionally to the memory size. If you got gigabytes to burn what's wrong with a 1 meg page? -- Jerry Natowitz (HASA - A division) Bell Labs HR 2A-214 201-615-5178 (no CORNET) ihnp4!houxm!hropus!jin or ihnp4!opus!jin Isn't it interesting how the beautiful little red flower in the forest becomes so ugly when you discover it's a candy wrapper.
Re: Paging
Author: Peter S. Shenkin
Date: Wed, 03 Sep 1986 18:39
Date: Wed, 03 Sep 1986 18:39
7 lines
1004 bytes
1004 bytes
If big main memory gets REALLY cheap, maybe we won't need virtual memory any
more. Most jobs could just grab a partition of core and live there till they
die. Another partition could be used to run a virtual machine in for bigger
jobs, which perhaps could be run as batch jobs in off-hours more profitably...
Peter S. Shenkin Columbia Univ. Biology Dept., NY, NY 10027
{philabs,rna}!cubsvax!peters cubsvax!peters@columbia.ARPA
Re: Paging
Author: Jerry Natowitz
Date: Thu, 04 Sep 1986 13:00
Date: Thu, 04 Sep 1986 13:00
23 lines
1667 bytes
1667 bytes
> If big main memory gets REALLY cheap, maybe we won't need virtual memory any
> more. Most jobs could just grab a partition of core and live there till they
> die. Another partition could be used to run a virtual machine in for bigger
> jobs, which perhaps could be run as batch jobs in off-hours more profitably...
>
> Peter S. Shenkin Columbia Univ. Biology Dept., NY, NY 10027
> {philabs,rna}!cubsvax!peters cubsvax!peters@columbia.ARPA
I think my definition of virtual memory might be out of synch with
others. Cheap large memories mean that we would be able to do away
with demand paging. We would still need address translation unless
every process was written in position independent code (no address
constants at assembly/compile time etc.) Does virtual memory imply
demand paging or just address translation?
--
Jerry Natowitz (HASA - A division)
Bell Labs HR 2A-214
201-615-5178 (no CORNET)
ihnp4!houxm!hropus!jin
or ihnp4!opus!jin
Isn't it interesting how the beautiful little red flower in the forest
becomes so ugly when you discover it's a candy wrapper.
Re: Reasons For Large Main Memories
Author: R. James Nusbaum
Date: Thu, 04 Sep 1986 15:11
Date: Thu, 04 Sep 1986 15:11
35 lines
2375 bytes
2375 bytes
In article <147@eneevax.UUCP> hsu@eneevax.UUCP (Dave Hsu) writes: > >All good and well, Jim, but not the topic of discussion. By `large' we >mean on the order of Gbytes, not Mbytes, at which point various other >factors in the system design can degrade performance substantially. >With a database of hundreds of Gbytes, the paging problems facing a >hypothetical programmer with one or two Gbytes of RAM can actually be much >worse than those facing a programmer with one or two Mbytes worth. >All it takes is a few zillion page faults, and the time lost in page- >search-and-replacement can easily exceed the time gained by a slightly >reduced number of accesses. > >babbling again, > >-dave >-- >David Hsu (301) 454-1433 || -8798 || -8715 "I know no-thing!" -eneevax Your point is also true. However many Lisp systems are single user systems. Having even a couple of hundred megawords of memory could totally eliminate paging, as the entire system could be resident. Take the Symbolics for instance. It has a 200Mb disk used for paging and some middle amount of memory (maybe 16Mb). We have run many complex systems in this 200Mb size. If we had 200Mb of memory then we would have no need for paging at all! This would significantly speed up many applications. Even 200Mb won't be enough in the near future for some applications, mainly the VLSI cad systems I've worked on. And considering the large word size of some Lisp machine designs (in order to have tag bits) 200Mb can work out to be only 40Mw. My whole point, which I admit I didn't get across well, was that some systems could totally eliminate paging by having huge amounts of actual memory. These systems would generally be single user systems, like Lisp, APL and possibly Prolog machines. Jim Nusbaum
Re: Paging
Author: Henry Spencer
Date: Sun, 07 Sep 1986 01:36
Date: Sun, 07 Sep 1986 01:36
22 lines
1867 bytes
1867 bytes
> If big main memory gets REALLY cheap, maybe we won't need virtual memory any
> more...
The odds are that the demand for address space will continue to grow faster
than the memory sizes. In any case, people who argue on this basis miss an
important point: virtual memory is not a substitute for real memory. To
quote one of my friends over at HCR: "real memory for real performance".
The point of virtual memory is not that it's as useful as real memory -- it
is useful in direct proportion to the extent to which it is backed by real
memory -- but that it turns a hard limit into a soft limit. If you do not
have virtual memory, then a job which doesn't quite fit is unrunnable. If
you do not have virtual memory, and your main memory is slightly over-
committed, then much more drastic measures like swapping will have to be
used, with much more serious impact on performance. Virtual memory does
increase the effective size of memory for many applications (big number-
crunching things are often an exception, which is why virtual memory is
not popular in that community; it doesn't do them much good), but it also
makes performance degrade gradually, instead of sharply and disastrously,
when memory is slightly short.
--
Henry Spencer @ U of Toronto Zoology
{allegra,ihnp4,decvax,pyramid}!utzoo!henry
Re: Paging
Author: Henry Spencer
Date: Sun, 07 Sep 1986 01:38
Date: Sun, 07 Sep 1986 01:38
10 lines
1057 bytes
1057 bytes
> ... Does virtual memory imply demand paging or just address translation?
"Virtual memory", strictly speaking, refers to memory that acts like it's
always there but sometimes isn't. That is, demand paging or some analogous
scheme (paging is not the only memory-management technique possible, and
demand paging is not the only page-fetching policy possible). Address
translation, by itself, is not virtual memory.
--
Henry Spencer @ U of Toronto Zoology
{allegra,ihnp4,decvax,pyramid}!utzoo!henry
Re: Reasons For Large Main Memories
Author: Henry Spencer
Date: Sun, 07 Sep 1986 01:42
Date: Sun, 07 Sep 1986 01:42
15 lines
1269 bytes
1269 bytes
> ...many Lisp systems are single user systems.
> Having even a couple of hundred megawords of memory could totally eliminate
> paging, as the entire system could be resident...
Well, today it could be. Two years from now, in the Lisp community, who
knows? If you drop the ability to do virtual memory, then there is an
awfully sharp cost jump when a program goes from 200MW of memory to 200M+1W.
All of a sudden none of those 200MW machines can run it any more.
There is a lot to be said for memory-rich systems, particularly for Lisp
applications, but discarding virtual memory is throwing out the baby with
the bathwater.
--
Henry Spencer @ U of Toronto Zoology
{allegra,ihnp4,decvax,pyramid}!utzoo!henry
Re: Reasons For Large Main Memories
Author: preece
Date: Mon, 08 Sep 1986 02:04
Date: Mon, 08 Sep 1986 02:04
40 lines
2406 bytes
2406 bytes
> /* Written 4:40 pm Sep 5, 1986 by bzs@bu-cs.BU.EDU in ccvaxa:net.arch */ > Now, ok, you eliminated paging, garbage collection has become a field > service thing. But, could you do anything useful with all that memory > and that (relatively) itty-bitty processor? How long would it take you > to do a MEMQ of a list of a few HUNDRED MILLION lisp objects long? > etc. ---------- Have you not heard of indexes? Hash tables? Arrays? There are any number of ways to use memory that don't involve scanning it. A 2GB database of bibliographic references (such as Dialog or LEXIS might have) would run A LOT FASTER if it lived in main memory and wasn't pounding on the disk interface all the time. That's not a single-user example in today's world (it could be eventually, marketed to libraries and universities), but I have no doubt you can think of applications that are fully indexed, doing few scans, but using many, many bytes of data. The reason you want it in memory is that you don't know which bytes you'll want or what order you'll want them in. ---------- > Ok, but still obviously not cost-effective (the magic ingredient that > gets thrown out whenever this topic starts getting discussed, 1GB of > memory is going to cost you around $1M ---------- Please allow the user to determine what's cost effective. If what you're doing is evaluating huge matrices of seismic data and you need to do them in N hours because there's a rights auction coming up, a million may not be an impediment, especially if the machine can be used as a time-shared engine at times when there isn't a need for haste. Betting on those prices holding is about as sensible as betting on access times holding... -- scott preece gould/csd - urbana uucp: ihnp4!uiucdcs!ccvaxa!preece arpa: preece@gswd-vms
Re: Paging
Author: Kenneth Ng
Date: Mon, 08 Sep 1986 07:03
Date: Mon, 08 Sep 1986 07:03
28 lines
1618 bytes
1618 bytes
In article <654@hropus.UUCP>, jin@hropus.UUCP (Jerry Natowitz) writes:
>
> I think my definition of virtual memory might be out of synch with
> others. Cheap large memories mean that we would be able to do away
> with demand paging.
Memory may be becoming cheaper, but the addressing range of processors
is becoming bigger. The IBM XA (I think) is supposed to support 31
bit addressing, and the Intel 386 is supposed to address 48 bit
addressing! We still have several generations to go, unless we
settle for very BIG memory boards.
> Jerry Natowitz (HASA - A division)
> Bell Labs HR 2A-214
> 201-615-5178 (no CORNET)
> ihnp4!houxm!hropus!jin
> or ihnp4!opus!jin
--
Kenneth Ng: Post office: NJIT - CCCC, Newark New Jersey 07102
uucp(for a while) ihnp4!allegra!bellcore!argus!ken
*** WARNING: NOT ken@bellcore.uucp ***
!psuvax1!cmcl2!ciap!andromeda!argus!ken
bitnet(prefered) ken@orion.bitnet
--- Please resend any mail between 10 Aug and 16 Aug:
--- the mailer broke and we had billions and billions of
--- bits scattered on the floor.
Re: Paging
Author: Ed Gould
Date: Mon, 08 Sep 1986 17:29
Date: Mon, 08 Sep 1986 17:29
22 lines
1591 bytes
1591 bytes
Henry Spencer:
>"Virtual memory", strictly speaking, refers to memory that acts like it's
>always there but sometimes isn't.
I would quibble slightly. To me, virtual memory refers to a memory space
that is different than the physical memory of the machine. A PDP-11
has a virtual memory space of 2^16 bytes, or perhaps 2*2^16 bytes. But
some models of the machine have a physical memory space of nearly 2^22
bytes.
This is not what most people - including me - usually mean when casually
talking about virtual memory. Then, it does refer to a virtual space that
is larger than the available physical space (available either because
the remainder is allocated to other uses, or not physically present),
and is managed by some technique like demand paging that allows partly-
resident processes to execute.
--
Ed Gould mt Xinu, 2560 Ninth St., Berkeley, CA 94710 USA
{ucbvax,decvax}!mtxinu!ed +1 415 644 0146
"A man of quality is not threatened by a woman of equality."
Re: Paging
Author: Greg Noel
Date: Mon, 08 Sep 1986 20:23
Date: Mon, 08 Sep 1986 20:23
27 lines
2065 bytes
2065 bytes
In article <7092@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes: >> ... Does virtual memory imply demand paging or just address translation? > >"Virtual memory", strictly speaking, refers to memory that acts like it's >always there but sometimes isn't. That is, demand paging or some analogous >scheme (paging is not the only memory-management technique possible, and >demand paging is not the only page-fetching policy possible). Address >translation, by itself, is not virtual memory. Hmmmmm..... I think I want to take issue with this. Although what Henry says is valid, his point is too narrow. Two immediate counter-examples are the SDS-940 (later the XDS-940) and the PDP-11, both of which are virtual- memory machines, and yet essentially just only do address translation. (I know, I know, later versions of the PDP-11 can restart instructions; the point remains.) Perhaps more to the point would be to say that the memory image seen by the program is independent of the real memory provided by the machine. That is, the operating system can assign arbitrary portions of real memory to the program and this mapping can change over time. In this context, some amusing definitions: Real: You've got it, and you know you've got it. Transparent: You've got it, but you don't know you've got it. Virtual: You don't have it, but you don't know it. -- -- Greg Noel, NCR Rancho Bernardo Greg@ncr-sd.UUCP or Greg@nosc.ARPA
Re: Paging
Author: Kendall Auel
Date: Tue, 09 Sep 1986 19:25
Date: Tue, 09 Sep 1986 19:25
34 lines
2419 bytes
2419 bytes
In article <1162@ncr-sd.UUCP> greg@ncr-sd.UUCP (Greg Noel) writes: >In article <7092@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes: >>> ... Does virtual memory imply demand paging or just address translation? >> ... Address translation, by itself, is not virtual memory. > ... Perhaps more to the point would be to say that the memory image seen by > the program is independent of the real memory provided by the machine. I had always thought that virtual memory meant address translation only, and that a memory hierarchy (cache, RAM, disk, tape, ...) did not necessarily exist in a virtual memory system. When I looked it up, however, my textbooks speak of virtual memory as a way to map backing store into the address space of the processor: "Virtual memory is a technique which allows the execution of processes that may not be completely in memory. The main visible advantage of this scheme is that user programs can be larger than physical memory." - Peterson & Silberschatz; _Operating_Systems_Concepts_ "Virtual memory provides the user with a memory that can be larger than physical Mp. The virtual memory system handles overlays in a user-transparent manner by deferring the binding between user and physical addresses until instruction execution time." - Siewiorek, Bell, Newell; _Computer_Structures:_Principles_and_ Examples_ I got two points from this reading. 1) Virtual memory *technically* implies only address translation, and 2) The main advantage to using virtual memory is to extend physical memory via a backing store (disk, drum, ...). Thus, the concept of virtual memory for all intents and purposes implies swapping memory to and from a disk, as well as address translation. Kendall Auel Tektronix, Inc.
Re: Paging
Author: Henry Spencer
Date: Thu, 11 Sep 1986 17:32
Date: Thu, 11 Sep 1986 17:32
25 lines
1911 bytes
1911 bytes
> >"Virtual memory", strictly speaking, refers to memory that acts like it's
> >always there but sometimes isn't. That is, demand paging or some analogous
> >scheme ... Address translation, by itself, is not virtual memory.
>
> Hmmmmm..... I think I want to take issue with this. Although what Henry
> says is valid, his point is too narrow. Two immediate counter-examples are
> the SDS-940 (later the XDS-940) and the PDP-11, both of which are virtual-
> memory machines, and yet essentially just only do address translation...
I assure you that the PDP-11 is *not* considered a virtual-memory machine,
not by DEC, not by anyone who knows the machine and knows what the words
mean. (Well, you can sort of do virtual memory on the 11, but none of the
popular operating systems bother.) Why do you think the Berkeley Unixes
also go by the name "VMUNIX"? The "VM" part stands for "virtual memory",
which earlier Unixes -- on the 11, and on the VAX with address translation
but no demand paging -- were not.
> Perhaps more to the point would be to say that the memory image seen by the
> program is independent of the real memory provided by the machine...
This would be a reasonable meaning for the term "virtual memory", but it is
not the standard one. Check any good operating-systems textbook.
--
Henry Spencer @ U of Toronto Zoology
{allegra,ihnp4,decvax,pyramid}!utzoo!henry
Re: Paging
Author: Henry Spencer
Date: Thu, 11 Sep 1986 17:42
Date: Thu, 11 Sep 1986 17:42
22 lines
1539 bytes
1539 bytes
> >"Virtual memory", strictly speaking, refers to memory that acts like it's
> >always there but sometimes isn't.
>
> I would quibble slightly. To me, virtual memory refers to a memory space
> that is different than the physical memory of the machine...
It would be reasonable to use "virtual memory" to denote that concept, but
that is not in fact the concept that it *does* denote. In the same way,
"RAM" stands for "random-access memory", which one would think should include
things like EPROMs... but in fact "RAM" is now an idiom whose meaning is
not identical to the literal meaning of the words it is derived from. So
with "virtual memory".
> This is not what most people - including me - usually mean when casually
> talking about virtual memory...
That's because your casual talk uses the phrase in its correct, idiomatic,
meaning, rather than attempting to read it literally and impute to it a
meaning that it never had.
--
Henry Spencer @ U of Toronto Zoology
{allegra,ihnp4,decvax,pyramid}!utzoo!henry
Re: Paging
Author: Henry Spencer
Date: Thu, 11 Sep 1986 18:03
Date: Thu, 11 Sep 1986 18:03
23 lines
1923 bytes
1923 bytes
> I had always thought that virtual memory meant address translation only, and
> that a memory hierarchy (cache, RAM, disk, tape, ...) did not necessarily
> exist in a virtual memory system. When I looked it up, however, my textbooks
> speak of virtual memory as a way to map backing store into the address space
> of the processor...
>
> I got two points from this reading. 1) Virtual memory *technically* implies
> only address translation, and 2) The main advantage to using virtual memory
> is to extend physical memory via a backing store (disk, drum, ...)...
Can you explain how you arrived at those points from the evidence presented?
Your textbooks clearly state that virtual memory IS the extension of physical
memory via a backing store. They are correct; the phrase first came into
use to describe exactly that concept. It's true that its literal meaning is
a bit different, but that's true of any idiomatic term. The literal meaning
of "computer" is "something which computes, i.e. does arithmetic". This then
includes a human with a slide rule (in fact, fifty years ago "computer" was
the job title for a desk-calculator operator) and probably does not include
a database machine (which does little or no arithmetic). But that's not the
meaning normally understood for "computer".
--
Henry Spencer @ U of Toronto Zoology
{allegra,ihnp4,decvax,pyramid}!utzoo!henry
Re: Paging
Author: Greg Noel
Date: Thu, 11 Sep 1986 23:05
Date: Thu, 11 Sep 1986 23:05
38 lines
2671 bytes
2671 bytes
In article <7621@tekecs.UUCP> kendalla@blast.UUCP (Kendall Auel) writes: >In article <1162@ncr-sd.UUCP> greg@ncr-sd.UUCP (Greg Noel) writes: >> ... Perhaps more to the point would be to say that the memory image seen by >> the program is independent of the real memory provided by the machine. >I had always thought that virtual memory meant address translation only, and >that a memory hierarchy (cache, RAM, disk, tape, ...) did not necessarily >exist in a virtual memory system. This is true. In fact, I have seen a design for an embedded computer with no backing store that used virtual memory to improve its real memory utilization. The tasks ran in a largish virtual space and the unallocated memory simply wasn't mapped. The memory allocator had some heuristics to minimize the number of pages occupied and didn't hesitate to leave large sections of the virtual memory unused and unmapped. Typically, fragmentation causes you to run out of space when there is as much as one-third of the memory still available (see Knuth, Vol. I for details); with this scheme, we could depend upon functioning with over 90% utilization, and often over 95% -- it was like adding half again as much memory...... I wish my Amiga used this trick; it's irritating to run out of memory when the system claims that it still has 220K free....... >When I looked it up, however, my textbooks >speak of virtual memory as a way to map backing store into the address space >of the processor: [.... quotes deleted .....] > >I got two points from this reading. 1) Virtual memory *technically* implies >only address translation, and 2) The main advantage to using virtual memory >is to extend physical memory via a backing store (disk, drum, ...). Thus, the >concept of virtual memory for all intents and purposes implies swapping memory >to and from a disk, as well as address translation. An accurate assessment, I think. Although there are reasons to separate the two concepts, they work so well together that it is hard to consider them independantly. -- -- Greg Noel, NCR Rancho Bernardo Greg@ncr-sd.UUCP or Greg@nosc.ARPA
Re: Paging
Author: Eric Lee Green
Date: Sat, 13 Sep 1986 17:33
Date: Sat, 13 Sep 1986 17:33
38 lines
2235 bytes
2235 bytes
<munch>
Re: What is virtual memory?:
One of the big programmer benefits of modern operating systems is that
they give each user his own "virtual machine" to run his programs on,
that is, to some extent, each program thinks it has the machine all to
itself, and doesn't have to worry about what other processes are
doing. Virtual memory is basicaly the "memory" of this virtual
machine. For example, in the PDP-11 example -- each process thought it
was running on a 64K machine. While on this Vax, each program thinks
it is running on a 4 gigabyte machine. While on the 80286, the
machine's virtual memory consists of the fact that it makes it look to
each process as if it can access 64,000 64k segments. Note that paging
is not the only way to do things -- the 80286 has no paging and yet
its memory management scheme certainly qualifies as "virtual memory",
while the PDP-11 also swapped out its 64K segments when something else
needed to be run. But, basically, the point is:
a) Each process is given its own virtual machine, which has a constant
amount of memory, so that
b) programs can be designed for that virtual amount of memory, and do
not have to contain a bunch of special clauses for when the actual
physical amount of memory changes sometime in the future.
The grossest abuse of course is VM, where not only do they make it
look like the process is running on its own processor, but has its own
directly addressible i/o devices also. Talk about taking things to
extremes!
Eric
--
Eric Green {akgua,ut-sally}!usl!elg
(Snail Mail P.O. Box 92191, Lafayette, LA 70509)
-- Tengo lo mismo que doy y solo sirve al presente.
Re: Reasons For Large Main Memories
Author: aglew
Date: Wed, 17 Sep 1986 15:15
Date: Wed, 17 Sep 1986 15:15
47 lines
3058 bytes
3058 bytes
... > Large main memories... Scientific codes can effectively do their
... > own memory management, and do not need to be penalized by VM HW.
J. Giles et al have pretty much persuaded me that virtual memory isn't
always a good thing (it wasn't hard - I was already there).
But, unless you are selling computers strictly to the non-virtual scientific
crowd, a computer manufacturer will probably want to have virtual memory for
his general purpose customers. Your market offering might run like this:
1. A general purpose machine/OS with virtual memory
1'. The ability to turn off virtual memory in machine/OS 1,
for efficiency of important scientific codes.
2. A strictly scientific machine that doesn't have virtual memory
hardware at all, so scientific codes that don't use virtual
memory pay no penalty at all.
Assumption: you will probably want these machines to be architecturally
compatible, to save development cost for peripherals and assembly language
code, and so that marketing can tell customers that you have a binary
compatible family of machines... (sigh).
Q1: What features should a machine have so that it can span both virtual and
non-virtual systems?
Q2: In the non-virtual, scientific, machine 2 do you really want to be
running a multi-tasking system?
Q3: In a multi-tasking OS, can you mix virtual and non-virtual processes?
If the answer to Q2 is no, you're running a batch system, and you don't
need much special support in the instruction set, at least, to span virtual
and non-virtual systems. Same thing even if you are doing batch style
multitasking, so long as you don't need to swap processes out and move
them around in core.
What if your customers' answer to Q2 is yes? (Cray seems to think so, with
their UNIX). If you need to swap processes out and dynamically relocate them
in core, what IS features do you need?
I think this question was answered a long time ago - base registers.
Now, my real question is what exactly you need to make base registers useful.
Any takers?
I'm not sure that Q3 is an important question. You're only going to mix
virtual and non-virtual processes if there is a speed advantage to be gained
by turning off translation. Ie. running with the identity map would be
equivalent, except for TLB misses.
Andy "Krazy" Glew. Gould CSD-Urbana. USEnet: ihnp4!uiucdcs!ccvaxa!aglew
1101 E. University, Urbana, IL 61801 ARPAnet: aglew@gswd-vms
Re: Paging
Author: Greg Noel
Date: Tue, 23 Sep 1986 23:43
Date: Tue, 23 Sep 1986 23:43
43 lines
2861 bytes
2861 bytes
In article <7110@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes: >I assure you that the PDP-11 is *not* considered a virtual-memory machine, >not by DEC, not by anyone who knows the machine and knows what the words >mean. That's an awfully snippy comment. Just because the virtual space is smaller than the physical doesn't mean that it isn't a virtual machine. >Why do you think the Berkeley Unixes >also go by the name "VMUNIX"? The "VM" part stands for "virtual memory", >which earlier Unixes -- on the 11, and on the VAX with address translation >but no demand paging -- were not. "You can call a tail a leg, but that doesn't make it one." (Actually, that's not quite correct, either. Indeed, "VMUNIX" is a virtual memory operating system -- but then, so were the earlier ones.) I will agree that an extremely strong motivation for virtual memory is so that you are not required to have all of your program residing in physical memory. I will even agree that most virtual memory systems use some form of paging (or whatnot) for memory management -- but that doesn't mean that the concepts are the same, or that virtual memory mandates paging. There are other, perfectly valid reasons to have virtual memory. I think the problem here is one of age. Henry is probably too young to have heard the terms used correctly and is using the (usually very reasonable) assumption that if A and B always occur together, then A implies B. On the other hand, I worked on the Project Genie time-sharing system (one of the two original ARPA-funded time-sharing projects; the other was Project Multics), so I can claim some degree of expertise on the topic. The fundamental concept of virtual memory is that a large name space (the virtual memory) can be partially mapped to a smaller name space (the physical memory) with the remainder of the space unmapped. Uttering a name that is not mapped causes some sort of an exception mechanism, but the semantics of that exception are not part of the virtual memory model. Admittedly, the concept is not terribly interesting unless you postulate some exception semantics, but paging is just one potential set of exception semantics, not the \only/ one. -- -- Greg Noel, NCR Rancho Bernardo Greg@ncr-sd.UUCP or Greg@nosc.ARPA
Re: Paging
Author: Henry Spencer
Date: Mon, 06 Oct 1986 17:38
Date: Mon, 06 Oct 1986 17:38
14 lines
1274 bytes
1274 bytes
> "You can call a tail a leg, but that doesn't make it one."
> ...
> I think the problem here is one of age. Henry is probably too young to have
> heard the terms used correctly and is using the (usually very reasonable)
> assumption that if A and B always occur together, then A implies B...
This is an amusing juxtaposition. Greg, please see any good computer-science
dictionary and encyclopedia for the *modern* meaning of "virtual memory".
What it was considered to mean twenty years ago is not relevant; that's a
very long time ago in this field. The meanings of words are defined by how
they are used, not by how they used to be used.
--
Henry Spencer @ U of Toronto Zoology
{allegra,ihnp4,decvax,pyramid}!utzoo!henry
Re: Paging
Author: Phil Ngai
Date: Wed, 08 Oct 1986 00:18
Date: Wed, 08 Oct 1986 00:18
41 lines
2521 bytes
2521 bytes
In article <1181@ncr-sd.UUCP> greg@ncr-sd.UUCP (Greg Noel) writes:
>In article <7110@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes:
>
>>I assure you that the PDP-11 is *not* considered a virtual-memory machine,
>>not by DEC, not by anyone who knows the machine and knows what the words
>>mean.
>
>That's an awfully snippy comment. Just because the virtual space is smaller
>than the physical doesn't mean that it isn't a virtual machine.
I think there is a confusion here on Greg's part between virtual
address space and virtual memory. No one who has studied PDP-11 memory
management will deny that some PDP-11s support virtual addressing. In
fact, VAX stands for Virtual Address eXtension, implying that the
virtual address concept is not new to DEC's product line. However,
this is not the same as virtual memory, as Greg seems to think. The
VAX architecture handbook goes on to say "a virtual memory system is
used to provide a large address space while allowing programs to run
on hardware configurations that actually have smaller memory sizes."
>>Why do you think the Berkeley Unixes
>>also go by the name "VMUNIX"? The "VM" part stands for "virtual memory",
>>which earlier Unixes -- on the 11, and on the VAX with address translation
>>but no demand paging -- were not.
>
>"You can call a tail a leg, but that doesn't make it one."
>
>(Actually, that's not quite correct, either. Indeed, "VMUNIX" is a virtual
>memory operating system -- but then, so were the earlier ones.)
I don't see any basis at all for this claim that the earlier forms of
Unix were virtual memory operating systems. Virtual address space,
yes, for memory management is very important to a multi-tasking
operating system. But virtual memory, no.
--
DIP stands for DECnet-DOS Installation Procedure.
Phil Ngai +1 408 749 5720
UUCP: {ucbvax,decwrl,ihnp4,allegra}!amdcad!phil
ARPA: amdcad!phil@decwrl.dec.com
Words (was Re: Paging)
Author: Chris Torek
Date: Wed, 08 Oct 1986 04:11
Date: Wed, 08 Oct 1986 04:11
54 lines
3112 bytes
3112 bytes
(The original topic was paging and virtual memory.)
>In article <1181@ncr-sd.UUCP> someone (probably Greg Noel) writes:
>>... Henry is probably too young to have heard the terms used correctly
>>and is using the (usually very reasonable) assumption that if A and B
>>always occur together, then A implies B...
In article <7190@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) replies:
>The meanings of words are defined by how they are used, not by how
>they used to be used.
You are both wrong.
Henry is right in using `virtual memory' as he does; his is the
meaning that is generally accepted in the field. His usage is
unlikely to cause confusion. But the meanings of words are not
defined by how they are used. The meanings of words are defined
by the listener.
Many words are ambiguous. This is not a failing of the language.
Problems occur only when writers (or speakers) use such words
carelessly. For example, William Strunk Jr. advises us that the
word `presently'
Has two meanings: ``in a short while'' and ``currently.''
Because of this ambiguity it is best restricted to the first
meaning: ``He'll be here presently'' (``soon,'' or ``in a
short time'').
(_The_Elements_of_Style_, William Strunk Jr. and E. B. White, Third
Edition, Macmillan Publishing Co., Inc., New York, p. 57.) I,
however, disagree: `It is presently raining' is clear, if not
concise. In its other incarnation, the word `presently' may be
used as an intensifier. Neither usage stands alone; the writer
must provide context.
I feel I should also mention that Professor Strunk is, in another
sense, correct. He also advises us to `omit needless words.' The
intensifier must be justified. Consider, for example, this sentence:
`Today was and will be a wonderful day, although it is presently
raining'. Without the word `presently', it means something entirely
different.
While, as White says in the introduction to Chapter V, `... the
young writer ... will often find himself steering by stars that
are disturbingly in motion', I think that the Computer Science
stars surrounding `virtual memory' have long since settled. I must
admit that I am even younger a writer than Henry---but I am not,
or not usually, a careless one: I know my navigation. Henry is
on course.
--
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 1516)
UUCP: seismo!umcp-cs!chris
CSNet: chris@umcp-cs ARPA: chris@mimsy.umd.edu
Re: Paging
Author: Bruzzini
Date: Fri, 10 Oct 1986 01:02
Date: Fri, 10 Oct 1986 01:02
16 lines
1090 bytes
1090 bytes
> This is an amusing juxtaposition. Greg, please see any good computer-science > dictionary and encyclopedia for the *modern* meaning of "virtual memory". > Henry Spencer @ U of Toronto Zoology From my dictionary of computer terms: virtual memory: The mapping of a program address into a physical memory address, usually done by hardware. paging: The operation of moving pages of information to and from secondary storage Daryl Monge NET: ihnp4!ihelp!dlm AT&T CIS: 72717,65 Bell Labs Naperville, Ill.
Re: Paging
Author: Jim Giles
Date: Sun, 12 Oct 1986 13:39
Date: Sun, 12 Oct 1986 13:39
11 lines
987 bytes
987 bytes
In article <7190@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes: >... >What it was considered to mean twenty years ago is not relevant; that's a >very long time ago in this field. The meanings of words are defined by how >they are used, not by how they used to be used. Quite so. I remember when 'hacker' was a derogatory term. I still use it that way, but no one else seems to. J. Giles Los Alamos
Re: Paging
Author: tan
Date: Tue, 14 Oct 1986 17:50
Date: Tue, 14 Oct 1986 17:50
20 lines
1281 bytes
1281 bytes
In article <842@ihlpm.UUCP>, edsxdev0@ihlpm.UUCP (Bruzzini) writes: > > From my dictionary of computer terms: > > virtual memory: The mapping of a program address into a physical memory > address, usually done by hardware. > > > Daryl Monge NET: ihnp4!ihelp!dlm > AT&T CIS: 72717,65 > Bell Labs > Naperville, Ill. I don't know which computer dictionary you are using. To me, virtual memory is a logical memory. The address space of virtaul memory is, usually, >> that of physical one. The mapping is just a mechanism to convert the logical memory space to the physical one (in run time). I believe you need a better dictiionary.
Changing meanings of words
Author: Richard Mateosian
Date: Wed, 15 Oct 1986 05:56
Date: Wed, 15 Oct 1986 05:56
12 lines
1232 bytes
1232 bytes
>>The meanings of words are defined by how they are used, not by how they >>used to be used. >Quite so. I remember when 'hacker' was a derogatory term. I still use >it that way, but no one else seems to. I remember when 'mainframe' meant 'the computer' (as opposed to the tape unit or the card reader or the I/O channel -- other big gray boxes in the computer room). Richard Mateosian ...ucbvax!ucbiris!srm 2919 Forest Avenue 415/540-7745 srm@iris.Berkeley.EDU Berkeley, CA 94705
Re: Paging
Author: Jeff Gilliam
Date: Wed, 15 Oct 1986 06:54
Date: Wed, 15 Oct 1986 06:54
6 lines
802 bytes
802 bytes
It seems to me that the only thing that this discussion has proved is
that "virtual memory" is an ill-defined term. Let us accept that fact
and get on to other topics.
--
Jeff Gilliam {ucbvax,pyramid,nsc}!voder!jeff
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads