Subject: Re: Building an alternate backing store.
To: gabriel rosenkoetter <gr@eclipsed.net>
From: Gregory McGarry <g.mcgarry@ieee.org>
List: tech-kern
Date: 07/14/2000 08:39:35
gabriel rosenkoetter wrote:

> Just to clarify, the cloud's-eye view of what I want to do is this:
> 
> The swap pager decides it's time to page out a process. It would
> ordinarily do this by writing it to swap space on disk. In my cluster
> (yes, I know there are many details of the cluster I'm eliding;
> they'll be dealt with later and maybe by others), however, I want the
> swap pager to *first* page to pages resident in another machine's
> memory. The premise is that network transfer speeds exceed disk
> access speeds, and are rising at a greater rate (especially on the
> commodity hardware involved).

I can understand what you are trying to do.  However, limited cpu
resources could invoke process migration in addition to limited memory
resources.

I have been investigating the similar problem of checkpointing.
In both cases, the intension is to preserve process state for
later execution.  I suppose the logical extension to checkpointing
is to transfer the saved state to another node in a cluster.  In fact,
given a flexible checkpointing interface, process migration could be
done in userland (for simple programs, anyway).

I started poking around in uvm_coredump().

> This theoretical idea fealt feasible after reading chapter 5 of
> McKusick's 4.4BSD, but the book is purposely short on implementational
> details.

Chuck Cranor's dissertation on UVM provides a much better overview.

	-- Gregory McGarry <g.mcgarry@ieee.org>