<div dir="ltr">Hello Glen,<div><br></div><div>The missing/utilization problem of st_trace records (9/18-9/19) was resolved by using rt_launch, not rtspin. </div><div><br></div><div style>As you said, I'm getting runtime behavior, not theoretical analysis. </div><div style>While running rt_launch, I could check the top result is gotten as expected:</div><div style><br></div><div style>
<table border="0" cellpadding="0" cellspacing="0" width="512" style="border-collapse:collapse;width:512pt">
<colgroup><col width="65" span="2" style="width:65pt">
<col width="382" style="width:382pt">
</colgroup><tbody><tr height="15" style="height:15pt">
<td height="15" class="" width="65" style="height:15pt;width:65pt">Utilization</td>
<td class="" width="65" style="width:65pt">Expected</td>
<td class="" width="382" style="width:382pt">Real</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" class="" style="height:15pt">0.90</td>
<td class="">11%</td>
<td class="">Cpu(s): 11.3%us,
0.8%sy, 0.0%ni, 87.6%id, 0.0%wa,
0.2%hi, 0.0%si, 0.0%st</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" class="" style="height:15pt">1.80</td>
<td class="">23%</td>
<td class="">Cpu(s): 22.5%us,
0.8%sy, 0.0%ni, 76.1%id, 0.4%wa,
0.2%hi, 0.0%si, 0.0%st</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" class="" style="height:15pt">2.70</td>
<td class="">34%</td>
<td class="">Cpu(s): 33.7%us,
0.7%sy, 0.0%ni, 65.4%id, 0.0%wa,
0.2%hi, 0.0%si, 0.0%st</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" class="" style="height:15pt">3.60</td>
<td class="">45%</td>
<td class="">Cpu(s): 44.9%us,
0.7%sy, 0.0%ni, 54.1%id, 0.1%wa,
0.2%hi, 0.0%si, 0.0%st</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" class="" style="height:15pt">4.50</td>
<td class="">56%</td>
<td class="">Cpu(s): 56.1%us,
0.7%sy, 0.0%ni, 43.0%id, 0.1%wa,
0.2%hi, 0.0%si, 0.0%st</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" class="" style="height:15pt">5.40</td>
<td class="">68%</td>
<td class="">Cpu(s): 67.1%us,
0.9%sy, 0.0%ni, 31.8%id, 0.1%wa,
0.1%hi, 0.0%si, 0.0%st</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" class="" style="height:15pt">6.30</td>
<td class="">79%</td>
<td class="">Cpu(s): 78.3%us,
0.8%sy, 0.0%ni, 20.7%id, 0.1%wa,
0.1%hi, 0.0%si, 0.0%st</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" class="" style="height:15pt">7.20</td>
<td class="">90%</td>
<td class="">Cpu(s): 89.4%us,
0.8%sy, 0.0%ni, 9.7%id,
0.0%wa, 0.1%hi, 0.0%si,
0.0%st</td>
</tr>
</tbody></table></div><div style><br></div><div style>Using st_job_stats, I'm checking the traced information for all tasks and the related jobs/period/response to check the deadline miss ratio.</div><div style>All the jobs of each task are scheduled every period and they should meet all deadline (HRT), for all tasks.</div><div style><br></div><div style><div># Task, Job, Period, Response, DL Miss?, Lateness, Tardiness</div><div># task NAME=rt_launch PID=20342 COST=180000000 PERIOD=200000000 CPU=0</div><div> 20342, 2, 200000000, 180138369, 0, -19861631, 0</div><div> 20342, 3, 200000000, 180108634, 0, -19891366, 0</div><div> 20342, 4, 200000000, 180110191, 0, -19889809, 0</div><div> 20342, 5, 200000000, 180115887, 0, -19884113, 0</div></div><div style>...</div><div><br></div><div style>Now I'm increasing the running time of rt_launch and got a little bit better result. </div><div style>Even though more tests are needed, up to 56%, the schedulability is 1. After that, it's dropped and fluctuated. Is this expected result?</div><div style><br></div><div style>Thanks,</div><div style>Mikyung</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 7, 2014 at 1:37 PM, Glenn Elliott <span dir="ltr"><<a href="mailto:gelliott@cs.unc.edu" target="_blank">gelliott@cs.unc.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div>On Oct 7, 2014, at 1:21 PM, Mikyung Kang <<a href="mailto:mkkang01@gmail.com" target="_blank">mkkang01@gmail.com</a>> wrote:</div><br><blockquote type="cite">r="ltr">Hello all,<div><div class="h5"><div><br></div><div>I'm trying to check schedulability for simple HRT/SRT task sets using Litmus-rt 2014.2.</div><div>* 8 Cores, no hyper-threading, 16G memory</div><div>* Bare-metal testing, Ubuntu 12.04 (Linux 3.10.41)</div><div>* rt_launch program, 20-30 seconds</div><div><br></div><div>On top of clean OS and litmus-rt, only rt_launch is running and then st-* trace files are recorded.</div><div>I expected that all cases should be schedulable and c-edf result is better than g-edf result. </div><div>(At least, if Utilization <= 70% then c-edf schedulability >= 0.8)</div><div><br></div><div>But, as shown in the first following table and the second graph (bare-metal litmus-rt), </div><div>even w/ 45% CPUs utilization (6*(120,200)=3.6), the schedulability is dropped so much and c-edf result isn't better than g-edf case.<br></div><div>The schedulability for c-edf and g-edf (6th and 7th column) is an averaged value (20 times).</div><div><br></div><div>Based on other related papers, I expected that the schedulability (c-edf) will be larger than 0.7~0.8 (at least) up to 74.4% utilization (5.95).</div><div>But, HRT and SRT, both cases produced around 0.5 schedulability. </div><div><br></div><div>Even though I tried 1*(180,200) ~ 8*(180,200) as shown in the third graph, it's little bit better but still not good and fluctuation is happened.</div><div>And, even though the utillization is similar, the schedulability is very different if the number of task sets is different.</div><div><br></div><div>Is this correct? How can I increase the schedulability? How can I see the difference between c-edf and g-edf?</div><div>Is there anything that I should check for schedulability? Any tips to get best schedulability?</div><div><br></div><div>(1)</div><div>
<table border="0" cellpadding="0" cellspacing="0" width="467" style="border-collapse:collapse;width:467pt">
<colgroup><col width="65" span="4" style="width:65pt">
<col width="77" style="width:77pt">
<col width="65" span="2" style="width:65pt">
</colgroup><tbody><tr height="15" style="height:15pt">
<td height="15" width="65" style="height:15pt;width:65pt">num-tasks</td>
<td width="65" style="width:65pt">period</td>
<td width="65" style="width:65pt">wcet</td>
<td width="65" style="width:65pt">utilization</td>
<td width="77" style="width:77pt">ratio</td>
<td width="65" style="width:65pt">bm-c-edf</td>
<td width="65" style="width:65pt">bm-g-edf</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">4.00</td>
<td>200.00</td>
<td>60.00</td>
<td>1.20</td>
<td>15.0%</td>
<td>0.99</td>
<td>1.00</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">4.00</td>
<td>200.00</td>
<td>100.00</td>
<td>2.00</td>
<td>25.0%</td>
<td>1.00</td>
<td>0.99</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">5.00</td>
<td>200.00</td>
<td>110.00</td>
<td>2.75</td>
<td>34.4%</td>
<td>0.87</td>
<td>0.92</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">6.00</td>
<td>200.00</td>
<td>120.00</td>
<td>3.60</td>
<td>45.0%</td>
<td>0.64</td>
<td>0.79</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">6.00</td>
<td>200.00</td>
<td>145.00</td>
<td>4.35</td>
<td>54.4%</td>
<td>0.70</td>
<td>0.70</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">7.00</td>
<td>200.00</td>
<td>150.00</td>
<td>5.25</td>
<td>65.6%</td>
<td>0.49</td>
<td>0.51</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">7.00</td>
<td>200.00</td>
<td>170.00</td>
<td>5.95</td>
<td>74.4%</td>
<td>0.50</td>
<td>0.59</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">7.00</td>
<td>200.00</td>
<td>180.00</td>
<td>6.30</td>
<td>78.8%</td>
<td>0.57</td>
<td>0.50</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">7.00</td>
<td>200.00</td>
<td>190.00</td>
<td>6.65</td>
<td>83.1%</td>
<td>0.49</td>
<td>0.51</td>
</tr>
<tr height="15" style="height:15pt">
<td height="15" style="height:15pt">8.00</td>
<td>200.00</td>
<td>180.00</td>
<td>7.20</td>
<td>90.0%</td>
<td>0.41</td>
<td>0.41</td>
</tr>
</tbody></table><br></div><div>(2)</div></div></div><div><span><bm.png></span><br></div><div><br></div><div>(3) 1*(180,200) ~ 8*(180,200)</div><div><span><bm2.png></span><br><br></div><div><br></div><div>Thanks,</div><div>Mikyung</div></blockquote><br></div><div><br></div><div>Hi Mikyung,</div><div><br></div><div>What is your criteria for determining schedulability? That is, what makes a task set unschedulable? One deadline miss (HRT)? A deadline miss of more than X time units (SRT)? From your email, I get the feeling that you’re observing runtime behavior to determine schedulability, rather than theoretical analysis-based schedulability. Is this correct? If this is the case, what is the collective utilization of your tasks as reported by the *nix utility ‘top’? Can you copy/paste the line that starts with “%Cpu(s)”? The “%us” should be relatively close to what you provision with rt_launch.</div><div><br></div><div>Did you manage to resolve your problems you reported on last September? The issues you reported made it sound like your system CPUs were experiencing much heavier load than you had expected (resulting in incomplete traces).</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Glenn</div><div><br></div><br></font></span></div><br>_______________________________________________<br>
litmus-dev mailing list<br>
<a href="mailto:litmus-dev@lists.litmus-rt.org">litmus-dev@lists.litmus-rt.org</a><br>
<a href="https://lists.litmus-rt.org/listinfo/litmus-dev" target="_blank">https://lists.litmus-rt.org/listinfo/litmus-dev</a><br>
<br></blockquote></div><br></div>