10
Optimization of Frequency-Scaling in Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser, Yosab Bebawy University of Siegen, Germany {babak.sorkhpour, roman.obermaisser, yosab.bebawy}@uni-siegen.de AbstractNowadays, energy-efficiency, energy-management, and energy-saving are essential issues in embedded systems. Many real- time embedded systems need to adapt at run-time to critical events such as faults which may arise within the system or changing environmental conditions. Time-triggered systems are frequently used in safety- critical applications, because precomputed schedules improve predictability and fault containment. Nevertheless, flexibility and resource-efficiency can be conceded by shifting between static scenario-based schedules that are generated by meta-scheduling tools and techniques. Application models, platform models and context models are used by meta-scheduling tools to plan reactions to events and generate meta-schedules. An example of a significant event is dynamic-slack, which can be used to increase the energy-efficiency in systems by changing communication and execution time plans. While methods and algorithms for energy-efficiency, energy-management and energy-saving are used in many applications (e.g., mobile phones, smart TVs), their applicability is still restricted in safety-critical systems. In a multi-core chip, the NoC technology contributes significantly to the overall energy consumption of an MPSoC. Hence, this paper proposes a meta-scheduler for Dynamic Voltage and Frequency Scaling (DVFS) in time-triggered multi-core architectures. The evaluation of correctness and energy-efficiency for cores and routers is carried out experimentally and analytically for dynamic slack-events. The results are monitored, analyzed and validated with a meta-scheduling visualization tool (MeSViz). Keywords: Meta scheduling; safety-critical systems; real-time; Slack; Network-on-chip; MPSoC I. INTRODUCTION Embedded systems are used pervasively in safety-relevant applications ranging from automotive electronics to aerospace, flight-controls and multi-purpose complex aerospace-vehicle systems. Also, multi-core platforms with Networks-on-Chip (NoC) are gaining more attention in safety-critical systems. At the same time, energy-efficiency, energy-management, and energy-saving are significant issues in real-time and embedded systems design [1]. Various applications, standards, and protocols for time-triggered NoCs, such as TTNoC [2] and AEthereal [3], support the fault-isolation and timing requirements of safety-critical systems. Dynamic Voltage and Frequency Scaling (DVFS) is a widely used technique that provides the support to reduce the energy consumption of embedded systems and multi-core architectures. Energy-efficiency is achieved by dynamically adjusting the voltage, frequency and performance settings regarding the application needs. For achieving the full advantage of slack that results from variations in the job execution time, it is important to recalculate the frequency and voltage settings during execution time, i.e., online. However, optimal voltage and frequency scaling algorithms are computationally expensive and complex, if they are used at runtime. Therefore, to overcome and reduce the online complexity, we propose a quasi-static method for frequency scaling supporting time-triggered multi-core architectures. This method allows to exploit dynamic-slack as well as to avoid the energy dissipation due to an online adaptation of the frequency settings. This paper addresses adaptivity in time-triggered systems by deploying multiple precomputed schedules and switching between such schedules at runtime. We present scheduling techniques for attaining the optimal schedules for different events with maximum energy-savings while meeting other functional and nonfunctional constraints. A corresponding optimization problem was formulated in IBM Ilog CPLEX, and results indicate significant improvements in energy efficiency. Previous algorithms and tools, which were used in [4] are extended with support for frequency scaling in a time-triggered multi-core architecture. This technique can also be used for time-triggered systems with mixed-criticality [5] [6], while meeting requirements for adaptivity, energy efficiency and fault- tolerance. For example, meta-scheduling enables reactions to fault events by pre-planning, for each event, a recovery strategy via static scheduling. In many safety-critical real-time systems supporting fault-tolerance and energy-efficiency are important 49 Automotive meets Electronics 12. – 13.03.2019 Dortmund ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

Optimization of Frequency-Scaling in Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling

Babak Sorkhpour, Roman Obermaisser, Yosab Bebawy University of Siegen, Germany

{babak.sorkhpour, roman.obermaisser, yosab.bebawy}@uni-siegen.de

Abstract— Nowadays, energy-efficiency, energy-management, andenergy-saving are essential issues in embedded systems. Many real-time embedded systems need to adapt at run-time to critical events such as faults which may arise within the system or changing environmental conditions. Time-triggered systems are frequently used in safety-critical applications, because precomputed schedules improve predictability and fault containment. Nevertheless, flexibility and resource-efficiency can be conceded by shifting between static scenario-based schedules that are generated by meta-scheduling tools and techniques. Application models, platform models and context models are used by meta-scheduling tools to plan reactions to events and generate meta-schedules. An example of a significant event isdynamic-slack, which can be used to increase the energy-efficiency in systems by changing communication and execution time plans. While methods and algorithms for energy-efficiency, energy-management andenergy-saving are used in many applications (e.g., mobile phones, smartTVs), their applicability is still restricted in safety-critical systems. In a multi-core chip, the NoC technology contributes significantly to theoverall energy consumption of an MPSoC. Hence, this paper proposes a meta-scheduler for Dynamic Voltage and Frequency Scaling (DVFS)in time-triggered multi-core architectures. The evaluation of correctness and energy-efficiency for cores and routers is carried out experimentally and analytically for dynamic slack-events. The resultsare monitored, analyzed and validated with a meta-scheduling visualization tool (MeSViz).

Keywords: Meta scheduling; safety-critical systems; real-time;

Slack; Network-on-chip; MPSoC

I. INTRODUCTION

Embedded systems are used pervasively in safety-relevantapplications ranging from automotive electronics to aerospace,flight-controls and multi-purpose complex aerospace-vehiclesystems. Also, multi-core platforms with Networks-on-Chip (NoC) are gaining more attention in safety-critical systems. At the same time, energy-efficiency, energy-management, and energy-saving are significant issues in real-time and embedded

systems design [1]. Various applications, standards, and protocols for time-triggered NoCs, such as TTNoC [2] and AEthereal [3], support the fault-isolation and timing requirements of safety-critical systems.Dynamic Voltage and Frequency Scaling (DVFS) is a widely used technique that provides the support to reduce the energy consumption of embedded systems and multi-core architectures.Energy-efficiency is achieved by dynamically adjusting the voltage, frequency and performance settings regarding the application needs. For achieving the full advantage of slack that results from variations in the job execution time, it is important to recalculate the frequency and voltage settings during execution time, i.e., online. However, optimal voltage and frequency scaling algorithms are computationally expensive and complex, if they are used at runtime. Therefore, to overcome and reduce the online complexity, we propose a quasi-static method for frequency scaling supporting time-triggered multi-core architectures. This method allows to exploit dynamic-slack as well as to avoid the energy dissipation due to an onlineadaptation of the frequency settings.This paper addresses adaptivity in time-triggered systems by deploying multiple precomputed schedules and switching between such schedules at runtime. We present scheduling techniques for attaining the optimal schedules for different events with maximum energy-savings while meeting other functional and nonfunctional constraints. A corresponding optimization problem was formulated in IBM Ilog CPLEX, and results indicate significant improvements in energy efficiency. Previous algorithms and tools, which were used in [4] are extended with support for frequency scaling in a time-triggered multi-core architecture. This technique can also be used for time-triggered systems with mixed-criticality [5] [6], while meeting requirements for adaptivity, energy efficiency and fault-tolerance. For example, meta-scheduling enables reactions to fault events by pre-planning, for each event, a recovery strategy via static scheduling. In many safety-critical real-time systems supporting fault-tolerance and energy-efficiency are important

49

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Page 2: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

objectives [7]. In this work, the slack occurrence is defined as an event. Algorithm, methods, and scenarios are designed based on the slack event which has to be managed dynamically. The novelty and motivation for this work can be summarized as follows:

Scheduling of communication and computational activities: The scheduling algorithm considers the job-execution times, message-transmission times and the possibilities of frequency changes. Our scheduler supports the mapping and scheduling of both jobs and messages to amulti-core architectures, for minimizing the total energy consumption regarding the timing and frequencies of cores, routers and slack distribution. DVFS in time-triggered architecture: This work enables the use of DVFS for both communication and computation resources, in order to attain advanced energy efficiency of time-triggered multi-core architectures. An optimal scheduling algorithm for energy efficiency:Our proposed optimization method establishes the minimum energy consumption for each slack event by Mixed-Integer Quadratic Programming (MIQP) equations.The MIQP model considers different parameters (e.g., cores, routers) and decision variables (e.g., slowdown factors of cores and routers) in the constraints and the objective function.

The paper structure is represented as follows: The basic concepts and related work are described in section II. In section III the Meta-Scheduler (MeS) and the underlying scheduling techniques are described. The implementation and algorithms for MeS and its features are explained in section IV. The case study and experimental results are given in section V. Section VI concludes the work with future research plans.

II. BASIC CONCEPTS AND RELATED WORK

Communication and job deadlines are critical constraints, which scheduling algorithms and scheduling tools for real-time systems must satisfy. Scheduling algorithms also have a significant impact on energy efficiency. For example, [8] worked on task scheduling and time constraints to save energy without degrading performance. However, computing costs and task deadlines are not guaranteed in many algorithms [8]. In [9] and [10], As Soon As Possible (ASAP) and As Late As Possible (ALAP) techniques for task scheduling are used, but communication scheduling is not considered. Many studies have explained that an interconnection network should be designed to be power-aware and energy-efficient for satisfying system-level requirements concerning energy and power (e.g., [11]).

A. Multi-Core Architecture with NoC

Among different existing multi-core architectures, NoCs have emerged to improve performance and to solve the challenges of existing interconnect solutions for a large number of cores. NoCs provide a scalable and high-performance communication architecture for complex integrated systems. Moreover, this solution tackles the challenge of power consumption that is one

of the important concerns in complex embedded systems. Research results show that the communication interconnect can consume up to 36% percent of the power which is required in an MPSoC [12]. This high amount of power consumption calls for low-power techniques for NoCs. Another advantage of using NoCs is the effective support for multiple clock domains, which is particularly important for the proposed concept in this paper. It is essential to support clock domain crossings for the proposed DFS technique to reduce the amount of power consumption of the system.

NoCs are composed of three main building blocks, i.e., links,Network Interfaces (NI) and routers. Links serve as a physical connection among cores, routers, and NIs. The NI is an interface that makes a logical connection between the cores and the network. The routers send and receive the packets, which are delivered by the other routers or cores through the NI. Consequently, routers are responsible for sending the packets to the right destination by the destination address, which has been included in the packet.

The idea of using DFS and making the NoC power efficient can be implemented at different levels, i.e., at the router level or the NI level. However, in this work, the NI serves as a platform for handling DFS by supporting different schedules, which have been provided by the meta-scheduler and it makes the routers simpler with low overhead.

B. NoC Requirements for Supporting the Proposed Concept

Nowadays, many MPSoCs are based on complex communication infrastructures similar to NoCs (e.g., Samsung Exynos, Multicore DSPs, and Many-core Kalray MPPA). Using a NoC for the implementation of the proposed concept is essential, as NoCs make the interconnected elements independent regarding the clock frequency. More precisely, buffers between different components can be used as clock segregation boundaries in case different frequencies are demanded. Moreover, a routing algorithm is required to route the messages to the right destination. In this study, we have focused on deterministic routing, which is more suitable for the targeted application domain of safety-critical systems.Therefore, the NoC supports the source-based routing, which is controlled by the NIs containing the schedules and routes for the messages. In a real-time embedded system [8] the correctness of its behavior depends on the values and the timing of computational results. Alongside, time-triggered communication of messages ensures predictability and resource adequacy by a priori scheduled transmission times of periodic messages. Therefore, it is a beneficial solution in safety-critical systems to manage the complexity of analytical dependability and timing models.

C. Worst Case Execution Times and DVFS

The Worst-Case Execution Time (WCET) is the maximum execution time of a job, which is pre-estimated or pre-computed using analytical or measurement-based techniques. The WCET

50

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Page 3: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

is an essential input for scheduling in time-triggered architectures. In this work which execution time ETj) is assumed equal WCET, Message Duration m , and energy consumption (E)of a job j on a CMOS-based processor can be estimated as follows:

m ~ , ETj ~ , Power ~C V2

E j = Power ETj , Em = Power m

Where is the clock frequency and C is the effective physical capacitance.Since in DVFS the voltage varies approximately with (

), the performance-energy trade-off of frequency scaling can be expressed as m and ETj and E .

Power ~ 3 E=3 ETj or m

D. Job Procrastination In [15], static and dynamic job procrastination is introduced as a slack-reclamation technique for energy savings over the static job slowdown factors. Their simulation experiments show that dynamic slowdown results on an average in 10% energy gains over the static slowdown. Dynamic procrastination reduces the idle energy consumption by 15% while meeting all timing requirements. Mahapatra et al. [16], proposed an energy-efficient slack distribution technique for multimode distributed real-time embedded systems. Their work provides a network traffic monitoring technique and a slack distribution mechanism to achieve power efficiency. A co-simulation framework was used to evaluate their proposed technique.

In this work, we use slack distribution for achieving power efficiency with scenario-based schedules containing different slowdown factors for DVFS in both cores and routers.

E. Power-Energy Saving Techniques

In NoC-based MPSoCs, energy consumption consists of energy for both computation and communication [17]. Examples of the energy consumption for communication are 18% in the Intel SCC, 33% in the MIT raw on-chip network and 20% in the Alpha 21364 processor [1]. [18] reported that 28% 36% of the total chip power consumption depends on NoCs. DVFS [19] is one of the most widely used techniques for improving power efficiency where the chip’s voltage-frequency levels are varied at run-time [20].

In [21], authors provided energy-efficient scheduling with static schedules for both communication activities and computational tasks on heterogeneous NoC architectures under real-time constraints and for a multimedia application. That algorithm achieved 44% energy reduction on average, compared to the standard earliest-deadline-first scheduler.

In addition, scenario-based scheduling methods were presented. Lee et al. [22] worked on a method for DVFS-enabled multi-cores which reduces the energy consumption by executing the tasks in parallel on a sufficient number of cores

and assigning the lowest possible frequencies. Their scheme saves significant energy when executing the task on a single core, up to 67%. However, the solution does not support scenario-based scheduling and communication frequency scaling.

In [18], authors provide a relation between execution time, DVFS, slack, and energy consumption to achieve energy-efficient scheduling with lower processor frequencies. In [23],authors used Voltage/Frequency Scaling (VFS) and proposed apower-efficient network calculus-based technique to minimize the power consumption of the NoC which can save up to 50% of the total power consumption. Regarding [24], the low powertechnique reduces energy consumption in an average NoC by 49% with negligible effects on network bandwidth and delays.Alongside, scaling the voltage of router components and adaptive multi-voltage scaling (AMVS) schemes based on router utilization save up to 56% in network packet energy consumption as compared to baseline architectures. In [25],authors have proposed two Dynamic Voltage Scaling (DVS) policies for a GALS NoC in which the first one is a history-based DVS policy and the second one is a FIFO-adaptive DVS. Their results show that FIFO-adaptive DVS achieves 36% Energy-Delay (ED) product savings compared to the DVS policy. All the above techniques intend to save dynamic power consumption in NoCs by changing the voltage or frequency of routers.In contrast, our approach is an off-line static-scheduling algorithm for determining the optimal meta-schedules and dynamic slowdown factors in NoCs for energy-efficiency in safety-critical embedded systems. Therefore, this work developsa dynamic-slack-reclamation technique to reduce the static and dynamic energy consumption.The presented solution is based on [4], because related work indicates that slack-algorithms for DVFS [26] are valuable methods for reducing the energy consumption by 20 50% [27].In [15], results showed that a dynamic-slowdown for cores inaverage results in 10% energy gains over static models. In [4],results show that a dynamic-slack algorithm for cores, compared to the static-slack, produces a maximum of 64.4% energy savings in a single schedule and 41.61% energy savings inaverage.

F. Quasi-Static Scheduling

Quasi-static scheduling supports adaptive behaviors in order to reduce system costs when a limited number of predefined cases in scenario-based systems can occur. The quasi-static scheduling technique is restricted to dynamic reactions and activities, while having a very limited scheduling overhead [28]. In [29], authors introduced quasi-static schedules of data flow graphs in the presence of limited channel capacities, however the results donot guarantee the preservation of deadlock freedom. Andrei et al. [30], proposed a Quasi-Static Voltage Scaling (QSVS) scheme with a constant online time complexity regarding static and dynamic slack, while supporting only voltage scaling. Their mathematical formulation is trying to optimize the energy consumption by using DVFS with emphasis on changing the

51

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Page 4: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

necessary voltage. However, the proposed method is for a single CPU. Most of the existing and previous works addressed the issue of energy optimization with the consideration of the dynamic or static slack, quasi-static scheduling for single cores separately in the context DVS, DFS, DVFS. In this paper, we propose a meta-scheduling method which is more flexible and extendable than other quasi-static techniques for a wide range of applications, e.g., energy minimization of multitasking real-time embedded systems. This technique canexploit and integrate other scheduling problems in the quasi-static application era. The obtained performance is superior to the previously proposed dynamic and scenario-based approaches. In other words, this work develops an energy-efficient scheduling algorithm regarding dynamic-slack and slowdown factors in multi scenario-based systems for both cores and routers on MPSoCs systems.

III. SCHEDULING FOR TTMPSOC The presented scheduler is based on Mixed-Integer Programming (MIP) in order to provide optimal solutions with respect to energy efficiency. At the cost of higher runtime, MIP methods can find better solutions than heuristics such as genetic algorithms [31].The basic structure of the scheduling technique for time-triggered communication in NoCs was done by formulating aMILP problem in [32] and it was extended to MIQP in our previous work [4]. It consists of constants, decision variables, constraints, and an objective function, which are modeled by a set of MIQP-compatible equations. The MILP and MIQP problems are solved using the IBM optimizer In [4], similar methods for linearization [33] and linear approximation [34] were used.

Static-Scheduling The scheduling problem distinguishes two models, namely a physical model and a logical model. The physical model describes the on-chip resources including the cores, the routers and their connectivity via the NoC. The second model is a logical model of the application that defines jobs and their dependencies based on exchanged messages. The solution of the MIP problem is the allocation of jobs to cores and scheduling the messages between such allocated jobs while minimizing the critical path delay.

Collision Avoidance Constraints: These constraints ensure that a message can visit the link between two cores, a and b, only if there is a direct connection between these two cores. In this work, we introduce a slowdown factor for both jobs and messages, which has a direct effect on the message collision avoidance.

Connectivity Constraints: These constraints are used for defining network connectivity (e.g., cores, routers, and links).

Job Allocation: An array is used for defining the allocation of jobs to the cores. It is needed to clarify that jobs are not scheduled on the NoC but rather on cores.

a1

aj

Hop Count: The hop count in [4] and [32] was used as a decision variable to specify the number of visited routers hi of a message m to the destination job.

h1

hm

H

Path and Visited Cores: The path ( ) is describing the cores which a message visits. A two-dimensional array is used where the rows define the messages m and, the columns represent the cores c.

Job Assignment Constraints: In this work, the job assignment strategy is assigning one job to only one core. Message Duration: is the duration of the message transmission (depending on message length) from one hop to the next one.

du1

dum

Meta-Scheduling Scenario-based and multi-mode approaches are essential techniques in embedded-systems, e.g., design space exploration [35] for MPSoCs and reconfigurable systems [36]. This technique in some papers is called super-scheduling [37], while in other papers and in this work it is called meta-scheduling [4].Meta-scheduling and quasi-static scheduling strategies are used in platform-based designs, e.g., SAFEPOWER and ArtistDesign [39], where a group of schedules is generated off-line and at runtime the scheduler will choose a specific schedule based on the scenario, e.g., the occurrence of faults and the actual execution times of processes. Optimization techniques for the generation of schedule graphs supporting such a meta-scheduling approach have been developed and implemented. Meta-scheduling can promise better performance by reducing dynamic scheduling overhead and recovering from faults. The Meta-Scheduler (MeS) in this paper is an extension of the tool that was designed in [4]. We improved MeS to handle static and dynamic slack for energy-efficient scheduling in this work. In our previous work [4], a scheduling technique was implemented in which we solved scheduling problems with scenario-based approaches and quasi-static [38] task mappings for energy-efficiency in the cores.

52

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Page 5: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

IV. SCHEDULING FOR ENERGY-EFFICIENCY

We schedule each job on a single core of the multi-core processor such that the time constraints, like job and message deadlines, are satisfied, while the total energy consumption is decreased for both cores and routers. Our main objective is finding and minimizing the total energy consumption by maximizing the slowdown factors for computations and communication activities using dynamic and static slack-event scenarios.

A. Problem Modeling To build a schedule based on an event, MeS needs to design a scenario by describing decision variables, constants, constraints and the objective function. In this tool, most of the decision variables are common with previous works [32] [4].

B. Decision Variables Slow Down Factors: Regarding the DVFS technique, energy consumption is related to the frequency. When the frequency of cores and routers is reduced, the job’s execution times and message transmission duration times will be increasedaccordingly. SlowDF and MSlowDF are defined as the normalized frequency in each schedule model (SM) [4]. A SMhas its slowdown factor (SlowDF and MSlowDF) array for jobsand messages, which are assigned to the cores and routers. For example, SlowDF4=5 means that the execution time of job4 isfive times increased, while the MSlowDF5=3 means that the transmission duration time of m5 is increased by three times inthe whole path from sender to receiver.

SlowDF=

j1

jm

lowDF =

m1

mn

C. Scheduling Constraints In this part, the constraints which are used in CPLEX for scheduling are introduced.

Job Dependency Constraints: A job dependency is a relationship between two jobs in which one job depends on the end-time of its predecessor job in order to start its execution [4] regarding injection time (mi) of related messages.

If sender(mi) is jn sender(mi+1) is jn+1 destination(mi) is jn+1

→ (mi) +( h(mi) +1) Du(mi). lowDF(mi) ) +ET(jn) SLOWDF(jn ) ≤ ET( jn+1) SLOWDF( jn+1) ≤ (mi+1)

Message Deadlines: To control the timing of messages, the AM defines deadline Di. The scheduler guarantees that regarding

m1 each message cannot be delivered later than the starting destination job.

j1 , m1 , m1 H :

m m m m j1

D. Objective Function The objective is to maximize the energy-efficiency for both

cores and routers. In other words, the objective function minimizes the energy consumption by increasing the job execution time and message transmission duration times with SlowDF and SlowDF by reducing the frequency of the cores and routers. It is achieved by finding the energy consumption of each job and message (i.e., whole transmission path), expressed as the job execution time j multiplied by the power of two of the slow down factor SlowDF j plus the duration of the message transmission multiplied by the power of two of the slow down factor SlowDFm. Finally, CPLEX will maximize the sum of them.

job {1,…,j } , mi

j (SlowDFj2

m lowDFm2

V. IMPLEMENTATION OF MES MeS uses the IBM ILOG CPLEX C++ libraries for

scheduling and generating the optimum solutions [40]. MeS is using the LibXML++ [41] parser to parse XML input data. In contrast to the previous version [4], the new version implements new constraints and variables (e.g., lowDF) for energy-efficiency. The main goal of the MeS design is flexibility for static scheduling on NoCs with support for different application architectures via XML-defined pluggable inputs. In addition, the tool provides components for visualization and scheduling and high performance with a modular architecture that enables the selection of several scheduling parameters. MeS uses MeSViz to visualize the results [42] and MeSViz uses the ChartDirector library to generate gantt maps [43].

A. Input model schema For creating correct data as an input for MeS, data formats for the physical model (PM), application model (AM), schedule model (SM) and context model (CM) need to be defined. These data formats can be expressed using an XML schema. The AM represents the application layer and every element which is related to jobs and messages (e.g., WCET, ID). For example, the AM includes specific attributes that are needed to describes job and message as shown in Figure 1.

<xs:element name="job"> <xs:complexType>

<xs:attribute name="ID" type="xs:int"/><xs:attribute name="WCET" type="xs:int"/><xs:attribute name="start_time" type="TimingType"/>

</xs:element>Figure 1. Metadata of job element attributes in AM

53

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Page 6: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

The PM represents the platform layer and every element which is related to cores, routers and links (e.g., source,destintion, ID). To allocate jobs and messages to physical elements of the platform, the PM needs to describe nodes and their links with relevant attributes such as transmission rates (cf. Figure 2).

<PlatformModel> <node energy="" frequency="" ID="" Type="">{1,1}</node> <link from="" ID="" to="">{1,1}</link>

</PlatformModel> Figure 2. Metadata of PM element attributes in schema

The CM represents the context layer. Every event that can occur at runtime is anticipated at design time to generate a specific scenario and schedule for the event. These events are related to the AM and PM elements (e.g., slack, fault, energy).The SM represents the schedule results and all other data models (i.e., AM, PM, CM) to be used in the visualization.In this work, the Oxygen XML editor was used to define an XML schema to describe the structure of the documents for AM, PM, and CM. The goal of an XML schema is to prepare the common standard building blocks of an XML document (cf. overview of SM in Figure 3). <SchedulingModel event_ID="" ID="" makespan="">

<ApplicationModel>{1,1}</ApplicationModel> <PlatformModel>{1,1}</PlatformModel> <ContextModel event_ID="">{1,1}</ContextModel>

</SchedulingModel> Figure 3. Overview of scheduling models

B. Input Metadata for MeS For creating correct data structures (e.g., SM, PM, AM, CM [4]) as an input for MeS, they need to be designed according to the XML schema (e.g., using Oxygen XML [44]) and implemented as an XML file [45]. After defining the schema and designing a corresponding XML file, the XML file has to be validated against the schema. The PM, AM and CM elements (e.g., nodes, jobs, messages, faults) need to comply with the data format of the schema (cf. Figure 4). <ApplicationModel>

<job ID="0" WCET="50" min_energy="1" max_energy="100" deadline="1500"/>

<job ID="1" WCET="25" min_energy="1" max_energy="100" deadline="1500"/>

<job ID="2" WCET="65" min_energy="1" max_energy="100" deadline="1500"/>

<message ID="0" from="0" to="1" size="5" min_energy="1" max_energy="100" />

<message ID="1" from="1" to="2" size="5" min_energy="1" max_energy="100" />

Figure 4. XML AM

As the first step in MeS, a parser reads and processes all data in the XML files in order to establish the AM, PM and CM data structures (cf. Algorithm 1) [14].

Algorithm 1. XML parser

C. Choice of Optimization Algorithm MIQP A few key parameters played a role in the selection of our optimization method and algorithm. For instance, we can use the popular MILP, MIQP, or Quadratically Constrained Quadratic Program (QCQP)-based optimization, as our objective function by default. In this work to solve the scheduling algorithms with CPLEX using barrier optimizers. The MIQP method can obtain the optimal solution and MeS establishes a MIQP problem to find a global optimum [11]. A quadratic objective function and equations with linear constraints in a MIQP problem are included. Also, some of the variables in the equations are constrained to other values, e.g., integer values [46]. MIQP is a well-known NP-hard problem [47]. Some optimizer tools, such as CPLEX, MATLAB, Gurobi, OSQP, and XPRESS can help to speed up the computation process in MIQP problem-solving. In this work, we have used the issues outlined (e.g., objective function) in the previous section and have formulated the proposed problem as a MIQP problem. Because the MIQP is NP-hard, in the worst case scenario, the branch and bound algorithm used by CPLEX has along runtime. Therefore, sometimes it cannot be directly used as a run-time solution when the problem size increases (e.g., number of constraints and decision variables) because the MIQP execution-time will increase quickly.

D. Linearizing the Product In order to find a solution, we discuss how to transform the

problem into a MIQP model which CPLEX can solve. In [32],the MILP technique is used for the objective function, and MIQP is used for all the parameters in [4]. However, in this work, we found that we cannot use MIQP directly in CPLEX when problems are non-linear, e.g., 2 where

2 and are decision variable. A linearization [48] was realized by changing usage from decision variable to a normal variable and counting the message paths directly from the path array as follows:

1. was fixed and set to 1 and MeS was run. 2. From the first SM with static-slack the value of was

discovered. 3. MeS was re-run with which were discovered

in step two and used as an input data for the schedule generation.

E. Functions and Algorithms The integration of the MeS functions is a crucial point of

the design to speed up significant amounts of data processing for scheduling and visualization. In the beginning, an XML parser reads and processes all data in the XML files for establishing the AM, PM and CM data structures. In the next step, the meta-scheduler runs and organizes the input data for the scheduler.

54

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Page 7: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

Finally, all events and visited results are visualized [42] (cf. Algorithm 2).

Algorithm 2. Main function algorithm

F. Visualization of Schedules The evaluation of MeS results needs a visualization tool.

Meta-Scheduling Visualizer (MeSViz) is an advanced tool which is designed to visualize and displays SM contents (e.g., jobs, cores, messages, allocation, assignment) and arrange them in an understandable visualized way [42]. To evaluate the total energy savings for both cores and the NoC, performance, and deadline misses of our algorithm, MeSViZ is customized to calculate and display the energy consumption of cores EnergySM_Core, routers EnergySM_R and each SM E_SMx. Finally, we compare the energy consumption and energy saving of cores SavingE_Cores, routers SavingE_R and the NoC E_SMx of the SM with static slack with an average of all dynamic slack SMs (SavingE_Total).

EnergySM_Core=ETji

SlowDFji, EnergySM_R=

DURMiHopMi

MSlowDFji

EAvgSMdynamic_Core=E_Core_SMn

, EAvgSMdynamic_R=E_R_SMm

SavingE_Cores= ESM_Cstatic - EAvgSM_Cdynamic

ESM_Cstatic100

SavingE_R= ESM_Rstatic - EAvgSM_Rdynamic

ESM_Rstatic100

E_SMx = E_Coren+E_Rm

SavingE_Total= ESMstatic - EAvgSMdynamic

ESMstatic100

VI. EXAMPLE SCENARIO AND RESULTS

This section discusses the results of the linearized MIQP [49]model and evaluates MeS results which are visualized withMeSViz. MeS and MeSViz were run on a virtual cluster machine with 12 cores of an Intel Xeon E5-2450 2.2 GHz and 60GB RAM on Ubuntu 14.04.5 (GNU/Linux 3.13.0-100-generic x86_64). To compare and measure efficiency and effectiveness our method with our previous work [4], we are using equal AM and PM structures which are used in [4]. Compared to previous work [4], the AM and scheduler algorithm was extended to add and use slowdown factors for routers.

A. Input models The input data for the case which is designed and tested is

shown in Table 1. In the PM that is presented in Figure 6, we are using a sample network which can use in MPSoCs design. The MeS scheduling and routing methodology is independent to the hardware platform and can support different network topologies (e.g., mesh, direct network, indirect network, balanced tree).

Table 1. MeS input constant [4]

Input Model Input Name ID Data

AM

Job

0 WCET=21 WCET=42 WCET=63 WCET=84 WCET=10

Message Quantity=6 ID start=0Deadline All job= 1185

Slowdf, MSlowdf All job and messages: min =1 & max =100

SlackEvent All job= 50%PM

Hop (Router) Quantity=2 Start ID==0Core Quantity=5 Start ID==6

Link Quantity=6 Start ID=0

Figure 5 is representing the dependencies of the jobs J and messages M which are used in the AM. Figure 6 is representing the end systems ES (cores), routers (Hop) and their connectivities (Link) which are used in PM.

J 1

J 2 J 4 J 3

J 0

M0

M1

M2

M3

M4

M5

Figure 5. The AM of case study [4]

Hop 1 Hop2

ES0 ES 1

ES 2

ES 3 ES 4

Link 0

Link 1

Link 2

Link 3

Link 4

Link 5

Figure 6. The PM of case study [4]

55

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Page 8: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

Figure 7. Static slack SM which generated by MeSViz

B. Output results MeS generates 94 schedules for normal and slack events.

GVEdit generates a graph map with 94 SMs. Figure 7 is a sample of 94 visualized schedules that MeSViz generated. It represented every information which is needed to control and manage the schedules behavior by the system designer. This information includes:

messages and job allocations. Slowdown factor for each job and message. Message dependency to sender and receiver job, routing paths, injection time and duration. Job execution time and finish time. Total schedule time

C. Discussion In Table 3 the general results of fourteen samples of

collected data from SM outputs are presented. The first schedule is generated with the static slack technique, schedule ID 49 with minimum energy saving, while schedules (ID 1 to 93) used the dynamic slack technique. The slack mode, energy consumption, and energy-savings of each SM and average energy consumption (total dynamic slack SMs) are compared to the static-slack SM as shown in Figure 8, Figure 9, and Figure 10. Results in [4] which are presented in Table 2, reached up to 41.61% energy-saving on average at cores only. However, in this work, it has been observed that energy-saving in cores is reduced by 8.5% if compared to results in [4]. In other words, energy-saving becomes 33.11% for cores, while routers have reached 22.66% energy saving.

Table 2. Energy results for example [4]

SM ID Slack Mode Energy Consumption Energy-Saving0 Static 1.875 0

49 Dynamic 1.62 13.6%5 Dynamic 0.6675 64.4%

Average Dynamic 1.0948 41.61%

These results confirm our extended meta-scheduling algorithm, method, where the combination of using dynamic-slack and slowdown factors can reduce the energy consumption in the time-triggered MPSoCs. The system has better energy-efficiency in the NoC, while being robust and adaptive regarding the use of slowdown factors for both cores and routers.

Table 3. general results for model example

Figure 8. Energy consumption results for cores and routers (Watts)

SM ID Core cons Msg Cons Core save Msg save Total Cons Total EngSavStatic SM 1.65 4.0333 0.0000% 0.0000% 5.68333 0.0000%

1 1.3625 2.7778 17.4242% 31.1295% 4.14028 27.1505%2 1.3325 3.6333 19.2424% 9.9174% 4.96583 12.6246%5 0.6675 3.1444 59.5455% 22.0386% 3.81194 32.9277%

18 0.9925 3.1444 39.8485% 22.0386% 4.1369 27.2099%38 1.0225 3.0556 38.0303% 24.2424% 4.07806 28.2452%44 0.9825 3.0556 40.4545% 24.2424% 4.03806 28.9490%46 1.1825 3.0556 28.3333% 24.2424% 4.23806 25.4300%49 1.4625 3.6333 11.3636% 9.9174% 5.09583 10.3372%63 0.9225 3.1444 44.0909% 22.0386% 4.06694 28.4409%70 1.2825 3.1444 22.2727% 22.0386% 4.42694 22.1066%80 1.1 3.0556 33.3333% 24.2424% 4.15556 26.8816%93 1.38 3.0556 16.3636% 24.2424% 4.43556 21.9549%

Average 1.10363 3.11918 33.1134% 22.6651% 4.22281 25.6983%

012345

Stat

ic SM

1 2 5 18 38 44 46 49 63 70 80 93Av

erag

e

Core cons Msg Cons

56

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Page 9: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

Figure 9. Total SMs energy consumption results (Watts)

Figure 10. Total energy-saving results for cores and routers

VII. CONCLUSION

We have proposed a new scenario-based and energy-efficient meta-scheduling algorithm and techniques for NoC-based MPSoCs and formulated a MIQP problem. Our algorithm minimizes the frequency of cores and routers by maximizing the slowdown factor of execution times for each job and the transmission duration for each message on the whole path in different scenarios. As a result, it reduces the dynamic power consumption of the NoC framework of both routers and cores.The novel MeS technique is expandable and used to reduce the dynamic power consumption in the scenario-based schedules. MeS can be used in multi-scenario-based (e.g., fault, safety,power-saving) scheduling and adaptive time-triggered systems. MeSViz is used for evaluating MeS results, and it confirms the accuracy and performance for MeS algorithms. The simulation results show that our dynamic-slack and slowdown factor method, compared to the static-slack, produces up to 59.57%energy savings for cores and 31.12% for routers. The energy savings are up to 32.92% in a single schedule and 25.69%energy-savings of NoCs in average. After achieving the positive results from this case study, some further work is still needed to be carried out in the future (e.g., energy-saving on multi-core multi-job systems, fault-injection and more scenarios related to safety). Moreover, we are going to extend these techniques and methods for energy-efficient scheduling of other system resources and scenario-based requirements.

ACKNOWLEDGMENT

The European H2020 project SAFEPOWER has supported this work under the Grant Agreement No. 687902.

REFERENCES

[1] Jia Huang, Christian Buckl, Andreas Raabe, "Energy-Aware Task

Allocation for Network-on-Chip Based Heterogeneous Multiprocessor Systems," in Parallel, Distributed and Network-Based Processing (PDP), 2011 19th Euromicro International Conference on, Ayia Napa, Cyprus, 9-11 Feb. 2011.

[2] C. SCHÖLER, "Novel scheduling strategies for future NoC and MPSoC architectures," 2017.

[3] MARCHETTO, Guido; TAHIR, Sarosh; GROSSO, Michelangelo, "A blocking probability study for the aethereal network-on-chip," in Design & Test Symposium (IDT), 2016 11th International, 2016.

[4] B. Sorkhpour, R. Obermaisser and A. Murshed, "Meta-Scheduling Techniques for Energy-Efficient, Robust and Adaptive Time-Triggered Systems," in 2017 IEEE 4th International Conference on Knowledge-Based Engineering and Innovation (KBEI), Tehran, 22 Dec - 22 Dec 2017.

[5] Guan, F., Peng, L., Perneel, L., Fayyad-Kazan, H., & Timmerman, M, "A Design That Incorporates Adaptive Reservation into Mixed-Criticality Systems," in Scientific Programming, 2017.

[6] Yuan-lin ZhouSong-tao FanYing-min Jia, "Analysis on Time Triggered Flexible Scheduling with Safety-Critical System," in Proceedings of 2017 Chinese Intelligent Systems Conference, Singapore, 2017.

[7] Burns, Alan, and Robert Davis, "Mixed criticality systems-a review," Department of Computer Science, University of York, Tech. Rep , 2013.

[8] RAJAEI, Ramin; HESSABI, Shaahin; VAHDAT, Bijan Vosoughi, "An Energy-Aware Methodology for Mapping and Scheduling of Concurrent Applications in MPSoC Architectures," in Electrical Engineering (ICEE),19th Iranian Conference , 2011.

[9] T. Lei, S. Kumar, "A Two-step Genetic Algorithm for Mapping Task Graphs to a NoC Architecture," in Euro micro Symposium on Digital Systems Design (DSD 2003), Turkey, Sept 2003.

[10] T. Lei, S. Kumar, "Algorithms and Tools for NoC Based System Design," in of the 16th Annual Symposium on Integrated Circuits and Systems Design SBCCI 2003, Sao Paulo, Brazil, September 8-11, 2003.

[11] BENINI, Luca; DE MICHELI, Giovanni, "Powering networks on chips: energy-efficient and reliable interconnect design for SoCs," in proceedings of the 14th international symposium on Systems synthesis,2001.

[12] Wang, Hangsheng, Li-Shiuan Peh, and Sharad Malik, "Power-driven design of router microarchitectures in on-chip networks," in 36th annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society, 2003.

[13] HUSE, Markus Iversen, FlexRay Analysis, Configuration Parameter Estimation, and Adversaries, Master's thesis, NTNU, 2017.

[14] "Compiler-Directed Dynamic Voltage/Frequency Scheduling for Energy Reduction in Microprocessors," in ISLPED '01 Proceedings of the 2001 international symposium on Low power electronics and design,Huntington Beach, California, USA , 2001.

[15] Jejurikar, Ravindra, and Rajesh Gupta, "Dynamic slack reclamation with procrastination scheduling in real-time embedded systems," in Proceedings of the 42nd annual Design Automation Conference,Anaheim, CA, USA, 13-17 June 2005.

[16] MAHAPATRA, Rabi N.; ZHAO, Wei, "An energy-efficient slack distribution technique for multimode distributed real-time embedded systems," IEEE Transactions on Parallel and Distributed Systems, pp.650-662, 2005.

[17] Wei Hu, Xingsheng Tang, Bin Xie, Tianzhou Chen, Dazhou Wang , "An Efficient Power-Aware Optimization for Task Scheduling on NoC-based Many-core System," in 10th IEEE International Conference on Computer and Information Technology (CIT 2010), 2010.

[18] Chai, S., Li, Y., Wang, J., & Wu, C, "An energy-efficient scheduling algorithm for computation-intensive tasks on NoC-based MPSoCs," Journal of Computational Information Systems, pp. 1817-1826, 2013.

0246

Stat

ic SM

1 2 5 18 38 44 46 49 63 70 80 93Av

erag

e

0%

20%

40%

60%

Stat

ic SM

1 2 5 18 38 44 46 49 63 70 80 93Av

erag

e

Core_E Sav R_E Sav

57

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach

Page 10: Optimization of Frequency-Scaling in Time-Triggered Multi ...€¦ · Time-Triggered Multi-Core Architectures using Scenario-Based Meta-Scheduling Babak Sorkhpour, Roman Obermaisser,

[19] D. M. Brooks et al, "“Power-Aware microarchitecture:design and modeling challenges for next-generation microprocessors," vol. 20, pp. 26-44, 2000.

[20] Prabhu, S., Grot, B., Gratz, P., & Hu, J, "Ocin tsim - DVFS Aware Simulator for NoCs," SAW, 2010.

[21] HU, Jingcao; MARCULESCU, Radu, "Energy-aware communication and task scheduling for network-on-chip architectures under real-time constraints," in Design, Automation and Test in Europe Conference and Exhibition, 2004.

[22] Lee, W. Y., Ko, Y. W., Lee, H., & Kim, H, "Energy-efficient scheduling of a real-time task on DVFS-enabled multi-cores," in In Proceedings of the 2009 International Conference on Hybrid Information Technology.,2009.

[23] Zhan, J.; Stoimenov, N.; Ouyang, J.; Thiele, L.; Narayanan, V.;Xie, Y, "Designing Voltage-Frequency Island Aware Power-Efficient NoC through Slack Optimization," in In Proceedings of the 50th Annual Design Automation Conference, (2013, May.

[24] H. K. Mondal, Power- and performance-aware on-chip interconnection architectures for many-core systems, New Delhi: Indraprastha Institute of Information Technology Delhi (IIITD), 2017.

[25] Abbas Rahimi;Mostafa E.Salehi;Siamak Mohammadi;Sied MehdiFakhraie, "Low-energy GALS NoC with FIFO—Monitoring dynamic voltage scaling," Microelectronics Journal, vol. 42, no. 6, pp. 889-896, 2011.

[26] KIM, Woonseok; KIM, Jihong; MIN, S, "A Dynamic Voltage Scaling Algorithm for Dynamic-Priority Hard Real-Time Systems Using Slack Time Analysis," in Proceedings of the conference on Design, automation and test in Europe. IEEE Computer Society, 2002.

[27] Aydin, H., Melhem, R., Mossé, D., & Mejia-Alvarez, P, "Dynamic and aggressive scheduling techniques for power-aware real-time systems," in 22nd IEEE, 2001.

[28] J. HEULOT, Runtime multicore scheduling techniques for dispatching parameterized signal and vision dataflow applications on heterogeneous MPSoCs, PhD Thesis. INSA de Rennes., 2015.

[29] Falk, J., Schwarzer, T., Glab, M., Teich, J., Zebelein, C., & Haubelt, C., "Quasi-static scheduling of data flow graphs in the presence of limited channel capacities," in Embedded Systems For Real-time Multimedia (ESTIMedia), 2015 13th IEEE Symposium on. IEEE, 2015.

[30] Andrei, A., Eles, P., Jovanovic, O., Schmitz, M., Ogniewski, J., & Peng, Z., "Quasi-static voltage scaling for energy minimization with time constraints," IEEE transactions on very large scale integration (VLSI) systems, pp. 10-23, 2011.

[31] Foster, J. D., Berry, A. M., Boland, N., & Waterer, H. , "Comparison of mixed-integer programming and genetic algorithm methods for distributed generation planning," IEEE transactions on power systems, pp. 833-843, 2014.

[32] Murshed, Ayman ; Obermaisser, Roman; , Hamidreza,; Khalifeh, Ala; Ahmadian, Hamidreza, "Scheduling and Allocation of Time-Triggered and Event-Triggered Services for Multi-Core Processors with Networks-on-a-Chip," in In Industrial Informatics (INDIN), 2015.

[33] "Linearization," Wikipedia, [Online]. Available: https://en.wikipedia.org/wiki/Linearization.

[34] "Linear approximation," Wikipedia, [Online]. Available: https://en.wikipedia.org/wiki/Linear_approximation.

[35] Van Stralen, Peter, and Andy Pimentel, "Scenario-based design space exploration of MPSoCs," in Computer Design (ICCD), 2010 IEEE International Conference on, 2010.

[36] Stefan Wildermann, Felix Reimann,Daniel Ziener, Jürgen Teich, "Symbolic design space exploration for multi-mode reconfigurable systems," in CODES+ISSS '11 Proceedings of the seventh IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, Taipei, Taiwan, October 09 - 14, 2011.

[37] Persya; Christy, A; Gopalakrishnan Nair, TR, "Model Based Design of Super Schedulers Managing Catastrophic Scenario in Hard Real TimeSystems," in Information Communication and Embedded Systems (ICICES), 2013.

[38] Cortés; Alejandro, Luis ; Eles, Petru; peng, Zebo, "Quasi-Static Scheduling for Multiprocessor Real-Time Systems with Hard and Soft Tasks," in Embedded and Real-Time Computing Systems and Applications, 2005.

[39] Benini, Luca., ArtistDesign Platform and MPSoC Design, Jan-Dec 2011. [40] I. Corp, IBM ILOG CPLEX Optimization Studio CPLEX User’s Manual,

vol. Version 12 Release 7, 1987-2016, pp. 14,190.[41] M. Cumming, "The GNOME Project," [Online]. Available:

https://developer.gnome.org/libxml++-tutorial/stable/index.html.[42] B. Sorkhpour and R. Obermaisser, "MeSViz: Visualizing Scenario-based

Meta-Schedules for Adaptive Time-Triggered Systems," in AmE 2018 -Automotive meets Electronics, Dortmund, Germany, 2018.

[43] "ChartDirector," Advanced Software Engineering , [Online]. Available: http://www.advsofteng.com/product.html.

[44] "Oxygen XML Editor," [Online]. Available: http://www.oxygenxml.com/xml_editor.html.

[45] "XML Schema Tutorial," [Online]. Available: http://www.w3schools.com/Xml/schema_intro.asp.

[46] D. Axehill, "Applications of integer quadratic programming in control and communication,” Ph.D. dissertation, Department of Electrical Engineering Koping University," Dec 2005.

[47] L. Wolsey, Integer programming, ser. Wiley-Interscience series in discrete mathematics and optimization, 1998.

[48] R. Fourer, "Strategies for “Not Linear” Optimization," in 5th INFORMS Optimization Society Conference, Houston, TX , 6-8 March 2014.

[49] I. k. center, "linearization switch for QP, MIQP," IBM, [Online]. Available: www.ibm.com/support/knowledgecenter/en/SSSA5P_12.7.0/ilog.odms.cplex.help/CPLEX/Parameters/topics/QToLin.html.

58

Automotive meets Electronics 12. – 13.03.2019 Dortmund

ISBN 978-3-8007-4877-8 © VDE VERLAG GMBH Berlin Offenbach