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

Re: [Xen-devel] xen scheduler



On Thu, 2015-05-21 at 13:25 +0530, Rajendra Bele wrote:
> Hi
> Dario,
>
Hi,

> Here Priority will be prime Method of Sorting of VCPUs in local run
> queue in addition to it I am Proposing Shortest Credit First
>  which is similar to SJF not exactly SJF of O.S. because this is
> credit based.
>
Understood. My point was that basing on credits will make the final
result rather different than SJF. That does not mean it won't work, of
course. :-)
> 
> My suggestion is Replace FCFS by SCF(Shortest Credit First) for Equal
> Priority VCPUs in local run-queue to reduce average waiting time spend
> in the queue.
>
I got that, and I tried to outline what possible issues I could think
to... but with this things, you never know until you try.
> 
> SCF will be preemptive but Credit Scheduler Itself preemptive after 30
> milliseconds
>
Sure it is. And in fact, right now, I'd say Credit is more Round-Robin
(there is a timeslice) than FCFS, in how it treats same priority vCPUs.
But let's not make this a "taxonomy bun fight"! :-P
> 
> As per my knowledge feature haven't implemented in credit2 also
>
Credit2 keeps its runqueue sorted already. Have a look, for instance, at
__runq_insert(), in sched_credit2.c. It's not SJF (nor it is this SCF
variant you're proposing), and I never said it to be... I've only said
having the runqueue sorted is, in general, a good thing, and Credit2
does this already.

However, generic arguments and assumptions tend not to work that great
in scheduling... we'll see how well that adapts to Credit1 when you'll
have it implemented. :-D
> 
> credit2 also sorts vcpus on priority and apply FCFS for equal
> priority .
>
As already said, check __runq_insert() and runq_tickle() in
xen/common/sched_credit2.c.

> Credit2 having dynamic time slice facility instead of fix 30
> milliseconds we can change 5,10,20 rest of things are as it is of
> credit1.
>
Credit2 has a much more dynamic timeslice than that. Check out
csched2_runtime().

Oh, and you may find useful having a look at these slides:
 
http://www-archive.xenproject.org/files/xensummit_intel09/Xenschedulerstatus.pdf

and to this (3 part) video:
 https://www.youtube.com/watch?v=o4frC5bv3es
 https://www.youtube.com/watch?v=2ZAY9J-Cwsw
 https://www.youtube.com/watch?v=TQPVODqEkqM

Although, as usual, the best possible *source* of information is the
*source* code! :-D

Regards,
Dario

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.