MCRTsim:多核心即時系統模擬架構

A Simulation Framework for DVFS-capable Multi-Core Real-Time Systems

使用者工具

網站工具


functionmodules


  • (A) Configurator : This module is to set the parameters for performing an experiment, e.g., to evaluate the scheduling of a set of real-time tasks, according to two definition files: processor definition file and workload definition file. These two definition files are described as follows:
    • Processor Definition File : The processor definition file is to define parameters of the processor, such as the number of cores for a processor, available processor speeds, and their corresponding power consumption. Note that, the processor definition file is in XML format.
    • Workload Definition File : The to-be-evaluated tasks and their resource usages can be defined by a workload definition file which is in XML format.
  • (B) Task Manager : Based on the workload definition file, this module is responsible for managing a set of tasks. At the run-time this module will create task instances for each task, at the beginning of each of its period, and insert them into the global ready queue of the system or local ready queue of a core.
  • (C) Resource Manager : Based on the workload definition file, this module will create and manage a set of shared resources which can be accessed by tasks at the run-time. Each resource managed by this module is associate with a semaphore so that the lock and unlock operation of a resource are supported.
  • (D) Synchronizer : The module is designed under lock-based approach. This module will coordinate jobs to lock or unlock resources by synchronization protocols.
  • (E) Global Scheduling Module : This module is composed of global ready queue and global scheduler. This module is designed for support the global scheduling algorithms. It will schedule tasks in the global ready queue to multiple cores by the global scheduler. The description of global ready queue and global scheduler as follows:
    • Global Ready Queue : This module is a queue for all tasks. All ready tasks are in this queue and be scheduled by a global scheduler.
    • Global Scheduler : According to global scheduling algorithms, this module will assign priorities to jobs in the global ready queue, and assign jobs to cores at the run-time.
  • (F) Partitioned Scheduling Module : This module is composed of a partition manager, a local ready queue and a local scheduler for each core. When the system uses a partitioned scheduling algorithm to schedule tasks, this modules uses partition manager to assign tasks to cores, and it will use a local scheduler to schedule the task in the local ready queue. The description of partition manager, local ready queue and local scheduler as follows:
    • Partition Manager : This module will assign and manage tasks to cores according partitioned algorithms, so that tasks assigned to a core will release its instances to the corresponding local ready queue, and they will be scheduled by a local scheduler.
    • Local Ready Queue : This module is similar global ready queue, but each core has its own local ready queue. It contains the jobs which are released by tasks assigned to cores.
    • Local Scheduler : This module will assign a priority to each job in a local ready queue according to partitioned scheduling algorithms.
  • (G) Multi-Core Processor : Based on processor definition file, this module will generate and manage a set of cores. Furthermore, this module will coordinate commands between other modules and cores at the run-time.
  • (H) Cores : Based on processor definition file, this module will supports a set of available execution speeds. At the run-time, this module will execute jobs at the specified speed assigned by the DVFS controller.
  • (I) DVFS Controller : This module scales the execution speed of cores at the run-time by DVFS energy-efficient algorithms.
  • (J) Measurement and Statistic : This module will record and analyze the simulation results, such as energy consumption and average response time, etc.
  • (K) Visualized Tracer : This module will provides a visualized simulation results for the simulation results.
functionmodules.txt · 上一次變更: 2022/03/30 16:58 (外部編輯)