From: Andrey Savochkin <saw@saw.sw.com.sg>
To: Jan Astalos <astalos@tuke.sk>
Cc: linux-mm@kvack.org, Yuri Pudgorodsky <yur@asplinux.ru>
Subject: Re: Question: memory management and QoS
Date: Mon, 28 Aug 2000 19:30:32 +0800 [thread overview]
Message-ID: <20000828193032.B5579@saw.sw.com.sg> (raw)
In-Reply-To: <39AA30AF.14C17C50@tuke.sk>; from "Jan Astalos" on Mon, Aug 28, 2000 at 11:28:15AM
On Mon, Aug 28, 2000 at 11:28:15AM +0200, Jan Astalos wrote:
> Andrey Savochkin wrote:
> > I don't think that personal swapfiles is an efficient approach to achieve
> > QoS. Most of the space will be reserved for exceptional cases, and, thus,
> > wasted, as Yuri has mentioned. A shared swap space allowing exceeding the
> > guaranteed amount (if the memory isn't really used) is much more efficient
> > spending of the space. If the system has some spare memory, users exceeding
> > their limits may still use it (but, certainly, only if only some of them, not
> > all, exceed the limits). Moreover, if some users don't consume all the
> > memory guaranteed to them, others may temporarily use it.
>
> I think I explained my points clearly enough in my second reply to Yuri so I won't
> repeat it again.
>
> I still claim that per user swapfiles will:
> - be _much_ more efficient in the sense of wasting disk space (saving money)
> because it will teach users efficiently use their memory resources (if
> user will waste the space inside it's own disk quota it will be his own
> problem)
> - provide QoS on VM memory allocation to users (will guarantee amount of
> available VM for user)
> - be able to improve _per_user_ performance of system (localizing performance
> problems to users that caused them and reducing disk seek times)
> - shift the problem with OOM from system to user.
Ok, tell me: if user A has swapfile of 10MB and doesn't use it, whether user
B is allowed to use it meanwhile?
If the answer is no, it's a waste of space, as I said.
If the answer is yes, I don't buy your argument of better clustering and less
fragmentation.
>From my point of view, the real topics are
1. memory QoS, which starts from controlled sharing of in-core memory between
users and, then, sharing of swap space, and the swap storage organization
(per-user or global) being a second-order question because separate
storages may easily be "emulated" by just quotas, and visa versa;
2. swap-out clusterization.
Speaking about the clusterization, the current code already keeps this aspect
in mind. It may be more or less efficient, but it's a separate topic.
> I think that your beancounter is a big step towards good QoS in Linux MM, but
> I'm a bit confused when I'll hear "...users exceeding their limits". What's the
> limit good for if it can be exceeded ? Can you rethought the term ?
Well, I usually call them "thresholds" rather than "limits".
Users are guaranteed to have some quality of service below the these
thresholds, i.e. that their allocations succeed, that the processes aren't
killed because of OOM, that the pages aren't swapped out.
Over the thresholds the resources are given and requests are served on the
best-effort basis.
> Can you describe how to avoid VM shortage by beancounter ?
I don't want to avoid VM shortage.
The goal is to introduce different levels of service and allows
administrators to manage it.
Users obeying their "contracts" (staying below the thresholds set for them)
have some guarantees. The guarantees are real if the administrator ensures
that the sum of guaranteed amounts of resources is not greater than what's
available.
Users disobeying their "contracts" may face negative effects with the chances
depending on the amount of unused resources and the degree of their
violation.
VM shortage is possible (and total avoiding it is very inefficient).
The goal is to make its consequences controllable, guarantee that certain
processes will never suffer from it etc.
Regards
Andrey V.
Savochkin
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/
next prev parent reply other threads:[~2000-08-28 11:30 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-08-24 10:13 Jan Astalos
2000-08-28 7:47 ` Andrey Savochkin
2000-08-28 9:28 ` Jan Astalos
2000-08-28 11:30 ` Andrey Savochkin [this message]
2000-08-28 12:38 ` Jan Astalos
2000-08-28 17:25 ` Rik van Riel
2000-08-30 7:38 ` Jan Astalos
2000-08-30 16:53 ` Rik van Riel
2000-08-31 1:48 ` Andrey Savochkin
2000-08-31 11:49 ` Jan Astalos
2000-08-25 13:22 Yuri Pudgorodsky
2000-08-25 15:51 ` Jan Astalos
2000-08-25 20:17 ` Yuri Pudgorodsky
2000-08-28 8:36 ` Jan Astalos
2000-08-28 11:05 ` Andrey Savochkin
2000-08-28 12:10 ` Jan Astalos
2000-08-28 13:10 ` Andrey Savochkin
2000-08-30 9:01 ` Jan Astalos
2000-08-30 11:42 ` Marco Colombo
2000-08-28 17:40 ` Rik van Riel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20000828193032.B5579@saw.sw.com.sg \
--to=saw@saw.sw.com.sg \
--cc=astalos@tuke.sk \
--cc=linux-mm@kvack.org \
--cc=yur@asplinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox