Article View: comp.sys.amiga.networking
Article #5997Re: Announce: AWeb 1.0 released!
From: Petri Nordlund
Date: Sat, 30 Mar 1996 19:03
Date: Sat, 30 Mar 1996 19:03
64 lines
3608 bytes
3608 bytes
Jason S Birch (jasonb@cs.uwa.edu.au) writes:
>mlelstv@serpens.rhein.de (Michael van Elst) writes:
>>jasonb@cs.uwa.edu.au (Jason S Birch) writes:
>>Of course you can drop the priority of all these tasks to the same
>>level. But apparently this is not what happens with Executive.
>
>Executive dynamically adjusts the priorities every second so that, over
>time, several CPU-intensive tasks (originally at the same priority)
>will indeed get equal amounts of CPU time. This satisfies your
>requirement for timeslicing, except the timeslices tend to be in
>quantums of one second rather than four VBLs.
This depends on the used scheduler. The standard-scheduler in
Executive does this, but the better ones, especially the queues-
scheduler works differently. It mimics BSD-style multilevel
feedback queue scheduler, although tasks won't migrate between
queues until priorities are recalculated every second. Let
me quote from Executive documentation:
------
This scheduler divides the dynamic priority range to eight priority
levels and runs several tasks with the same priority. Tasks that use
approximately the same amount of CPU time get same priority.
Exec will Round-Robin tasks that have same priority. Each task is
run for a time-slice called Quantum and then the next task gets
chance to run. Exec normally uses a fixed Quantum value 4, but
this scheduler adjusts the Quantum value for each task to maximize
throughput of CPU-intensive tasks and to make interactive tasks
more responsive. Here are the Quantum values given to tasks with
different priorities:
PRIORITY QUANTUM
above dynamic range 4
scheduled (inside dynamic range) 2-10
below dynamic range 12
For scheduled tasks the Quantum is the largest (10) when task's
priority is close to dynamicmax priority (by default -100).
This scheduler tries to eliminate "wobbling" priorities by not
letting a task migrate upwards immediately. Task has to wait
for one second before its priority can be raised.
This is currently the best scheduler in Executive.
------
When using this scheduler, tasks that use approximately the same
amout of CPU time, will soon get the same priority and will be
"round-robined" by Exec. For example, this Ps-client's output
is sorted by task priority:
PID PRI RPRI NICE TYPE STATE TIME IDLE CPU% NAME
295 -50 1 0 proc wait 0.801s 3m 0.00% CygnusEd
287 -50 1 0 proc wait 22.707s 6s 0.38% CygnusEd
1 -62 0 0 bcli wait 2.530s 4.94% [find]
14 -62 0 0 bcli wait 13.008s 7.09% [find]
10 -75 0 0 bcli ready 4.592s 13.91% [lha]
15 -75 0 0 bcli ready 22.401s 20.26% [lha]
--
__
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~///~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Petri Nordlund __/// petrin@megabaud.fi
---------------------------------\XX/----------------------------------
Technical Details
Message-ID:
<4jk0i2$ga2@walrus.megabaud.fi>Path:
arc1-ca.pugleaf.net!walrus.megabaud.fi!not-for-mailShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!walrus.megabaud.fi!not-for-mail From: petrin@walrus.megabaud.fi (Petri Nordlund) Newsgroups: comp.sys.amiga.networking Subject: Re: Announce: AWeb 1.0 released! Date: 30 Mar 1996 21:03:30 +0200 Organization: Megabaud Oy,Helsinki,Finland Message-ID: <4jk0i2$ga2@walrus.megabaud.fi> NNTP-Posting-Host: walrus.megabaud.fi