We are two graduate students working on "Implementing Temporal Isolation and Multiprocessor Support in the SEDF Scheduler" ( http://wiki.xen.org/wiki/GSoC_2013#Temporal_Isolation_and_Multiprocessor_Support_in_the_SEDF_Scheduler). I found out the following scheduler simulator by George but I think it is suitable to credit scheduler. Do you have any suggestions/works for simulating SEDF scheduler? http://xenbits.xensource.com/ext/gdunlap/sched-sim.hg Thanks, Orçun _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
On Fri, Apr 19, 2013 at 9:56 PM, Orçun Yıldız <oorcun.yildiz@gmail.com> wrote:> We are two graduate students working on "Implementing Temporal Isolation and > Multiprocessor Support in the SEDF Scheduler" ( > http://wiki.xen.org/wiki/GSoC_2013#Temporal_Isolation_and_Multiprocessor_Support_in_the_SEDF_Scheduler > ). > > I found out the following scheduler simulator by George but I think it is > suitable to credit scheduler. Do you have any suggestions/works for > simulating SEDF scheduler? > > http://xenbits.xensource.com/ext/gdunlap/sched-sim.hgI doubt it -- but it only took me a few days to hack together that one. Your best bet is either to just write your own, or take what I have there as inspiration and hack it to do what you want. -George _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Also,we couldn''t figure out what is the difference between current SEDF implementation and CBS. In theory, they seem almost same to us; they both have slice(budget) concepts, they both extend task''s deadline when their slice is over and they also replenish their slice at that time. If CBS enables temporal isolation, what does prevent SEDF from being temporally isolated? In CBS, for each task we have assigned servers and they accomplish bandwidth reservation for them and this results in temporal isolation. In SEDF, vCPUs have slice and period fields upon to their initialization in do_schedule function but how are they managed in the big picture? 2013/4/22 George Dunlap <George.Dunlap@eu.citrix.com>> On Fri, Apr 19, 2013 at 9:56 PM, Orçun Yıldız <oorcun.yildiz@gmail.com> > wrote: > > We are two graduate students working on "Implementing Temporal Isolation > and > > Multiprocessor Support in the SEDF Scheduler" ( > > > http://wiki.xen.org/wiki/GSoC_2013#Temporal_Isolation_and_Multiprocessor_Support_in_the_SEDF_Scheduler > > ). > > > > I found out the following scheduler simulator by George but I think it is > > suitable to credit scheduler. Do you have any suggestions/works for > > simulating SEDF scheduler? > > > > http://xenbits.xensource.com/ext/gdunlap/sched-sim.hg > > I doubt it -- but it only took me a few days to hack together that > one. Your best bet is either to just write your own, or take what I > have there as inspiration and hack it to do what you want. > > -George >-- ------------------------------ Orçun YILDIZ Instituto Superior Tecnico European MSc in Distributed Computing Lisbon-Portugal ------------------------------ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
On Wed, Apr 24, 2013 at 2:36 AM, Orçun Yıldız <oorcun.yildiz@gmail.com> wrote:> > Also,we couldn't figure out what is the difference between current SEDF implementation and CBS. In theory, they seem almost same to us; they both have slice(budget) concepts, they both extend task's deadline when their slice is over and they also replenish their slice at that time. If CBS enables temporal isolation, what does prevent SEDF from being temporally isolated? >They are very similar... That's why the original idea of the project was to modify the former (SEDF) the little that is needed to turn it into the latter (CBS). Where do they differ? As the project description itself explains, they differ in how vCPU blocking and unblocking is handled. Quoting the project description: http://wiki.xen.org/wiki/Xen_Development_Projects#Implement_Temporal_Isolation_and_Multiplocessor_Support_in_the_SEDF_Scheduler "SEDF deals with events such as a vCPU blocking --in general, stopping running-- and unblocking --in general, restarting running-- by trying to special case all the possible situations, resulting in the code being rather complicated, ugly, inefficient and hard to maintain." I'd really like that 'special casing' to go away, and CBS is the simpler and cleaner solution I know of. Also, please, notice that the effect might be not so evident, but from a temporal isolation perspective, the current SEDF behavior might lead to either incorrect or suboptimal results (depending on the specific case). So, again, yes, you are right, they're not _much_ different, but sometimes small differences matters. :-) Also, again, you're right, it's probably not a big deal to implement that... Which is even better, isn't it. :-)> In CBS, for each task we have assigned servers and they accomplish bandwidth reservation for them and this results in temporal isolation. In SEDF, vCPUs have slice and period fields upon to their initialization in do_schedule function but how are they managed in the big picture? >Exactly, but _only_ with the change (re)described above. :-) That being said, allow me to say that there also is another aspect of the project, much more trickier and also much more important: "It also lacks proper multiprocessor support, meaning that it does not properly handle SMP systems, unless vCPU are specifically and statically pinned by the user. This is a big limitation of the current implementation, especially since EDF can work well without the need of imposing this constraint, providing much more flexibility and efficiency in exploiting the system resources to their most." Which, considering how easy the first half should be, would have been interested to consider. So, did I answer? :-) Regards, Dario _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel