Re: Comments on the KSE option
- From: "Alexandre \"Sunny\" Kovalenko" <Alex.Kovalenko@xxxxxxxxxxx>
- Date: Fri, 27 Oct 2006 21:36:27 -0400
On Fri, 2006-10-27 at 18:25 -0700, Julian Elischer wrote:
Alexandre "Sunny" Kovalenko wrote:I apologize for misinterpreting your words. But then, if I have M:N set
On Fri, 2006-10-27 at 16:41 -0400, Daniel Eischen wrote:
On Fri, 27 Oct 2006, Paul Allen wrote:I might be missing something here, but OP was separating M:N (which is
No, it is POSIX. You, the application, can write a program withFrom Julian Elischer <julian@xxxxxxxxxxxx>, Fri, Oct 27, 2006 at 12:27:14PM -0700:Ah. Let me be one of the first to take a crack at attacking this idea as
The aim of the fair scheduling code is to ensure that if you, as a user,
make a process that starts 1000 threads, and I as a user, make an
unthreaded process, then I can still get to the CPU at somewhat similar
rates to you. A naive scheduler would give you 1000 cpu slots and me 1.
a mistake.
system scope or process scope threads and get whatever you behavior
you want, within rlimits of course.
If you want unfair scheduling, then create your threads with
system scope contention, otherwise use process scope. The
kernel should be designed to allow both, and have adjustable
limits in place for (at least) system scope threads.
Noone is saying that you can't have as many system scope threads
as you want (and as allowed by limits), just that you must also
be able to have process scope threads (with probably higher limits
or possibly no limits).
what you are referring to above), and "fairness" (not giving process
with 1000 *system scope* threads 1000 CPU scheduling slots). As far as I
know the first one is POSIX and the second one is not.
FWIW: as an application programmer who spent considerable amount of time
lately trying to make heavily multithreaded application run most
efficiently on 32-way machine, I would rather not have to deal with
"fairness" -- M:N is bad enough.
no, fairness is making sure that 1000 process scope threads
do not negatively impact other processes.
1000 system scope threads are controlled by your ulimit settings
(Each one counts as a process.)
to 10:1, I would expect application with 1000 process scope threads to
have as many CPU slots as 100 processes, or, if I have 10 system scope
threads and 990 process scope threads, I would expect application to
have as many CPU slots as 109 processes. Is this what you refer to as
"fairness"?
--
Alexandre "Sunny" Kovalenko
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: Comments on the KSE option
- From: Julian Elischer
- Re: Comments on the KSE option
- References:
- Comments on the KSE option
- From: Julian Elischer
- Re: Comments on the KSE option
- From: Paul Allen
- Re: Comments on the KSE option
- From: Daniel Eischen
- Re: Comments on the KSE option
- From: Alexandre \"Sunny\" Kovalenko
- Re: Comments on the KSE option
- From: Julian Elischer
- Comments on the KSE option
- Prev by Date: Re: Comments on the KSE option
- Next by Date: Re: Comments on the KSE option
- Previous by thread: Re: Comments on the KSE option
- Next by thread: Re: Comments on the KSE option
- Index(es):
Relevant Pages
|
|