[comp.os.research] working sets and shared pages

ijh@tut.fi (Ilkka Haikala) (03/15/88)

Hello

You requested information about DWS-implementations in environments,
where segments are shared between processes. I know about three or two
such implementations:

1. Nokia Electronics (a Finish company) is manufacturing an Ada
computer called MPS 10. The architecture resembles somewhat the IBM
S/38. It's a "single level storage" computer, and therefore all
memory is (potentially) shared by definition.  Protection and
addressing is based on Capabilities. The replacement algorithm is a
DWS approximation. There is no information published about the system,
but I know the details of the implementation quite well myself (and I
can also pass information to you if you need it).

2. The MUMS project in university of Lund (Sweden) is implementing a
multiprocessor shared memory system, where the replacement policy is
based on an DWS-approximation. The relatively exotic memory
organization of the system makes things even more complicated than in
the case of MPS 10. There are some drafts describing the
implementation under work. For more information, you can contact 
professor Lars Philipson (lars@ikaros.dst.lu.se).

3. The DWS-implementation for Gould superminis has been described in

%A Akhtar, P.,
%T A Replacement for Berkeley Memory Management.
%U Proceedings of the USENIX 1987 Technical Conference and Exhibition,
%U Phoenix, Arizona (June 1987) pp. 69-79.

I don't have the paper at hand now, but as far as I remember, the
system is using DWS -approximation. Probably, the sharing of pages
is solved somehow. (Also, this is a multiprocessor implementation,
which makes things more interesting.)

sincerely: Ilkka Haikala
Technical University of Tampere, Finland

P.S. If you have knowledge about some other systems, I would be most
greatful to get the references.

jsb@actnyc.uucp (The Invisible Man) (03/23/88)

In article <4780@sdcsvax.UCSD.EDU> ijh@tut.fi (Ilkka Haikala) writes:
)You requested information about DWS-implementations in environments,
)where segments are shared between processes. I know about three or two
)such implementations:
)
)1. Nokia Electronics (a Finish company) is manufacturing an Ada
) /* details deleted */

)2. The MUMS project in university of Lund (Sweden) is implementing a
) /* details deleted */
 
)3. The DWS-implementation for Gould superminis has been described in
) /* details deleted */

)P.S. If you have knowledge about some other systems, I would be most
)greatful to get the references.

4. The Auragen system (partially described in the 9th ACM Symposium on
   Operating Systems Principals) did the following:
   Each process had its own set of page mapping registers which included
   fields for per page reference history thus working sets could be calculated
   independant of sharing.  A page in any processes working set would remain
   in memory but a process sharing the page but not having it in its working
   set would think it was paged out.  The page fault handler would check if
   the faulted page was really in memory before bringing it in from disk.
   The per process history information and the check for whether a page fault
   required disk access were the only changes necessary for working set
   maintenance in a shared environment.
-- 
			The check is in the e-mail

				jim (uunet!actnyc!jsb)