WO2021229718A1 - Scheduling method and scheduling system - Google Patents

Scheduling method and scheduling system Download PDF

Info

Publication number
WO2021229718A1
WO2021229718A1 PCT/JP2020/019109 JP2020019109W WO2021229718A1 WO 2021229718 A1 WO2021229718 A1 WO 2021229718A1 JP 2020019109 W JP2020019109 W JP 2020019109W WO 2021229718 A1 WO2021229718 A1 WO 2021229718A1
Authority
WO
WIPO (PCT)
Prior art keywords
execution time
task
criticity
scheduling
level
Prior art date
Application number
PCT/JP2020/019109
Other languages
French (fr)
Japanese (ja)
Inventor
知彦 東山
広章 高田
晋也 本田
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2020/019109 priority Critical patent/WO2021229718A1/en
Priority to JP2022522168A priority patent/JP7237245B2/en
Publication of WO2021229718A1 publication Critical patent/WO2021229718A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Definitions

  • the techniques disclosed in the present specification relate to a scheduling method and a scheduling system.
  • the real-time system is a computer system that is subject to the time constraint that "the processing of the task must be completed by the time limit determined for each task (hereinafter also referred to as the deadline)".
  • deadline miss the deadline constraint which is the constraint to complete the task by the deadline should be satisfied. It is necessary to allocate an appropriate processor execution time to each task (real-time scheduling).
  • the conventional method of real-time scheduling is to first determine the scheduling possibility (that is, whether or not scheduling is possible) so that each task does not cause a deadline mistake, and then which processor is actually used. There is a method of deciding which task is assigned to which period (see, for example, Patent Document 1).
  • the worst execution time that can be assumed as the execution time of each task will be used in order to prevent deadline mistakes.
  • the worst execution time is the longest execution time that is expected to be required to execute the corresponding task.
  • each task is completed in a shorter time than the worst execution time. Therefore, when a certain task set (that is, a plurality of tasks) is given and the scheduling possibility is determined on the premise of the worst execution time, there is a problem that the determination criteria of the scheduling possibility becomes too strict.
  • a real-time system that sets the criticity level in advance according to the impact of a deadline mistake for each task and mixes multiple tasks with different criticity levels. Proposed.
  • a real-time system in which a plurality of tasks having different criticity levels are mixed is referred to as a mixed criticity system.
  • Non-Patent Document 1 proposes a method for determining scheduling possibility for a mixed criticity system.
  • the criticity level of the task itself and the worst execution time corresponding to the criticism level of all tasks including other than the task are defined.
  • the execution time of each task has jitter (that is, fluctuation of the time width), and it is the worst for each criticality level within the range of the execution time of each task measured repeatedly in advance.
  • Execution time is defined.
  • the worst execution time is set to a larger value as the criticity level of the corresponding task is higher. That is, the higher the criticality level of the corresponding task, the more pessimistic (longer) worst-case execution time is assumed.
  • the mixed criticity guarantee scheduling policy guarantees that if all tasks are completed in the execution time corresponding to a certain criticity level, the tasks of the criticity level or higher satisfy the deadline constraint. Is. In this case, the task below the criticality level does not have to satisfy the deadline constraint.
  • the mixed criticity system is appropriate according to the degree of influence of the deadline mistake of the task on the mixed criticity system while improving the scheduling possibility. It is possible to guarantee the reliability.
  • Non-Patent Document 1 the method of defining the worst execution time at each criticality level in which scheduling is performed is not mentioned. Therefore, there is a problem that the reliability index guaranteed at each criticality level (that is, the index of how much it is guaranteed not to cause deadline mistakes) cannot be quantitatively shown.
  • a first aspect of the technique disclosed herein relates to a scheduling method in which the execution time of each task is repeatedly measured in a real-time system that schedules multiple tasks with different criticity levels.
  • the execution time corresponding to the statistical reliability predetermined for each criticality level is defined as the worst execution time for each criticity level.
  • the scheduling of the plurality of tasks is performed based on the worst execution time.
  • a second aspect of the technique disclosed herein is a real-time system having a plurality of tasks with different criticity levels in connection with a scheduling system, the execution time of which the execution time of each task is repeatedly measured.
  • the execution time corresponding to the statistical reliability predetermined for each criticity level is set as the worst execution time for each criticity level. It includes an execution time calculation unit for calculating, and a schedule derivation unit for scheduling the plurality of tasks in the real-time system based on the worst execution time.
  • a first aspect of the technique disclosed herein relates to a scheduling method in which the execution time of each task is repeatedly measured in a real-time system that schedules multiple tasks with different criticity levels.
  • the execution time corresponding to the statistical reliability predetermined for each criticality level is defined as the worst execution time for each criticity level.
  • the scheduling of the plurality of tasks is performed based on the worst execution time. With such a configuration, the worst execution time for each criticity level is specifically determined by the corresponding statistical reliability, so the reliability index guaranteed for each criticity level is quantitatively shown. Is possible.
  • a second aspect of the technique disclosed herein is a real-time system having a plurality of tasks with different criticity levels in connection with a scheduling system, the execution time of which the execution time of each task is repeatedly measured.
  • the execution time corresponding to the statistical reliability predetermined for each criticity level is set as the worst execution time for each criticity level. It includes an execution time calculation unit for calculating, and a schedule derivation unit for scheduling the plurality of tasks in the real-time system based on the worst execution time.
  • the worst execution time for each criticity level is specifically determined by the corresponding statistical reliability, so the reliability index guaranteed for each criticity level is quantitatively shown. Is possible.
  • ordinal numbers such as “first” or “second” may be used in the description described below, these terms facilitate the understanding of the content of the embodiments. It is used for convenience, and is not limited to the order that can be generated by these ordinal numbers.
  • FIG. 1 is a diagram conceptually showing an example of the overall configuration of a mixed criticity system according to the present embodiment.
  • the mixed criticity system whose example is shown in FIG. 1 includes an execution time measuring device 11, a scheduling device 10, and a real-time control device 12.
  • the execution time measuring device 11 takes an executable task group constituting the mixed criticity system as an input, and acquires statistical data of the execution time for each criticity level of each task in the task group. Then, the execution time measuring device 11 outputs the acquired statistical data of the execution time for each criticality level to the scheduling device 10.
  • the scheduling device 10 inputs the statistical data acquired by the execution time measuring device 11, the optimization problem input by the user, and the statistical reliability of each task criticity level input by the user, as a task.
  • the optimum schedule (hereinafter, also referred to as task schedule) is derived.
  • the scheduling device 10 outputs the derived optimum task schedule to the real-time control device 12.
  • the real-time control device 12 executes each task according to the input task schedule.
  • the statistical data acquired by the execution time measuring device 11 is the execution time corresponding to the statistical reliability for each criticity level defined uniformly in the entire mixed criticity system, and is measured for each task. It is a thing.
  • the execution time is synonymous with the execution time in the real-time control device 12.
  • FIG. 2 is a diagram conceptually showing an example of the configuration of the execution time measuring device 11 according to the present embodiment.
  • the execution time measuring device 11 has a task group receiving unit 113 that accepts a set of a plurality of tasks (that is, an executable task group) that can be executed by the real-time control device 12, and a task group receiving unit.
  • Statistics for each criticality level based on the execution time measuring unit 111 that repeatedly measures the execution time in the real-time control device 12 and the execution time measured by the execution time measuring unit 111 of the executable task group received by 113. It is provided with an execution time calculation unit 112 that creates the worst execution time table 105, which will be described later, by calculating the execution time corresponding to the target reliability for each task.
  • the execution time measuring unit 111 has a task execution environment that is the same as the real-time control device 12 or that imitates the real-time control device 12, and measures the execution time of the task by repeatedly executing the task under the environment.
  • FIG. 3 is a diagram conceptually showing an example of the configuration of the scheduling device 10 according to the present embodiment.
  • the scheduling apparatus 10 derives a schedule (hereinafter referred to as a mixed criticity schedule) that satisfies the mixed criticity guarantee scheduling policy by solving the constrained optimization problem.
  • An interface that accepts the 101 and optimization problems (objective functions, additional constraints, etc.) input from the user (designer of the real-time controller 12), control information for each task, or statistical reliability for each criticality level.
  • the control request table 103 for storing the control information set for each task
  • the reliability table 104 for storing the statistical reliability set for each criticality level
  • the execution time measuring device 11 the execution time measuring device 11.
  • the worst execution time table 105 for storing the execution time corresponding to the calculated statistical reliability for each criticality level and the modified worst execution time table 106 are provided.
  • the information in the control request table 103 and the information in the reliability table 104 are input from the input IF 102.
  • FIG. 4 is a diagram conceptually showing an example of the configuration of the real-time control device 12 according to the present embodiment.
  • the real-time control device 12 includes a central processing unit (central processing unit, that is, a CPU) 121, a random access memory (random access memory, that is, RAM) 122, and a read-only memory (that is, RAM). It is provided with a read only memory, that is, a ROM) 123.
  • these configurations are examples of the minimum configurations, and the configurations of the real-time control device 12 according to the present embodiment are not limited to the above.
  • the real-time control device 12 according to the present embodiment may include devices constituting a general computer system such as a network interface, a secondary storage device, a dedicated accelerator, or a user interface.
  • the ROM 123 includes the task execution file group 124 and the schedule result 125 derived by the scheduling device 10.
  • FIG. 5 is a diagram showing an example of the control request table 103 according to the present embodiment.
  • the cycle, deadline, and criticity level of each task are assumed as the elements of the control request table 103.
  • the task cycle indicates a time interval in which the task is repeatedly executed.
  • Each task consists of repetition of task execution units called "jobs", and the kth job of each task is based on a certain time t 0 (reference time t 0 ) and has a reference time t 0 + cycle.
  • Execution starts after S ⁇ k and is completed by the deadline D k.
  • the cycle S is a cycle in which the job is repeated.
  • the reference time t 0 may be the same for all tasks or may be different.
  • the element of the control request table 103 includes the reference time t 0 as well.
  • the criticity level indicates the magnitude of the impact on the mixed criticity system in the event of a deadline mistake, and the higher the impact (ie, the more serious the impact on the mixed criticity system), the greater the impact. Set to a higher criticality level.
  • FIG. 6 is a diagram showing an example of the reliability table 104 according to the present embodiment.
  • statistical reliability for each criticality level is assumed as an element of the reliability table 104.
  • the statistical reliability means the statistical reliability regarding the execution time of each task.
  • FIG. 7 is a diagram showing an example of the worst execution time table 105 according to the present embodiment.
  • the elements of the worst execution time table 105 are assumed to be their own criticity level and the execution time for each criticity level.
  • the own criticity level is the criticity level defined for each task, and is the same as the criticity level defined in the control request table 103.
  • the execution time for each criticity level is stored as many as the number of criticity levels defined in the mixed criticity system.
  • worst-case execution time P 5 from worst-case execution time P 1 corresponding to each of the criticality level 1 to criticality level 5 it is stored. These worst execution times are calculated by the execution time calculation unit 112 in the execution time measuring device 11 based on the statistical reliability for each criticality level.
  • FIG. 8 is a diagram showing a histogram of the execution time when a certain task is repeatedly executed.
  • the horizontal axis shows the execution time
  • the vertical axis shows the number of occurrences of the corresponding execution time.
  • the statistical reliability of the criticality level cl defined in the reliability table 104 of the task whose execution time is distributed as described above is X%.
  • the execution time that is, the execution time corresponding to the X percentile
  • the worst execution time Pcl the worst execution time
  • FIG. 9 is a flowchart showing an example of the operation of the execution time calculation unit 112.
  • the execution time calculation unit 112 determines whether or not the worst execution time of all tasks has been calculated (step ST100). Then, when there is a task for which the worst execution time has not been calculated yet, that is, when it corresponds to "NO" branching from step ST100 shown in FIG. 9, the execution time measuring unit 111 may use the execution time measuring unit 111. A task i for which the worst execution time has not yet been calculated is selected, and the execution time of the task i is measured a predetermined number of times (step ST101). Then, the process proceeds to step ST102.
  • step ST104 if the worst execution time of all tasks is calculated, that is, if it corresponds to "YES" branching from step ST100 shown in FIG. 9, the process proceeds to step ST104.
  • step ST102 the execution time calculation unit 112 determines whether or not the worst execution time of the task i at all the criticity levels has been calculated. Then, when the criticality level for which the worst execution time has not been calculated still remains, that is, when it corresponds to "NO" branching from step ST102 shown in FIG. 9, the execution time calculation unit 112 Calculates the worst execution time for the criticality level for which the worst execution time has not yet been calculated (step ST103). Then, the process returns to step ST102.
  • step ST100 when the worst execution time of the task i at all the criticity levels is calculated, that is, when it corresponds to "YES" branching from step ST102 shown in FIG. 9, the process goes to step ST100. return.
  • step ST104 the execution time calculation unit 112 sets all the calculated worst execution times in the worst execution time table of the scheduling device 10. Store in 105. Then, the process is terminated.
  • FIG. 10 is a flowchart showing an example of the operation of the scheduling device 10.
  • the schedule derivation unit 101 in the scheduling device 10 acquires the objective function and additional constraints input by the user via the input IF 102 (step ST400). Then, the schedule derivation unit 101 derives the modified worst execution time table 106, which will be described later (step ST401).
  • FIG. 13 is a diagram showing an example of the derived modified worst execution time.
  • the execution time measured by the execution time measuring device 11 is set as the modified worst execution time.
  • the worst execution time modified at the criticality levels of H, M, and L is measured by the execution time measuring device 11.
  • the executed execution times Pa and H , the execution times Pa and M , and the execution times Pa and L are set, respectively.
  • the execution time measured by the execution time measuring device 11 is set as the modified worst execution time of which the criticity level is M or M or less. Further, the worst-case execution time for correction is set as follows for the worst-case execution time for correction when the criticity level is H.
  • the execution time measured by the execution time measuring device 11 is set as the modified worst execution time when the criticity level is L. Further, the worst-case execution time for modification is set as follows for the worst-case execution time for modification with criticality levels H and M.
  • the schedule derivation unit 101 in the scheduling device 10 solves the optimization problem based on the objective function, the additional constraint, and the basic constraint described later, and derives the optimum schedule (step ST402).
  • the objective function is arbitrarily set by the user, and for example, maximization of the margin time to the deadline or minimization of power consumption can be considered, but the objective function is not limited to these.
  • Additional constraints are also optional by the user, such as specifying dependencies between tasks (such as starting another task after the completion of a particular task), or specifying the execution core of a particular task. However, it is not limited to these.
  • the basic constraint is a constraint specified by the schedule derivation unit 101 by default regardless of the user's specification, and can be divided into three types: deadline constraint, periodic constraint, and core constraint.
  • the basic constraint is expressed by the following formula.
  • Ci , m, l, and t are 1 if the task i is executing on the core m at the time t when the worst execution time corresponding to the criticality level l is required, and the core m. 0 if not executed above.
  • z i, l, and t are 1 if the task i is being executed at time t and 0 if the task i is not being executed when the task i requires the execution time corresponding to the criticality level l.
  • constraint formula is not limited to the above, and a different formula may be used as long as the constraint has the intention shown below.
  • the execution start time of the kth job of the task is k times or later of the set cycle.
  • the deadline constraint described above is to ensure that the task does not make deadline mistakes.
  • Each task starts a job at time Ti, k , and even if it is executed at the worst execution time Pi , l at its own criticality level, it processes before the deadline time Di, k. Need to be completed.
  • the above periodic constraint is to guarantee that the execution start time of the job k does not come before t 0 + S ⁇ k.
  • the above core constraints ensure that no more than one task runs on each core at the same time, but to meet the mixed integrity assurance scheduling policy, the integrity level. It is determined that one task is executed for each task.
  • FIG. 11 is a flowchart showing an example of the operation of the real-time control device 12.
  • the real-time control device 12 acquires the schedule result 125 stored in the ROM 123 (step ST201).
  • the real-time control device 12 sets the priority of the task in the order of the criticity level (step ST202). Specifically, the real-time control device 12 sets a higher priority for a task having a higher criticality level, and sets the same priority for a task having the same criticality level.
  • the real-time control device 12 checks at regular intervals whether or not there is a task whose execution start time has come (step ST203).
  • a constant interval for example, a tick period is assumed.
  • step ST204 when there is a task whose execution start time has come, that is, when the real-time control device 12 corresponds to "YES" branching from step ST203 shown in FIG. 11, the real-time control device 12 proceeds to step ST204.
  • the process returns to step ST203.
  • step ST204 the task whose execution start time has come is set to the executable state, and the process returns to step ST203.
  • the execution time corresponding to the percentile of statistical reliability determined for each criticity level is set for each criticity level of each task.
  • the worst execution time for each criticity level is specifically determined by the corresponding statistical reliability, so that the reliability index guaranteed at each criticity level (that is, deadline mistakes) It is possible to quantitatively indicate (an index of how much it is guaranteed not to occur).
  • the worst execution time for each criticality level was set using percentiles.
  • the worst execution time for each criticality level may be set using statistical confidence intervals.
  • FIG. 12 is a flowchart showing an example of the operation of the execution time calculation unit 112 according to the present embodiment.
  • the execution time calculation unit 112 determines whether or not the statistical confidence intervals of all the tasks have been calculated (step ST300). Then, when there are still tasks for which the statistical confidence interval has not been calculated, that is, when corresponding to "NO" branching from step ST300 shown in FIG. 12, the execution time measuring unit 111 , The task i for which the statistical confidence interval has not been calculated is selected, and the execution time of the task i is measured a predetermined number of times (step ST301). Then, the process proceeds to step ST302.
  • step ST302 the execution time calculation unit 112 calculates the standard deviation of the sample of task i using the execution time measured in step ST301 as a sample.
  • the execution time calculation unit 112 calculates the confidence intervals of the statistical reliability corresponding to all the criticity levels defined in the reliability table 104 based on the standard deviation calculated in step ST302. Further, the upper boundary thereof is calculated (step ST303). The confidence interval is calculated on the assumption that the probability distribution of the population is a normal distribution.
  • the execution time calculation unit 112 stores the value of the upper boundary calculated in step ST303 as the worst execution time corresponding to each criticity level of the task i in the worst execution time table 105.
  • the worst execution time can be defined by the statistical confidence interval using the average value of the worst execution time of the population estimated from the sample of the execution time. Therefore, when the probability distribution of the population is assumed to be close to the normal distribution, scheduling can be performed using the worst execution time.
  • ⁇ Scheduling system configuration> scheduling satisfying the mixed criticity guarantee scheduling policy was performed. However, scheduling may be done for a normal real-time system with only a single criticality level. In that case, replace the core constraint as follows.
  • z i, l, and t are 1 if the task i is executing at the time t when the task i requires the execution time corresponding to the criticality level l, and 0 otherwise. Is.
  • constraint formula is not limited to the above, and a different formula may be used as long as the constraint has the intention shown below.
  • the number of tasks to be executed at the same time is less than or equal to the number of cores.
  • the given objective function is optimal within the range that satisfies the deadline constraint.
  • Schedule can be derived.
  • ⁇ About the hardware configuration of the scheduling system> 14 and 15 are diagrams schematically illustrating a hardware configuration when the scheduling system shown in FIGS. 1, 2 and 3 is actually operated.
  • FIGS. 14 and 15 may not match the configurations illustrated in FIGS. 1, 2, and 3, but this may be inconsistent with those shown in FIGS. 1, 2, and 2. This is because the configuration exemplified in 3 indicates a conceptual unit.
  • At least one configuration exemplified in FIGS. 1, 2 and 3 comprises a plurality of hardware configurations exemplified in FIGS. 14 and 15, and is exemplified in FIGS. 1, 2 and 3.
  • One configuration to be made corresponds to a part of the hardware configurations exemplified in FIGS. 14 and 15, and further, a plurality of configurations exemplified in FIGS. 1, 2 and 3 are shown in FIG. And it may be assumed that one hardware configuration illustrated in FIG. 15 is provided.
  • FIG. 14 as a hardware configuration for realizing the execution time measuring unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 in FIGS. 1, 2, and 3, the processing circuit 1102A that performs the calculation and the information are displayed. A storage device 1103 that can be stored is shown. These configurations are the same in other embodiments.
  • FIG. 15 shows a processing circuit 1102B that performs an operation as a hardware configuration for realizing the execution time measuring unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 in FIGS. 1, 2, and 3.
  • the configuration is the same in other embodiments.
  • the modified worst execution time table 106, worst execution time table 105, control request table 103, and reliability table 104 are realized by the storage device 1103 or another storage device (not shown here).
  • the storage device 1103 is, for example, a hard disk drive (Hard disk drive, that is, HDD), RAM, ROM, flash memory, erasable programmable read only memory (EPROM), electrically erasable EEPROM, or volatile EEPROM.
  • Hard disk drive that is, HDD
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable read only memory
  • volatile EEPROM volatile EEPROM
  • it may be a memory (storage medium) including a non-volatile semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD, or the like, or any storage medium used in the future.
  • the processing circuit 1102A may execute a program stored in a storage device 1103, an external CD-ROM, an external DVD-ROM, an external flash memory, or the like. That is, for example, it may be a CPU, a microprocessor, a microcomputer, or a digital signal processor (that is, a DSP).
  • the execution time measuring unit 111 and the execution time calculation unit 101 are realized by software, firmware, or a combination of software and firmware in which the program stored in the storage device 1103 is executed by the processing circuit 1102A.
  • the functions of the execution time measurement unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 may be realized, for example, by coordinating a plurality of processing circuits.
  • the software and firmware may be described as a program and stored in the storage device 1103.
  • the processing circuit 1102A realizes the above function by reading and executing the program stored in the storage device 1103. That is, the storage device 1103 may store a program in which the above functions are eventually realized by being executed by the processing circuit 1102A.
  • processing circuit 1102B may be dedicated hardware. That is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an integrated circuit (application specific integrated circuit, that is, an ASIC), a field-programmable gate array (FPGA), or a combination thereof. It may be a circuit.
  • the execution time measuring unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 are realized by operating the processing circuit 1102B.
  • the functions of the execution time measurement unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 may be realized by separate circuits or may be realized by a single circuit.
  • the functions of the execution time measurement unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 are partially realized in the processing circuit 1102A that executes the program stored in the storage device 1103, and some of them are dedicated. It may be realized in the processing circuit 1102B which is the hardware of the above.
  • the replacement may be made across a plurality of embodiments. That is, it may be the case that the respective configurations shown in the examples in different embodiments are combined to produce the same effect.
  • the execution time of each task is repeatedly measured in a real-time system that schedules a plurality of tasks having different criticality levels. Then, of the execution times of each task measured multiple times, the execution time corresponding to the statistical reliability predetermined for each criticality level is set as the worst execution time for each criticality level. Schedule multiple tasks based on.
  • the worst-case execution time for each criticity level is specifically determined by the corresponding statistical confidence, so that the reliability index (ie, deadline miss) guaranteed at each criticity level. It is possible to quantitatively indicate (an index of how much it is guaranteed not to cause a problem).
  • the execution time corresponding to the percentile of the statistical reliability predetermined for each criticity level is set as the criticity.
  • the worst execution time for each level is specifically determined by the corresponding statistical confidence percentile, so the reliability index guaranteed at each criticity level is quantitatively determined. It becomes possible to show.
  • the execution time of the task measured multiple times is used as a sample, and the confidence interval of the statistical reliability predetermined for each criticity level is used as the sample population. Is calculated as a normal distribution, and the execution time corresponding to the upper boundary of the confidence interval is defined as the worst execution time for each criticality level.
  • the worst execution time for each criticity level is specifically determined by the confidence interval of the corresponding statistical reliability, so the reliability index guaranteed for each criticity level is quantitative. It is possible to show in.
  • scheduling includes a constraint condition that the task is completed before the deadline when the task is executed at the worst execution time corresponding to its own criticity level. It is done by solving a constrained optimization problem based on. With such a configuration, appropriate real-time scheduling can be performed by solving the optimization problem so as to satisfy the deadline constraint.
  • the execution start time of the kth job of the task is k times or more of the cycle in which the jobs are repeated. It is done by solving a constrained optimization problem based on constraints including that. According to such a configuration, appropriate real-time scheduling can be performed by solving the optimization problem so as to satisfy the periodic constraint.
  • the scheduling only one task is executed in the specific core that executes the task at each criticality level, and each criticity level is executed. Is performed by solving a constrained optimization problem based on constraints, including that only one task is executed at a particular time. With such a configuration, appropriate real-time scheduling can be performed by solving the optimization problem so as to satisfy the core constraint.
  • scheduling is performed by solving a constrained optimization problem based on an objective function input from the outside and at least one of additional constraints.
  • appropriate real-time scheduling can be performed by solving the optimization problem so as to satisfy at least one of the objective function and the additional constraint.
  • the scheduling system includes an execution time measuring unit 111, an execution time calculation unit 112, and a schedule derivation unit 101.
  • the execution time measuring unit 111 repeatedly measures the execution time of each task.
  • the execution time calculation unit 112 calculates the execution time corresponding to the statistical reliability predetermined for each criticity level among the execution times of the tasks measured a plurality of times as the worst execution time for each criticity level. ..
  • the schedule derivation unit 101 schedules a plurality of tasks in the real-time system based on the worst execution time.
  • the scheduling system includes a processing circuit 1102A and a storage device 1103 for storing a program to be executed. Then, when the processing circuit 1102A executes the program, the following operations are realized.
  • the execution time of each task is repeatedly measured. Then, among the execution times of each task measured a plurality of times, the execution time corresponding to the statistical reliability predetermined for each criticality level is defined as the worst execution time for each criticality level. Then, a plurality of tasks are scheduled based on the worst execution time.
  • the scheduling system includes a processing circuit 1102B. Then, the processing circuit 1102B, which is the dedicated hardware, performs the following operations.
  • the processing circuit 1102B which is dedicated hardware, repeatedly measures the execution time of each task. Then, among the execution times of each task measured a plurality of times, the execution time corresponding to the statistical reliability predetermined for each criticity level is defined as the worst execution time for each criticity level. Then, a plurality of tasks are scheduled based on the worst execution time.
  • the worst execution time for each criticity level is specifically determined by the corresponding statistical reliability, so the reliability index guaranteed for each criticity level is quantitatively shown. Is possible.
  • each component described in the above-described embodiment is assumed to be software or firmware and corresponding hardware, and in both concepts, each component is a "part". Alternatively, it is referred to as a "processing circuit” or the like.
  • each component is distributed and provided in a plurality of devices, that is, a system such as a combination of a plurality of devices may be used. ..

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention addresses the problem of quantitatively indicating a reliability index ensured at each criticality level for which scheduling is carried out. A scheduling system according to the present invention repeatedly measures the execution time of each task, determines, among the execution times of each task measured a plurality of times, the execution time corresponding to a statistical reliability defined in advance for each criticality level as the worst execution time for each criticality level, and schedules a plurality of tasks on the basis of the worst execution time.

Description

スケジューリング方法、および、スケジューリングシステムScheduling method and scheduling system
 本願明細書に開示される技術は、スケジューリング方法、および、スケジューリングシステムに関するものである。 The techniques disclosed in the present specification relate to a scheduling method and a scheduling system.
 リアルタイムシステムは、「タスクごとに決められた制限時刻(以降、デッドラインとも称する)までに必ず当該タスクの処理を完了させなければならない」という時間的制約を受けたコンピュータシステムである。 The real-time system is a computer system that is subject to the time constraint that "the processing of the task must be completed by the time limit determined for each task (hereinafter also referred to as the deadline)".
 そのため、リアルタイムシステムでは、それぞれのタスクの実行完了時刻がデッドラインを超過(以降、デッドラインミスとも称する)しないように、すなわち、デッドラインまでにタスクを完了させる制約であるデッドライン制約を満たすように、それぞれのタスクに適切なプロセッサの実行時間を割り当てること(リアルタイムスケジューリング)が必要である。 Therefore, in the real-time system, the execution completion time of each task should not exceed the deadline (hereinafter also referred to as deadline miss), that is, the deadline constraint which is the constraint to complete the task by the deadline should be satisfied. It is necessary to allocate an appropriate processor execution time to each task (real-time scheduling).
 従来のリアルタイムスケジューリングの方法としては、まず、それぞれのタスクがデッドラインミスを起こさないようにスケジューリング可能性(すなわち、スケジューリングが可能であるか否か)を判定し、その後で、実際にどのプロセッサをどのタスクにどの期間に割り当てるかを決定するという方法がある(たとえば、特許文献1を参照)。 The conventional method of real-time scheduling is to first determine the scheduling possibility (that is, whether or not scheduling is possible) so that each task does not cause a deadline mistake, and then which processor is actually used. There is a method of deciding which task is assigned to which period (see, for example, Patent Document 1).
 上記のような方法を用いる場合、デッドラインミスを防ぐために、それぞれのタスクの実行時間として想定されうる最悪実行時間を用いることとなる。ここで、最悪実行時間とは、対応するタスクを実行するために要することが想定される最長の実行時間である。 When using the above method, the worst execution time that can be assumed as the execution time of each task will be used in order to prevent deadline mistakes. Here, the worst execution time is the longest execution time that is expected to be required to execute the corresponding task.
 ほとんどの場合、それぞれのタスクは最悪実行時間よりも短い時間で実行が完了する。そのため、あるタスクセット(すなわち、複数のタスク)が与えられた場合に、最悪実行時間を前提としてスケジューリング可能性を判定すると、スケジューリング可能性の判定基準が厳しくなりすぎるという問題がある。 In most cases, each task is completed in a shorter time than the worst execution time. Therefore, when a certain task set (that is, a plurality of tasks) is given and the scheduling possibility is determined on the premise of the worst execution time, there is a problem that the determination criteria of the scheduling possibility becomes too strict.
 このような問題を解決するために、それぞれのタスクについてデッドラインミスが生じた場合の影響度に応じてクリティカリティレベルをあらかじめ設定し、異なるクリティカリティレベルを有する複数のタスクを混在させるリアルタイムシステムが提案されている。ここで、異なるクリティカリティレベルを有する複数のタスクを混在させるリアルタイムシステムを、ミックスドクリティカリティシステムと称する。 In order to solve such problems, a real-time system that sets the criticity level in advance according to the impact of a deadline mistake for each task and mixes multiple tasks with different criticity levels. Proposed. Here, a real-time system in which a plurality of tasks having different criticity levels are mixed is referred to as a mixed criticity system.
 たとえば、非特許文献1では、ミックスドクリティカリティシステムに対するスケジューリング可能性の判定方法が提案されている。非特許文献1によれば、ミックスドクリティカリティシステムにおけるタスクごとに、当該タスク自身のクリティカリティレベルと、当該タスク以外を含むすべてのタスクのクリティカリティレベルに対応する最悪実行時間とを定義する。 For example, Non-Patent Document 1 proposes a method for determining scheduling possibility for a mixed criticity system. According to Non-Patent Document 1, for each task in the mixed criticity system, the criticity level of the task itself and the worst execution time corresponding to the criticism level of all tasks including other than the task are defined.
 上記では、それぞれのタスクの実行時間がジッタ(すなわち、時間幅のゆらぎ)を有することが想定されており、事前に繰り返し測定されたそれぞれのタスクの実行時間の範囲内でクリティカリティレベルごとに最悪実行時間が定義される。この場合の最悪実行時間は、対応するタスクのクリティカリティレベルが高いほど大きい値とする。すなわち、対応するタスクのクリティカリティレベルが高いほど、悲観的な(長い)最悪実行時間が仮定される。 In the above, it is assumed that the execution time of each task has jitter (that is, fluctuation of the time width), and it is the worst for each criticality level within the range of the execution time of each task measured repeatedly in advance. Execution time is defined. In this case, the worst execution time is set to a larger value as the criticity level of the corresponding task is higher. That is, the higher the criticality level of the corresponding task, the more pessimistic (longer) worst-case execution time is assumed.
 そして、ミックスドクリティカリティ保証スケジューリングポリシーに基づいて、リアルタイムスケジューリングを行う。ここで、ミックスドクリティカリティ保証スケジューリングポリシーとは、すべてのタスクがあるクリティカリティレベルに対応する実行時間で完了した場合に、当該クリティカリティレベル以上のタスクがデッドライン制約を満たすことを保証するものである。なお、この場合、当該クリティカリティレベル未満のタスクは、デッドライン制約を満たさなくてもよい。 Then, real-time scheduling is performed based on the mixed criticity guarantee scheduling policy. Here, the mixed criticity guarantee scheduling policy guarantees that if all tasks are completed in the execution time corresponding to a certain criticity level, the tasks of the criticity level or higher satisfy the deadline constraint. Is. In this case, the task below the criticality level does not have to satisfy the deadline constraint.
特開2005-284351号公報Japanese Unexamined Patent Publication No. 2005-284351
 たとえば非特許文献1に開示された技術によれば、スケジューリング可能性の向上を図りつつ、タスクのデッドラインミスがミックスドクリティカリティシステムに与える影響度に応じて、ミックスドクリティカリティシステムの適切な信頼度を保証することが可能となる。 For example, according to the technique disclosed in Non-Patent Document 1, the mixed criticity system is appropriate according to the degree of influence of the deadline mistake of the task on the mixed criticity system while improving the scheduling possibility. It is possible to guarantee the reliability.
 しかしながら、たとえば非特許文献1に開示された技術では、スケジューリングが行われるそれぞれのクリティカリティレベルでの最悪実行時間の定義方法が言及されていない。そのため、それぞれのクリティカリティレベルで保証される信頼性指標(すなわち、デッドラインミスを起こさないことがどの程度保証されるかの指標)を定量的に示すことができないという問題がある。 However, for example, in the technique disclosed in Non-Patent Document 1, the method of defining the worst execution time at each criticality level in which scheduling is performed is not mentioned. Therefore, there is a problem that the reliability index guaranteed at each criticality level (that is, the index of how much it is guaranteed not to cause deadline mistakes) cannot be quantitatively shown.
 本願明細書に開示される技術は、以上に記載されたような問題を鑑みてなされたものであり、スケジューリングが行われるそれぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すための技術である。 The techniques disclosed herein have been made in view of the problems described above, and are used to quantitatively indicate the reliability index guaranteed at each criticality level in which scheduling is performed. It is a technology.
 本願明細書に開示される技術の第1の態様は、スケジューリング方法に関連し、異なるクリティカリティレベルを有する複数のタスクのスケジューリングを行うリアルタイムシステムにおいて、それぞれの前記タスクの実行時間を繰り返し測定し、複数回測定されたそれぞれの前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とし、前記最悪実行時間に基づいて、前記複数の前記タスクの前記スケジューリングを行う。 A first aspect of the technique disclosed herein relates to a scheduling method in which the execution time of each task is repeatedly measured in a real-time system that schedules multiple tasks with different criticity levels. Of the execution times of each of the tasks measured a plurality of times, the execution time corresponding to the statistical reliability predetermined for each criticality level is defined as the worst execution time for each criticity level. The scheduling of the plurality of tasks is performed based on the worst execution time.
 本願明細書に開示される技術の第2の態様は、スケジューリングシステムに関連し、異なるクリティカリティレベルを有する複数のタスクを有するリアルタイムシステムであり、それぞれの前記タスクの実行時間を繰り返し測定する実行時間測定部と、複数回測定された前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間として算出する実行時間算出部と、前記最悪実行時間に基づいて、前記リアルタイムシステムにおける前記複数の前記タスクのスケジューリングを行うスケジュール導出部とを備える。 A second aspect of the technique disclosed herein is a real-time system having a plurality of tasks with different criticity levels in connection with a scheduling system, the execution time of which the execution time of each task is repeatedly measured. Of the execution time of the task measured a plurality of times with the measuring unit, the execution time corresponding to the statistical reliability predetermined for each criticity level is set as the worst execution time for each criticity level. It includes an execution time calculation unit for calculating, and a schedule derivation unit for scheduling the plurality of tasks in the real-time system based on the worst execution time.
 本願明細書に開示される技術の第1の態様は、スケジューリング方法に関連し、異なるクリティカリティレベルを有する複数のタスクのスケジューリングを行うリアルタイムシステムにおいて、それぞれの前記タスクの実行時間を繰り返し測定し、複数回測定されたそれぞれの前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とし、前記最悪実行時間に基づいて、前記複数の前記タスクの前記スケジューリングを行う。このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。 A first aspect of the technique disclosed herein relates to a scheduling method in which the execution time of each task is repeatedly measured in a real-time system that schedules multiple tasks with different criticity levels. Of the execution times of each of the tasks measured a plurality of times, the execution time corresponding to the statistical reliability predetermined for each criticality level is defined as the worst execution time for each criticity level. The scheduling of the plurality of tasks is performed based on the worst execution time. With such a configuration, the worst execution time for each criticity level is specifically determined by the corresponding statistical reliability, so the reliability index guaranteed for each criticity level is quantitatively shown. Is possible.
 本願明細書に開示される技術の第2の態様は、スケジューリングシステムに関連し、異なるクリティカリティレベルを有する複数のタスクを有するリアルタイムシステムであり、それぞれの前記タスクの実行時間を繰り返し測定する実行時間測定部と、複数回測定された前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間として算出する実行時間算出部と、前記最悪実行時間に基づいて、前記リアルタイムシステムにおける前記複数の前記タスクのスケジューリングを行うスケジュール導出部とを備える。このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。 A second aspect of the technique disclosed herein is a real-time system having a plurality of tasks with different criticity levels in connection with a scheduling system, the execution time of which the execution time of each task is repeatedly measured. Of the execution time of the task measured a plurality of times with the measuring unit, the execution time corresponding to the statistical reliability predetermined for each criticity level is set as the worst execution time for each criticity level. It includes an execution time calculation unit for calculating, and a schedule derivation unit for scheduling the plurality of tasks in the real-time system based on the worst execution time. With such a configuration, the worst execution time for each criticity level is specifically determined by the corresponding statistical reliability, so the reliability index guaranteed for each criticity level is quantitatively shown. Is possible.
 また、本願明細書に開示される技術に関連する目的と、特徴と、局面と、利点とは、以下に示される詳細な説明と添付図面とによって、さらに明白となる。 Further, the objectives, features, aspects, and advantages associated with the technology disclosed herein will be further clarified by the detailed description and accompanying drawings shown below.
実施の形態に関する、ミックスドクリティカリティシステムの全体構成の例を概念的に示す図である。It is a figure which conceptually shows the example of the whole composition of the mixed criticity system with respect to embodiment. 実施の形態に関する、実行時間測定装置の構成の例を概念的に示す図である。It is a figure which conceptually shows the example of the structure of the execution time measuring apparatus with respect to embodiment. 実施の形態に関する、スケジューリング装置の構成の例を概念的に示す図である。It is a figure which conceptually shows the example of the structure of the scheduling apparatus with respect to embodiment. 実施の形態に関する、リアルタイム制御装置の構成の例を概念的に示す図である。It is a figure which conceptually shows the example of the structure of the real-time control device which concerns on embodiment. 実施の形態に関する、制御要求テーブルの例を示す図である。It is a figure which shows the example of the control request table which concerns on embodiment. 実施の形態に関する、信頼度テーブルの例を示す図である。It is a figure which shows the example of the reliability table which concerns on embodiment. 実施の形態に関する、最悪実行時間テーブルの例を示す図である。It is a figure which shows the example of the worst execution time table which concerns on embodiment. あるタスクを繰り返し実行した場合の実行時間のヒストグラムを示す図である。It is a figure which shows the histogram of the execution time when a certain task is executed repeatedly. 実行時間算出部の動作の例を示すフローチャートである。It is a flowchart which shows the example of the operation of the execution time calculation part. スケジューリング装置の動作の例を示すフローチャートである。It is a flowchart which shows the example of the operation of a scheduling apparatus. リアルタイム制御装置の動作の例を示すフローチャートである。It is a flowchart which shows the example of the operation of a real-time control device. 実施の形態に関する、実行時間算出部の動作の例を示すフローチャートである。It is a flowchart which shows the example of the operation of the execution time calculation part with respect to embodiment. 導出される修正最悪実行時間の例を示す図である。It is a figure which shows the example of the modified worst execution time derived. 図1、図2および図3に例が示されるスケジューリングシステムを実際に運用する場合のハードウェア構成を概略的に例示する図である。It is a figure which schematically exemplifies the hardware configuration in the case of actually operating the scheduling system shown in FIG. 1, FIG. 2 and FIG. 図1、図2および図3に例が示されるスケジューリングシステムを実際に運用する場合のハードウェア構成を概略的に例示する図である。It is a figure which schematically exemplifies the hardware configuration in the case of actually operating the scheduling system shown in FIG. 1, FIG. 2 and FIG.
 以下、添付される図面を参照しながら実施の形態について説明する。以下の実施の形態では、技術の説明のために詳細な特徴なども示されるが、それらは例示であり、実施の形態が実施可能となるためにそれらすべてが必ずしも必須の特徴ではない。 Hereinafter, embodiments will be described with reference to the attached drawings. In the following embodiments, detailed features and the like are also shown for the purpose of explaining the technique, but they are examples, and not all of them are necessarily essential features in order for the embodiments to be feasible.
 なお、図面は概略的に示されるものであり、説明の便宜のため、適宜、構成の省略、または、構成の簡略化が図面においてなされるものである。また、異なる図面にそれぞれ示される構成などの大きさおよび位置の相互関係は、必ずしも正確に記載されるものではなく、適宜変更され得るものである。また、断面図ではない平面図などの図面においても、実施の形態の内容を理解することを容易にするために、ハッチングが付される場合がある。 It should be noted that the drawings are shown schematically, and for convenience of explanation, the configuration is omitted or the configuration is simplified as appropriate in the drawings. Further, the interrelationship between the sizes and positions of the configurations and the like shown in different drawings is not always accurately described and can be changed as appropriate. Further, even in a drawing such as a plan view which is not a cross-sectional view, hatching may be added to facilitate understanding of the contents of the embodiment.
 また、以下に示される説明では、同様の構成要素には同じ符号を付して図示し、それらの名称と機能とについても同様のものとする。したがって、それらについての詳細な説明を、重複を避けるために省略する場合がある。 Further, in the explanation shown below, similar components are illustrated with the same reference numerals, and their names and functions are the same. Therefore, detailed description of them may be omitted to avoid duplication.
 また、以下に記載される説明において、ある構成要素を「備える」、「含む」または「有する」などと記載される場合、特に断らない限りは、他の構成要素の存在を除外する排他的な表現ではない。 Further, in the description described below, when it is described that a certain component is "equipped", "included", or "has", the existence of the other component is excluded unless otherwise specified. Not an expression.
 また、以下に記載される説明において、「第1の」または「第2の」などの序数が用いられる場合があっても、これらの用語は、実施の形態の内容を理解することを容易にするために便宜上用いられるものであり、これらの序数によって生じ得る順序などに限定されるものではない。 Also, even if ordinal numbers such as "first" or "second" may be used in the description described below, these terms facilitate the understanding of the content of the embodiments. It is used for convenience, and is not limited to the order that can be generated by these ordinal numbers.
 <第1の実施の形態>
 以下、本実施の形態に関するスケジューリングシステム、および、スケジューリング方法について説明する。
<First Embodiment>
Hereinafter, a scheduling system and a scheduling method regarding the present embodiment will be described.
 <スケジューリングシステムの構成について>
 図1は、本実施の形態に関する、ミックスドクリティカリティシステムの全体構成の例を概念的に示す図である。
<Scheduling system configuration>
FIG. 1 is a diagram conceptually showing an example of the overall configuration of a mixed criticity system according to the present embodiment.
 図1に例が示されるミックスドクリティカリティシステムは、実行時間測定装置11と、スケジューリング装置10と、リアルタイム制御装置12とを備える。 The mixed criticity system whose example is shown in FIG. 1 includes an execution time measuring device 11, a scheduling device 10, and a real-time control device 12.
 実行時間測定装置11は、ミックスドクリティカリティシステムを構成する実行可能なタスク群を入力として、当該タスク群におけるそれぞれのタスクのクリティカリティレベルごとの実行時間の統計データを取得する。そして、実行時間測定装置11は、取得されたクリティカリティレベルごとの実行時間の統計データを、スケジューリング装置10へ出力する。 The execution time measuring device 11 takes an executable task group constituting the mixed criticity system as an input, and acquires statistical data of the execution time for each criticity level of each task in the task group. Then, the execution time measuring device 11 outputs the acquired statistical data of the execution time for each criticality level to the scheduling device 10.
 スケジューリング装置10は、実行時間測定装置11において取得された統計データと、ユーザーから入力される最適化問題と、ユーザーから入力されるタスクのクリティカリティレベルごとの統計的信頼度とを入力として、タスクの最適なスケジュール(以下、タスクスケジュールとも称する)を導出する。そして、スケジューリング装置10は、導出された最適なタスクスケジュールをリアルタイム制御装置12に出力する。リアルタイム制御装置12は、入力されたタスクスケジュールにしたがってそれぞれのタスクを実行する。 The scheduling device 10 inputs the statistical data acquired by the execution time measuring device 11, the optimization problem input by the user, and the statistical reliability of each task criticity level input by the user, as a task. The optimum schedule (hereinafter, also referred to as task schedule) is derived. Then, the scheduling device 10 outputs the derived optimum task schedule to the real-time control device 12. The real-time control device 12 executes each task according to the input task schedule.
 実行時間測定装置11が取得する統計データは、ミックスドクリティカリティシステム全体で統一的に定義された、クリティカリティレベルごとの統計的信頼度に対応する実行時間であり、それぞれのタスクについて測定されるものである。当該実行時間は、リアルタイム制御装置12における実行時間と同義である。 The statistical data acquired by the execution time measuring device 11 is the execution time corresponding to the statistical reliability for each criticity level defined uniformly in the entire mixed criticity system, and is measured for each task. It is a thing. The execution time is synonymous with the execution time in the real-time control device 12.
 図2は、本実施の形態に関する実行時間測定装置11の構成の例を概念的に示す図である。図2に例が示されるように実行時間測定装置11は、リアルタイム制御装置12において実行可能な複数のタスクのセット(すなわち、実行可能タスク群)を受け付けるタスク群受け付け部113と、タスク群受け付け部113に受け付けられた実行可能タスク群の、リアルタイム制御装置12における実行時間を繰り返し測定する実行時間測定部111と、実行時間測定部111において測定された実行時間に基づいて、クリティカリティレベルごとの統計的信頼度に対応する実行時間をタスクごとに算出することによって、後述の最悪実行時間テーブル105を作成する実行時間算出部112とを備える。 FIG. 2 is a diagram conceptually showing an example of the configuration of the execution time measuring device 11 according to the present embodiment. As shown in FIG. 2, the execution time measuring device 11 has a task group receiving unit 113 that accepts a set of a plurality of tasks (that is, an executable task group) that can be executed by the real-time control device 12, and a task group receiving unit. Statistics for each criticality level based on the execution time measuring unit 111 that repeatedly measures the execution time in the real-time control device 12 and the execution time measured by the execution time measuring unit 111 of the executable task group received by 113. It is provided with an execution time calculation unit 112 that creates the worst execution time table 105, which will be described later, by calculating the execution time corresponding to the target reliability for each task.
 実行時間測定部111は、リアルタイム制御装置12と同一またはリアルタイム制御装置12を模擬したタスク実行環境を有し、当該環境下でタスクを繰り返し実行することによって当該タスクの実行時間を測定する。 The execution time measuring unit 111 has a task execution environment that is the same as the real-time control device 12 or that imitates the real-time control device 12, and measures the execution time of the task by repeatedly executing the task under the environment.
 図3は、本実施の形態に関するスケジューリング装置10の構成の例を概念的に示す図である。図3に例が示されるようにスケジューリング装置10は、制約付き最適化問題を解くことによって、ミックスドクリティカリティ保証スケジューリングポリシーを満たすスケジュール(以降、ミックスドクリティカリティスケジュール)を導出する、スケジュール導出部101と、ユーザー(リアルタイム制御装置12の設計者)から入力される最適化問題(目的関数、追加制約など)、タスクごとの制御情報、または、クリティカリティレベルごとの統計的信頼度などを受け付けるインターフェイスである入力IF102と、タスクごとに設定された制御情報を保存する制御要求テーブル103と、クリティカリティレベルごとに設定された統計的信頼度を保存する信頼度テーブル104と、実行時間測定装置11において算出されたクリティカリティレベルごとの統計的信頼度に対応する実行時間を保存する最悪実行時間テーブル105と、修正最悪実行時間テーブル106とを備える。ここで、制御要求テーブル103の情報、および、信頼度テーブル104の情報は、入力IF102から入力される。 FIG. 3 is a diagram conceptually showing an example of the configuration of the scheduling device 10 according to the present embodiment. As shown in FIG. 3, the scheduling apparatus 10 derives a schedule (hereinafter referred to as a mixed criticity schedule) that satisfies the mixed criticity guarantee scheduling policy by solving the constrained optimization problem. An interface that accepts the 101 and optimization problems (objective functions, additional constraints, etc.) input from the user (designer of the real-time controller 12), control information for each task, or statistical reliability for each criticality level. In the input IF 102, the control request table 103 for storing the control information set for each task, the reliability table 104 for storing the statistical reliability set for each criticality level, and the execution time measuring device 11. The worst execution time table 105 for storing the execution time corresponding to the calculated statistical reliability for each criticality level and the modified worst execution time table 106 are provided. Here, the information in the control request table 103 and the information in the reliability table 104 are input from the input IF 102.
 図4は、本実施の形態に関するリアルタイム制御装置12の構成の例を概念的に示す図である。図4に例が示されるようにリアルタイム制御装置12は、中央演算処理装置(central processing unit、すなわち、CPU)121と、ランダムアクセスメモリ(random access memory、すなわち、RAM)122と、リードオンリーメモリ(read only memory、すなわち、ROM)123とを備える。ただし、これらの構成は最低限の構成の例であり、本実施の形態に関するリアルタイム制御装置12の構成は上記のものに限定されるものではない。たとえば、本実施の形態に関するリアルタイム制御装置12は、ネットワークインターフェイス、二次記憶装置、専用アクセラレータまたはユーザーインターフェイスなどの、一般的なコンピュータシステムを構成する装置を含んでいてもよい。 FIG. 4 is a diagram conceptually showing an example of the configuration of the real-time control device 12 according to the present embodiment. As shown in FIG. 4, the real-time control device 12 includes a central processing unit (central processing unit, that is, a CPU) 121, a random access memory (random access memory, that is, RAM) 122, and a read-only memory (that is, RAM). It is provided with a read only memory, that is, a ROM) 123. However, these configurations are examples of the minimum configurations, and the configurations of the real-time control device 12 according to the present embodiment are not limited to the above. For example, the real-time control device 12 according to the present embodiment may include devices constituting a general computer system such as a network interface, a secondary storage device, a dedicated accelerator, or a user interface.
 なお、ROM123には、タスク実行ファイル群124と、スケジューリング装置10で導出されるスケジュール結果125とが含まれる。 The ROM 123 includes the task execution file group 124 and the schedule result 125 derived by the scheduling device 10.
 図5は、本実施の形態に関する制御要求テーブル103の例を示す図である。図5に例が示されるように、制御要求テーブル103の要素としては、それぞれのタスクの周期、デッドラインおよびクリティカリティレベルが想定される。ここで、タスクの周期とは、タスクが繰り返し実行される時間間隔を示す。 FIG. 5 is a diagram showing an example of the control request table 103 according to the present embodiment. As an example is shown in FIG. 5, the cycle, deadline, and criticity level of each task are assumed as the elements of the control request table 103. Here, the task cycle indicates a time interval in which the task is repeatedly executed.
 それぞれのタスクは「ジョブ」と呼ばれるタスク実行単位の繰り返しからなるものであり、それぞれのタスクのk回目のジョブは、ある時刻tを基準(基準時刻t)とし、基準時刻t+周期S×k以降に実行が開始され、デッドラインDまでに完了する。ここで、周期Sは、ジョブが繰り返される周期である。 Each task consists of repetition of task execution units called "jobs", and the kth job of each task is based on a certain time t 0 (reference time t 0 ) and has a reference time t 0 + cycle. Execution starts after S × k and is completed by the deadline D k. Here, the cycle S is a cycle in which the job is repeated.
 ここで、基準時刻tはすべてのタスクで同一でもよいし、別々であってもよい。基準時刻tがタスク間で異なる場合には、制御要求テーブル103の要素に基準時刻tも含めて定義する。 Here, the reference time t 0 may be the same for all tasks or may be different. When the reference time t 0 differs between tasks, the element of the control request table 103 includes the reference time t 0 as well.
 クリティカリティレベルは、デッドラインミスが生じた場合にミックスドクリティカリティシステムに与える影響度の大きさを示し、影響度が大きい(すなわち、ミックスドクリティカリティシステムに深刻な影響を与える)タスクほど、より高いクリティカリティレベルに設定される。 The criticity level indicates the magnitude of the impact on the mixed criticity system in the event of a deadline mistake, and the higher the impact (ie, the more serious the impact on the mixed criticity system), the greater the impact. Set to a higher criticality level.
 図6は、本実施の形態に関する信頼度テーブル104の例を示す図である。図6に例が示されるように、信頼度テーブル104の要素としては、クリティカリティレベルごとの統計的信頼度が想定される。ここで、統計的信頼度とは、それぞれのタスクの実行時間に関する統計的な信頼度を意味する。 FIG. 6 is a diagram showing an example of the reliability table 104 according to the present embodiment. As an example is shown in FIG. 6, statistical reliability for each criticality level is assumed as an element of the reliability table 104. Here, the statistical reliability means the statistical reliability regarding the execution time of each task.
 図7は、本実施の形態に関する最悪実行時間テーブル105の例を示す図である。図7に例が示されるように、最悪実行時間テーブル105の要素としては、自身のクリティカリティレベルと、クリティカリティレベルごとの実行時間とが想定される。ここで、自身のクリティカリティレベルとは、それぞれのタスクに規定されたクリティカリティレベルで、制御要求テーブル103に定義されているクリティカリティレベルと同一である。また、クリティカリティレベルごとの実行時間は、ミックスドクリティカリティシステムで定義されたクリティカリティレベルの数だけ値が格納される。図7に示される例では、クリティカリティレベル1からクリティカリティレベル5までのそれぞれに対応する最悪実行時間Pから最悪実行時間Pが格納されている。これらの最悪実行時間は、実行時間測定装置11における実行時間算出部112によって、クリティカリティレベルごとの統計的信頼度に基づいて算出される。 FIG. 7 is a diagram showing an example of the worst execution time table 105 according to the present embodiment. As an example is shown in FIG. 7, the elements of the worst execution time table 105 are assumed to be their own criticity level and the execution time for each criticity level. Here, the own criticity level is the criticity level defined for each task, and is the same as the criticity level defined in the control request table 103. In addition, the execution time for each criticity level is stored as many as the number of criticity levels defined in the mixed criticity system. In the example shown in FIG. 7, worst-case execution time P 5 from worst-case execution time P 1 corresponding to each of the criticality level 1 to criticality level 5 it is stored. These worst execution times are calculated by the execution time calculation unit 112 in the execution time measuring device 11 based on the statistical reliability for each criticality level.
 ここで、上記の最悪実行時間Pclの算出方法について、図8を参照しつつ説明する。なお、図8は、あるタスクを繰り返し実行した場合の実行時間のヒストグラムを示す図であり、横軸が実行時間を示し、縦軸が対応する実行時間の出現回数を示す。 Here, the method of calculating the worst execution time Pcl will be described with reference to FIG. Note that FIG. 8 is a diagram showing a histogram of the execution time when a certain task is repeatedly executed. The horizontal axis shows the execution time, and the vertical axis shows the number of occurrences of the corresponding execution time.
 上記のように実行時間が分布するタスクの、信頼度テーブル104に定義されているクリティカリティレベルclの統計的信頼度がX%であるものとする。この場合、当該タスクの実行時間の分布全体における下位X%(実行時間が短い方からX%)が収まる実行時間(すなわち、Xパーセンタイルに対応する実行時間)を最悪実行時間Pclとする。このような操作をすべてのタスクのすべてのクリティカリティレベルについて行う。 It is assumed that the statistical reliability of the criticality level cl defined in the reliability table 104 of the task whose execution time is distributed as described above is X%. In this case, the execution time (that is, the execution time corresponding to the X percentile) in which the lower X% (X% from the shorter execution time) in the entire distribution of the execution time of the task is contained is defined as the worst execution time Pcl . Do this for all criticity levels of all tasks.
 次に、実行時間算出部112が最悪実行時間Pclを算出する手順について、図9を参照しつつ説明する。ここで、図9は、実行時間算出部112の動作の例を示すフローチャートである。 Next, a procedure for the execution time calculation unit 112 to calculate the worst execution time Pcl will be described with reference to FIG. Here, FIG. 9 is a flowchart showing an example of the operation of the execution time calculation unit 112.
 まず、実行時間算出部112は、すべてのタスクの最悪実行時間が算出されたか否かを判断する(ステップST100)。そして、未だ最悪実行時間が算出されていないタスクが残存している場合、すなわち、図9に例が示されるステップST100から分岐する「NO」に対応する場合には、実行時間測定部111は、未だ最悪実行時間が算出されていないタスクiを選定し、当該タスクiの実行時間を所定回数測定する(ステップST101)。そして、ステップST102へ進む。 First, the execution time calculation unit 112 determines whether or not the worst execution time of all tasks has been calculated (step ST100). Then, when there is a task for which the worst execution time has not been calculated yet, that is, when it corresponds to "NO" branching from step ST100 shown in FIG. 9, the execution time measuring unit 111 may use the execution time measuring unit 111. A task i for which the worst execution time has not yet been calculated is selected, and the execution time of the task i is measured a predetermined number of times (step ST101). Then, the process proceeds to step ST102.
 一方で、すべてのタスクの最悪実行時間が算出されている場合、すなわち、図9に例が示されるステップST100から分岐する「YES」に対応する場合には、ステップST104へ進む。 On the other hand, if the worst execution time of all tasks is calculated, that is, if it corresponds to "YES" branching from step ST100 shown in FIG. 9, the process proceeds to step ST104.
 次に、ステップST102において、実行時間算出部112は、タスクiのすべてのクリティカリティレベルでの最悪実行時間が算出されたか否かを判断する。そして、未だ最悪実行時間が算出されていないクリティカリティレベルが残存している場合、すなわち、図9に例が示されるステップST102から分岐する「NO」に対応する場合には、実行時間算出部112は、未だ最悪実行時間が算出されていないクリティカリティレベルについて、最悪実行時間を算出する(ステップST103)。そして、ステップST102へ戻る。 Next, in step ST102, the execution time calculation unit 112 determines whether or not the worst execution time of the task i at all the criticity levels has been calculated. Then, when the criticality level for which the worst execution time has not been calculated still remains, that is, when it corresponds to "NO" branching from step ST102 shown in FIG. 9, the execution time calculation unit 112 Calculates the worst execution time for the criticality level for which the worst execution time has not yet been calculated (step ST103). Then, the process returns to step ST102.
 一方で、タスクiのすべてのクリティカリティレベルでの最悪実行時間が算出されている場合、すなわち、図9に例が示されるステップST102から分岐する「YES」に対応する場合には、ステップST100へ戻る。 On the other hand, when the worst execution time of the task i at all the criticity levels is calculated, that is, when it corresponds to "YES" branching from step ST102 shown in FIG. 9, the process goes to step ST100. return.
 そして、すべてのタスクのすべてのクリティカリティレベルでの最悪実行時間が算出された場合、ステップST104において、実行時間算出部112は、算出されたすべての最悪実行時間をスケジューリング装置10の最悪実行時間テーブル105に保存する。そして、処理を終了する。 Then, when the worst execution time of all the tasks at all the criticity levels is calculated, in step ST104, the execution time calculation unit 112 sets all the calculated worst execution times in the worst execution time table of the scheduling device 10. Store in 105. Then, the process is terminated.
 次に、スケジューリング装置10が最適なスケジュールを導出する手順について、図10を参照しつつ説明する。ここで、図10は、スケジューリング装置10の動作の例を示すフローチャートである。 Next, the procedure for deriving the optimum schedule by the scheduling device 10 will be described with reference to FIG. Here, FIG. 10 is a flowchart showing an example of the operation of the scheduling device 10.
 まず、スケジューリング装置10におけるスケジュール導出部101は、入力IF102を経由してユーザーから入力された目的関数および追加制約を取得する(ステップST400)。そして、スケジュール導出部101は、後述の修正最悪実行時間テーブル106を導出する(ステップST401)。 First, the schedule derivation unit 101 in the scheduling device 10 acquires the objective function and additional constraints input by the user via the input IF 102 (step ST400). Then, the schedule derivation unit 101 derives the modified worst execution time table 106, which will be described later (step ST401).
 ここで、修正最悪実行時間の導出方法について、図13を参照しつつ説明する。なお、図13は、導出される修正最悪実行時間の例を示す図である。 Here, the method of deriving the modified worst execution time will be described with reference to FIG. Note that FIG. 13 is a diagram showing an example of the derived modified worst execution time.
 図13に例が示されるように、ミックスドクリティカリティシステムにおいてタスクa、タスクbおよびタスクcがある場合に、それぞれのクリティカリティレベルがH、M、Lであるものとする。なお、クリティカリティレベルの高さは、H>M>Lであるものとする。 As an example is shown in FIG. 13, when there are tasks a, b, and c in the mixed criticity system, it is assumed that the respective criticity levels are H, M, and L. It is assumed that the height of the criticity level is H> M> L.
 タスク自身のクリティカリティレベルよりも高いクリティカリティレベルについては、後述の最適化問題を簡略化するため以下のようにする。 For the criticity level higher than the criticity level of the task itself, do as follows to simplify the optimization problem described later.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 また、タスク自身のクリティカリティレベルと同じ、または、それ以下のクリティカリティレベルについては、実行時間測定装置11で測定された実行時間を修正最悪実行時間として設定する。 For the criticity level equal to or lower than the criticity level of the task itself, the execution time measured by the execution time measuring device 11 is set as the modified worst execution time.
 図13に示される例では、タスクaは、自身のクリティカリティレベルが最大のHであるため、H、MおよびLのクリティカリティレベルでの修正最悪実行時間には、実行時間測定装置11で測定された実行時間Pa,H、実行時間Pa,M、実行時間Pa,Lがそれぞれ設定されている。 In the example shown in FIG. 13, since the task a has its own criticality level of H, the worst execution time modified at the criticality levels of H, M, and L is measured by the execution time measuring device 11. The executed execution times Pa and H , the execution times Pa and M , and the execution times Pa and L are set, respectively.
 また、タスクbは、自身のクリティカリティレベルがMであるため、クリティカリティレベルがMまたはM以下の修正最悪実行時間には、実行時間測定装置11で測定された実行時間を設定されている。また、クリティカリティレベルがHの修正最悪実行時間には、以下のように修正最悪実行時間が設定されている。 Further, since the task b has its own criticity level of M, the execution time measured by the execution time measuring device 11 is set as the modified worst execution time of which the criticity level is M or M or less. Further, the worst-case execution time for correction is set as follows for the worst-case execution time for correction when the criticity level is H.
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 また、タスクcは、自身のクリティカリティレベルがLであるため、クリティカリティレベルがLの修正最悪実行時間には、実行時間測定装置11で測定された実行時間を設定されている。また、クリティカリティレベルがHおよびMの修正最悪実行時間には、以下のように修正最悪実行時間が設定されている。 Further, since the task c has its own criticity level L, the execution time measured by the execution time measuring device 11 is set as the modified worst execution time when the criticity level is L. Further, the worst-case execution time for modification is set as follows for the worst-case execution time for modification with criticality levels H and M.
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000004
 図10に戻り、スケジューリング装置10におけるスケジュール導出部101は、目的関数、追加制約、および、後述の基本制約に基づいて最適化問題を解き、最適なスケジュールを導出する(ステップST402)。 Returning to FIG. 10, the schedule derivation unit 101 in the scheduling device 10 solves the optimization problem based on the objective function, the additional constraint, and the basic constraint described later, and derives the optimum schedule (step ST402).
 目的関数はユーザーが任意で設定するものであり、たとえば、デッドラインまでの余裕時間の最大化、または、消費電力の最小化などが考えられるが、これらに限定されるものではない。 The objective function is arbitrarily set by the user, and for example, maximization of the margin time to the deadline or minimization of power consumption can be considered, but the objective function is not limited to these.
 追加制約は、同様にユーザーが任意で設定するものであり、タスク間の依存関係(特定のタスクの完了後に別のタスクを開始するなど)の指定、または、特定のタスクの実行コアの指定などが考えられるが、これらに限定されるものではない。 Additional constraints are also optional by the user, such as specifying dependencies between tasks (such as starting another task after the completion of a particular task), or specifying the execution core of a particular task. However, it is not limited to these.
 基本制約は、ユーザーの指定によらずスケジュール導出部101がデフォルトで指定する制約であり、デッドライン制約、周期制約およびコア制約の3つに分けられる。基本制約は、以下の式で表される。 The basic constraint is a constraint specified by the schedule derivation unit 101 by default regardless of the user's specification, and can be divided into three types: deadline constraint, periodic constraint, and core constraint. The basic constraint is expressed by the following formula.
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000010
 ここで、Ci,m,l,tは、タスクiがクリティカリティレベルlに対応する最悪実行時間を要した場合に、時刻tにコアm上で実行中であるなら1であり、コアm上で実行しないなら0である。 Here, Ci , m, l, and t are 1 if the task i is executing on the core m at the time t when the worst execution time corresponding to the criticality level l is required, and the core m. 0 if not executed above.
 また、zi,l,tは、タスクiがクリティカリティレベルlに対応する実行時間を要した場合に、タスクiが時刻tに実行中であるなら1であり、実行しないなら0である。 Further, z i, l, and t are 1 if the task i is being executed at time t and 0 if the task i is not being executed when the task i requires the execution time corresponding to the criticality level l.
 ただし、制約式は上記のものに限定されず、以下に示す意図を有する制約であれば、異なる式が用いられてもよい。 However, the constraint formula is not limited to the above, and a different formula may be used as long as the constraint has the intention shown below.
 (A)デッドライン制約については、タスクが自身のクリティカリティレベルでの最悪実行時間で実行された場合に、タスクがデッドライン前に完了する。 (A) Regarding the deadline constraint, if the task is executed at the worst execution time at its own criticality level, the task is completed before the deadline.
 (B)周期制約については、タスクのk番目のジョブの実行開始時刻は、設定周期のk倍以降である。 (B) Regarding the cycle constraint, the execution start time of the kth job of the task is k times or later of the set cycle.
 (C)コア制約については、それぞれのクリティカリティレベルにおいて、それぞれのコア、それぞれの時刻(タイムスロット)で実行されるタスクは1つのみである。 (C) Regarding the core constraint, only one task is executed at each core and each time (time slot) at each criticality level.
 上記のデッドライン制約は、タスクがデッドラインミスを起こさないことを保証するためのものである。それぞれのタスクは、時刻Ti,kにジョブを開始し、自身のクリティカリティレベルでの最悪実行時間Pi,lで実行された場合でも、デッドライン時刻Di,kよりも前に処理を完了する必要がある。 The deadline constraint described above is to ensure that the task does not make deadline mistakes. Each task starts a job at time Ti, k , and even if it is executed at the worst execution time Pi , l at its own criticality level, it processes before the deadline time Di, k. Need to be completed.
 また、上記の周期制約は、ジョブkの実行開始時刻がt+S×kよりも前にならないことを保証するためのものである。 Further, the above periodic constraint is to guarantee that the execution start time of the job k does not come before t 0 + S × k.
 また、上記のコア制約は、それぞれのコア上で同時刻に2つ以上のタスクが実行しないようにすることを保証するものであるが、ミックスドクリティカリティ保証スケジューリングポリシーを満たすため、クリティカリティレベルごとに実行されるタスクが1つであることを判定している。 Also, the above core constraints ensure that no more than one task runs on each core at the same time, but to meet the mixed integrity assurance scheduling policy, the integrity level. It is determined that one task is executed for each task.
 なお、上記の制約のみでは、同一のジョブにおいて、クリティカリティレベルごとに別々の実行コアが決定される可能性があるが、これを防ぐために、同一時刻に同一ジョブを行うのは同一コアであるようにさらに制約を課してもよい。 Note that, with the above restrictions alone, there is a possibility that different execution cores will be determined for each criticality level in the same job, but in order to prevent this, it is the same core that performs the same job at the same time. Further restrictions may be imposed.
 次に、リアルタイム制御装置12の動作について、図11を参照しつつ説明する。ここで、図11は、リアルタイム制御装置12の動作の例を示すフローチャートである。 Next, the operation of the real-time control device 12 will be described with reference to FIG. Here, FIG. 11 is a flowchart showing an example of the operation of the real-time control device 12.
 まず、リアルタイム制御装置12は、ROM123に保存されているスケジュール結果125を取得する(ステップST201)。 First, the real-time control device 12 acquires the schedule result 125 stored in the ROM 123 (step ST201).
 次に、リアルタイム制御装置12は、クリティカリティレベルの順に、タスクの優先度を設定する(ステップST202)。具体的には、リアルタイム制御装置12は、クリティカリティレベルが高いタスクほど高い優先度を設定し、同一のクリティカリティレベルであるタスクには同一の優先度を設定する。 Next, the real-time control device 12 sets the priority of the task in the order of the criticity level (step ST202). Specifically, the real-time control device 12 sets a higher priority for a task having a higher criticality level, and sets the same priority for a task having the same criticality level.
 次に、リアルタイム制御装置12は、実行開始時刻になったタスクがあるか否かを、一定の間隔でチェックする(ステップST203)。ここで、一定の間隔としては、たとえば、ティック周期が想定される。 Next, the real-time control device 12 checks at regular intervals whether or not there is a task whose execution start time has come (step ST203). Here, as a constant interval, for example, a tick period is assumed.
 そして、リアルタイム制御装置12は、実行開始時刻になったタスクがある場合、すなわち、図11に例が示されるステップST203から分岐する「YES」に対応する場合には、ステップST204へ進む。一方で、実行開始時刻になったタスクがない場合、すなわち、図11に例が示されるステップST203から分岐する「NO」に対応する場合には、ステップST203へ戻る。 Then, when there is a task whose execution start time has come, that is, when the real-time control device 12 corresponds to "YES" branching from step ST203 shown in FIG. 11, the real-time control device 12 proceeds to step ST204. On the other hand, when there is no task whose execution start time has come, that is, when it corresponds to "NO" branching from step ST203 shown in FIG. 11, the process returns to step ST203.
 次に、ステップST204において、実行開始時刻になったタスクを実行可能状態に設定してステップST203へ戻る。 Next, in step ST204, the task whose execution start time has come is set to the executable state, and the process returns to step ST203.
 本実施の形態では、事前に繰り返し測定されたそれぞれのタスクの実行時間のうち、クリティカリティレベルごとに定められた統計的信頼度のパーセンタイルに対応する実行時間を、それぞれのタスクのクリティカリティレベルごとの最悪実行時間とする。 In the present embodiment, among the execution times of each task measured repeatedly in advance, the execution time corresponding to the percentile of statistical reliability determined for each criticity level is set for each criticity level of each task. The worst execution time of.
 そして、上記のクリティカリティレベルごとの最悪実行時間を用いてミックスドクリティカリティシステムにおけるスケジューリングを行う。このようにすることで、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標(すなわち、デッドラインミスを起こさないことがどの程度保証されるかの指標)を定量的に示すことが可能となる。 Then, scheduling in the mixed criticity system is performed using the worst execution time for each of the above criticity levels. By doing so, the worst execution time for each criticity level is specifically determined by the corresponding statistical reliability, so that the reliability index guaranteed at each criticity level (that is, deadline mistakes) It is possible to quantitatively indicate (an index of how much it is guaranteed not to occur).
 <第2の実施の形態>
 本実施の形態に関するスケジューリングシステム、および、スケジューリング方法について説明する。なお、以下の説明においては、以上に記載された実施の形態で説明された構成要素と同様の構成要素については同じ符号を付して図示し、その詳細な説明については適宜省略するものとする。
<Second embodiment>
A scheduling system and a scheduling method regarding the present embodiment will be described. In the following description, components similar to those described in the above-described embodiments will be illustrated with the same reference numerals, and detailed description thereof will be omitted as appropriate. ..
 <スケジューリングシステムの構成について>
 第1の実施の形態では、クリティカリティレベルごとの最悪実行時間が、パーセンタイルを用いて設定された。一方で、クリティカリティレベルごとの最悪実行時間は、統計的信頼区間を用いて設定されてもよい。
<Scheduling system configuration>
In the first embodiment, the worst execution time for each criticality level was set using percentiles. On the other hand, the worst execution time for each criticality level may be set using statistical confidence intervals.
 以下、実行時間算出部112が最悪実行時間Pclを算出する手順について、図12を参照しつつ説明する。ここで、図12は、本実施の形態に関する、実行時間算出部112の動作の例を示すフローチャートである。 Hereinafter, the procedure for the execution time calculation unit 112 to calculate the worst execution time Pcl will be described with reference to FIG. Here, FIG. 12 is a flowchart showing an example of the operation of the execution time calculation unit 112 according to the present embodiment.
 まず、実行時間算出部112は、すべてのタスクの統計的信頼区間が算出されたか否かを判断する(ステップST300)。そして、未だ統計的信頼区間が算出されていないタスクが残存している場合、すなわち、図12に例が示されるステップST300から分岐する「NO」に対応する場合には、実行時間測定部111は、未だ統計的信頼区間が算出されていないタスクiを選定し、当該タスクiの実行時間を所定回数測定する(ステップST301)。そして、ステップST302へ進む。 First, the execution time calculation unit 112 determines whether or not the statistical confidence intervals of all the tasks have been calculated (step ST300). Then, when there are still tasks for which the statistical confidence interval has not been calculated, that is, when corresponding to "NO" branching from step ST300 shown in FIG. 12, the execution time measuring unit 111 , The task i for which the statistical confidence interval has not been calculated is selected, and the execution time of the task i is measured a predetermined number of times (step ST301). Then, the process proceeds to step ST302.
 一方で、すべてのタスクの統計的信頼区間が算出されている場合、すなわち、図12に例が示されるステップST300から分岐する「YES」に対応する場合には、実行時間算出部112は処理を終了する。 On the other hand, when the statistical confidence intervals of all the tasks are calculated, that is, when it corresponds to "YES" branching from step ST300 shown in FIG. 12, the execution time calculation unit 112 performs processing. finish.
 次に、ステップST302において、実行時間算出部112は、ステップST301で測定した実行時間を標本として、タスクiの標本の標準偏差を算出する。 Next, in step ST302, the execution time calculation unit 112 calculates the standard deviation of the sample of task i using the execution time measured in step ST301 as a sample.
 次に、実行時間算出部112は、ステップST302で算出された標準偏差に基づいて、信頼度テーブル104に定義されたすべてのクリティカリティレベルに対応する統計的信頼度の信頼区間をそれぞれ算出し、さらに、その上側境界を算出する(ステップST303)。なお、信頼区間は、母集団の確率分布が正規分布であることを仮定して算出する。 Next, the execution time calculation unit 112 calculates the confidence intervals of the statistical reliability corresponding to all the criticity levels defined in the reliability table 104 based on the standard deviation calculated in step ST302. Further, the upper boundary thereof is calculated (step ST303). The confidence interval is calculated on the assumption that the probability distribution of the population is a normal distribution.
 実行時間算出部112は、ステップST303で算出された上側境界の値を、タスクiのそれぞれのクリティカリティレベルに対応する最悪実行時間として、最悪実行時間テーブル105に保存する。 The execution time calculation unit 112 stores the value of the upper boundary calculated in step ST303 as the worst execution time corresponding to each criticity level of the task i in the worst execution time table 105.
 本実施の形態によれば、実行時間の標本から推測される母集団の最悪実行時間の平均値を用いて、統計的信頼区間によって最悪実行時間を定義することができる。そのため、母集団の確率分布が正規分布に近いと想定される場合に、最悪実行時間を用いてスケジューリングを行うことができる。 According to this embodiment, the worst execution time can be defined by the statistical confidence interval using the average value of the worst execution time of the population estimated from the sample of the execution time. Therefore, when the probability distribution of the population is assumed to be close to the normal distribution, scheduling can be performed using the worst execution time.
 <第3の実施の形態>
 本実施の形態に関するスケジューリングシステム、および、スケジューリング方法について説明する。なお、以下の説明においては、以上に記載された実施の形態で説明された構成要素と同様の構成要素については同じ符号を付して図示し、その詳細な説明については適宜省略するものとする。
<Third embodiment>
A scheduling system and a scheduling method regarding the present embodiment will be described. In the following description, components similar to those described in the above-described embodiments will be illustrated with the same reference numerals, and detailed description thereof will be omitted as appropriate. ..
 <スケジューリングシステムの構成について>
 第1の実施の形態および第2の実施の形態では、ミックスドクリティカリティ保証スケジューリングポリシーを満たすスケジューリングを行っていた。ただし、単一のクリティカリティレベルのみを有する、通常のリアルタイムシステム向けのスケジューリングを行ってもよい。その場合、コア制約を以下のように置き換える。
<Scheduling system configuration>
In the first embodiment and the second embodiment, scheduling satisfying the mixed criticity guarantee scheduling policy was performed. However, scheduling may be done for a normal real-time system with only a single criticality level. In that case, replace the core constraint as follows.
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000013
 ここで、zi,l,tは、タスクiがクリティカリティレベルlに対応する実行時間を要した場合に、タスクiが時刻tに実行中であるなら1であり、それ以外であれば0である。 Here, z i, l, and t are 1 if the task i is executing at the time t when the task i requires the execution time corresponding to the criticality level l, and 0 otherwise. Is.
 その他の構成および動作は、第1の実施の形態または第2の実施の形態と同様である。 Other configurations and operations are the same as those of the first embodiment or the second embodiment.
 ただし、制約式は上記のものに限定されず、以下に示す意図を有する制約であれば、異なる式が用いられてもよい。 However, the constraint formula is not limited to the above, and a different formula may be used as long as the constraint has the intention shown below.
 (D)コア制約について、同時に実行するタスクがコア数以下である。 (D) Regarding the core constraint, the number of tasks to be executed at the same time is less than or equal to the number of cores.
 本実施の形態によれば、ミックスドクリティカリティシステムではない、単一のクリティカリティレベルのみを有する通常のリアルタイムシステムに対しても、デッドライン制約を満たす範囲内で、与えられた目的関数について最適なスケジュールを導出することができる。 According to this embodiment, even for a normal real-time system having only a single criticity level, which is not a mixed criticity system, the given objective function is optimal within the range that satisfies the deadline constraint. Schedule can be derived.
 <スケジューリングシステムのハードウェア構成について>
 図14および図15は、図1、図2および図3に例が示されるスケジューリングシステムを実際に運用する場合のハードウェア構成を概略的に例示する図である。
<About the hardware configuration of the scheduling system>
14 and 15 are diagrams schematically illustrating a hardware configuration when the scheduling system shown in FIGS. 1, 2 and 3 is actually operated.
 なお、図14および図15に例示されるハードウェア構成は、図1、図2および図3に例示される構成とは数などが整合しない場合があるが、これは図1、図2および図3に例示される構成が概念的な単位を示すものであることに起因する。 Note that the hardware configurations exemplified in FIGS. 14 and 15 may not match the configurations illustrated in FIGS. 1, 2, and 3, but this may be inconsistent with those shown in FIGS. 1, 2, and 2. This is because the configuration exemplified in 3 indicates a conceptual unit.
 よって、少なくとも、図1、図2および図3に例示される1つの構成が、図14および図15に例示される複数のハードウェア構成から成る場合と、図1、図2および図3に例示される1つの構成が、図14および図15に例示されるハードウェア構成の一部に対応する場合と、さらには、図1、図2および図3に例示される複数の構成が、図14および図15に例示される1つのハードウェア構成に備えられる場合とが想定され得る。 Therefore, at least one configuration exemplified in FIGS. 1, 2 and 3 comprises a plurality of hardware configurations exemplified in FIGS. 14 and 15, and is exemplified in FIGS. 1, 2 and 3. One configuration to be made corresponds to a part of the hardware configurations exemplified in FIGS. 14 and 15, and further, a plurality of configurations exemplified in FIGS. 1, 2 and 3 are shown in FIG. And it may be assumed that one hardware configuration illustrated in FIG. 15 is provided.
 図14では、図1、図2および図3中の実行時間測定部111、実行時間算出部112およびスケジュール導出部101を実現するためのハードウェア構成として、演算を行う処理回路1102Aと、情報を記憶することができる記憶装置1103とが示される。これらの構成は、他の実施の形態においても同様である。 In FIG. 14, as a hardware configuration for realizing the execution time measuring unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 in FIGS. 1, 2, and 3, the processing circuit 1102A that performs the calculation and the information are displayed. A storage device 1103 that can be stored is shown. These configurations are the same in other embodiments.
 図15では、図1、図2および図3中の実行時間測定部111、実行時間算出部112およびスケジュール導出部101を実現するためのハードウェア構成として、演算を行う処理回路1102Bが示される。当該構成は、他の実施の形態においても同様である。 FIG. 15 shows a processing circuit 1102B that performs an operation as a hardware configuration for realizing the execution time measuring unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 in FIGS. 1, 2, and 3. The configuration is the same in other embodiments.
 修正最悪実行時間テーブル106、最悪実行時間テーブル105、制御要求テーブル103および信頼度テーブル104は、記憶装置1103または別の記憶装置(ここでは、図示しない)によって実現される。 The modified worst execution time table 106, worst execution time table 105, control request table 103, and reliability table 104 are realized by the storage device 1103 or another storage device (not shown here).
 記憶装置1103は、たとえば、ハードディスクドライブ(Hard disk drive、すなわち、HDD)、RAM、ROM、フラッシュメモリ、erasable programmable read only memory(EPROM)およびelectrically erasable programmable read-only memory(EEPROM)などの、揮発性または不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVDなどを含むメモリ(記憶媒体)、または、今後使用されるあらゆる記憶媒体であってもよい。 The storage device 1103 is, for example, a hard disk drive (Hard disk drive, that is, HDD), RAM, ROM, flash memory, erasable programmable read only memory (EPROM), electrically erasable EEPROM, or volatile EEPROM. Alternatively, it may be a memory (storage medium) including a non-volatile semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD, or the like, or any storage medium used in the future.
 処理回路1102Aは、記憶装置1103、外部のCD-ROM、外部のDVD-ROM、または、外部のフラッシュメモリなどに格納されたプログラムを実行するものであってもよい。すなわち、たとえば、CPU、マイクロプロセッサ、マイクロコンピュータ、デジタルシグナルプロセッサ(digital signal processor、すなわち、DSP)であってもよい。 The processing circuit 1102A may execute a program stored in a storage device 1103, an external CD-ROM, an external DVD-ROM, an external flash memory, or the like. That is, for example, it may be a CPU, a microprocessor, a microcomputer, or a digital signal processor (that is, a DSP).
 処理回路1102Aが記憶装置1103、外部のCD-ROM、外部のDVD-ROM、または、外部のフラッシュメモリなどに格納されたプログラムを実行するものである場合、実行時間測定部111、実行時間算出部112およびスケジュール導出部101は、記憶装置1103に格納されたプログラムが処理回路1102Aによって実行されるソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現される。なお、実行時間測定部111、実行時間算出部112およびスケジュール導出部101の機能は、たとえば、複数の処理回路が連携することによって実現されてもよい。 When the processing circuit 1102A executes a program stored in a storage device 1103, an external CD-ROM, an external DVD-ROM, an external flash memory, or the like, the execution time measuring unit 111 and the execution time calculation unit The 112 and the schedule derivation unit 101 are realized by software, firmware, or a combination of software and firmware in which the program stored in the storage device 1103 is executed by the processing circuit 1102A. The functions of the execution time measurement unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 may be realized, for example, by coordinating a plurality of processing circuits.
 ソフトウェアおよびファームウェアはプログラムとして記述され、記憶装置1103に記憶されるものであってもよい。その場合、処理回路1102Aは、記憶装置1103に格納されたプログラムを読み出して実行することによって、上記の機能を実現する。すなわち、記憶装置1103は、処理回路1102Aに実行されることによって、上記の機能が結果的に実現されるプログラムを記憶するものであってもよい。 The software and firmware may be described as a program and stored in the storage device 1103. In that case, the processing circuit 1102A realizes the above function by reading and executing the program stored in the storage device 1103. That is, the storage device 1103 may store a program in which the above functions are eventually realized by being executed by the processing circuit 1102A.
 また、処理回路1102Bは、専用のハードウェアであってもよい。すなわち、たとえば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、集積回路(application specific integrated circuit、すなわち、ASIC)、field-programmable gate array(FPGA)またはこれらを組み合わせた回路であってもよい。 Further, the processing circuit 1102B may be dedicated hardware. That is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an integrated circuit (application specific integrated circuit, that is, an ASIC), a field-programmable gate array (FPGA), or a combination thereof. It may be a circuit.
 処理回路1102Bが専用のハードウェアである場合、実行時間測定部111、実行時間算出部112およびスケジュール導出部101は、処理回路1102Bが動作することにより実現される。なお、実行時間測定部111、実行時間算出部112およびスケジュール導出部101の機能は、別々の回路で実現されてもよいし、単一の回路で実現されてもよい。 When the processing circuit 1102B is dedicated hardware, the execution time measuring unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 are realized by operating the processing circuit 1102B. The functions of the execution time measurement unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 may be realized by separate circuits or may be realized by a single circuit.
 なお、実行時間測定部111、実行時間算出部112およびスケジュール導出部101の機能は、一部が記憶装置1103に格納されたプログラムを実行するものである処理回路1102Aにおいて実現され、一部が専用のハードウェアである処理回路1102Bにおいて実現されてもよい。 The functions of the execution time measurement unit 111, the execution time calculation unit 112, and the schedule derivation unit 101 are partially realized in the processing circuit 1102A that executes the program stored in the storage device 1103, and some of them are dedicated. It may be realized in the processing circuit 1102B which is the hardware of the above.
 <以上に記載された実施の形態によって生じる効果について>
 次に、以上に記載された実施の形態によって生じる効果の例を示す。なお、以下の説明においては、以上に記載された実施の形態に例が示された具体的な構成に基づいて当該効果が記載されるが、同様の効果が生じる範囲で、本願明細書に例が示される他の具体的な構成と置き換えられてもよい。
<Effects caused by the above-described embodiments>
Next, an example of the effect caused by the above-described embodiment will be shown. In the following description, the effect is described based on the specific configuration shown in the embodiment described above, but to the extent that the same effect occurs, the examples are described in the present specification. May be replaced with other specific configurations indicated by.
 また、当該置き換えは、複数の実施の形態に跨ってなされてもよい。すなわち、異なる実施の形態において例が示されたそれぞれの構成が組み合わされて、同様の効果が生じる場合であってもよい。 Further, the replacement may be made across a plurality of embodiments. That is, it may be the case that the respective configurations shown in the examples in different embodiments are combined to produce the same effect.
 以上に記載された実施の形態によれば、スケジューリング方法において、異なるクリティカリティレベルを有する複数のタスクのスケジューリングを行うリアルタイムシステムにおいて、それぞれのタスクの実行時間を繰り返し測定する。そして、複数回測定されたそれぞれのタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する実行時間を、クリティカリティレベルごとの最悪実行時間として、最悪実行時間に基づいて複数のタスクのスケジューリングを行う。 According to the embodiment described above, in the scheduling method, the execution time of each task is repeatedly measured in a real-time system that schedules a plurality of tasks having different criticality levels. Then, of the execution times of each task measured multiple times, the execution time corresponding to the statistical reliability predetermined for each criticality level is set as the worst execution time for each criticality level. Schedule multiple tasks based on.
 このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標(すなわち、デッドラインミスを起こさないことがどの程度保証されるかの指標)を定量的に示すことが可能となる。 With such a configuration, the worst-case execution time for each criticity level is specifically determined by the corresponding statistical confidence, so that the reliability index (ie, deadline miss) guaranteed at each criticity level. It is possible to quantitatively indicate (an index of how much it is guaranteed not to cause a problem).
 なお、特段の制限がない場合には、それぞれの処理が行われる順序は変更することができる。 If there are no special restrictions, the order in which each process is performed can be changed.
 また、上記の構成に本願明細書に例が示された他の構成を適宜追加した場合、すなわち、上記の構成としては言及されなかった本願明細書中の他の構成が適宜追加された場合であっても、同様の効果を生じさせることができる。 Further, when other configurations shown in the present specification are appropriately added to the above configurations, that is, when other configurations in the present specification not mentioned as the above configurations are appropriately added. Even if there is, the same effect can be produced.
 また、以上に記載された実施の形態によれば、複数回測定されたタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度のパーセンタイルに対応する実行時間を、クリティカリティレベルごとの最悪実行時間とする。このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度のパーセンタイルによって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。 Further, according to the embodiment described above, among the execution times of the tasks measured a plurality of times, the execution time corresponding to the percentile of the statistical reliability predetermined for each criticity level is set as the criticity. The worst execution time for each level. With such a configuration, the worst-case execution time for each criticity level is specifically determined by the corresponding statistical confidence percentile, so the reliability index guaranteed at each criticity level is quantitatively determined. It becomes possible to show.
 また、以上に記載された実施の形態によれば、複数回測定されたタスクの実行時間を標本とし、かつ、クリティカリティレベルごとにあらかじめ定められた統計的信頼度の信頼区間を標本の母集団が正規分布であるとして算出し、さらに、信頼区間の上側境界に対応する実行時間を、クリティカリティレベルごとの最悪実行時間とする。このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度の信頼区間によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。 Further, according to the embodiment described above, the execution time of the task measured multiple times is used as a sample, and the confidence interval of the statistical reliability predetermined for each criticity level is used as the sample population. Is calculated as a normal distribution, and the execution time corresponding to the upper boundary of the confidence interval is defined as the worst execution time for each criticality level. With such a configuration, the worst execution time for each criticity level is specifically determined by the confidence interval of the corresponding statistical reliability, so the reliability index guaranteed for each criticity level is quantitative. It is possible to show in.
 また、以上に記載された実施の形態によれば、スケジューリングは、タスクが自身のクリティカリティレベルに対応する最悪実行時間で実行された場合に、タスクがデッドライン前に完了することを含む制約条件に基づく、制約付き最適化問題を解くことによって行われる。このような構成によれば、デッドライン制約を満たすように最適化問題を解くことによって、適切なリアルタイムスケジューリングを行うことができる。 Further, according to the embodiment described above, scheduling includes a constraint condition that the task is completed before the deadline when the task is executed at the worst execution time corresponding to its own criticity level. It is done by solving a constrained optimization problem based on. With such a configuration, appropriate real-time scheduling can be performed by solving the optimization problem so as to satisfy the deadline constraint.
 また、以上に記載された実施の形態によれば、スケジューリングは、タスクがジョブの繰り返しからなる場合に、タスクのk番目のジョブの実行開始時刻は、ジョブが繰り返される周期のk倍以降であることを含む制約条件に基づく、制約付き最適化問題を解くことによって行われる。このような構成によれば、周期制約を満たすように最適化問題を解くことによって、適切なリアルタイムスケジューリングを行うことができる。 Further, according to the embodiment described above, in the scheduling, when the task consists of repeating jobs, the execution start time of the kth job of the task is k times or more of the cycle in which the jobs are repeated. It is done by solving a constrained optimization problem based on constraints including that. According to such a configuration, appropriate real-time scheduling can be performed by solving the optimization problem so as to satisfy the periodic constraint.
 また、以上に記載された実施の形態によれば、スケジューリングは、それぞれのクリティカリティレベルにおいて、タスクを実行する特定のコアで実行されるタスクは1つのみであり、かつ、それぞれのクリティカリティレベルにおいて、特定の時刻に実行されるタスクは1つのみであることを含む制約条件に基づく、制約付き最適化問題を解くことによって行われる。このような構成によれば、コア制約を満たすように最適化問題を解くことによって、適切なリアルタイムスケジューリングを行うことができる。 Further, according to the embodiment described above, in the scheduling, only one task is executed in the specific core that executes the task at each criticality level, and each criticity level is executed. Is performed by solving a constrained optimization problem based on constraints, including that only one task is executed at a particular time. With such a configuration, appropriate real-time scheduling can be performed by solving the optimization problem so as to satisfy the core constraint.
 また、以上に記載された実施の形態によれば、スケジューリングは、外部から入力される目的関数、および、追加制約のうちの少なくとも一方に基づく制約付き最適化問題を解くことによって行われる。このような構成によれば、目的関数、および、追加制約のうちの少なくとも一方を満たすように最適化問題を解くことによって、適切なリアルタイムスケジューリングを行うことができる。 Further, according to the embodiment described above, scheduling is performed by solving a constrained optimization problem based on an objective function input from the outside and at least one of additional constraints. With such a configuration, appropriate real-time scheduling can be performed by solving the optimization problem so as to satisfy at least one of the objective function and the additional constraint.
 以上に記載された実施の形態によれば、スケジューリングシステムは、実行時間測定部111と、実行時間算出部112と、スケジュール導出部101とを備える。実行時間測定部111は、それぞれのタスクの実行時間を繰り返し測定する。実行時間算出部112は、複数回測定されたタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する実行時間を、クリティカリティレベルごとの最悪実行時間として算出する。スケジュール導出部101は、最悪実行時間に基づいて、リアルタイムシステムにおける複数のタスクのスケジューリングを行う。 According to the embodiment described above, the scheduling system includes an execution time measuring unit 111, an execution time calculation unit 112, and a schedule derivation unit 101. The execution time measuring unit 111 repeatedly measures the execution time of each task. The execution time calculation unit 112 calculates the execution time corresponding to the statistical reliability predetermined for each criticity level among the execution times of the tasks measured a plurality of times as the worst execution time for each criticity level. .. The schedule derivation unit 101 schedules a plurality of tasks in the real-time system based on the worst execution time.
 また、以上に記載された実施の形態によれば、スケジューリングシステムは、処理回路1102Aと、実行されるプログラムを記憶する記憶装置1103とを備える。そして、処理回路1102Aがプログラムを実行することによって、以下の動作が実現される。 Further, according to the embodiment described above, the scheduling system includes a processing circuit 1102A and a storage device 1103 for storing a program to be executed. Then, when the processing circuit 1102A executes the program, the following operations are realized.
 すなわち、それぞれのタスクの実行時間が繰り返し測定される。そして、複数回測定されたそれぞれのタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する実行時間が、クリティカリティレベルごとの最悪実行時間とされる。そして、最悪実行時間に基づいて、複数のタスクのスケジューリングが行われる。 That is, the execution time of each task is repeatedly measured. Then, among the execution times of each task measured a plurality of times, the execution time corresponding to the statistical reliability predetermined for each criticality level is defined as the worst execution time for each criticality level. Then, a plurality of tasks are scheduled based on the worst execution time.
 また、以上に記載された実施の形態によれば、スケジューリングシステムは、処理回路1102Bを備える。そして、専用のハードウェアである処理回路1102Bは、以下の動作を行う。 Further, according to the embodiment described above, the scheduling system includes a processing circuit 1102B. Then, the processing circuit 1102B, which is the dedicated hardware, performs the following operations.
 すなわち、専用のハードウェアである処理回路1102Bは、それぞれのタスクの実行時間を繰り返し測定する。そして、複数回測定されたそれぞれのタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する実行時間を、クリティカリティレベルごとの最悪実行時間とする。そして、最悪実行時間に基づいて、複数のタスクのスケジューリングを行う。 That is, the processing circuit 1102B, which is dedicated hardware, repeatedly measures the execution time of each task. Then, among the execution times of each task measured a plurality of times, the execution time corresponding to the statistical reliability predetermined for each criticity level is defined as the worst execution time for each criticity level. Then, a plurality of tasks are scheduled based on the worst execution time.
 このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。 With such a configuration, the worst execution time for each criticity level is specifically determined by the corresponding statistical reliability, so the reliability index guaranteed for each criticity level is quantitatively shown. Is possible.
 なお、上記の構成に本願明細書に例が示された他の構成を適宜追加した場合、すなわち、上記の構成としては言及されなかった本願明細書中の他の構成が適宜追加された場合であっても、同様の効果を生じさせることができる。 In addition, when other configurations shown in the present specification are appropriately added to the above configurations, that is, when other configurations in the present specification not mentioned as the above configurations are appropriately added. Even if there is, the same effect can be produced.
 <以上に記載された実施の形態の変形例について>
 以上に記載された実施の形態では、それぞれの構成要素の寸法、形状、相対的配置関係または実施の条件などについても記載する場合があるが、これらはすべての局面においてひとつの例であって、限定的なものではないものとする。
<About the modified example of the embodiment described above>
In the embodiments described above, the dimensions, shapes, relative arrangement relationships, implementation conditions, etc. of each component may also be described, but these are examples in all aspects. It shall not be limited.
 したがって、例が示されていない無数の変形例、および、均等物が、本願明細書に開示される技術の範囲内において想定される。たとえば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも1つの実施の形態における少なくとも1つの構成要素を抽出し、他の実施の形態における構成要素と組み合わせる場合が含まれるものとする。 Therefore, innumerable variants and equivalents for which examples are not shown are envisioned within the scope of the techniques disclosed herein. For example, when transforming, adding or omitting at least one component, or when extracting at least one component in at least one embodiment and combining it with the component in another embodiment. Shall be included.
 また、矛盾が生じない限り、以上に記載された実施の形態において「1つ」備えられるものとして記載された構成要素は、「1つ以上」備えられていてもよいものとする。 Further, as long as there is no contradiction, the components described as being provided with "one" in the above-described embodiment may be provided with "one or more".
 また、本願明細書における説明は、本技術に関連するすべての目的のために参照され、いずれも、従来技術であると認めるものではない。 Further, the description in the present specification is referred to for all purposes related to the present technology, and none of them is recognized as a prior art.
 また、以上に記載された実施の形態で記載されたそれぞれの構成要素は、ソフトウェアまたはファームウェアとしても、それと対応するハードウェアとしても想定され、その双方の概念において、それぞれの構成要素は「部」または「処理回路」(circuitry)などと称される。 Further, each component described in the above-described embodiment is assumed to be software or firmware and corresponding hardware, and in both concepts, each component is a "part". Alternatively, it is referred to as a "processing circuit" or the like.
 また、本願明細書に開示される技術は、それぞれの構成要素が複数の装置に分散して備えられる場合、すなわち、複数の装置の組み合わせとしてのシステムのような態様であってもよいものとする。 Further, the technique disclosed in the present specification may be a case where each component is distributed and provided in a plurality of devices, that is, a system such as a combination of a plurality of devices may be used. ..
 10 スケジューリング装置、11 実行時間測定装置、12 リアルタイム制御装置、101 スケジュール導出部、102 入力IF、103 制御要求テーブル、104 信頼度テーブル、105 最悪実行時間テーブル、106 修正最悪実行時間テーブル、111 実行時間測定部、112 実行時間算出部、113 タスク群受け付け部、121 CPU、122 RAM、123 ROM、124 タスク実行ファイル群、125 スケジュール結果、1102A,1102B 処理回路、1103 記憶装置。 10 Scheduling device, 11 Execution time measuring device, 12 Real-time control device, 101 Schedule derivation unit, 102 Input IF, 103 Control request table, 104 Reliability table, 105 Worst execution time table, 106 Modified worst execution time table, 111 Execution time Measurement unit, 112 execution time calculation unit, 113 task group reception unit, 121 CPU, 122 RAM, 123 ROM, 124 task execution file group, 125 schedule results, 1102A, 1102B processing circuit, 1103 storage device.

Claims (8)

  1.  異なるクリティカリティレベルを有する複数のタスクのスケジューリングを行うリアルタイムシステムにおいて、
     それぞれの前記タスクの実行時間を繰り返し測定し、
     複数回測定されたそれぞれの前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とし、
     前記最悪実行時間に基づいて、前記複数の前記タスクの前記スケジューリングを行う、
     スケジューリング方法。
    In a real-time system that schedules multiple tasks with different criticality levels
    The execution time of each of the above tasks is repeatedly measured and measured.
    Of the execution times of each of the tasks measured a plurality of times, the execution time corresponding to the statistical reliability predetermined for each criticity level is defined as the worst execution time for each criticity level.
    The scheduling of the plurality of the tasks is performed based on the worst execution time.
    Scheduling method.
  2.  請求項1に記載のスケジューリング方法であり、
     複数回測定された前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度のパーセンタイルに対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とする、
     スケジューリング方法。
    The scheduling method according to claim 1.
    Of the execution times of the task measured a plurality of times, the execution time corresponding to the percentile of the statistical reliability predetermined for each criticity level is set as the worst execution time for each criticity level.
    Scheduling method.
  3.  請求項1に記載のスケジューリング方法であり、
     複数回測定された前記タスクの前記実行時間を標本とし、かつ、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度の信頼区間を前記標本の母集団が正規分布であるとして算出し、さらに、前記信頼区間の上側境界に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とする、
     スケジューリング方法。
    The scheduling method according to claim 1.
    Using the execution time of the task measured multiple times as a sample, and calculating the confidence interval of the statistical reliability predetermined for each criticality level, assuming that the population of the sample is a normal distribution, further. The execution time corresponding to the upper boundary of the confidence interval is set as the worst execution time for each criticality level.
    Scheduling method.
  4.  請求項1から3のうちのいずれか1つに記載のスケジューリング方法であり、
     前記スケジューリングは、
      前記タスクが自身の前記クリティカリティレベルに対応する前記最悪実行時間で実行された場合に、前記タスクがデッドライン前に完了すること
     を含む制約条件に基づく制約付き最適化問題を解くことによって行われる、
     スケジューリング方法。
    The scheduling method according to any one of claims 1 to 3.
    The scheduling is
    It is done by solving a constrained optimization problem based on constraints, including the task being completed before the deadline when the task is executed in the worst execution time corresponding to its own criticality level. ,
    Scheduling method.
  5.  請求項1から4のうちのいずれか1つに記載のスケジューリング方法であり、
     前記スケジューリングは、
      前記タスクがジョブの繰り返しからなる場合に、前記タスクのk番目の前記ジョブの実行開始時刻は、前記ジョブが繰り返される周期のk倍以降であること
     を含む制約条件に基づく制約付き最適化問題を解くことによって行われる、
     スケジューリング方法。
    The scheduling method according to any one of claims 1 to 4.
    The scheduling is
    When the task consists of job repetitions, a constrained optimization problem based on constraints including that the execution start time of the kth job of the task is k times or more of the cycle in which the job is repeated is solved. It is done by solving,
    Scheduling method.
  6.  請求項1から5のうちのいずれか1つに記載のスケジューリング方法であり、
     前記スケジューリングは、
      それぞれの前記クリティカリティレベルにおいて、前記タスクを実行する特定のコアで実行される前記タスクは1つのみであり、かつ、それぞれの前記クリティカリティレベルにおいて、特定の時刻に実行される前記タスクは1つのみであること
     を含む制約条件に基づく制約付き最適化問題を解くことによって行われる、
     スケジューリング方法。
    The scheduling method according to any one of claims 1 to 5.
    The scheduling is
    At each said criticality level, only one task is performed at a particular core performing the task, and at each said criticity level, the task performed at a particular time is 1. It is done by solving a constrained optimization problem based on constraints, including only one.
    Scheduling method.
  7.  請求項1から6のうちのいずれか1つに記載のスケジューリング方法であり、
     前記スケジューリングは、
     外部から入力される目的関数、および、追加制約のうちの少なくとも一方に基づく制約付き最適化問題を解くことによって行われる、
     スケジューリング方法。
    The scheduling method according to any one of claims 1 to 6.
    The scheduling is
    It is done by solving a constrained optimization problem based on an externally input objective function and at least one of the additional constraints.
    Scheduling method.
  8.  異なるクリティカリティレベルを有する複数のタスクを有するリアルタイムシステムであり、
     それぞれの前記タスクの実行時間を繰り返し測定する実行時間測定部と、
     複数回測定された前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間として算出する実行時間算出部と、
     前記最悪実行時間に基づいて、前記リアルタイムシステムにおける前記複数の前記タスクのスケジューリングを行うスケジュール導出部とを備える、
     スケジューリングシステム。
    A real-time system with multiple tasks with different criticity levels,
    An execution time measuring unit that repeatedly measures the execution time of each task,
    Of the execution times of the task measured a plurality of times, the execution time corresponding to the statistical reliability predetermined for each criticity level is calculated as the worst execution time for each criticity level. Calculation unit and
    A schedule deriving unit for scheduling the plurality of tasks in the real-time system based on the worst execution time is provided.
    Scheduling system.
PCT/JP2020/019109 2020-05-13 2020-05-13 Scheduling method and scheduling system WO2021229718A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2020/019109 WO2021229718A1 (en) 2020-05-13 2020-05-13 Scheduling method and scheduling system
JP2022522168A JP7237245B2 (en) 2020-05-13 2020-05-13 Scheduling method and scheduling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/019109 WO2021229718A1 (en) 2020-05-13 2020-05-13 Scheduling method and scheduling system

Publications (1)

Publication Number Publication Date
WO2021229718A1 true WO2021229718A1 (en) 2021-11-18

Family

ID=78525455

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/019109 WO2021229718A1 (en) 2020-05-13 2020-05-13 Scheduling method and scheduling system

Country Status (2)

Country Link
JP (1) JP7237245B2 (en)
WO (1) WO2021229718A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094351A (en) * 2002-08-29 2004-03-25 Denso Corp Qos control device and program
WO2019064348A1 (en) * 2017-09-26 2019-04-04 三菱電機株式会社 Controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094351A (en) * 2002-08-29 2004-03-25 Denso Corp Qos control device and program
WO2019064348A1 (en) * 2017-09-26 2019-04-04 三菱電機株式会社 Controller

Also Published As

Publication number Publication date
JPWO2021229718A1 (en) 2021-11-18
JP7237245B2 (en) 2023-03-10

Similar Documents

Publication Publication Date Title
JP6447120B2 (en) Job scheduling method, data analyzer, data analysis apparatus, computer system, and computer-readable medium
US9990229B2 (en) Scheduling method and apparatus for applying laxity correction based on task completion proportion and preset time
US7793294B2 (en) System for scheduling tasks within an available schedule time period based on an earliest possible end time of the task
US20180275987A1 (en) Optimization of a software image layer stack
US8819633B2 (en) Testing software applications with progress tracking
US7793296B2 (en) System and method for scheduling a multi-threaded processor
CN102414659B (en) Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor
US20140068613A1 (en) Non-transitory computer-readable storage medium, information processing apparatus and scheduling method
US20120197674A1 (en) Estimating a future project characteristic based on the similarity of past projects
CN113811852A (en) Automatic resolution of dependency version conflicts
EP2420930A2 (en) Apparatus and method for thread scheduling and lock acquisition order control based on deterministic progress index
US9298853B2 (en) System and methods for prioritizing queries under imprecise query execution time
JP5585330B2 (en) Information processing apparatus, information processing method, and computer program
EP3097492B1 (en) Method and apparatus for preventing bank conflict in memory
CN110389817B (en) Scheduling method, device and computer readable medium of multi-cloud system
WO2021229718A1 (en) Scheduling method and scheduling system
US20160299787A1 (en) System, method and managing device
JP2020205073A (en) Dataset normalization for predicting dataset attribute
CN112930524A (en) Source driven job dependency assessment
CN110663051B (en) Computerized system and method for resolving cross-vehicle dependencies in vehicle dispatch
US10275015B2 (en) Power source control method, power source control apparatus, and storage medium
JP6156379B2 (en) Scheduling apparatus and scheduling method
JP6753521B2 (en) Computational resource management equipment, computational resource management methods, and programs
JP7012905B1 (en) Schedule generator, schedule generation method and schedule generation program
US20190102283A1 (en) Non-transitory computer-readable storage medium, generation method, and information processing apparatus

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20935381

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022522168

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20935381

Country of ref document: EP

Kind code of ref document: A1