[Top][All Lists]

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

Resource Management on General-Purpose Systems

From: Neal H. Walfield
Subject: Resource Management on General-Purpose Systems
Date: Thu, 12 Jul 2007 16:41:59 +0200
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/21.4 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI)

General-purpose systems include both interactive systems, such as PDAs
and Desktops, as well as small to medium-sized servers.  Although many
applications that run on such systems have timeliness properties,
efficient use of available resources is more important than
schedulability (i.e., meeting deadlines).  Achieving this goal is
complicated by the fact that workloads are often unpredictable and
dynamic.  This requires such systems be able to dynamically adapt to
maximize efficiency.  In short,

  General-purpose systems:
    goal: efficient use of resources
    observation: unknown workloads
    observation: changing demand

Given the increasing amount of resources available, Tanenbaum, in a
private discussion, argued that paging of anonymous memory is no
longer interesting.  Once you start paging, the game is over.
Instead, he claimed, should it come to the point where paging is
necessary, an error should be returned and, for instance, the shell
should prompt the user to close an application.

I disagree with his claim that there is a near abundance of resources.
First, the data that is manipulated on these systems is growing in
size and complexity.  The resolution of digital photos and movies are
increasing and web pages contain rich content such as Flash or Ajax
applications.  Second, many programs can adapt to available resources
changing the quality of the output or the amount of data cached.
Third, some devices have less, not more, resources.  OLPC is a
particularly good example.  Linksys Routers, in which saving a few
megabytes of flash are enough to motivate an entire rewrite of the
system [1], and hand held PCs such as the Nokia 770 and N800 also fall
into this category.

The problem is not how to more intelligently choose the page to evict,
but how to intelligently choose the page to free.  That is, I agree
with Tanenbaum that if an active program's working set does not fit in
core and must be swapped, there is a problem.  However, memory
management is still interesting: when there is memory pressure, the
scheduler should concentrate on enabling adaptation.



[1] Rafe Needleman, "Technology marches backwards," June 14, 2006.

reply via email to

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