jack@citcom.UUCP (Jack Waugh) (12/01/87)
I have received, so far, zero replies to my query about virtual memory for Smalltalk here. Are any readers using working Smalltalk systems? On what hardware? Can the system you use remember more objects than would fit in RAM? How does it accomplish this?
tow@parcvax.UUCP (12/01/87)
In article <128@citcom.UUCP> jack@citcom.UUCP (Jack Waugh) writes: >I have received, so far, zero replies to my query about virtual >memory for Smalltalk here. > >Are any readers using working Smalltalk systems? On what hardware? > >Can the system you use remember more objects than would fit in RAM? >How does it accomplish this? Both ParcPlace Systems' Smalltalk-80 and Tektronix Smalltalk-80 run on machines that support virtual memory. In the case of ParcPlace Smalltalk-80, one may run it on a Sun-3, an Apollo-Dn-3000, or an HP-9000 workstation, with virtual memory. For example, my workstation is a Sun-3/140C with eight megabytes of ram, which allows me to quite comfortably run Smalltalk-80 with ten megabytes allocated to the Smalltalk image, on top of Sun's NeWS or SunView windowing systems. Rob Tow ParcPlace Systems Graphics Wizard ("I can call spirits from the vasty deep") 2400 Geng Road Palo Alto CA. 94303 Internet: rob@ParcPlace.com USENET: ...!{ucbvax, allegra, seismo, pyramid, decvax}!sun!pplace!tow
mario@mucs.UX.CS.MAN.AC.UK (Mario Wolczko) (12/18/87)
Re: the question about virtual memory and Smalltalk (sorry, I don't have the original to hand): As far as we know, the OOZE and LOOM systems were only used on the research computers (Alto, Dorado) at Xerox PARC. Before you consider implementing LOOM, or a similar system, you should read this: Virtual Memory on a Narrow Machine for an Object-Oriented Language, Ted Kaehler, Proc. OOPSLA '86, SIGPLAN Notices, 21:11, Nov. 1986, pp.87-106. (If that doesn't put you off the idea, nothing will :-) Also, a similar system is proposed for a new machine to support Smalltalk and other object-oriented systems being designed in Scotland. Check out: OBJEKT: A Persistent Store With An Integrated Garbage Collector, SIGPLAN Notices, 22:4, April 1987, pp.70-79. These sorts of systems (usually known as "object-swappers") only win when memory is very, very tight, i.e., approximately the same size as the working set of objects. Under these circumstances, conventional virtual memory systems thrash badly because they waste some space on unused objects. However, when memory is more plentiful, the object-swappers require far more disk accesses (because they only get one object per access, by definition), whereas other schemes may get more than one useful object on a page. An alternative route is to group objects together in the image so that related objects appear close together in the virtual address space. This is known as "static grouping", and is described in Static Grouping of Small Objects to Enhance Performance of a Paged Virtual Memory, James W. Stamos, ACM Transactions on Computer Systems, 2:2, May 1984. This is probably of more interest to you, as no hardware support (above conventional paging) is required. We at Manchester in the MUSHROOM group have developed a successor to static grouping known as "dynamic grouping". This involves determining groups of related objects at run-time, and performing disk transfers based on those groupings. An analysis of an LRU algorithm, and the required amount of hardware support can be found in: Dynamic Grouping in an Object Oriented Virtual Memory Hierarchy, Ifor Wyn Williams, Mario I. Wolczko and Trevor P. Hopkins, Proceedings of ECOOP 87, Springer-Verlag Lecture Notes in Computer Science vol. 276, pp.79-88, and Realisation of a Dynamically Grouped Object-Oriented Virtual Memory Hierarchy, Ifor Wyn Williams, Mario I. Wolczko and Trevor P. Hopkins, Proceeding of the Appin Workshop on Persistent Object Systems, Research Report of the Universities of Glasgow and St. Andrews, Scotland (don't have the number to hand). The papers show that regrouping on-the-fly can cut down on paging by 2-5 times, depending on memory size, application, etc. We intend to incorporate the dynamic grouping scheme in a high-performance object-oriented machine we are building. Hope this helps, Mario Wolczko Ifor Williams ______ Dept. of Computer Science Internet: mario%r5.cs.man.ac.uk /~ ~\ The University USENET: mcvax!ukc!man.cs.r5!mario ( __ ) Manchester M13 9PL JANET: mario@uk.ac.man.cs.r5 `-': :`-' U.K. Tel: +44-61-273 7121 x 5699 ____; ;_____________the mushroom project____________________________________