[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 3/3] docs: RTDS feature document.
Hi Dario, Thank you very much for writing this nice document! Sorry for the late reply... I found two typos in the command example. I saw the patch has been committed. Maybe I (or you) should send a patch to correct the typo? > > > + > +For checking or changing a VM's scheduling parameters from xl, do > +as follows: > + * `xl sched-rtds -d vm-rt` It should be xl sched-rtds -d vm-rt -v all > > + * `xl sched-rtds -d vm-rt -t 10000 -b 25000` There are three typos: 1) We don't support "-t" option. 2) We must specify -v in the latest Xen. (Once the per-vcpu parameter is supported, we won't support setting a VM's parameter like this. The toolstack will reports error.) 3) The budget 25000 is larger than the period. It should be: sudo xl sched-rtds -d vm-rt -v all -p 10000 -b 2500 > > + > +It is possible, for a multiple vCPUs VM, to change the parameters of > +each vCPU individually: > + * `xl sched-rtds -d vm-rt -v 0 -p 20000 -b 10000 -v 1 -p 45000 -b 12000` This is correct. > > + > +# Technical details > + > +Implementation entirely lives in the hypervisor. Xen has a pluggable, > +hook based, architecture for schedulers. Thanks to this, RTDS code > +is all contained in `xen/common/sched_rtds.c`. > + > +In libxl, the availability of the RTDS scheduler is advertised by > +the presence of the LIBXL\_HAVE\_SCHED\_RTDS symbol. The ability of > +specifying different scheduling parameters for each vcpu has been > +introduced later, and is available if the following symbols are defined: > + * `LIBXL\_HAVE\_VCPU\_SCHED\_PARAMS`, > + * `LIBXL\_HAVE\_SCHED\_RTDS\_VCPU\_PARAMS`. > + > +# Limitations > + > +RTDS is a special purpose scheduling. This is by design, and not at > +all a limitation, but it is certainly something to keep in mind when > +thinking about using it. The purpose of the scheduler is enabling > +deterministic and statically analyzable behavior (as per the > +real-time academic literature), according to the scheduling parameters > +assigned to each vCPU. > + > +Using RTDS a the Xen scheduler, and/or for general purpose workloads > +is definitely possible, but the vCPU scheduling parameters (of both > +Domain0 and of the various VMs) would probably require tweaking, with > +respect to their default values. > + > +# Testing > + > +Any change done in RTDS must be tested by doing the following: > + > +* create a cpupool with RTDS as its scheduler, > +* create a few virtual machines a move them in and out of the pool, > +* create a few virtual machines, directly inside the pool, and verify > + that they boot and can run some basic workload (e.g., login into them > + and run simple commands), > +* shutdown/reboot the virtual machines, > + > +The fact that the system boots fine when passing `sched=rtds` to Xen > +should also be verified. > + > +Finally, to check that the scheduler is working properly (although only > +at a macroscopic level), the following should be done: > + > +* create a VM with 1 vCPU and put it in the RTDS cpupool, > +* set the scheduling parameters such as it has a 50% reservation, with > + `xl sched-rtds -d vm -t 100000 -b 50000`, -t here should be -p. The -v all should be specified here. Thanks, Meng ----------- Meng Xu PhD Student in Computer and Information Science University of Pennsylvania http://www.cis.upenn.edu/~mengxu/ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |