Identification of System Scenarios in Dynamic Embedded Systems
Abstract
Modern embedded systems are characterized by complex functionality and run-time adaptivity to their environment. The embedded software has grown in size and become more data-dependent. Its resource needs are changing dynamically. The hardware platforms have also become more powerful and heterogeneous with multiple possible configurations and mechanisms to control the resource usage at run-time. At the same time, the embedded systems are tightly constrained by their environment. This requires resource- and energy-efficient design methodologies that can explore the data-dependent behavior of the systems and control the available system configurations at run-time in such a way that the costs of the system are minimized and all design constraints are satisfied. The systemscenario- based design methodology was developed for this purpose and is based on the concept of system scenarios.
The main assumption of the system-scenario-based design methodology is that the system cost/resource usage variations are caused by datadependent control/data flow of the application software. The application variables with the most data-dependent impact on the resource usage/-costs, are called parameters. System scenarios are identified by profiling different system operation conditions and workloads and identifying socalled run-time situations. Based on their profiled system costs and parameter values they are clustered into scenarios which are run-time detectable groups. The system is optimized for each system scenario by finding a number of possible configurations for its efficient execution on the hardware platform, and system scenario detection and switching mechanisms are designed. At run-time, the active system scenario is detected and the system is switched to one of the configurations in such a way that the overall design constraints are met.
The current thesis deals with the problem of system scenario identification in systems having parameters that can havemany possible values. The main challenges for such system scenario identification is the huge num ber of profiling data, that makes previous bottom-up clustering technique infeasible or practically too inefficient. Another connected problem is the efficient storage of systemscenario information for fast systemscenario detection at run-time. It is not possible to store all possible parameter values in each system scenario as was done earlier.
A top-down approach for system scenario identification is proposed and the parameter values of system scenarios are efficiently represented by convex hull of regions they form in their definition space. The obtained system scenarios are trained in-system by a global optimization algorithm with a cost function that takes into consideration the overheads of the system-scenario detection and switching mechanism in addition to the system costs.
The proposedmethodwas applied in design of a system-scenario-based real-time biomedical embedded systemwith lowenergy consumption. The system-scenario-based implementation was compared to an implementation without system scenarios, where the dynamic behavior of the embedded application was handled by an energy-aware dynamic scheduler. The system-scenario-based implementation had 16% less average energy consumption per application run while meeting the timing deadline. It had only a single parameter and the proposed algorithm created 2 system scenarios. The experimental hardware platform had 5 possible configurations with different settings of processor frequency and supply voltage (DVFS).
The gain of the proposed system scenario identification for other dynamic embedded systems will depend on the number of parameters, their dynamic impact and the number of possible system configurations. When all of them are increased, the gain can be expected to scale up further, due to larger exploration space and better optimization potential. On the other hand, the overhead of system scenario detection and configuration switching will also increase, so they need to be evaluated against each other to find the best trade-off implementation. Still the obtained result shows that the method is capable to optimize the costs even with few parameters. As long there exists well-marked dynamic behavior and enough configuration possibilities in the embedded system to adopt to it, the proposed method is promising.
The current research only considers system scenario identification that optimizes 2 interdependent costs (execution time and energy consumption) of real-time dynamic embedded systems containing a single processor. Dynamic voltage and frequency scaling (DVFS) is used for system configuration. In the future work, the proposed techniques should be extended to multi-dimensional system costs and multi-processor environment and more case studies are needed for other types of configuration mechanisms.