[LITMUS^RT] Experiment Script

Sanjib Das cnt.sanjib at googlemail.com
Sat May 3 16:36:38 CEST 2014


Hi Glenn,

I have managed to generate the the experimental test cases and also parse
and plot it for G-EDF,P-EDF and C-EDF with the flowing command
:./gen_exps.py -f tasks=5,10,15,20,25  cpus=2 release_master=False P-EDF
G-EDF C-EDF
 and  also with
./gen_exps.py -f tasks=`seq -s, 10 2 50` cpus=2 release_master=False P-EDF
G-EDF C-EDF
./gen_exps.py -f tasks=`seq -s, 5 5 50` cpus=2 release_master=False P-EDF
G-EDF C-EDF

Bu the strange thing where I am getting lost that when I generate the
tasksets with

./gen_exps.py -f tasks=`seq -s, 5 5 100` cpus=2 release_master=False P-EDF
G-EDF C-EDF
my system stalls like as default (previous email).

Can you please give me some clue..?
Thanks in Advance

Sanjib



On Fri, May 2, 2014 at 11: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 schedulerecho:
> write error: Device or resource busyFailed experiment
> C-EDF_tasks=8_release-master=TrueTask 0 failed with status: 234Task 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
>>
>> _______________________________________________
>> litmus-dev mailing list
>> litmus-dev at lists.litmus-rt.org
>> https://lists.litmus-rt.org/listinfo/litmus-dev
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.litmus-rt.org/pipermail/litmus-dev/attachments/20140503/52c32501/attachment.html>


More information about the litmus-dev mailing list