Date of Completion

7-5-2016

Embargo Period

7-3-2017

Keywords

High Performance, Embedded systems, Response time, Power consumption, Framework Task scheduling

Major Advisor

Prof. Reda Ammar

Associate Advisor

Prof. Sanguthevar Rajasekaran

Associate Advisor

Prof. Song Han

Field of Study

Computer Science and Engineering

Degree

Doctor of Philosophy

Open Access

Open Access

Abstract

Embedded systems exist almost everywhere since 95% of the current market chips contains embedded devices; they can be seen as the brain of such systems. They control everything in their platforms such as access, store and processing of data. They are typically dedicated to perform specific tasks. They range from portable devices such as smart phones and MP3 players to a very complex one such as systems controlling air planes or automotive. Their complexity varies from a single system, which includes a single processing unit, to very complicated one with multiple units. They are designed to be used in many applications in our daily life such as educational, industrial and medical. Due to increases in the complexity of those systems with their tightened constraints on time and power dissipation as well as the scope of environment where they operate comes the need to estimate their performance metrics which include delay, for both processing and communication, and power consumption. Thereby achieving high quality of performance estimations is crucial and critical as well. Designing performance model and evaluation approaches to find system performance metrics is considered essential at an early stage of implementation foranefficient design especially real-time systems. Constructing performance models and evaluation techniques of a given system requires a significant effort. Therefore, it becomes crucial to develop a framework that is able to estimate response time and power consumption in the early stage of design and implementation to avoid unexpected things such as increasing in the project costs, reducing in the productivity and delaying in the schedule.

In this work, we developed a framework to be able to perform analytical analysis to estimate performance metrics “response time and power consumption” for any embedded system during design phase. In this research we refer to the response time “delay” as the combination of the computation delay of software processes and communication as one of the different software architectures and hardware platforms. In order to achieve this, Hierarchical Performance Modeling (HPM) as a technique is used to find the expected average system performance for different layers of abstraction. HPM has been proven to be a powerful tool in terms of estimating delay or power consumption since it involves four layers of abstraction which can be summarized as follows: 1. System Level, 2. Task Level, 3. Module Level and 4. Operation Level. We are proposing a Hierarchical Generic Finite State Machine (HGFSM) which is used to link (map) between functional modeling analysis approaches such as FSM, Petri-Net and UML with the HPM. We also investigated the performance metrics (in terms of response time and power consumption) for an Android platform. Several hardware platforms are used to estimate the expected average value of both metrics and show the difference between it and the average actual values. The designing framework can be used to determine the bottleneck(s) in a system under investigation as we used it in the Android platforms. The output from the framework is performance equations which can be seen as Objective Functions. Then, we minimized the response time in Android platforms using a parallelization approach with GPUs invocation and monitoring the consequences in code size and power consumption. In addition, we developed a method to minimize the response time in embedded systems during run-time phase by scheduling their aperiodic tasks in an appropriate way to reduce their average waiting and turn-around times while maintaining system stability. Furthermore, we developed a scheme to 1) improve response time if possible and 2) ensure that all tasks (processes or jobs) meet their deadlines for periodic tasks in real-time system using Worst-Case Execution Time “WCET” as a factor to decide which task or a set of tasks must be chosen first among several processes or sets exist in a system under investigation. Moreover, we used different probability distributions (pdf) to schedule periodic tasks in real-time systems. In many real-time applications such as multimedia, both audio and data processing and transmission offer a great variation. So using WCET as a factor may lead to undesirable results. Using different probability distributions (pdfs) to estimate the remaining time dynamically is called the moving average remaining time since the computed remaining time changes as a used distribution changes too whenever a task is added or removed from it. The purpose from previous approach is to ensure that all tasks meet their deadlines while maintaining system stability. Lastly, we utilize the designing framework to estimate response time in fire and pollution detection systems.

COinS