Page 1 of 1

rt-muse: obtaining traces from real-time Linux tasksets

Posted: Tue Jun 23, 2015
by martinamaggio
Description of the tool
rt-muse allows the execution of multithreaded synthetic applications on a target Linux architecture, collecting statistics and data about the threads' and the scheduler's behavior. The user defines a pool of threads to be executed, each thread repeating the same job over and over. Jobs are composed by phases (compute, lock, memory, shared, sleep) and events can be fired in any execution moment (by default, events are fired when a new job is started, but the default behavior can be customized). rt-muse produces traces for the recorded events and provides analysis modules for the obtained traces (4 analysis plugins are currently implemented: migrations, runmap, supply, statistical).

Usage scope
Trace generation for applications that can be modeled with the phases approach and continuously run (like video encoding/decoding, streaming and multimedia processing), trace analysis.

People
- Martina Maggio (Lund University)
- Enrico Bini (Scuola Superiore Sant'Anna)
- Juri Lelli (Scuola Superiore Sant'Anna, ARM)

Links
- Code: github repository
- Configuration and usage: readme

Work in progress
2015.06.30 - Working on a definition of deadline and on specification of periodic tasks

Release history
2015.05.15 - Trace collector and four analysis plugins (migrations, runmap, supply, statistical)

Re: rt-muse: obtaining traces from real-time Linux tasksets

Posted: Thu Jul 02, 2015
by Sophie Quinton
Hi,

Would it be possible for you to post some traces generated by your tool in the Benchmarks forum? I am curious about the events relevant for scheduling that you trace.

Best,
Sophie

Re: rt-muse: obtaining traces from real-time Linux tasksets

Posted: Fri Jul 03, 2015
by martinamaggio
Sophie Quinton wrote:Would it be possible for you to post some traces generated by your tool in the Benchmarks forum? I am curious about the events relevant for scheduling that you trace.
Sure.
I will post some traces there and a description of how the traces were obtained. The events that we currently record are migrations and the start time of the jobs for each of the involved threads. [Edit: check this post for the traces]

One of the things I like about the tool is the flexibility in generating and recording new traces.
If you (or anybody else) would like to see a specific trace (for a set of threads doing something specific) you are welcome to follow up and I will try to obtain the relevant data (in a decent amount of time).