Skip to Content
ElectronicsElectronics
  • Article
  • Open Access

5 May 2022

Methodology for Power-Performance Trade-Off Management in Real-Time Embedded Applications

and
Department of Electronics and Digital Systems, School of Electrical Engineering, University of Belgrade, Bulevar Kralja Aleksandra 73, 11120 Belgrade, Serbia
*
Author to whom correspondence should be addressed.

Abstract

An increasing number of battery-powered devices that are used outdoors or in mobile systems put emphasis on the power and energy efficiency as a form of trade-off between application performance and system power consumption. However, lack of objective metrics for the evaluation of application performance degradation poses difficulties for managing such trade-offs in real-time applications. The proposed methodology introduces metrics for modeling of application performance and the technique for its control, enabling more efficient power–performance trade-off management. The methodology allows for selective system performance degradation and fine-grained control of system behavior in the power–performance domain by extending the set of operating point parameters controllable through real-time application. The utilization and the effectiveness of the proposed methodology is evaluated in a simulated environment for different scenarios of the application execution, including system operation above the utilization bounds.

1. Introduction

In recent years, the Internet of Things (IoT) has gained popularity as an increasing number of embedded devices are being integrated in the global network [1]. It is expected that by the year 2025, the number of connected devices will reach 75 billion, with the expected growth rate near 10% per year [2]. As there is an emphasis on energy efficiency in today’s world, reducing energy consumption is found as a common goal in designing such devices, as well as any electronic systems. As most devices are offering the services that rely on battery powered mobile, handheld, portable, and wearable platforms, the requirements for prolonged battery life further elevate the importance of efficient energy usage [3,4,5]. Furthermore, the requirement of portability itself poses restrictions on the size and weight of such devices and consequently limits the availability of energy resources on such devices. Additionally, many of these devices are placed outdoors in harsh or inaccessible environments, which often makes battery replacement or charging unrealistic or impractical. Therefore, optimizing battery lifetime has become one of the key challenges in designing battery-powered embedded devices. Other non-portable embedded systems, either grid connected or consuming generator power, are also expected to optimize total energy and power usage and avoid excess heat generation. Nevertheless, motives for low power design and more efficient utilization of energy resources can be found for various pragmatic, economic, technical, and environmental reasons [4,6,7].
From the context of optimizing embedded system operation, efficiency can be seen as a form of trade-off between the system performance and the utilization of system resources. A common goal in designing such a system is to minimize power needs delivering the required set of functionalities or to utilize a reduced amount of energy to perform the same assignments. From a similar viewpoint, low power design can be noted as a pragmatic approach for optimizing power and energy consumption. Therefore, many power management techniques are proposed to keep up with the low power system design targeting management of a system’s power or energy resources [8,9].
Modern embedded controllers and other IC components allow designers to control power consumption through different power management strategies using available power-saving features and low-power operation modes. Universally, low power design intends to reduce the overall dynamic and static power consumption using a collection of techniques and methodologies [4]. Although the traditional approaches for designing low-power embedded systems vary, from simply relying on semiconductor manufacturers offering low power products, to more complex workload scheduling, there is no single universally accepted methodology applicable in all use cases. Ordinarily, it is a combination of component, circuit, system, application design, and associated trade-offs [8,10,11,12,13,14]. In general, extensive optimization of embedded systems for low power consumption requires balancing between the application performance and system power usage. It should be kept in mind that using the techniques for reducing power consumption may affect application performance in a way that compromises reliability and overall system capabilities.
Microprocessor and microcontroller manufacturers are offering different options for balancing the processing workload against consumed power. A common solution to bridge the gap between high performance and low power is to allow processors to run at different performance levels depending on the current workload [13,15,16]. In addition, standard operating systems (OSs) are offering services, dedicated for general purpose applications, to coordinate power management activities based on power policy settings.
The comprehensive survey given in [8] shows how the proposed power management solutions mature to address the evolution of the platform’s features and application needs. In addition to giving the properties and discussing the effectiveness of different power management techniques, it also presents a taxonomy to classify the existing approaches for uniprocessor systems, distinguishing them according to the underlying technology exploited for reducing energy consumption. However, the proposed solutions usually do not fit into safety-critical and real-time systems based on deeply embedded platforms with constrained processing and memory resources. Additionally, approaches that suggest the change of scheduling strategy or adopting OS to support power management are rather complex and power demanding because they involve additional processing. This forms the disparity in the wide applicability of the solution on the existing embedded platforms managed by real-time OS (RTOS) [17]. Evidencing further the research gap, we found that the lack of quantifiable performance metrics poses difficulties for the practical application of arbitrary trade-off management technique because there is no direct link between the power and performance domains. Unlike power savings, which can be easily measured and quantified, there is no objective measure of application performance, which has mostly been done through subjective evaluation [18,19,20]. Furthermore, standard power management techniques, regardless of the scope of the system parameters that they affect, like in voltage and frequency scaling [3,19,20,21,22,23,24,25], or approach in the domain of task scheduling that is employed [5,8,16,26,27,28,29,30,31,32], adopt inflexible criterion for application execution without deadline misses of individual tasks. The adopted criteria are inflexible as they are evaluated from the worst-case execution scenario, although actual system performances significantly vary depending on the appearance of external events. The aperiodic or sporadic nature of external events poses additional challenges in estimating actual application performance, as well as sustaining the deterministic system behavior during potential transient overloads [31].
The background for the proposed performance estimation methodology is found in the theory of real-time systems, where several types of tasks are identified according to their deadline strictness, i.e., the soft, firm, and hard real-time tasks. Following the definition of soft and firm real-time tasks, where failures to meet few deadlines of these tasks will not lead to total system failure, but degrades the system performance, opens the prospects for monitored performance degradation. This ability of maintaining the required level of functionality and to continue system operation, possibly at the reduced level, rather than deteriorating completely, is referred to as the graceful degradation concept [11,12,14,15,16]. Investigating the domain of fault-tolerant systems, several application classes are identified [5,15,16,24,33,34,35,36] where performance degradation is tolerated.
In approximate computing [33], some task instances can be omitted without compromising system operation. Imprecise computation [34,35] splits tasks into mandatory and best-effort parts. Mandatory parts must execute every time, but best-effort parts can be skipped. In multimedia applications [36], some frames can be skipped without affecting overall quality. Adopted from mixed-criticality systems, there are several research studies and solutions targeting real-time scheduling by introducing mixed-criticality task models, analyzing different issues in safety-critical applications, performing multi-criticality analysis [11,12], etc. However, all these attempts lack systematic and objective metrics for quantifying performance degradation and ability for fine-grained selective power–performance trade-off applicable on standard RTOS platforms.
This paper introduces the methodology for managing the real-time embedded system operation in the power–performance domain. The presented approach facilitates overcoming the limitations in the applicability of available approaches and their effectiveness in optimizing energy efficiency of an arbitrary RTOS-based application. The methodology introduces objective task-level performance metrics for the application-level performance assessment and the utilization control technique (UCT) for fine-grade management of power–performance trade-offs.
The immediate benefits and contributions of the proposed methodology are:
  • Proposed task performance model for the quantification of task-level performance enables objective assessments of real-time application performance degradation and the detection of execution failures.
  • The extension of system-level operating point parameters established the bound between power management and performance domains as a background for power-performance trade-offs. Tuning of operating point parameters can be carried out as a universal software solution in line with the adopted optimization criterion.
  • Introduction of the utilization control technique enables fine-grained management of power–performance trade-off. At the same time, functional efficiency of system execution is retained because the application of UCT is not affecting the execution of safety critical tasks.
  • Tuning of operating point parameters, through the combined UCT and DVFS approaches, enables more efficient operation of an embedded system in the power–performance domain, compared to system operation under the traditional DVFS power management.
  • Implementation of UCT can be handled as a simple upgrade of the traditional RTOS with static priority-based scheduling. As an extension of the static scheduling approach, introduction of UCT preserves deterministic system behavior under transient overloads.
This paper is outlined as follows. In Section 2, a review of the most recent research efforts and available scientific studies addressing the low-power design, power management techniques, and approaches for more efficient energy utilization found in embedded computing applications and products is presented. Evaluation of found methodologies for performance analysis and the discussions of mixed-criticality and multi-criticality systems are also given. Details of the proposed approach for task-level performance estimation and modeling, application-level performance estimation, and the power management technique based on task-level utilization control, all as parts of the presented methodology for power–performance trade-off management, are given in Section 3. The results of the analysis of simulated system operation for different use case scenarios that validate and quantify contributions and benefits of the proposed UCT and combined UCT and DVFS approaches are given in Section 4. Concluding remarks and the directions for future work are given in Section 5.

3. Methodology

The methodology section presents the adopted workload and power models, a framework for the estimation of task-level performance, and the description of the introduced utilization control technique. The workload model assumes that real-time application is defined as a collection of tasks with the associated set of task-model parameters compatible with static-priority scheduling. In contrast, the adopted power model is used to approximate the system-level consumption during the task execution based on operating point settings in the voltage-frequency domain. Proposed task-level performance model is derived from the basic taxonomy of task types defining hard, soft, and firm real-time tasks. Introduced metrics are used to estimate and follow performance degradations and system failures, providing the background for controllable power–performance trade-off. The rest of the section presents the details of the proposed utilization control technique and different use cases illustrating effectiveness of the proposed technique and the real-time system behavior under different workload utilizations, including overloaded system operation. The list of all symbols used under the methodology section is provided in Appendix A.

3.1. Task and Power Models

The workload model assumes that the real-time application is defined by the set of pseudo-periodic tasks given as Γ = τ 1 , , τ n , where the parameters of the task model used in scheduling analysis are described with 4-tuple p i , T i , C i ,   D i . The adopted task model is selected to conform to priority-based scheduling, introducing the parameters T i for minimum period between two succeeding task instance occurrences, C i for task worst case execution time, relative deadline D i as a time interval between task arrival and the latest time instance for completing task execution, and the task priority p i value.
Task deadlines are assumed as implicit deadlines, as it is adopted that they are equivalent to the task period T i . CPU settings that impact CPU performance and consumption are labeled as operating point parameters ( O P P ) and are defined in the voltage-frequency domain. It should be noted that the model parameters used to describe the properties of task execution, as C i , are affected by the settings of CPU frequency. The latest parameter defined in the task model, e.g., task priority, is specified by application software during task creation. The adopted priority assignment scheme assumes that the lower priority value of p i corresponds to the higher task priority level. The lowest task priority level, supported by the operating system, is defined with the task priority specified as p 0 .
Without the effects on the problem statement itself, the following power consumption model was adopted to support quantification of the system-level power consumption. In the domain of operating point parameters, the system-level power consumption during the execution of the task τ i is given as:
P i φ , ϑ = P i C P U φ , ϑ + P i P D ,
where φ = f / f m a x and ϑ = V / V m a x are normalized CPU frequency and voltage values, referred to as frequency and voltage scaling factors, respectively; P i C P U φ , ϑ is CPU power consumption, scalable with the CPU frequency and voltage, and P i P D is power consumption of other physical system components. Depending on the physical layout of the embedded system, if the system functionality is mainly driven by the microprocessor component, the system consumption is considered as scalable with the O P P and represented with P i C P U φ , ϑ . Otherwise, functionalities mainly driven by the hardware components that are external to the microprocessor IC are resulting in the consumption level which is not controllable through O P P .
As given in [10], a typical relationship between CPU power consumption and operating point parameters is adopted in the form of:
P i C P U φ , ϑ = P i C P U 1 , 1 × φ × ϑ 2 ,
where P i C P U 1 , 1 is CPU power consumption during the CPU operation at O P P defined as ( f m a x , V m a x ) The adopted Relationship (2) presumes that the static power consumption due to the leakage currents and the short circuit power losses are neglected compared to the dynamic power consumption dissipated during charge and discharge of the interconnect and input gate capacitances in signal transitions. As the modern CPUs enable scaling their voltage along with the frequency, to run at the minimum voltage necessary for correct operation at the selected clock speed, CPU voltage and frequency are considered as paired parameters [8] and their relationship is adopted to be in the form of:
ϑ = ϑ m i n + k φ ,  
where ϑ m i n is minimal operating voltage. Relationship (3) is adopted to simplify the expression (1) to be dependent on the single parameter that corresponds to frequency scaling ratio φ defined with the O P P φ settings, without compromising the power analysis nor applicability of overlying methodology. By substitution of Expressions (2) and (3) into Equation (1), power consumption during the execution of task τ i is given as:
P i φ = P i C P U 1 × φ × ϑ m i n + k φ 2 + P i P D
To quantify the average power consumption during the execution of application tasks, an averaging time interval needs to be carefully selected. Following simple logic, as for the case of workload is given as a set of periodic tasks, the averaging time interval is selected as least common multiple (LCM) of task periods of individual tasks:
T = L C M T 1 ,   , T n
The periods of individual tasks can be expressed as a function of individual task utilization under the given operating point settings as:
U i φ = C i φ T i = N i C i φ T
where N i stands for the total number of task occurrences during the observation period given as the ratio T T i .
The corresponding overall CPU utilization for the application execution under the O P P settings is given as:
U m a x φ = i = 1 n U i φ
The overall CPU utilization value from Equation (7) represents the maximum estimated value because the actual task periods in the averaging time interval varies in the case of aperiodic and sporadic tasks. Although not explicitly given, Equation (7) implies the definition of idle processing, encapsulated as task τ 0 , with the equivalent idle task utilization given as:
U 0 = 1 U m a x φ
System-level average power consumption, calculated from the total energy consumed in the observation period T , is given as:
P a v g = 1 T i = 1 n N i C i φ P i φ + T i = 1 n N i C i φ P 0 φ
The value P 0 φ is an average power consumption during the idle processing period. As the observation period defined through Equation (5) is used as an averaging period in power analysis, one should keep in mind that multiple task instances, denoted as N i , are executed during this period along with the idle processing.
Following the Expressions (6)–(8), Equation (9) could be rewritten as a function of task utilizations:
P a v g = i = 1 n U i φ P i φ + U 0 P 0 φ
One should keep in mind that the average consumption value evaluated from Equation (10) represents an upper bound value as the adopted pseudo-periodic property of application tasks. In the case of the prolonged time interval between the release times of two consecutive task instances, resulting task utilization in the observation interval is decreasing in favor of the increase in the idle task utilization. Consequently, average power consumption in the observed interval is decreasing. Relation (10) also reveals the direct impact of task utilization and O P P settings on system-level average power consumption. However, the task-level power consumption model includes only a parameter that specifies average power consumption of the system under particular O P P φ settings designated as P i φ value.

3.2. Performance Modeling

The purpose of the performance metric is to enable quantification of task-level and application-level performance degradation and system failure.
The adopted model for defining degradation level of application-level performance, D E G , is adopted in the form of a function of task-related degradation parameters D E G i and associated weighting factors ω i , given in the generalized form as:
D E G = D E G ω 1 , D E G 1 , , ω n , D E G n
The performance degradation D E G i of individual tasks is found from the introduced task type-related degradation model, and the weighting factor ω i is calculated from scheduling parameters. The sum of the weighing factors of all tasks should be equal to one as a boundary value describing application-level and task-level degradations. For the priority based static scheduling model, the value of the weighting factor should be calculated as a function of task priority p i and task type settings L i , where the parameter L i specifies the task criticality-level corresponding to soft, firm, and hard real-time tasks. As noticed from previous discussion, in addition to the task model parameters used in scheduling analysis, the task model is enhanced to support performance analysis. The proposed task-level model for estimating performance, e.g., task degradation, is extracted directly from the definition [39] of soft, firm, and hard real-time tasks found in the theory of real-time systems, where the classification is related to the consequences of missing task deadlines. The details of the adopted task-level performance modeling are given as follows.
From the definition of soft-real time tasks, failure to meet their response-time constraints degrade the application performance without catastrophic consequences on system operation. Therefore, in the case of soft real-time tasks τ i the degradation rate is calculated as:
D E G i = M i N i
where M i represents the number of individual task instances that missed their deadline in the observation period T , and N i is the total number of task occurrences. As well, arbitrary underperformance of soft real-time tasks cannot cause system failures, as indicated in their definition.
Identical degradation model given with Equation (12), as in the case of soft real-time tasks, is adopted for tasks with firm deadlines. Firm real-time tasks are defined as tasks where missing a few deadlines will not lead to complete system failure but missing more than a few deadlines may have catastrophic consequences. Therefore, we adopted a simple fault model where system failure is detected if F i consecutive task instances, regardless of passing over the boundary of observation interval, missed their deadlines. As the fault model is decoupled from the degradation model, another condition may be adopted to detect system failures associated with the execution of firm real-time tasks.
As missing a single deadline of hard real-time tasks may lead to catastrophic consequences, the model of performance degradation is not assigned to hard real-time tasks. We adopted that missing the deadlines of hard real-time tasks automatically causes complete system failure.
To summarize, the task model parameters that are used in estimating its performance degradation are given as L i , ω i , F i , whereas task execution properties, given as N i , M i , are provided by the application software. One should notice that the system failure is not tightly coupled with the application under-performance, as the failure of execution of the firm or hard real-time task can happen at the arbitrary degradation level. For instance, simultaneous occurrence of events that are processed by a group of application tasks can lead to overloaded system operation, causing failure of the execution of firm or hard real-time tasks because of priority inversion. Overloaded operation is not tightly coupled with the scenarios when the total amount of task utilizations exceeds utilization bound for fixed priority scheduling, as the workload model includes a set of pseudo-periodic tasks. Regardless, priority scheduling should provide deterministic system behavior under the overloaded system operation, as the priority scheduling gives precedence for the execution of high-priority tasks with safety-critical, e.g., hard, deadlines.
The following scenario of task execution sequence presented in Figure 1 illustrates, from the conceptual viewpoint, the use of adopted performance models for the evaluation of related task-level and application-level performance degradations and system operational faults. The workload presumes the task set Γ = τ 1 , τ 2 , τ 3 with the associated task-model parameters defined in Table 2 is used in the following performance analysis. The task criticality assignment as L i = 1 ,   2 ,   3 corresponds to soft, firm, and hard task criticality levels, respectively. The red filled squares from Figure 1 symbolize the task instances with missed deadlines, whereas green filled squares indicate properly executed task instances.
Figure 1. Task execution scenario illustrating estimation of task and application-level performance degradations and system failure.
Table 2. Task performance-model settings and execution properties in observed time interval.
The task model parameters given in Table 2 are adopted to illustrate the performance modeling of all three supported task types. As missing the deadline of a hard real-time task does not degrade system performance but causes immediate system failure, the weighting factor in the task performance model of such task type ( L i = 3 ), is set to 0. In the case of a firm task, τ 2 , weighting factor is adjusted to 0.6, and the value of F 2 = 2 is adopted to imply that missing deadline in two succeeding task instances, in the selected time interval T , may cause system failure. As missing the execution deadline of soft real time tasks cannot result in the system failures, modeling of such tasks requires us only to set a weighting factor. We adopted the value ω 2 = 0.4 to quantify the impact of task τ 1 misses on application performance.
Execution properties column from Table 2, matches the execution sequence presented in Figure 1. The execution properties include the information of total number of task instances N i expected to be executed in observation period, and the total number of instances with missed deadlines given as M i .
As given in Figure 1, missing a single deadline of τ 1 task instance results in an increase of task-level degradation D E G 1 value by 1 / N 1 = 20 % and application-level degradation of ω 1 D E G 1 = 8 % , whereas missing a deadline of τ 2 task instance results in task and application level underperformances of 10 % and 6 % , respectively.
The simplified model for the estimation of task-level performance, where the task absolute deadline corresponds to the time instance of the succeeding event that triggers task execution, is compatible with the event-driven implementation model, where task-level performance is estimated upon the new event processing requested. Missing to finish the processing of previous events upon the occurrence of new events indicates the missing deadline condition and the corresponding performance degradation. Although not explicitly given, task-level performance estimation is therefore interchangeable with the event-based performance estimation, as processing of the single event may lead to the execution of the group of real-time tasks. In such implementation, performance modeling and the related parameters should be coupled with the events, whereas the processing of these events conforms to soft, firm, or hard criticality level.

3.3. Utilization Control Technique

Whereas the introduced performance metrics provide the outline for assessment of the application performance, the utilization control technique enables its control. Control of the application performance is supported through the created utilization control task τ U C described with the task model parameters p U C , T , C U C , . The setting of task model parameters is found from the adopted UCT settings, specified with the τ U C task priority p U C and its utilization U U C . The task execution time from the task model is found from expression C U C = U U C T , as the task period is equal to the observation period T .
The aim of the utilization control is to provide at least U U C utilization level of the introduced task τ U C by dynamically switching the priority of τ U C task between the two, p U C and p 0 , priority levels. The value of p 0 is known a priory and is OS defined, whereas the value of p U C is found from UCT settings.
The logic of utilization control (UC) that drives switching of UC task priorities is described as follows. During the observation period T , the achieved utilization of the task τ U C is evaluated at the boundary of the selected task execution interval, e.g., tick interval or other adopted execution interval that allows fine-grained resolution of utilization tuning. Thus, the utilization of τ U C during the observation interval T is achieved through the sequence of τ U C task executions with the total execution time of C U C . The evaluation of total task utilization is performed following the simple criterion where the priority of the τ U C task is set to the selected p U C priority level, if the current utilization of τ U C task is below the selected U U C utilization level, otherwise task priority is adjusted to the p 0 to be executed within the following execution interval. Execution of UC task at the p 0 priority level may conform to the idle processing scenario, where arbitrary even-processing request may preempt the execution of UC task.
Additionally, execution of the task τ U C at the p U C priority level with the total duration of C U C may be given as a sequence of the task executions separated with the task executions at the p 0 priority. Implementing UCT to support such execution scenarios of UC tasks enables tasks with lower priorities at the ready-to-run state to be computed between the two succeeding τ U C task instances executed at higher priority level. Although the execution of higher priority tasks is not affected, and the total utilization of τ U C tasks remain the same, response time in of lower priority tasks may be enhanced. As the logic to follow this execution scenario is more complex, while the performance degradation level stays at the comparable level, to show up and discuss the effectiveness of UCT, we adopted a simplified form of UC task execution. The analysis of the several workload execution scenarios under different UCT settings is described in the rest of the section.
As the utilization of the original workload is below one, introduction of UC task results in rise of system utilization. Depending on the adopted UCT settings p U C ,   U U C several workload execution scenarios are identified as follows:
case   1 :   U U C + U m a x φ U b o u n d ,   case   2 :   U b o u n d < U U C + U m a x φ 1 ,   case   3 :   U U C + U m a x φ > 1 .
The value of U b o u n d is the upper bound of the CPU utilization, e.g., labeled as utilization bound, that guarantees that all application tasks will meet their deadlines. As known from scheduling theory, the actual value of the utilization bound depends on the properties of the adopted scheduling policy [39,40] and the workload properties. According to the rate-monotonic analysis (RMA) as a theory underlying the static scheduling policy, utilization bound asymptotically approaches 69%, as the number of tasks in the workload reaches infinity. For the case studies analyzing the execution of pseudo-periodic tasks, RMA analysis has only theoretical implications as it addresses the scenario with the execution of periodical tasks.
For the system operation under case 1, the resulting application performance is not affected with the introduction of periodic utilization control tasks τ U C , as the total system utilization is below utilization bound. In contrast, power consumption can be considerably adjusted, e.g., increased or decreased, depending on the selected frequency scaling factor. Power management under such a scenario of system operation is exploited by voltage and frequency scaling techniques.
For the system operation under the condition defined as case 2, system power consumption is not significantly affected by changing the parameters p U C ,   U U C . However, as operating above the utilization bound, some of low-priority task instances with the priorities p j > p U C might miss their deadline, resulting in the application underperformance.
Case 3, where the utilization U U C is selected to result in overloaded system operation, system underperformance is expected, as low-priority task instances with the priority value above p U C will mandatorily miss their deadlines. In such an execution scenario, the injection of idle processing with a task τ U C results in a controlled reduction of system power consumption with the relational increase in performance degradation. Selectivity of the presented technique is achieved through the adjusted priority level p U C and the utilization value U U C , as the τ U C task execution affects only the execution of application tasks with the priority values above p U C . Thus, the execution of tasks with higher priorities are not affected regardless of the selected UC task utilization. However, the execution of lower priority tasks is affected proportionally to the selected utilization value.
To illustrate and discuss the application of the introduced control technique on real-time system operation, task scheduling, and trade-off management, the following use cases of workload execution under different UCT settings are evaluated.
The adopted workload is given in the form of the set of the tasks Γ = τ 1 , τ 2 , τ 3 , τ 4 , τ 5 , with the associated parameters, as given in Table 3.
Table 3. Settings of workload model parameters.
To simplify the analysis, the utilization bound of U b o u n d 1 is assumed. Because the adopted value for utilization bound, case 2 is removed from possible workload execution scenarios defined in (13). Additionally, as the execution case 1 corresponds to the workload execution without deadline misses, and therefore without performance degradation, this scenario is also excluded from execution use cases presented in Figure 2.
Figure 2. Workload execution use cases under different UCT settings. Red boxes indicate task instances with missed deadlines, and green boxes represent correctly executed instances. White boxes represent the instances of the UCT task executions.
Figure 2 illustrates several workload execution scenarios under the different UCT parameter settings that conform to the overloaded system operation defined with case 3. UCT settings are specified at the left side of the execution pattern, illustrated with green, white, and red boxes. As the applying UCT impacts both application performance and the power consumption, resulting values are presented at the right side of the execution pattern. Indications of the failure condition, coupled with the execution of hard and firm real-time tasks, are also given.
The adopted value of average power consumption during idle processing, e.g., during UC task execution, is P U C φ = P 0 φ = 10 .
The upper sequence of task instances corresponds to the execution of the original workload without the UC task. Under the UCT settings #1, the priority setup of the UC task ensures its execution in the observed period. Consequently, the application degrades its performance because the instance of the task τ 5 , as the instance of the task with the lowest priority, misses its deadline. Further increase in the utilization of the UC task, under UCT settings #2 and #3, consumes additional time span in the observed time interval, causing additional task instances with the lower priorities to miss their deadlines. UCT settings #4 enforce that the UC task consumes all the remaining time intervals executed at the priority level above 25. This results in operational fault caused by τ 3 fault condition specified by τ 3 task model ( F 3 = 2 ), as both task instances of the task τ 3 missed their deadline. In contrast, increasing the priority level of UC task, according to the UCT settings #5, opens an additional time slot for degrading application performance. This time slot corresponds to the time intervals consumed for the execution of τ 2 task instances. Unfortunately, further increase in the utilization of UC task, under UCT settings #6, leads to the fatal system fault caused by failure in task τ 3 execution.
Although introduced for a uniprocessor platform, applicability of the approach is not limited in the case of multiprocessor systems. The rest of the section presents the discussion on how the proposed approach can be generalized to other task models in future work, e.g., to semi-partitioned scheduling [46] or to parallel task models [47,48].
Depending on the overlaying power management strategy, load, or power balancing requirements, a UC task may be statically partitioned and independently controlled or be subject to a controlled and limited migration across multiple processors during its execution. Partitioned approach resembles a uniprocessor case where each UC task is running on an associated processor depending on its local UCT settings. In contrast, multiprocessor real-time systems with the semi-partitioned scheduling are offering additional flexibility for the implementation of UCT. Regardless of UCT, such systems are offering more optimal run-time behavior, compared with static partitioning and global scheduling approaches under the dynamic workloads found in the multimedia, robotics, cloud, and fog computing applications. Semi-partitioned approach of UCT implementation may follow execution of a UC task upon a semi-partitioned reservation whose execution budget is split across multiple processors [46]. In such a scenario, after the UC task exhausts the reserved budget on the current processor, its execution migrates to another processor where it will be served by corresponding tail reservation. Sequential UC task models may be extended to parallel task models that conform to the execution on multi-core processor platforms. Parallel task models of a UC task may consider a set of synchronous parallel tasks, where each task is represented as a sequence of segments containing parallel threads that synchronize at the end of the segment [47]. Analogous to the use case given in Figure 2, task segments conform to the presented task instances, whereas the execution requirements of each parallel thread are tuned according to the UCT settings. Adoption of a UC task model to be compliant with Directed Acyclic Graph (DAG) task model, as an even more general model for parallel tasks, may further extend its applicability on heterogeneous distributed processor systems. As given in [48], combining such representation of a UC task combined with the energy-aware DAG scheduling makes UCT suitable for heterogeneous processors that can run on discrete operating voltages, extending its applicability on high performance DSP platforms, in image processing, multimedia, and wireless security applications.

4. Results and Discussion

The parametric analysis of the effectiveness of UCT in the context of power–performance trade-offs is investigated in the simulation environment for several workload execution scenarios. Model parameters of the workload given in the form of periodic tasks set Γ = τ 1 , , τ 9 , with the assumed implicit deadlines, are given in Table 4.
Table 4. Settings of workload model parameters.
The adopted power model presumes uniform task-level consumption specified with P i C P U 1 = 100 and P i P D = 10 . Consumption parameters of utilization control tasks are set to P U C C P U 1 = 0 and P U C P D = 10 , as they are related to idle processing. Parameters k and v m i n in relation (3) that define the CPU voltage-frequency relationship are selected as k = 0.1 and v m i n = 0.9 .
Weight factors for performance modeling are calculated from used task-priorities as:
ω i = p 0 p i i p 0 p i
where the lowest task priority level is given as p 0 = 95 , and i = 4..9 , as the weight factor of tasks with a hard level of criticality is set to zero. Although the degradation weight factor of individual tasks can be assigned in various ways, we adopted Relationship (14), so the weight factor is inversely proportional to assigned task priorities. The parameters F i for firm tasks are selected to conform with the situation where 50% of firm tasks in sequence are missing their deadline in the observation interval. The value of observation interval is evaluated based on the Relation (5) as T = 2400 .
The expression for estimating an application-level performance degradation, D E G from Equation (11), is adopted in the form of weighted sum of individual task degradations as:
D E G = i = 1 9 ω i D E G i
where degradation of firm and soft real-time tasks, e.g., values of D E G i , is estimated according to Equation (12). As the sum of all weight factors is selected to be 1, according to the Relations (14) and (15), application-level degradation is bounded at 100%.

4.1. Effectiveness of UCT

The following analysis illustrates the trade-off potential of the introduced utilization control technique applicable in the scenarios where the voltage and frequency scaling are not available or there are significant drawbacks regarding its frequent use. Because in such scenarios the frequency scaling value φ is fixed, the trade-off control is achieved solely through the control of p U C ,   U U C parameters.
Performance degradation and normalized average power consumption P ^ A V G = P A V G / P A V G   M A X for the scenario of the overloaded execution of workload defined in Table 4, under different UCT parameter settings, are presented in Figure 3, where P A V G   M A X represents average system-level power consumption for system operation during the observation period under the nominal frequency and voltage settings.
Figure 3. Heat map graph of application performance (left) and power (right) metrics in the 2D space of UCT control parameters p U C ,   U U C .
Results presented in Figure 3 demonstrate the effectiveness of UCT in 2D UCT parameter space defined with 2-tuple p U C ,   U U C . Presented results are evaluated for fixed O P P φ settings that correspond to CPU frequency of f m a x / 8 . As both groups of parameters, O P P settings in voltage-frequency domain and UCT settings in utilization domain, affect the system behavior in power-performance domain, they are all considered as an extended set of system-level parameters for tuning power–performance trade-off. Further on, this expanded set of application controllable parameters is considered as extended operating point parameters denoted as e O P P φ ,   p U C ,   U U C .
As shown in Figure 3, control of UCT parameters enables variation of application execution properties in the power and performance domain of up to 25% and 80%, respectively. Analyzing the heat map graph on the left-hand side, one could notice that application performance degrades from 17.3% at the right side toward 100% at the top-left side of the heat map. The area at the right side of the heat map graph corresponds to the UCT settings where UC task priority is set at the levels that may affect only the operation of soft real-time tasks resulting in insignificant performance degradation. However, UCT settings where UC task priority and utilization are affecting the operation of a firm real-time task, as found in the top-left side of the heat map graph, results in significant performance losses, noticeable as yellow-colored areas on the heat map graph. Similar analysis may be performed on the heat map graph presented on the right-hand side in Figure 3. It is noticeable that heat distribution resembles a contrast of the heat map graph presented on the left-hand side, confirming the trade-off potential in driving particular embedded applications in the power-performance domain.
To demonstrate the trade-off potential of the utilization control technique for fine-grained tuning of application execution properties, several e O P P s are selected as presented in Table 5. The resulting power and performance properties of workload execution are also given.
Table 5. Properties of the system operation for selected e O P P s from Figure 3.
Generalized observation given in the analysis of Figure 3 are further evaluated in Table 5. As noticeable from Table 5, with varying parameters p U C ,   U U C the system-level average power consumption and application underperformance change in the opposite direction, confirming the foundation for power–performance trade-offs. Compared to the traditional technique of voltage and frequency scaling, which selects the system operating point O P P φ in the 1D space, introduction of additional parameters p U C ,   U U C extends the space of system operating point parameters to 3D. Thus, from the context of optimizing power efficiency, UCT can be considered as an extension of native DVFS approach and vice versa. By combining DVFS and UCT, operating point parameter space is expanded, although tuning of parameters can be separately applied for power and performance management at the application-level.
The analysis presented in the rest of the section illustrates the joint potential of utilization control and DVFS approaches, denoted as UC-DVFS approach, driving system operation even beyond the utilization bound. The investigation also reveals the trade-off area in the power–performance domain established by extension of operating point parameters through UCT.

4.2. Exploring the Limits of UC-DVFS Approach

The effectiveness of the proposed UC-DVFS approach for the management of the power–performance trade-off in different workload execution scenarios is presented in Figure 4. The parameters of the workload used in simulations are defined in Table 4. The execution scenarios cover different e O P P φ ,   p U C ,   U U C settings where frequency was scaled in the range 1 φ 1 / 10 , p U C was changed in the range from p 0 to p m a x = 5 , and U U C was varied in the range from 0 to 1. Red line and light and dark blue areas in Figure 4 represent points in the power–performance domain P ^ A V G , D E G for different O P P and e O P P parameters settings, where the system operates without faults.
Figure 4. System operating points in power-performance domain in O P P φ and e O P P φ ,   P r U C ,   U U C parameters space.
The O P P φ curve, given with the red line, shows power and performance properties of the system operation under the adopted frequency range. As the workload execution at φ = 1 assumes system operation below the utilization bound, the presented analysis included both execution cases defined in (13), e.g., case 1 and case 3. The properties of the system operation under different 3D parameter settings, defined with e O P P φ ,   p U C ,   U U C , are visualized with a light blue area. As observable from Figure 4, introduction of additional parameters, e.g., p U C and U U C , expands the potential for the management of system operation in the power-performance domain.
To discuss the outcomes of the conducted analysis, three characteristic system operating points are identified as O P P m a x , O P P b o u n d , and O P P 1 . The corresponding power and performance properties of the system operation under selected system O P P s is given in Table 6, where O P P m a x is initial operating point at f m a x , e.g., at φ = 1 , where the total CPU utilization is below utilization bound U b o u n d . The O P P b o u n d is the system operating point, where the frequency scaling factor ( φ < 1 ) is adjusted to scale the workload utilization to its boundary value. This operating point is considered as a boundary between the system operation with and without degraded performance. The value of O P P 1 is chosen as a representative system operating point during overloaded system operation selected in 1D operating parameters space at φ = 1 / 8 .
Table 6. Properties of the system operation for operating points defined in Figure 4.
In the context of standard inter-task power management techniques, the system operated in the range between O P P m a x and O P P b o u n d illustrates the potential of standard DVFS under the adopted workload model. Adjusting the frequency scaling factor to the value of 0.77 enables energy savings of 3.3% compared with the system operation under nominal frequency settings, e.g., φ = 1 . The introduced metrics for quantifying system performance enable observable system operation even beyond O P P b o u n d , in the region of overloaded system operation. System operation in this region with degraded application performance, marked with a red line in Figure 4, enables significantly higher power savings compared with the standard DVFS operating up to the O P P b o u n d . Further workload execution, under the frequency scaling ranged from 0.77 to 0.12, enable significant power savings, reaching a level of Δ P ^ a v g = P ^ a v g 0.12 P ^ a v g 1 = 38.4 % at φ = 0.12 . Utilization of standard DVFS technique in the region beyond O P P b o u n d and toward O P P 1 is denoted as extended DVFS, or eDVFS in Figure 4.
Individual contribution of the UCT on the power efficiency is further identified through the detailed analysis of trade-off area (TOA), which is shown in Figure 4 and Figure 5 in expanded form. As discussed previously, a combined UC-DVFS approach enables fine-grained power performance trade-off through the control of e O P P φ ,   p U C ,   U U C in the 3D-space of system parameters. Compared with eDVFS, further extension of system operating parameters introduces potential for more efficient application execution. To anticipate the contribution of the UCT, properties of system execution at selected operating points e O P P i ,   i = 1 ,   2 ,   3 are evaluated and compared with the system operation at O P P 1 .
Figure 5. Extended operating points in the trade-off area for the selected O P P 1 from Figure 4.
As illustrated in Figure 5 and quantified in Table 7, different e O P P s can be selected to lower performance degradation ( e O P P 1 ), to lower power consumption ( e O P P 2 ), or to enable enhancements in both domains ( e O P P 3 ). Adjustment of operating point parameters enables relative improvement of application performance at the e O P P 1 of 28.3%, compared with the system operation at O P P 1 under the identical power budget. In contrast, operation at e O P P 2 enables relative decrease of 4.5% in power consumption under the same performance level as in O P P 1 .
Table 7. Properties of the system operation at O P P 1 and characteristic e O P P s in the TOA.
To make a point from previous analysis, extension of operating point parameters from 1D to 3D parameter space enables fine grained control and more efficient system operation in both power and performance domains.
The further analysis exploits the trade-off potential for optimizing system behavior in the power–performance domain. The UC-DVFS provides an implicit link between the extended operating point defined in the 3D space of system parameters f , p U C , U U C and the operating point in the power–performance domain given with the pair of values ( P ^ A V G , D E G ) . This link allows for the introduction of different management relationships that quantify the trade-off between P ^ A V G and D E G .
In the remainder of the paper, we analyze the optimized system operation under the different optimization criteria extracted from simple trade-off management relation ( T M R ) given in the form of linear Equation (16). Although different more complex relationships may be more appropriate for particular applications, the simplified form of T M R is adopted, as the selection of T M R is not affecting the optimization process but rather the optimization outcome.
The T M R introduces parameter k used to set the goal of trade-off management toward more efficient system operation under the required performance level or available power budget:
T M R = k P ^ A V G + 1 k D E G
By setting the value of k , different e O P P settings in 3D parameter space are found to optimize, e.g., minimize the value of the T M R relation. The results shown in Figure 6 provide insight into the influence of setting different trade-off criteria, obtained by varying parameter k , on optimal system behavior.
Figure 6. Data points represent optimized power and performance behavior of system operation under different trade-off management relations varied by the parameter k .
Regions of optimal system operation under the boundary cases of TMR defined with k < 0.2 and 0.8 < k 1 elevates the impact of system performance or system power consumption on the selection of e O P P . The boundary cases conform to the adopted trade-off management relation and the workload model parameters and are selected based on the observed properties of P ^ A V G and D E G curves from Figure 6. As noticeable from Figure 6, optimal system behavior under parameter settings k < 0.2 , results in significant power savings (15% at P ^ A V G 1 ) with minimal degradation of performance level (near 3% at D E G 1 ), where system operates near the utilization bound from Figure 4. Analyzing system behavior under 0.8 < k 1 reveals that the system reaches its limits in minimizing system power consumption (power savings of 43% at P ^ A V G 2 ), at the same time, maximally degrading application performance (approx. 36% at D E G 2 ) without system failures. As obvious from Figure 6, optimal e O P P settings depend on the selected T M R criteria, actual system performance, as well as power consumption. The following paragraph discusses limitations and challenges regarding the application of presented methodology.
To be applied in the physical world, where power and performance models are not a priori known, regardless of the selected T M R criteria, an e O P P tracking algorithm may be needed to provide the optimal system operation in the power–performance domain. Additionally, the proposed performance model may not fit the application needs and criticality architecture of the workload. The proposed coarse-grained approach for estimating degradation level of the workload execution is result of the intention to omit the requirements for measuring or estimating timing properties of the task execution. Thus, the presented performance model simplifies its implementation, and, at the same time, provides the support for event-driven performance estimation. From the power consumption point of view, the application of the proposed static power model is limited to the simulation of system behavior and presentation of the proposed power management approach. In real-world scenarios, the power consumption may require more complex dynamic modeling, or the estimation obtained from direct power consumption measurements.

5. Conclusions

In this paper, we presented the methodology that allows fine-grained power–performance trade-off by introducing metrics for estimating application performance and by extending the set of application-level operating point parameters for performance control. The extension of operating point parameters resulted from the introduction of the technique for fine-grained management of power–performance trade-offs. The introduced utilization control technique as a part of the proposed methodology enables selective degradation of the application tasks at the arbitrary criticality level, without affecting the execution of safety-critical features. The evaluation of the proposed techniques confirmed more energy efficient system operation in the power–performance domain compared with the traditional DVFS approach. Furthermore, the presented methodology provides the background for the design of more sophisticated power and energy management solutions utilizing the effectiveness of UCT and combined UC-DVFS approaches for driving the real-time embedded systems even beyond the safe boundaries. The main original contribution of the proposed methodology is in making the bound between the power and performance domains, providing the background for associated trade-offs, and the technique that enables control of trade-offs through the simple upgrade of the traditional RTOS with static priority-based scheduling.
Multi-level variants of UCT, as well the implementation of the presented methodology in the RTOS environment as a framework that enables integration of arbitrary algorithms for the control of operating point parameters and the selection of appropriate optimization criteria that fits the application needs, will be part of future work.

Author Contributions

Conceptualization, I.P. and S.J.; software, S.J.; validation, I.P. and S.J.; formal analysis, I.P. and S.J.; investigation, I.P. and S.J.; resources, S.J.; data curation, I.P. and S.J.; writing—original draft preparation, I.P. and S.J.; writing—review and editing, I.P. and S.J.; visualization, I.P. and S.J.; supervision, I.P.; project administration, I.P.; funding acquisition, I.P. and S.J. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Ministry of Education, Science and Technological Development, Republic of Serbia through Grant Agreement with University of Belgrade-School of Electrical Engineering No: 451-03-9/2021-14/200103.

Acknowledgments

The authors gratefully acknowledge the financial support from the Ministry of Education, Science, and Technological Development of the Republic of Serbia.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

IoTInternet of Things
WSNWireless Sensor Network
ICIntegrated Circuit
OSOperating System
RTOSReal Time Operating System
UCTUtilization Control Technique
UCUtilization Control
DAGDirected Acyclic Graph
UC-DVFSUtilization Control with Dynamic Voltage and Frequency Scaling
DVFSDynamic Voltage and Frequency Scaling
SPMStatic Power Management
DPMDynamic Power Management
PMPower Management
HPCHigh-Performance Computing
MPIMessage Passing Interface
CPUCentral Processing Unit
EDFEarliest Deadline First
MCSMixed Criticality Systems
EDPEnergy Delay Product
HWHardware
SWSoftware
WCETWorst Case Execution Time
OPPOperating Point Parameters
LCMLeast Common Multiple
RMARate Monotonic Analysis
3DThree Dimensions
eOPPExtended Operating Point Parameters
eDVFSExtended Dynamic Voltage and Frequency Scaling
TOATrade-off Area
TMRTrade-off Management Relation

Appendix A. List of Symbols

Γ Workload given as a set of application tasks Γ = τ 1 , , τ n
p i , T i , C i ,   D i Task model parameters
p i Task priority value where higher priority value indicates lower task priority level
T i Task period as a minimal interval between the arrival of two succeeding task instances
C i Worst case task execution of task instance
D i Task relative deadline
p 0 Idle task priority as the lowest task priority level
φ Frequency scaling factor given as φ = f / f m a x
f m a x Nominal CPU frequency settings
ϑ Voltage scaling factor given as ϑ = V / V m a x
V m a x Nominal microprocessor supply voltage settings
P i φ , ϑ System-level power consumption during the execution of the task τ i under the given frequency and voltage scaling factor settings
P i C P U φ , ϑ Power consumption of microprocessor IC under given voltage and frequency scaling and during the execution of the task τ i
P i P D Overall power consumption of all system components, whose operation is not affected by voltage and frequency scaling, during the execution of task τ i
P i C P U 1 , 1 Power consumption of microprocessor IC under nominal voltage and frequency settings and during the execution of the task τ i
O P P φ Operating point under given frequency scaling factor settings
P i φ System-level power consumption during the execution of the task τ i under the given frequency scaling factor settings
T Observation period for workload Γ found as least common multiple of task periods T = L C M T 1 ,   , T n
U i φ Utilization of task τ i under given frequency scaling factor settings
U m a x φ Maximum application utilization value during the observation period under given frequency scaling factor settings
N i Number of task τ i   instances that arrive for execution during the observation period
P a v g System-level average power consumption during the observation period
P 0 φ Average power consumption during the idle processing under given frequency scaling factor settings
D E G Application-level performance degradation
D E G i Task-level performance degradation
ω i Degradation weighting factor for task τ i
M i Number of task τ i instances that missed their deadline in the observation period
F i Number of firm-criticality task τ i consecutive instances where missing their deadlines leads to complete system failure
L i Task criticality assignment, where L i = 1 ,   2 ,   3 corresponds to soft, firm, and hard task criticality levels
p U C Priority assignment for utilization control task
U U C Utilization assignment for utilization control task
U b o u n d Utilization bound, that guarantees that all application tasks will meet their deadlines
P ^ A V G Normalized system-level average power consumption during the observation period found as P ^ A V G = P A V G / P A V G   M A X
P A V G   M A X Average system-level power consumption for system operation during the observation period under the nominal frequency and voltage settings
e O P P Extended set of operating point parameters e O P P φ ,   p U C ,   U U C
( P ^ A V G , D E G ) System operating point in power-performance domain

References

  1. Hassan, R.; Qamar, F.; Hasan, M.K.; Aman, A.H.M.; Ahmed, A.S. Internet of Things and Its Applications: A Comprehensive Survey. Symmetry 2020, 12, 1674. [Google Scholar] [CrossRef]
  2. Tanweer, A. A Reliable Communication Framework and Its Use in Internet of Things (IoT). Int. J. Sci. Res. Comput. Sci. Eng. Inf. Technol. 2018, 5, 450–456. [Google Scholar]
  3. Etinski, M.; Corbalan, J.; Labarta, J.; Valero, M. Understanding the future of energy performance trade-off via DVFS in HPC environments. J. Parallel Distrib. Comput. 2012, 72, 579–590. [Google Scholar] [CrossRef]
  4. Thakkar, A.; Chaudhari, K.; Shah, M. A Comprehensive Survey on Energy-Efficient Power Management Techniques. Procedia Comput. Sci. 2020, 167, 1189–1199. [Google Scholar] [CrossRef]
  5. Chetto, M.; El Ghor, H. Scheduling and power management in energy harvesting computing systems with real-time constraints. J. Syst. Arch. 2019, 98, 243–248. [Google Scholar] [CrossRef]
  6. Wu, H.; Chen, C.; Weng, K. An Energy-Efficient Strategy for Microcontrollers. Appl. Sci. 2021, 11, 2581. [Google Scholar] [CrossRef]
  7. Chéour, R.; Jmal, M.W.; Khriji, S.; El Houssaini, D.; Trigona, C.; Abid, M.; Kanoun, O. Towards Hybrid Energy-Efficient Power Management in Wireless Sensor Networks. Sensors 2022, 22, 301. [Google Scholar] [CrossRef]
  8. Bambagini, M.; Marinoni, M.; Aydin, H.; Buttazzo, G. Energy-Aware Scheduling for Real-Time Systems: A Survey. Trans. Embed. Comput. Syst. 2016, 15, 7. [Google Scholar] [CrossRef]
  9. Kim, Y.G.; Kong, J.; Chung, S.W. A survey on recent OS-level energy management techniques for mobile processing units. IEEE Trans. Parallel Distrib. Syst. 2018, 29, 2388–2401. [Google Scholar] [CrossRef]
  10. Moyer, B. Low-power design for embedded processors. Proc. IEEE Inst. Electr. Electron. Eng. 2001, 89, 1576–1589. [Google Scholar] [CrossRef]
  11. Baruah, S.; Bonifaci, V.; D’Angelo, G.; Li, H.; Marchetti-Spaccamela, A.; van der Ster, S.; Stougie, L. The Preemptive Uniprocessor Scheduling of Mixed-Criticality Implicit-Deadline Sporadic Task Systems. In Proceedings of the 24th Euromicro Conference on Real-Time Systems (ECRTS), Pisa, Italy, 10–13 July 2012. [Google Scholar] [CrossRef]
  12. Vestal, S. Preemptive scheduling of multi-criticality systems with varying degrees of execution time assurance. In Proceedings of the 28th IEEE International Real-Time Systems Symposium (RTSS 2007), Tucson, AZ, USA, 3–6 December 2007; pp. 239–243. [Google Scholar] [CrossRef]
  13. Ma, W.; Cheng, Q.; Gao, Y.; Xu, L.; Yu, N. An Ultra-Low-Power Embedded Processor with Variable Micro-Architecture. Micromachines 2021, 12, 292. [Google Scholar] [CrossRef] [PubMed]
  14. Legout, V.; Jan, M.; Pautet, L. Mixed-criticality multiprocessor real-time systems: Energy consumption vs deadline misses. In Proceedings of the First Workshop on Real-Time Mixed Criticality Systems (ReTiMiCS), Taipei, Taiwan, 19–21 August 2013; Available online: https://hal-imt.archives-ouvertes.fr/hal-00922522 (accessed on 29 April 2022).
  15. Fadlelseed, S.; Kirner, R.; Menon, C. ATMP-CA: Optimising Mixed-Criticality Systems Considering Criticality Arithmetic. Electronics 2021, 10, 1352. [Google Scholar] [CrossRef]
  16. Guo, Z.; Yang, K.; Vaidhun, S.; Arefin, S.; Das, S.K.; Xiong, H. Uniprocessor Mixed-Criticality Scheduling with Graceful Degradation by Completion Rate. In Proceedings of the IEEE Real-Time Systems Symposium (RTSS), Nashville, TN, USA, 12–14 December 2018; pp. 373–383. [Google Scholar] [CrossRef]
  17. Laplante, P.A. Real-Time Systems Design and Analysis, 3rd ed.; Stamatios, V.K., Ed.; John Wiley & Sons: New York, NY, USA, 2004; ISBN 0-471-22855-9. [Google Scholar]
  18. Shye, A.; Scholbrock, B.; Memik, G. Into the wild: Studying real user activity patterns to guide power optimizations for mobile architectures. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture, New York, NY, USA, 12–16 December 2009; pp. 168–178. [Google Scholar] [CrossRef]
  19. Chen, Y.-L.; Chang, M.-F.; Yu, C.-W.; Chen, X.-Z.; Liang, W.-Y. Learning-Directed Dynamic Voltage and Frequency Scaling Scheme with Adjustable Performance for Single-Core and Multi-Core Embedded and Mobile Systems. Sensors 2018, 18, 3068. [Google Scholar] [CrossRef]
  20. Calore, E.; Gabbana, A.; Schifano, S.F.; Tripiccione, R. Software and DVFS Tuning for Performance and Energy-Efficiency on Intel KNL Processors. J. Low Power Electron. Appl. 2018, 8, 18. [Google Scholar] [CrossRef]
  21. Xu, R.; Mosse, D.; Melhem, R. Minimizing Expected Energy Consumption in Real-time Systems through Dynamic Voltage Scaling. ACM Trans. Comput. Syst. 2007, 25, 9. [Google Scholar] [CrossRef]
  22. Liu, S.; Qiu, Q.; Wu, Q. Energy Aware Dynamic Voltage and Frequency Selection for Real-time Systems with Energy Harvesting. In Proceedings of the Design, Automation and Test in Europe, (DATE ’08), Munich, Germany, 10–14 March 2008; pp. 236–241. [Google Scholar] [CrossRef]
  23. Xu, H.; Li, R.; Zeng, L.; Li, K.; Pan, C. Energy-efficient scheduling with reliability guarantee in embedded real-time systems. Sustain. Comput. Inform. Syst. 2018, 18, 137–148. [Google Scholar] [CrossRef]
  24. Haririan, P. DVFS and Its Architectural Simulation Models for Improving Energy Efficiency of Complex Embedded Systems in Early Design Phase. Computers 2020, 9, 2. [Google Scholar] [CrossRef]
  25. Chéour, R.; Khriji, S.; Götz, M.; Abid, M.; Kanoun, O. Accurate Dynamic Voltage and Frequency Scaling Measurement for Low-Power Microcontrollors in Wireless Sensor Networks. Microelectron. J. 2020, 105, 104874. [Google Scholar] [CrossRef]
  26. Aydin, H.; Melhem, R.; Mosse, D.; Mejia-Alvarez, P. Power-aware scheduling for periodic real-time tasks. IEEE Trans. Comput. 2004, 53, 584–600. [Google Scholar] [CrossRef]
  27. Zhang, Y.; Li, H. Energy aware mixed tasks scheduling in real-time systems. Sustain. Comput. Inform. Syst. 2019, 23, 38–48. [Google Scholar] [CrossRef]
  28. Moser, C.; Brunelli, D.; Thiele, L.; Benini, L. Lazy Scheduling for Energy Harvesting Sensor Nodes. In Proceedings of the Working Conference on Distributed and Parallel Embedded Systems (DIPES 2006), Braga, Portugal, 11–13 October 2006; pp. 125–134. [Google Scholar] [CrossRef]
  29. Severini, M.; Squartini, S.; Piazza, F. Energy-aware lazy scheduling algorithm for energy-harvesting sensor nodes. Neural Comput. Appl. 2013, 23, 1899–1908. [Google Scholar] [CrossRef]
  30. Kim, Y.; Lee, K.-S.; Lee, C.-G. Energy Efficient Real-Time Scheduling Using DPM on Mobile Sensors with a Uniform Multi-Cores. Sensors 2017, 17, 2906. [Google Scholar] [CrossRef] [PubMed]
  31. Marchand, A.; Chetto, M. Dynamic scheduling of periodic skippable tasks in an overloaded real-time system. In Proceedings of the International Conference on Computer Systems and Applications (IEEE/ACS), Doha, Qatar, 31 March–4 April 2008; pp. 456–464. [Google Scholar] [CrossRef]
  32. Chéour, R.; Jmal, M.; Kanoun, O.; Abid, M. Evaluation of Simulators Tools and Power-Aware Scheduling Model for Wireless Sensor Networks. IET Compute. Dig. Tech. 2017, 11, 173–182. [Google Scholar] [CrossRef]
  33. Mittal, S. A Survey of Techniques for Approximate Computing. ACM Comput. Surv. 2016, 48, 62. [Google Scholar] [CrossRef]
  34. Liu, J.W.S.; Shih, W.-K.; Lin, K.-J.; Bettati, R.; Chung, J.-Y. Imprecise computations. Proc. IEEE 1994, 82, 83–94. [Google Scholar] [CrossRef]
  35. Wiedenhoft, G.R.; Frhlich, A.A. Using Imprecise Computation Techniques for Power Management in Real-Time Embedded Systems. In Proceedings of the Working Conference on Distributed and Parallel Embedded Systems (DIPES 2008), Milano, Italy, 7–10 September 2008; pp. 121–130. [Google Scholar] [CrossRef]
  36. Hua, S.; Qu, G.; Bhattacharyya, S.S. An energy reduction technique for multimedia application with tolerance to deadline misses. In Proceedings of the Design Automation Conference (IEEE Cat. No.03CH37451), Anaheim, CA, USA, 2–6 June 2003; pp. 131–136. [Google Scholar] [CrossRef]
  37. Gotz, M.; Khriji, S.; Chéour, R.; Arief, W.; Kanoun, O. Benchmarking based Investigation on Energy Efficiency of Low-Power Microcontrollers. IEEE Trans. Instrum. Meas. 2020, 69, 7505–7512. [Google Scholar] [CrossRef]
  38. Broekaert, F.; Fritsch, A.; Sa, L.; Tverdyshev, S. Towards power-efficient mixed-critical systems. In Proceedings of the 9th annual workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), Paris, France, 10–12 July 2013; pp. 31–35. Available online: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.385.4299&rep=rep1&type=pdf#page=31 (accessed on 29 April 2022).
  39. Sha, L.; Abdelzaher, T.; Arzen, K.-E.; Cervin, A.; Baker, T.; Burns, A.; Buttazzo, G.; Caccamo, M.; Lehoczky, J.; Mok, A.K. Real Time Scheduling Theory: A Historical Perspective. Real-Time Syst. 2004, 28, 101–155. [Google Scholar] [CrossRef]
  40. Liu, C.L.; Layland, J.W. Scheduling Algorithms for Multiprogramming in a Hard-Real Time Environment. J. ACM 1973, 20, 46–61. [Google Scholar] [CrossRef]
  41. Ali, I.; Jo, Y.-I.; Lee, S.; Lee, W.Y.; Kim, K.H. Reducing Dynamic Power Consumption in Mixed-Critical Real-Time Systems. Appl. Sci. 2020, 10, 7256. [Google Scholar] [CrossRef]
  42. Maghsoud, Z.; Noori, H.; Mozaffari, S.P. PEPS: Predictive energy-efficient parallel scheduler for multi-core processors. J. Supercomput. 2021, 77, 6566–6585. [Google Scholar] [CrossRef]
  43. Ramesh, U.B.K.; Sentilles, S.; Crnkovic, I. Energy management in embedded systems: Towards a taxonomy. In Proceedings of the First International Workshop on Green and Sustainable Software (GREENS), Zurich, Switzerland, 3 June 2012; pp. 41–44. [Google Scholar] [CrossRef]
  44. Shailesh, T.; Nayak, A.; Prasad, D. An UML Based Performance Evaluation of Real-Time Systems Using Timed Petri Net. Computers 2020, 9, 94. [Google Scholar] [CrossRef]
  45. Silva-de-Souza, W.; Iranfar, A.; Bráulio, A.; Zapater, M.; Xavier-de-Souza, S.; Olcoz, K.; Atienza, D. Containergy—A Container-Based Energy and Performance Profiling Tool for Next Generation Workloads. Energies 2020, 13, 2162. [Google Scholar] [CrossRef]
  46. Casini, D.; Biondi, A.; Buttazzo, G. Task Splitting and Load Balancing of Dynamic Real-Time Workloads for Semi-Partitioned EDF. IEEE Trans. Comput. 2020, 70, 2168–2181. [Google Scholar] [CrossRef]
  47. Saifullah, A.; Agrawal, K.; Lu, C.; Gill, C. Multi-core real-time scheduling for generalized parallel task models. In Proceedings of the IEEE 32nd Real-Time Systems Symposium (RTSS), Vienna, Austria, 29 November–2 December 2011; pp. 217–226. [Google Scholar] [CrossRef]
  48. Baskiyar, S.; Abdel-Kader, R. Energy aware DAG scheduling on heterogeneous systems. Cluster Comput. 2010, 13, 373–383. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.