[LITMUS^RT] Experiment Script

Glenn Elliott gelliott at cs.unc.edu
Sat May 3 16:35:00 CEST 2014


On May 2, 2014, at 5:28 PM, Sanjib Das <cnt.sanjib at googlemail.com> wrote:

> Hi Glenn,
> Thank you very much for the suggestion. But before need another suggestion :
> I got this output by generating experiment with default values and the run script could not make it simulate.
> 
> root at lubdhok-lab:~/littest/experiment-scripts# ./gen_exps.py 
> Creating experiments with G-EDF generator...
> Creating experiments with P-EDF generator...
> Creating experiments with C-EDF generator...
> Experiments saved in /home/sdas/littest/experiment-scripts/exps.
> root at lubdhok-lab:~/littest/experiment-scripts# ./run_exps.py 
> Reading schedules from exps/*.
> [Exp GSN-EDF_tasks=16_release-master=False]: Loading experiment 1 of 28.
> [Exp GSN-EDF_tasks=16_release-master=False]: Enabling Logger
> [Exp GSN-EDF_tasks=16_release-master=False]: Writing 0 proc entries
> [Exp GSN-EDF_tasks=16_release-master=False]: Starting 1 regular tracers
> [Exp GSN-EDF_tasks=16_release-master=False]: Switching to GSN-EDF
> [Exp GSN-EDF_tasks=16_release-master=False]: Starting 16 tasks
> [Exp GSN-EDF_tasks=16_release-master=False]: Sleeping until tasks are ready for release...
> [Exp GSN-EDF_tasks=16_release-master=False]: Starting 0 released tracers
> [Exp GSN-EDF_tasks=16_release-master=False]: Releasing 16 tasks
> [Exp GSN-EDF_tasks=16_release-master=False]: Waiting for program to finish...
> [Exp GSN-EDF_tasks=16_release-master=False]: Stopping exact tracers
> [Exp GSN-EDF_tasks=16_release-master=False]: Saving results in /home/sdas/littest/experiment-scripts/run-data/sched=GSN-EDF_tasks=16_release-master=False
> [Exp GSN-EDF_tasks=16_release-master=False]: Stopping regular tracers
> [Exp GSN-EDF_tasks=16_release-master=False]: Switching back to Linux scheduler
> [Exp GSN-EDF_tasks=16_release-master=False]: Experiment done!
> [Exp C-EDF_tasks=8_release-master=True]: Loading experiment 2 of 28.
> [Exp C-EDF_tasks=8_release-master=True]: Enabling Logger
> [Exp C-EDF_tasks=8_release-master=True]: Writing 2 proc entries
> [Exp C-EDF_tasks=8_release-master=True]: Starting 1 regular tracers
> [Exp C-EDF_tasks=8_release-master=True]: Switching to C-EDF
> [Exp C-EDF_tasks=8_release-master=True]: Starting 8 tasks
> [Exp C-EDF_tasks=8_release-master=True]: Sleeping until tasks are ready for release...
> Non-zero return 234: /home/sdas/littest/liblitmus/rtspin -w -p 3 34 100 30
> Non-zero return 234: /home/sdas/littest/liblitmus/rtspin -w -p 3 13 50 30
> [Exp C-EDF_tasks=8_release-master=True]: Re-released 6 tasks
> [Exp C-EDF_tasks=8_release-master=True]: Killing all tasks
> [Exp C-EDF_tasks=8_release-master=True]: Stopping regular tracers
> [Exp C-EDF_tasks=8_release-master=True]: Switching back to Linux scheduler
> echo: write error: Device or resource busy
> Failed experiment C-EDF_tasks=8_release-master=True
> Task 0 failed with status: 234
> Task 0 failed with status: 234
> Check dmesg, tmp/exec-out.txt, and tmp/exec-err.txt
> [Exp PSN-EDF_tasks=4_release-master=False]: Loading experiment 3 of 28.
> [Exp PSN-EDF_tasks=4_release-master=False]: Switching back to Linux scheduler
> echo: write error: Device or resource busy
> System is corrupted! Fix state before continuing.
> Scheduler is C-EDF, cannot switch to Linux!
> 6 real-time tasks still running!
> no crontab for root
> Experiments ran:        3 of 28
>   Successful:           1
>   Failed:               2
>   Already Done:         0
>   Invalid Environment:  0
> Successful experiment data saved in run-data.
> root at lubdhok-lab:~/littest/experiment-scripts# 
> 
> 
> And always I have to reboot my OS kubuntu (root at lubdhok-lab:~/littest/experiment-scripts# uname -a
> Linux lubdhok-lab 3.10.5-litmus-rt-155192-g5b50be0 #3 SMP PREEMPT Fri Apr 25 11:09:11 CEST 2014 x86_64 x86_64 x86_64 GNU/Linux)
> 
> Thanks in advance
> Sanjib
> 
> 
> 
> On Tue, Apr 22, 2014 at 6:06 PM, Glenn Elliott <gelliott at cs.unc.edu> wrote:
> 
> On Apr 22, 2014, at 8:15 AM, Sanjib Das <cnt.sanjib at googlemail.com> wrote:
> 
>> Dear Everyone,
>> 
>> I am using the experiment script from the following link https://github.com/LITMUS-RT/experiment-scripts to generate the synthetic tasks and was able to simulate for PSN-EDF. 
>> 
>> Can anyone help me how can I generate a reasonable about of taskset for simulation using PFAIR scheduling algorithm(Implementation of the PD^2 pfair scheduling algorithm. This implementation realizes "early releasing), provided in LIRMUS-RT version 2013.1.
>> 
>> I would be glade with any information that leads me to simulate the mentioned algorithm above.
>> 
>> Regards
>> Sanjib
> 
> 
> Hi Sanjib,
> 
> In response to your other email on the availability of PFAIR, it’s in the latest Litmus kernel (code: https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/sched_pfair.c).  Just make sure that you properly configure the kernel at compile-time to get it.  As you might see in litmus/Kconfig (https://github.com/LITMUS-RT/litmus-rt/blob/master/litmus/Kconfig#L15), CONFIG_HIGH_RES_TIMERS and CONFIG_HZ_PERIODIC must be set and CONFIG_HZ must == 1000.
> 
> Regarding the experiment-scripts, currently there are no task-set generators for pfair.  I believe you could quickly copy and modify the C-EDF generator to create task sets for pfair (this is because the pfair plugin can be clustered along cache-level boundaries, just like C-EDF).
> 
> My suggestion:
> Step 1: Replicate the CedfGenerator (https://github.com/LITMUS-RT/experiment-scripts/blob/master/gen/edf_generators.py#75), naming it CpfairGenerator or some such, and make the appropriate changes to make it use pfair.
> Step 2: Add your new generator to gen/__init__.py (https://github.com/LITMUS-RT/experiment-scripts/blob/master/gen/__init__.py)
> Step 3: I think that’s it.  You should be able to follow the tutorial for gen_exps.py here: https://github.com/LITMUS-RT/experiment-scripts
> 
> These changes should take more than 30 minutes to add and test (assuming that I haven’t missed anything).  I’d be happy to accept a patch that adds pfair functionality.
> 
> -Glenn

Are there any useful messages in the kernel log?  Run ‘dmesg’ and see if Litmus has printed any error messages.

-Glenn

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20140503/48b88138/attachment.html>


More information about the litmus-dev mailing list