<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
	<link rel="self" type="application/atom+xml" href="http://localhost/app.php/feed/forum/37" />

	<title>Tools and Benchmarks for Real-Time Systems</title>
	<subtitle>ECRTS Community Forum</subtitle>
	<link href="http://localhost/index.php" />
	<updated>2017-11-06T11:19:26+01:00</updated>

	<author><name><![CDATA[Tools and Benchmarks for Real-Time Systems]]></name></author>
	<id>http://localhost/app.php/feed/forum/37</id>

		<entry>
		<author><name><![CDATA[Sophie Quinton]]></name></author>
		<updated>2017-11-06T11:19:26+01:00</updated>

		<published>2017-11-06T11:19:26+01:00</published>
		<id>http://localhost/viewtopic.php?t=106&amp;p=210#p210</id>
		<link href="http://localhost/viewtopic.php?t=106&amp;p=210#p210"/>
		<title type="html"><![CDATA[Problems raised in the keynote of Peter Zijlstra at ECRTS'17 • Probabilistic task model]]></title>

					<category term="Problems raised in the keynote of Peter Zijlstra at ECRTS'17" scheme="http://localhost/viewforum.php?f=37" label="Problems raised in the keynote of Peter Zijlstra at ECRTS'17"/>
		
		<content type="html" xml:base="http://localhost/viewtopic.php?t=106&amp;p=210#p210"><![CDATA[
[This problem was presented by Peter Zijlstra during his <a href="http://www.ecrts.org/index.php?id=284" class="postlink">ECRTS'17 keynote talk</a>, see slide 13]<br><br>Probabilistic task model.<br><br>There are a number of places where probabilistic (like) things pop up.<br><ul><li> unprivileged GRUB would require a per-task limit on allows overrun</li><li> measurement based WCET, typically results in a distribution of sorts</li><li> SoftRT many stream workloads that want to maximize machine utilization, lower WCET budget to increase efficiency but then rely on overrun / unused bandwidth reclaim to deal with peaks.</li></ul>If we extend the task model with 1 more variable that is a 'variance' on budget, for example a 0-sum limit on overrun (overrun is added to the sum, and underrun subtracted from the sum and is limited to [0,x]) can this be usefully employed by the scheduling function?<p>Statistics: Posted by <a href="http://localhost/memberlist.php?mode=viewprofile&amp;u=55">Sophie Quinton</a> — Mon Nov 06, 2017</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sophie Quinton]]></name></author>
		<updated>2017-11-06T11:13:58+01:00</updated>

		<published>2017-11-06T11:13:58+01:00</published>
		<id>http://localhost/viewtopic.php?t=105&amp;p=209#p209</id>
		<link href="http://localhost/viewtopic.php?t=105&amp;p=209#p209"/>
		<title type="html"><![CDATA[Problems raised in the keynote of Peter Zijlstra at ECRTS'17 • Support for single CPU affinity in G-EDF]]></title>

					<category term="Problems raised in the keynote of Peter Zijlstra at ECRTS'17" scheme="http://localhost/viewforum.php?f=37" label="Problems raised in the keynote of Peter Zijlstra at ECRTS'17"/>
		
		<content type="html" xml:base="http://localhost/viewtopic.php?t=105&amp;p=209#p209"><![CDATA[
[This problem was presented by Peter Zijlstra during his <a href="http://www.ecrts.org/index.php?id=284" class="postlink">ECRTS'17 keynote talk</a>, see slide 11]<br><br>Support for single CPU affinity in G-EDF (also see the open problem "An alternative admission test for G-EDF"). The expected behaviour of single CPU affinity is that of UP where people 'know' EDF to be optimal. That is, there is an expectation of stricter deadlines.<br><br>The 'obvious' hierarchical approach 'local EDF + G-EDF' has issues in that there are fairly trivial task sets that will have (avoidable) deadline misses. The question is, can we do better in a single scheduling function.<br><br>The proposal (by me), is to combine EDF and LLF. The observation is that, given the deadline constrained sporadic task model:<br><br>  e_i &lt;= d_i &lt;= p_i<br><br>and discarding the degenerate case of e_i == d_i == p_i, we're left with a model that has at least 2 degrees of freedom (implicit deadline has d_i == p_i) and EDF only employs 1, namely d_i.<br><br>This leaves us freedom to differentiate between local and global tasks.<br><br>Define laxity_i := d_i - e_i ; when i is a local task, inf. otherwise.<br><br>Then:  t + e_EDF &lt; d_LLF - e_LLF -&gt; EDF, otherwise LLF<br><br>That is, avoid the EDF pick from causing negative laxity.<br><br>Similar to EDZL (as pointed out by Luca); can any of that analysis be reused? Marko thought there might be EDZL variants that relax the 0-laxity thing.<p>Statistics: Posted by <a href="http://localhost/memberlist.php?mode=viewprofile&amp;u=55">Sophie Quinton</a> — Mon Nov 06, 2017</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sophie Quinton]]></name></author>
		<updated>2017-11-06T11:11:58+01:00</updated>

		<published>2017-11-06T11:11:58+01:00</published>
		<id>http://localhost/viewtopic.php?t=104&amp;p=208#p208</id>
		<link href="http://localhost/viewtopic.php?t=104&amp;p=208#p208"/>
		<title type="html"><![CDATA[Problems raised in the keynote of Peter Zijlstra at ECRTS'17 • An alternative admission test for G-EDF]]></title>

					<category term="Problems raised in the keynote of Peter Zijlstra at ECRTS'17" scheme="http://localhost/viewforum.php?f=37" label="Problems raised in the keynote of Peter Zijlstra at ECRTS'17"/>
		
		<content type="html" xml:base="http://localhost/viewtopic.php?t=104&amp;p=208#p208"><![CDATA[
[This problem was presented by Peter Zijlstra during his <a href="http://www.ecrts.org/index.php?id=284" class="postlink">ECRTS'17 keynote talk</a>, see slide 9]<br><br>An alternative admission test for G-EDF (proposed by Tommaso Cucinotta).<br><br>Instead of the regular: U = \Sum u_t &lt;= m, use:<br><br>  U_i = \Sum (u_t / w_t) &lt;= 1<br>        t \elem all tasks runnable on i<br><br>  where w_t is the (hemming) weight of t's CPU affinity bitmask.<br><br>The term 'recoverable' is coined to mean it avoids the ever escalating missing of deadlines (does it?) and if so, is that then a sufficient guarantee to claim bounded tardiness?<p>Statistics: Posted by <a href="http://localhost/memberlist.php?mode=viewprofile&amp;u=55">Sophie Quinton</a> — Mon Nov 06, 2017</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[Sophie Quinton]]></name></author>
		<updated>2017-11-06T11:10:21+01:00</updated>

		<published>2017-11-06T11:10:21+01:00</published>
		<id>http://localhost/viewtopic.php?t=103&amp;p=207#p207</id>
		<link href="http://localhost/viewtopic.php?t=103&amp;p=207#p207"/>
		<title type="html"><![CDATA[Problems raised in the keynote of Peter Zijlstra at ECRTS'17 • Proxy Execution]]></title>

					<category term="Problems raised in the keynote of Peter Zijlstra at ECRTS'17" scheme="http://localhost/viewforum.php?f=37" label="Problems raised in the keynote of Peter Zijlstra at ECRTS'17"/>
		
		<content type="html" xml:base="http://localhost/viewtopic.php?t=103&amp;p=207#p207"><![CDATA[
[This problem was presented by Peter Zijlstra during his <a href="http://www.ecrts.org/index.php?id=284" class="postlink">ECRTS'17 keynote talk</a>, see slide 8]<br><br>Proxy Execution (proposed by Doug Niehaus KU), as a schedule function invariant alternative of Priority Inheritance / Deadline+Bandwidth-Inheritance.<br><br>Define a task to consists of a scheduler-context and an execution-context. The scheduler-context is that part of the task state the scheduler uses to make task selection (priority / deadline / bandwidth etc..). The execution context is that part of the task that is used to execute code (stack / registers etc..).<br><br>Where PI (and DI) need a second implementation of the schedule function (partial order operator) in order to _order_ the blocked-on list of a mutex, Proxy Execution does things 'backwards' and leaves all blocked tasks on the ready-queue.<br><br>By leaving blocked tasks on the ready-queue we use the regular scheduling function to pick the highest 'priority' task and then follow the blocked-on chain until we find a runnable task.<br><br>Then we use the scheduling-context of the first pick with the execution-context of the block chain walk.<br><br>SMP will need 'migrations' of blocked tasks in order to avoid having multiple CPUs trying to run the same execution context (they'd enter at<br>different blocked tasks on the block chain).<br><br>Invariant: the block-chain walk must not cross CPUs.<br><br>CBS throttle would take a task off the ready-queue and place it back on on replenishment.<br><br><strong class="text-strong">Requested; analysis of this scheme and does it provide better guarantees than M-BWI (which is very pessimistic).</strong><br><br>(The KUSP project appear to have an implementation, but I did not find papers)<p>Statistics: Posted by <a href="http://localhost/memberlist.php?mode=viewprofile&amp;u=55">Sophie Quinton</a> — Mon Nov 06, 2017</p><hr />
]]></content>
	</entry>
	</feed>
