[LITMUS^RT] cache effect on rtspin -- Sisu

Björn Brandenburg bbb at mpi-sws.org
Fri Apr 19 18:07:19 CEST 2013


On Apr 19, 2013, at 5:42 PM, Glenn Elliott <gelliott at cs.unc.edu> wrote:

> 
> On Apr 19, 2013, at 11:31 AM, Sisu Xi <xisisu at gmail.com> wrote:
> 
>> Hi, all:
>> 
>> I was looking at the code of rtspin, does cache miss make a difference in rtspin?
>> 
>> Because rtspin run workload, record time, compare it with wcet and rerun some workload, the cache miss time should already be considered in the execution time.
>> 
>> In other words, consider one rtspi with alwasy cache hit and the other rtspin with alwasy cache miss. If they are configured the same wcet, each job should run for same time.
>> 
>> Is this correct?
>> 
>> Thanks very much!
>> 
>> Sisu
>> 
>> -- 
>> Sisu Xi, PhD Candidate
>> 
>> http://www.cse.wustl.edu/~xis/
>> Department of Computer Science and Engineering
>> Campus Box 1045
>> Washington University in St. Louis
>> One Brookings Drive
>> St. Louis, MO 63130
>> _______________________________________________
>> litmus-dev mailing list
>> litmus-dev at lists.litmus-rt.org
>> https://lists.litmus-rt.org/listinfo/litmus-dev
> 
> 
> Hi Sisu,
> 
> I believe that you are correct.  If you want to make it cache-sensitive, you would need to rewrite job() to execute a fixed number of operations on data of an appropriate size.  You would provision the execution time of the task however you need (average case, worst-case, average case with no cache misses, worst-case with no cache misses, etc.---it's up to you).
> 
> Check out litmus-rt/tools/perf for tools for counting cache misses, branch mispredictions, etc.

Just to add some more context: rtspin is primarily a testing tool. It allows you to try out whether the scheduler does what you expect it to do. It's useful for generating pretty schedules. It is not primarily a performance testing tool. It is certainly not reflective of cache-related execution cost variations in any real workload.

- Björn





More information about the litmus-dev mailing list