Changes between Version 13 and Version 14 of Projects/Scheduler


Ignore:
Timestamp:
May 1, 2013, 3:04:37 AM (6 years ago)
Author:
JoelSherrill
Comment:

/* Scheduler Simulator */ Add meat.

Legend:

Unmodified
Added
Removed
Modified
  • Projects/Scheduler

    v13 v14  
    6262= Scheduler Simulator =
    6363
    64 TBD
     64The RTEMS Scheduler Simulator is a b based tool based on a subset of the RTEMS SuperCore, Classic API. and Shell. The focus of this tool is to provide a scripting environment in which thread scheduling scenarios can be repeatedly tested in a deterministic manner. The scripting language allows one to initalize RTEMS with an arbitrary number of CPU cores, create tasks, delete tasks, have clock ticks, and have tasks perform operations and block on Classic API Semaphores. Since Classic API Semaphores can be semaphores or mutexes with priority inheritance or ceiling, this could be used to explore more than Thread Scheduling Algorithms.
     65
     66The Scheduler Simulator is in [http://git.rtems.org/rtems-schedsim/git] and test scenarios for the Deterministic Priority Scheduler and SMP Simple Priority Scheduler can be found [http://git.rtems.org/rtems-schedsim/tree/schedsim/shell here].
     67
     68This tool was created to support the design, development and debug of the SMP Simple Priority Scheduler. The Scheduler Simulator can be used to explore the impact of various number of CPU cores on an algorithm without having real hardware. It allowed us to create scenarios for 1, 2, and 4 core configurations and debug the algorithm.
     69
     70The Scheduler Simulator is useful for developing new scheduling algorithms. But it has issues:
     71
     72 *  When configured, it is provided the diretory for RTEMS source code. It then references parts of the RTEMS source to include. The Makefile.am which references this source is likely out of sync with the real RTEMS tree and needs updating.
     73 *  Documentation is currently not included in this tree. There are documents on Writing a Scheduler and Using the Scheduler Simulator but neither has been integrated into this tree.
     74 *  Test scripts may be incorrectly named here versus their "official" name in the RTEMS source tree.
     75
     76Basically the Scheduler Simulator source is out of sync with the main source tree.
     77
     78Longer term wish list:
     79
     80 *  Integrate building this into the RTEMS Source Builder.
     81 *  Automate testing of this so it doesn't fail into disrepair again.
     82 *  Switch to a waf based build system.
     83
     84Even longer term wish list:
     85
     86 *  Investigate using this framework for similar testing of block device buffer management algorithms.
    6587= Related Tasks =
    6688