[Bug 1723] Scheduler simulator

bugzilla-daemon at rtems.org bugzilla-daemon at rtems.org
Sat Dec 4 19:11:26 UTC 2010


Gedare <giddyup44 at yahoo.com> changed:

           What    |Removed                     |Added
                 CC|                            |giddyup44 at yahoo.com

--- Comment #1 from Gedare <giddyup44 at yahoo.com> 2010-12-04 13:11:25 CST ---
(In reply to comment #0)
> Created an attachment (id=1088)
 --> (https://www.rtems.org/bugzilla/attachment.cgi?id=1088) [details]
> SchedSim -- builds outside of tree
> As part of the slowly proceeding SMP work and Gedare's pluggable scheduler, we
> have developed a "Scheduler Simulator" for RTEMS.  It uses a LOT of score 
> directory, some of rtems, along with pieces from other directories.  It
> includes a "fake port" which prints messages on context switch.  It is just
> enough to make RTEMS It uses a derivation of the RTEMS shell to provide a
> simple language to write scripts in.  These scripts mimic various user
> operations and trigger tasks blocking, switching, changing priority, clock
> ticks, etc.
I'm pretty happy to see this coming. One thing I would like to know is how to
use the "fake port" interactively, is it sufficient to pipe the console
(stdout) output of a script or program to the input (stdin) of the schedsim?

> The goal of this is similar to that of LinSched
> (http://www.cs.unc.edu/~jmc/linsched/).  Since we now have pluggable
> schedulers, it is a tool which can be used to develop and debug new scheduler
> algorithms.  This is important as we move to SMP and need at least one
> SMP-aware scheduling algorithm.  Gedare has an Earliest Deadline First (EDF)
> that needs to be updated and submitted.  We want to implement a simple, low
> memory, priority scheduler for smaller systems. 
I'll attempt to use the SchedSim when I work on updating the EDF, and I will
provide feedback on it.

> This version was developed OUTSIDE the main tree.  It uses hacked together
> Makefiles.  The code itself is OK.  It assumes your RTEMS source tree is at
> "$r".  After submitting this, we will work on getting it to compile under
> rtems/tools/schedsim.  
It might be more general/usable to define the base of the RTEMS source tree
within the top-level Makefile.

> But feedback and build advice is needed.
I'm not sure on build advice specifically. In terms of integrating with RTEMS,
it would probably be best to replicate part of the cpukit directory structure,
e.g. score, rtems, sapi, libcsupport, libmisc, since that is where most of
schedsim implementation comes from, and have a custom ac and am files for the
schedsim/cpukit but copy/include the various RTEMS/cpukit/* am files in the
schedsim/cpukit/* am files.  This should make it easier to keep the schedsim
build consistent and updated with changes made in RTEMS.

Configure bugmail: https://www.rtems.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.

More information about the bugs mailing list