[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: self-paging

From: Jonathan S. Shapiro
Subject: Re: self-paging
Date: Thu, 01 Dec 2005 19:30:28 -0500

I apologize for my delay in responding on this thread -- I've been
dealing with impending final exams and some Coyotos contract issues.

Concerning self-paging, I think we need to break the discussion down
into several distinct issues:

  1. Hard vs. soft page frame commitments
  2. Application control over pageout selection
  3. Notifying the application about changes in contract

The first point is simple. I just wanted to point out that we are
talking here about negotiated, changing contracts, so we are discussing
only "soft" contracts.

The point about application pageout control is that this is separate
from the question of notification. There is a paper design in EROS for
dealing with this that can be summarized as follows:

  1. There is a first class "frame pool" abstraction. A frame
     pool defines some number of frames that have been guaranteed
     to the application.
  2. Given a frame pool, an application can associate regions
     of the virtual address space with that pool.
  3. Whenever a page fault occurs, the page frame is allocated
     against the quota imposed by the frame pool.
  4. If the frame pool is fully subscribed, some existing frame
     within that frame pool is evicted (policy for this not yet
     defined, but conceptually: FIFO)

The point: you don't need to notify the application of anything in order
to let the application define residency requirements.

The notification issue is a problem, because it is a universal
communication channel among all processes. There are two different
models to consider here:

  1. Soft reservations are adjusted dynamically by some agent in
     response to pressure. This is the case where we need to
     consider channels.

  2. Soft reservations are adjusted only in response to user action.
     For example, when your window ceases to be in front, we can tell
     you safely that your CPU contract and memory contract are reduced.

      This does not create a channel issue, and it seems to deal very
      well with the problems that people are really trying to solve
      when they do this type of adaptive reservation.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]