Hi,
Your experiment results
are actually “expected”. There are several reasons make the results
happen.
Firstly, Credit has long
time slice (i.e., 30 millisec by default), and this make the observed close-to
30ms RTT to happen, actually, during such long RTT (the spike), the domain in
test (domain 1 of your experiment) is just scheduled-out (actually, I guess the
spikes illustrated in your figure 1 should read higher than 30ms!). At the same
time, the scheduled-in vcpus (may executing the TEST program, which is
cpu-hogs), and they will not give up their 30-ms time slice if they are not preempted.
Secondly, as regulated by
Credit scheduler, if a VCPU has no more credits, it will not be BOOSTed even it
do have some I/O requests to handle. This explains why your figure1, which has
little spikes in the first 150 second, and crowed spikes follow. Since vcpu of
domain 1 simply used out their credits, and can not preempt the other running
vcpus of other domains, even they do have I/O operations to accomplish (i.e.,
PING).
Lastly, compared with
Credit, SEDF generally has short time slices, and it has bigger chances to
preempt current running vcpu when another vcpu found it has some I/O operations
to be accomplished. (actually, I donot understand SEDF very well, but conclude
these features by reading the trace data)
Actually, you can use BCredit
patch to eliminate the spikes, I can guarantee that it will work very well! J And I agree with George that you should not use PING
to justify whether a scheduler is good or not.
Best,
Zhiyuan
发件人:
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxx]
代表 gaurav somani
发送时间: 2009年5月5日
17:26
收件人:
xen-devel@xxxxxxxxxxxxxxxxxxx
主题: [Xen-devel] Credit scheduler vs SEDF scheduler
Hi list,
I am evaluating the scheduler behavior in xen.
I am using Xen 3.3.0
Dom0 and Dom1,2,3 and 4 all are opensuse 11.
I have one CPU Intensive TEST
which has no. of arithmatic instruction in an infinite while() loop.
i am pinging domain1 with an external machine. and noting the RTT values.
i have below experiments
time (s)
domain state
0
dom0,1,2,3,4 all idle
50
dom2 TEST started
100
dom3 TEST started
150
dom4 TEST started
200
dom0 TEST started
250
dom2 TEST stopped
300
dom3 TEST stopped
350
dom4 TEST stopped
400 dom0 TEST stopped
For these 400 seconds time, i have performed experiments with Credit and SEDF
sceduler.
the configuration is
Credit configuration - weight 256, cap 0
Domain
VCPU
0
2
1
2
2
2
3
2
4
2
all vcpu0s are pinned to pcpu0 and vcpu1s to pcpu1.
SEDF configuration - Period 10ms slice - 1.9ms
Domain
VCPU
0
2
1
2
2
2
3
2
4
2
all vcpu0s are pinned to pcpu0 and vcpu1s to pcpu1.
the results of RTT values are attached herewith. the performance of Credit is
very bad in comparison to SEDF in this scenario.
Please provide me some thought on it.
Thanks and Regards
Gaurav somani
M.Tech (ICT)
Dhribhai Ambani Institute of ICT,
INDIA
http://dcomp.daiict.ac.in/~gaurav