<?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/topic/51" />

	<title>Tools and Benchmarks for Real-Time Systems</title>
	<subtitle>ECRTS Community Forum</subtitle>
	<link href="http://localhost/index.php" />
	<updated>2015-07-16T10:53:11+01:00</updated>

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

		<entry>
		<author><name><![CDATA[syed]]></name></author>
		<updated>2015-07-16T10:28:44+01:00</updated>

		<published>2015-07-16T10:28:44+01:00</published>
		<id>http://localhost/viewtopic.php?t=51&amp;p=53#p53</id>
		<link href="http://localhost/viewtopic.php?t=51&amp;p=53#p53"/>
		<title type="html"><![CDATA[Re: TGFF (Task graphs for free)]]></title>

		
		<content type="html" xml:base="http://localhost/viewtopic.php?t=51&amp;p=53#p53"><![CDATA[
<span style="font-size: 150%; line-height: 116%;"><br>Script<br></span><br>Generate multiple graphs and convert them to our own format (e.g. XML)<br><br><span style="font-size: 150%; line-height: 116%;"><br>The script assumes that there is no seed command in the input tgffopt file.<br></span><br><div class="codebox"><p>CODE: </p><pre><code>#!/bin/bash# --------------------------------------------------------- Functions -------------------------------------------------------------------function printUsage {echo "Usage: $0 &lt;TGFF path&gt; &lt;TGFFConverter path&gt; &lt;tgffopt input file&gt; &lt;number of tasksets to generate&gt; &lt;required cores&gt; &lt;output folder&gt;"echo "1) Generates &lt;number of tasksets to generate&gt; tasksets in &lt;output folder&gt; from &lt;TGFF path&gt; using the initial file as &lt;tgffopt input file&gt; and seeds them from 0 to &lt;number of tasksets to generate&gt;."echo "2) Converts generated tasksets to desired format using &lt;TGFFConverter&gt;"}# --------------------------------------------------- Check command line arguments -------------------------------------------------------if [ ! $# == 6 ]thenprintUsageexitfiTGFF=$1TGFFConverter=$2START_FILE=$3NUMBER_OF_TASKSETS=$4CORES_REQUIRED=$5OUTPUT_FOLDER=$6if [ ! -e "$TGFF" ]thenecho Unable to find TGFFexit 2elif [ ! -e "$TGFFConverter" ]thenecho Unable to find $TGFFConverterexit 2elif [ ! -e "$START_FILE" ]thenecho Unable to find $START_FILEexit 2elif [ $NUMBER_OF_TASKSETS -eq 0 ]thenecho Please define valid number of tasksets and coresexit 2fi# Remove previous tasksets (if exist)rm -rf $OUTPUT_FOLDER# Create foldermkdir $OUTPUT_FOLDERfor (( c=0; c&lt;NUMBER_OF_TASKSETS; c++ ))do# Copy START_FILETEMP_NAME="$OUTPUT_FOLDER/${START_FILE%.tgffopt}$c.tgffopt"cp $START_FILE $TEMP_NAME# Add seed to the start of the filesed -i "1iseed $c" $TEMP_NAME# Run TGFF$TGFF ${TEMP_NAME%.tgffopt}# RUN TGFFConverter$TGFFConverter ${TEMP_NAME%opt} $CORES_REQUIREDdonerm $OUTPUT_FOLDER/*.vcg $OUTPUT_FOLDER/*.tgff $OUTPUT_FOLDER/*.tgffopt $OUTPUT_FOLDER/*.eps</code></pre></div>Feel free to modify.<p>Statistics: Posted by <a href="http://localhost/memberlist.php?mode=viewprofile&amp;u=112">syed</a> — Thu Jul 16, 2015</p><hr />
]]></content>
	</entry>
		<entry>
		<author><name><![CDATA[syed]]></name></author>
		<updated>2015-07-16T10:53:11+01:00 </updated>

		<published>2015-07-16T09:37:46+01:00</published>
		<id>http://localhost/viewtopic.php?t=51&amp;p=52#p52</id>
		<link href="http://localhost/viewtopic.php?t=51&amp;p=52#p52"/>
		<title type="html"><![CDATA[TGFF (Task graphs for free)]]></title>

		
		<content type="html" xml:base="http://localhost/viewtopic.php?t=51&amp;p=52#p52"><![CDATA[
<a href="http://ziyang.eecs.umich.edu/~dickrp/tgff/" class="postlink">Task Graphs For Free (TGFF)</a><br><br>Documentation and published papers can be found on the link provided above.<br><br><span style="font-size: 150%; line-height: 116%;"><br>Short summary:<br></span><br>Generate reproducible task graphs with homo/heterogeneous processors, with/without communication messages and much more.<br><br><span style="font-size: 120%; line-height: 116%;"><br>Pros:<br></span><ul><li>Easy to understand/use.</li><li>Reproducible task sets.</li><li>Wide range of parameters can be generated.</li></ul><span style="font-size: 120%; line-height: 116%;"><br>Cons: <br></span><ul><li>No direct control over utilization.</li><li>Utilization distribution: Only Gaussian. (not written in the documentation, but found experimentally)</li><li>No support for conditional checks between same parameters (e.g. Sum of Utilization &lt;= 1) or multiple parameters (e.g. Sum of WCET of longest chain &lt;= deadline of that chain)</li></ul><span style="font-size: 150%; line-height: 116%;"><br>Usage:<br></span><br>Each task defines a type (unique or not) instead of all possible parameters (WCET, criticality levels, etc.). Once the type table is generated, corresponding tables for parameters (WCET, criticality levels, etc.) can be generated.<br><br>Sample input file:<div class="codebox"><p>CODE: </p><pre><code>seed 1 # Specifies uniqueness of the taskset. Reproduce using same seed.tg_cnt 1 # Number of task graphstask_cnt 20 5 # Number of tasks: Average, +- Rangetask_degree 2 2 # Predecssors and successors per tasktask_trans_time 200 # Hyperperiod Controlperiod_mul 0.1, 0.5, 1, 2 # Multiples for 'task_trans_time' to be used as Periodsperiod_g_deadline 1 # Implicit deadlinestask_unique 1 # Task types become uniquetg_writeeps_writetable_label PROC # New table called PROCtable_cnt 1 # Types of tables (i.e. processors, homogeneous in this case)table_attrib # Number of values per tabletype_attrib  WCET 50 40 # 'WCET': Average, +- Rangepe_write # Create processor tabletable_label COMMUNtable_cnt 1table_attribtype_attrib  Mess_Len 5 4 # Message length: Average, +-Rangetrans_write # Create message table</code></pre></div><p>Statistics: Posted by <a href="http://localhost/memberlist.php?mode=viewprofile&amp;u=112">syed</a> — Thu Jul 16, 2015</p><hr />
]]></content>
	</entry>
	</feed>
