<feed xmlns='http://www.w3.org/2005/Atom'>
<title>experiment-scripts.git, branch master</title>
<subtitle>Helper scripts to make LITMUS^RT experiments easy!</subtitle>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/'/>
<entry>
<title>MC2 support</title>
<updated>2017-04-04T03:35:59+00:00</updated>
<author>
<name>Namhoon Kim</name>
<email>namhoonk@cs.unc.edu</email>
</author>
<published>2017-04-04T03:35:59+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=fb72dd09cfc16d0260363d38df1225b6663bc084'/>
<id>fb72dd09cfc16d0260363d38df1225b6663bc084</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improved flexibility of plot_exps.py script.</title>
<updated>2013-05-03T20:35:47+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2013-05-03T20:30:10+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=e15736509ab36e33bc71a0fe1120f2974e389725'/>
<id>e15736509ab36e33bc71a0fe1120f2974e389725</id>
<content type='text'>
* No longer needs an X connection to render. This also vastly increases
performance.
* If too many configuration values are plotted, a key with color=column1,
line=column2, marker=column3 etc is not created. Instead, each combination
of values is given its own line/color/marker style and plotted, and each
line has an entry in the key. Ugly, but better than nothing.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* No longer needs an X connection to render. This also vastly increases
performance.
* If too many configuration values are plotted, a key with color=column1,
line=column2, marker=column3 etc is not created. Instead, each combination
of values is given its own line/color/marker style and plotted, and each
line has an entry in the key. Ugly, but better than nothing.
</pre>
</div>
</content>
</entry>
<entry>
<title>Added --collapse option to parse_exps.py for creating simpler graphs.</title>
<updated>2013-05-02T19:57:36+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2013-05-02T19:49:11+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=38e4029048bb693525369ea7eb0e639f73844ed2'/>
<id>38e4029048bb693525369ea7eb0e639f73844ed2</id>
<content type='text'>
This creates csvs which have merged the lines which only differ by variables
whose values are numbers (e.g. 'wss', 'number of tasks', or 'duration',
but not 'scheduler').

For example, consider a csv which is tracking the change in working set sizes.
There are 3 different experiment configurations per WSS, one with 12 tasks,
one for 14, and another for 16. Without --collapse, a seperate csv
(and line to plot in plot_exps.py) will be created for each of the 12, 14, and
16 configurations. With --collapse, a single csv (and a single line plotted
by plot_exps.py) will be created which averages the values of 12, 14, and 16
tasks for each WSS.

This is very useful for noticing trends or presenting overhead bar charts
or other examples in papers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This creates csvs which have merged the lines which only differ by variables
whose values are numbers (e.g. 'wss', 'number of tasks', or 'duration',
but not 'scheduler').

For example, consider a csv which is tracking the change in working set sizes.
There are 3 different experiment configurations per WSS, one with 12 tasks,
one for 14, and another for 16. Without --collapse, a seperate csv
(and line to plot in plot_exps.py) will be created for each of the 12, 14, and
16 configurations. With --collapse, a single csv (and a single line plotted
by plot_exps.py) will be created which averages the values of 12, 14, and 16
tasks for each WSS.

This is very useful for noticing trends or presenting overhead bar charts
or other examples in papers.
</pre>
</div>
</content>
</entry>
<entry>
<title>Modified sched.py field padding calculations to account for bitfields.</title>
<updated>2013-05-02T17:42:17+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2013-05-02T17:42:17+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=6f2558b8c4f4e33630b40dfbe20024f7a372a8f0'/>
<id>6f2558b8c4f4e33630b40dfbe20024f7a372a8f0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added --crontab option to run_exps.py</title>
<updated>2013-05-01T19:48:01+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2013-05-01T19:48:01+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=cd9f1b026cc5c4526dfbd2f7b1c5f39edb6a7309'/>
<id>cd9f1b026cc5c4526dfbd2f7b1c5f39edb6a7309</id>
<content type='text'>
This will use crontab to automatically restart the machine and resume
the script when the machine crashes. An additional option, -k, is provided
to cancel this operation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will use crontab to automatically restart the machine and resume
the script when the machine crashes. An additional option, -k, is provided
to cancel this operation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleaned up run_exps.py parameters.</title>
<updated>2013-04-30T15:44:37+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2013-04-30T15:44:37+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=94cc65997d237ddeab24d396f06bb93bc0644a9d'/>
<id>94cc65997d237ddeab24d396f06bb93bc0644a9d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor bug fixes for tuple_table/col_map.</title>
<updated>2013-04-29T20:58:52+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2013-04-29T20:58:52+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=648d6381cac8376b5217f915eb49e3aea232df26'/>
<id>648d6381cac8376b5217f915eb49e3aea232df26</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Added run_exps.py option to --retry failed experiments.</title>
<updated>2013-04-29T20:50:23+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2013-04-29T20:50:23+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=7e32c3915e7ea27d2533d99a22fa53ef923198f5'/>
<id>7e32c3915e7ea27d2533d99a22fa53ef923198f5</id>
<content type='text'>
If the retry flag is specified, failed experiments will be re-run after all
other experiments have run. They can be re-run at most 5 times.

This commit required a refactoring of run_exps.py to clean up the main
experiment running loop.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the retry flag is specified, failed experiments will be re-run after all
other experiments have run. They can be re-run at most 5 times.

This commit required a refactoring of run_exps.py to clean up the main
experiment running loop.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improved accuracy of sched_trace measurement parsing.</title>
<updated>2013-04-23T18:01:35+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2013-04-23T18:01:35+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=7545402506aa76261e18d85af585ff0ac1cf05c1'/>
<id>7545402506aa76261e18d85af585ff0ac1cf05c1</id>
<content type='text'>
* Measurements from tasks missing &gt; 20% of their scheduling records are
ignored. This is configurable in config/config.py.
* Measurements which only have zero values are ignored.
* If either of these 2 situations are encountered print out a message the
first time using the common.log_once() method. See parse_exps.py for how
this is used with multiple threads.
* Measurements from a task's last job are ignored.
* Miss ratio is calculated only as a fraction of the number of jobs whose
matching release and completion records were found, not just release.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Measurements from tasks missing &gt; 20% of their scheduling records are
ignored. This is configurable in config/config.py.
* Measurements which only have zero values are ignored.
* If either of these 2 situations are encountered print out a message the
first time using the common.log_once() method. See parse_exps.py for how
this is used with multiple threads.
* Measurements from a task's last job are ignored.
* Miss ratio is calculated only as a fraction of the number of jobs whose
matching release and completion records were found, not just release.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improved robustness of run_exps.py execution.</title>
<updated>2013-04-22T19:32:12+00:00</updated>
<author>
<name>Jonathan Herman</name>
<email>hermanjl@cs.unc.edu</email>
</author>
<published>2013-04-22T19:32:12+00:00</published>
<link rel='alternate' type='text/html' href='http://rtsrv.cs.unc.edu/cgit/cgit.cgi/experiment-scripts.git/commit/?id=25ccdb0cbc6b959b1f96c89b8bce91963cb67b4c'/>
<id>25ccdb0cbc6b959b1f96c89b8bce91963cb67b4c</id>
<content type='text'>
Thanks to bcw and gelliott for debugging and ideas.

* Print out experiment number and total experiments when starting experiments.
* Only sleep and re-release tasks if tasks are waiting to release.
* Fail experiment with verbose messages if any tasks fail before becoming ready
to release.
* When waiting for tasks to become ready for release, reset the waiting time
whenever a new task (or task(s)) become ready.
* Start regular tracers BEFORE the plugin switch to log data from the switch.
* Check the number of running tasks AFTER trying to switch the linux scheduler.
This gives plugin deactivate code the opportunity to kill these tasks.
* If an invalid executable is specified in the schedule file, fail before
attempting to run the experiment and print out the problem.
* Propogate exceptions up from experiment failures instead of creating
ExperimentFailed exceptions.

This commit also made clock-frequency automatically ignored by parse_exps.py.
The value of this would change by +- a Mhz between experiments, ruining graphs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thanks to bcw and gelliott for debugging and ideas.

* Print out experiment number and total experiments when starting experiments.
* Only sleep and re-release tasks if tasks are waiting to release.
* Fail experiment with verbose messages if any tasks fail before becoming ready
to release.
* When waiting for tasks to become ready for release, reset the waiting time
whenever a new task (or task(s)) become ready.
* Start regular tracers BEFORE the plugin switch to log data from the switch.
* Check the number of running tasks AFTER trying to switch the linux scheduler.
This gives plugin deactivate code the opportunity to kill these tasks.
* If an invalid executable is specified in the schedule file, fail before
attempting to run the experiment and print out the problem.
* Propogate exceptions up from experiment failures instead of creating
ExperimentFailed exceptions.

This commit also made clock-frequency automatically ignored by parse_exps.py.
The value of this would change by +- a Mhz between experiments, ruining graphs.
</pre>
</div>
</content>
</entry>
</feed>
