Utilization based Spare Capacity Distribution

Size: px
Start display at page:

Download "Utilization based Spare Capacity Distribution"

Transcription

1 Utilization based Spare Capacity Distribution Attila Zabos, Robert I. Davis, Alan Burns Department of Computer Science University of York Abstract Flexible real-time applications have predefined temporal limits within which they can operate. Real-time systems that support flexible scheduling need a mechanism to distribute spare capacity in a predictable way among the running applications with respect to the applications temporal limits and available system resources. This paper introduces a greedy algorithm for spare capacity distribution in flexible real-time systems to increase resource utilization during run-time. The efficiency of the proposed algorithm is evaluated by empirical tests. Additionally, performance measurements were carried out on embedded hardware to draw conclusions about the applicability of the proposed algorithm in real applications. 1. Introduction There are flexible real-time applications, e.g. multimedia, telecommunication or control applications, which have variable temporal requirements. Each of these applications can operate at different frequencies (i.e. having a variable period) and can handle different processing time assignments (i.e. having a variable budget). Flexible applications are developed in a way that they can accomplish their tasks within predefined temporal limits. Dedicated middleware layers placed on top of a real-time operating system can adjust the temporal attributes of running and newly started applications with respect to their temporal limits. The appropriate temporal values are chosen depending on the available system resources. The FRESCOR 1 framework provides such a middleware layer to support the development of flexible realtime systems. 1. Framework for Real-time Embedded Systems based on COntRacts

2 Additional to the flexibility, temporal protection is becoming more significant in the design of real-time systems even if these systems are not intended to be used in safety-critical environments. A common technique to enforce temporal partitioning is the application of server mechanisms [14], [11]. In the FRESCOR framework, virtual resources are used to enforce temporal protection as a means of resource reservation in real-time systems. They have very similar properties to servers [9]. The greedy algorithm, that we present in this paper, defines a method to distribute a hardware resource s spare capacity among applications in the system. This algorithm, further referred to as the spare capacity distribution (SCD) algorithm, provides an approach to modify the virtual resources temporal attributes during run-time (i.e. budget, period, deadline and as a consequence their priorities as well), under the condition that their temporal requirements are not violated. The transition to a system state where the new temporal values and priority ordering are used, is performed at a feasible time instant (e.g. at an idle instant [16]). The transition from one set of applications to another one, is the subject of future research. 2. Motivation The framework to support flexible real-time applications, is provided by FRESCOR, which was also the initial motivation for this work. Although the means to change the temporal attributes of applications are supplied by the framework, there is a need for an algorithm which allows the middleware to distribute a hardware resource s spare capacity in a fair and efficient way, and to appropriately modify the virtual resources temporal attributes. Flexible applications designed for the FRESCOR framework are mapped to virtual resources, which can operate with predefined variable release periods and variable budget assignments. The mapping of the application requirements to the operational range of release periods, budgets and deadlines is outside of the scope of this work. It is assumed that these temporal value ranges will become known to the system when a corresponding virtual resource is created. An algorithm working within these constraints with the aim to increase a particular hardware resource s utilization, is provided in this paper. Flexible applications, like video conferencing, path-planning or control software, can operate under different temporal conditions that affect their quality of service (QoS). The QoS can increase or decrease depending on the available capacity of a resource and the assignment of additional capacity to these flexible applications. 2

3 The intention of the proposed algorithm is to provide new long-term temporal values for applications if the system state changes significantly. A system state change is considered to be significant if one or more applications are submitted or removed from the system. It is not the aim to provide an approach where applications might want to change their utilization on a frame-by-frame basis (i.e. every period), depending on the short-term demand change of other applications and the consequential decrease of the processing resource utilization. The adaptive virtual resource utilization leads to a more efficient usage of processing hardware resources in dynamic real-time systems and adaptive QoS of flexible real-time applications. If we assume that a higher utilization of a resource entails the increase of useful processing, then it can be concluded that the spare capacity distribution algorithm increases the resource efficiency by exploiting the spare capacity of the available resources. To clarify the operation and benefit of flexible applications, we consider the work of an exploration robot in an alien environment (see Figure 1). After the system start-up the appropriate applications are started to guide the robot to the desired destination. In this example, we assume that three flexible applications exist. The first application, A c, is responsible for controlling the movement of the robot; the second, A p, is concerned with path planning and obstacle avoidance; and the third, A t, is dedicated to communication. A c implements a control algorithm that can operate at different frequencies. We assume that a higher operational frequency of the control algorithm leads to a better performance (i.e. the robot moves faster). The control algorithm has a fixed execution time of 1 time unit but variable operational frequencies that correspond to certain application periods that are defined as 2, 4 or 8 time units. A p uses an any-time path-planning algorithm [17]. A longer execution time of the any-time algorithm improves the obtained plan for navigation. The possible values for the budget of this application are in the interval [1,8], and the period is fixed at 8 time units. A t is launched at regular intervals in order to communicate with the control station. The budget of this application can vary in the interval [ 2 1 2,4] and its period is fixed at 4 time units. At start-up of the system only the control and path-planning application is executed. The communication application is created and started on demand. According to some design guidelines the three applications are defined to have different importance to the overall system operation. The control applications A c is considered to be the most important 3

4 Destination Communication relay Exploration rover Control Station Figure 1. Example application application, followed by the communication application A t, and finally the path-planning application A p having the lowest importance. The applications are favoured in the decreasing order of their importance during the spare capacity distribution. During the initial spare capacity assignment, the timing requirements of A c can be fully satisfied. The budget is set to 1 time unit and the period to 2 time units. The remaining spare capacity of the processor (i.e. hardware resource) is assigned to the path-planing A p application by increasing its budget to 4 time units. The initial schedule of the application is depicted in Figure 2. After a certain predefined time interval the communication application is launched in order to exchange information with the control station. The submission of a new application into the system forces a reassessment of every running application s temporal value in the system. In order to accommodate the new application A t, the frequency of A c is reduced (i.e. the release period is increased). To A p and A t only their minimum timing requirements can be assigned, otherwise the system would become unschedulable. The schedule with all three applications running is demonstrated in Figure 3. After the data exchange has been completed and the communication application terminates, the freed resources are distributed among the two remaining applications, A c and A p. Their temporal attributes will have the same values as in the initial state. This small example demonstrated how the resource managing middleware affects the temporal attributes of flexible applications in order to increase the overall resource utilization. The example also illustrated 4

5 Figure 2. Initial schedule of A c and A p Figure 3. Schedule of all three applications the adaptability of these applications to the assigned resources. The organization of the remainder of the paper is as follows. Section 3 gives on overview of related research and approaches that are utilized in this work. The system model, for which the presented algorithm is defined, is presented in Section 4. The spare capacity distribution (SCD) algorithm is defined in Section, where an example is also given to illustrate the operation of the SCD algorithm. The efficiency of the algorithm is empirically evaluated in Section 6. Since the results of the empirical evaluation alone are not sufficient as an indicator for the actual performance of the algorithm, additional performance data, which was collected on an embedded platform, is presented in Section 7. Finally, Section 8 concludes with a summary of the research. 3. Related work In real-time systems, usually servers are used as a resource reservation mechanism to accomplish temporal partitioning among running applications. They provide a budgeting mechanism, which prevents malicious applications from affecting the operation of other applications in the system. Although server concepts have been introduced to improve the response time of aperiodic tasks, their application has been adapted to provide temporal partitioning among tasks [1]. A periodic or polling server, introduced by Sha et al. [14], provides a mechanism to reserve in regular and periodic time intervals a certain amount of budget on a resource. Specific tasks are then executed by the periodic server. Sprunt et al. [1] gave a definition for sporadic servers and provided a proof which shows that they behave like periodic servers from the schedulability point of view. But in contrast to periodic servers, sporadic servers have a different replenishment strategy. Their budget is only replenished if part of if has been consumed. The replenishment budget is equal to the consumed amount.

6 At the moment only periodic and sporadic virtual resources are considered by the spare capacity distribution algorithm, which have identical properties as the corresponding periodic [14] and sporadic [1] servers. Therefore, from the analysis point of view virtual resources can be treated as periodic servers, which allows the application of the analysis for periodic tasks. This also implies that a fixed-priority scheduling algorithm is used to schedule the virtual resource. The schedulability test, which is utilized in this work, was defined by Davis et al. [7]. It provides an efficient approach to determine the schedulability of fixed-priority scheduled tasks. The schedulability test is based on the response time calculation for periodic and sporadic tasks. The improvements include the response time upper bound calculation and new initial values for the recurrence relation that determines the exact response time. The necessary schedulability test using the exact response time of the schedulable entities (i.e. virtual resources) is carried out only if the sufficient schedulability test using the response time upper bound fails. The composition of independently developed applications has been considered by Deng et al. [8]. They defined a scheme for a two-level hierarchically scheduled open system. Their work was based on dynamic scheduling. Kuo and Li [1] later adapted Deng s approach [8] to fixed-priority operating system scheduler. The FIRST 2 project addressed the need for a scheduling framework, which can handle applications with varying processing demand [3]. The adaptation of server periods and budgets was based on a two stage process. In the first place the server periods were modified and only after they could not be modified any further, the server budgets were adjusted. The server attributes, importance and weight, that are related to the spare capacity distribution were introduced in [3] They were further adopted for virtual resources in [9]. These attributes allow the applications to influence the outcome of the spare capacity distribution. Rosu et al. [13] described an adaptive resource allocation mechanism for distributed real-time systems. The expected application resource needs are specified by configurations. The choice of the appropriate configuration and the resulting resource allocations depends on environmental states, availability of resources in the system and the achievable system performance. The resource allocation is carried out as a response to events in the environment and changes in the processing demand of a complex distributed application. 2. Flexible Integrated Real-Time Systems Technology 6

7 Resource adaptive soft real-time systems were considered by Lin et al. [12]. Here, an heuristic algorithm is used to increase the overall benefit by adjusting the quality of service (QoS) level of the adaptive soft real-time tasks. Since the resource demand varies with the QoS levels, the processing of the adaptive tasks is adjusted so that they can be accommodated on the available resources. An elastic tasking model has been defined by Buttazzo et al. [], [6], where the task periods can be adjusted within certain limits to adapt to different load conditions. In the FRESCOR framework, virtual resources are used as means for temporal partitioning of resources. The virtual resources have similar attributes to servers, which are used by the schedulability analysis. The application specifies its temporal requirements via contracts [9] and the underlying middleware creates a corresponding virtual resource, whose temporal behaviour is compliant with the specified application requirements. The initiating application of the contract is hereafter served by the created virtual resource. 4. System model It is assumed that a set of applications {A 1,A 2,,A m } is mapped to a set of virtual resources Γ = {S 1,S 2,,S n }, with m n. Flexible applications have minimal timing requirements that need to be satisfied in order for the applications to be accepted by the system for execution. The utilization of these applications can be increased by the system as long as there are sufficient resources available. The tasks of each flexible application are mapped to and are executed by one or more virtual resources. Within a virtual resource, the tasks of one application are not mixed with tasks of other applications in order to ensure the temporal protection among the applications. Each virtual resource S i is characterized by its processing budget C i, replenishment period T i, deadline D i, importance I i and weight W i. Each virtual resource S i is either defined as a continuous or discrete virtual resource depending on the domain of its replenishment period T i and budget C i [9]: For continuous virtual resources, the operational ranges of period and budget are defined by a lower and upper bound. The actual value assigned to a virtual resource s temporal attribute can take any value from within corresponding operational ranges. In the case of the continuous scale, the budget and period of virtual resources are independent of each other and therefore can be adjusted independently. 7

8 For discrete virtual resources a finite set of (C i,t i ) pairs are defined. Only values from this set of (C i,t i ) pairs can be assigned to discrete virtual resources temporal attributes. This definition implies that temporal attribute values are linked to each other. The budget C i denotes the maximal processing time that can be consumed by a virtual resource before it is suspended. The budget is replenished to its full amount after every period T i. The deadline D i of a virtual resource specifies the relative time from the point when it has been released until it has to finish processing. It is used by the schedulablity analysis to ensure that the application s timing constraint is respected. The deadline D i of virtual resource S i can be defined to be a constant value or equal to its period. Additionally it is assumed that the deadline is less than or equal to its period, D i T i, under both configurations. The values that can be assigned to a virtual resource s deadline are independent of the type of the virtual resource itself (i.e. whether it is discrete or continuous virtual resource). The priority P i of a virtual resource S i is assigned to it in an increasing deadline-monotonic order. The priority of virtual resources might only change during the spare capacity distribution, but it remains fixed during the steady operational state of the system. If the deadline of at least one virtual resource in the system is defined to be equal to its period, the deadline-monotonic ordering and priority assignment has to be carried out as soon as the period of one of these virtual resources is changed by the spare capacity distribution algorithm. The constraint, D i T i, is not violated by the modification of the period. For a virtual resource S i two of its attributes, importance level I i and weight W i, are used to influence the outcome of the spare capacity distribution algorithm. The precedence, in which the spare capacity is assigned to virtual resources is determined by the importance level I i of the virtual resources. For the spare capacity distribution, virtual resources with the same importance level are logically combined into groups. A group G l is the set of all virtual resources with the same importance level l (see Equation1). G l = {S i Γ I i = l} (1) Each major iteration of the spare capacity distribution is limited to a group G l of virtual resources. Usually several major iterations of the spare capacity distribution are required until a solution is found for the given set Γ of virtual resources. 8

9 The weight attribute W i influences the fraction of the spare capacity that a virtual resource will get. The fair share value H i is used as a factor to determine the fraction of additional capacity that a virtual resource S i will get when a certain amount of spare capacity is distributed at the currently examined importance level I C (see Equation 2) [4]. In this equation, I j denotes S j s importance level. H i = W i j:i j=i C W j (2) The usage of shared resources and the consequent blocking factors have no direct impact on the spare capacity distribution algorithm itself. Therefore, there are neither assumptions nor restrictions on the usage of shared resources, since the corresponding blocking factors affect only the schedulability test. The utilization caused by a virtual resource S i on a hardware resource (subsequently referred to as a resource) is the amount of assigned budget C i per replenishmet period P i. The capacity of a resource, which is unused by virtual resources is denoted as spare capacity. The utilization of a resource is calculated as the sum of all virtual resources utilization. The largest utilization of a resource, determined by the spare capacity algorithm, at which the schedule of the virtual resources becomes infeasible is referred to as the breakdown utilization. But due to the finite granularity of the algorithm, the detected breakdown utilization is not necessarily the largest possible value which can be determined analytically.. Spare Capacity Distribution (SCD) Algorithm This sections defines two different versions of the spare capacity distribution algorithm, the applied methods and the corresponding pseudocode. At the end of the section two examples are presented. First, an abstract example reveals the basic functionality of the algorithm, which is then complemented by a concrete numerical example..1. Characteristics of the SCD Algorithm The intention of the spare capacity distribution algorithm is to allocate as much as possible of a certain resource s spare capacity to virtual resources in the system. Of course, after the application of the SCD 9

10 algorithm, the set of virtual resources with their new utilization values has to stay schedulable on a given resource. Since the main purpose of the SCD algorithm is to distribute resources spare capacity in on-line dynamic systems, its aim is not just to utilize spare capacity but also to be efficient. The spare capacity is distributed according to the configuration of the virtual resources. The importance levels and the predefined mapping of virtual resources to these levels are the decisive criteria of the SCD algorithm. First, as much spare capacity as possible is assigned to virtual resources at the highest importance level. After the highest importance level is saturated, the algorithm continues to distribute the resource s remaining spare capacity at the next highest level. This processes is carried out in decreasing order of importance levels until the lowest importance level has also been served. The SCD algorithm searches for the highest possible spare capacity distribution at each importance level, which can be considered as a search for a local optimum of a global problem. Whereas the global problem is the spare capacity distribution of a hardware resource. These properties of the SCD algorithm classify it as a greedy algorithm. The spare capacity U s of a resource, which can be distributed among the virtual resources, lies somewhere in the range [,...,U spare ]. The utilization probe U p which is an element of the aforementioned set, is the amount of spare capacity that can be distributed at once among the virtual resources at the processed importance level. U p is the starting point from which the utilization increment U i is derived for each virtual resource S i that is considered by the spare capacity distribution algorithm. The difference between the amount of utilization which still creates a feasible schedule and the next highest amount that leads to an infeasible schedule, is δu p. δu p represents also the smallest granularity of U p. Since the presented algorithm is a search based approach, feasibility of various probe values need to be tested. An efficient approach to find a feasible probe value U p {, + δu p,...,u s δu p,u s } is provided by bisecting this interval and applying the binary search algorithm to it. The binary search algorithm is fast, has minimal memory requirements and the required processing resources are also low. In the case of spare capacity distribution the binary search algorithm is applied to the interval [,U s ]. The granularity of this interval is δu p. For a given set of virtual resources, the maximal distributable spare capacity can be found within 1 + log 2 N iterations, where N is the number of potential values for U p. 1 + log 2 N also denotes the number of different utilization values from the previously mentioned interval for which the schedulability test has to be carried out. Given the granularity δu p of the interval [,U s ], the number of potential values 1

11 for U p can be calculated as N = Us δu p. For example, a typical value of 1% for δu p and the possible maximum value for U s of 1%, limits the number of potential values N for U p to 1. By applying the binary search on the 1 possible values, a feasible U p can be determined by checking the schedulability of 1 + log 2 1 = 8 different spare capacity distribution scenarios. The utilization probe U p is the starting point from which the utilization increment U i is derived for each virtual resource S i at a particular importance level (see Equation 3). U i = U p H i with U p {, + δu p,...,u s δu p,u s } (3) The value of the utilization probe is sought in the interval whose lower bound is and the upper bound is the current spare capacity U s of a resource (see Figure 4). There are two extreme values that U p can eventually reach during SCD, that is to say, if there is no further spare capacity that can be distributed or U s if all the spare capacity of a resource can be distributed. But usually the sought after value lies somewhere in between. Figure 4. Resource utilization example A virtual resource S i is defined to be available/active for spare capacity distribution if it is able to increase its utilization due to the following conditions: During the last iteration of the spare capacity distribution, S i did not cause the schedule to fail and, 11

12 S i has not reached its predefined maximal utilization and can therefore utilize a higher spare capacity allocation. The schedulability test used by the SCD algorithm is an exact test for fixed-priority scheduled uniprocessor real-time systems [7]. Before the SCD algorithm is applied to the virtual resources in the system, the schedulability using their minimal timing requirements is ensured. Changes to the set of the virtual resources in the system are only permitted if the changed set remains schedulable using the minimal temporal requirements of the virtual resources. Two slightly different spare capacity distribution algorithms are defined in the following sections. First a fine-grained algorithm is presented, followed by a coarse-grained version. The two versions of the algorithm are evaluated in order to analyze the trade-off between the execution time and the achieved resource utilization..2. General Properties of the Algorithm The core component of both spare capacity distribution algorithms is the search for a single utilization value that can be distributed at one go among a selected set of virtual resources. Additionally to this, the fine-grained SCD algorithm selectively deactivates virtual resources in the group G l, to which the spare capacity distribution is applied. By doing this, the effort of the SCD algorithm is to have a finer control over the utilization of individual virtual resources. As input, the SCD algorithm requires a list of virtual resources with their temporal attributes in deadlinemonotonic priority ordering and the quantity of virtual resources in this list. This priority ordered list of virtual resources (Π) contains the list of virtual resources, which want to benefit from the additional assignment of spare capacity. Π is also used as the output list. As soon as the SCD algorithm finds a locally optimal solution (i.e. a solution at a certain importance level), the new temporal values of the virtual resources are stored in Π. Additionally to Π, the input and output list, there is a temporary storage called the temporary list of virtual resource (Θ) that is used by the algorithm to store intermediate states of the virtual resources during the execution of the spare capacity distribution. 12

13 .3. Fine-grained Algorithm Description The preamble of the algorithm consists only of the initialization of the temporary list Θ of virtual resources with the content of the input list Π. The spare capacity distribution is always limited to virtual resources at a particular importance level. Since virtual resources at higher importance levels are considered to be more important than those at lower levels, the distribution of spare utilization of a resource under consideration is started at the highest importance level. The major steps of the spare capacity distribution algorithm that are executed at every importance level are as follows. 1) Calculate the fair share values. 2) Search for a feasible spare capacity distribution. 3) Increase active virtual resources utilization. 4) Selective virtual resource utilization increase. Now we examine these major steps of the algorithm in detail. 1) Calculate the fair share values. The fair share value H i of every active virtual resource S i at the currently processed importance level is calculated. This value is used to determine the fraction of capacity that will be assigned to the active virtual resources. The formula for this calculation has been defined in Equation 2. 2) Search for a feasible spare capacity distribution. a) The algorithm considers only virtual resources which are active (i.e. capable of accepting a higher than their current utilization) at the currently examined importance level. For these active virtual resources, the biggest amount of spare utilization (U p ) is sought, which can be distributed among them such that they still stay schedulable on a particular resource. b) The binary search narrows down the amount of distributable spare capacity (U p ) to a value at which the system is schedulable, but where an additional amount (δu p ) of spare capacity assignment (i.e. U p + δu p ) would cause an infeasible schedule. 3) Increase active virtual resources utilization. If a feasible U p has been found, then increase the utilization of every active virtual resource S i at the currently processed importance level by U i, which is calculated according to Equation 3. The 13

14 value of U p is feasible if it is greater than zero and the corresponding amount of spare capacity distribution does not cause an infeasible schedule. 4) Selective virtual resource utilization increase. In the case that the distribution of U p spare capacity is feasible but the magnitude of U p +δu p spare capacity leads to an infeasible schedule, normally means that the infeasible schedule was caused only by a subset of the active virtual resources. This implies that other active virtual resources could make use of even higher spare capacity assignments if the few virtual resources that led to an infeasible schedule were not considered further in the spare capacity distribution. Therefore, after U p amount of spare utilization has been distributed, one at a time each virtual resource s utilization increase is overwritten by Ui b as depicted in Equation 4. U b i = (U p + δu p ) H i (4) Those virtual resources whose utilization increase does not lead to an infeasible schedule will retain this extra amount of utilization. Other virtual resources, which cause a schedule failure will be deactivated for futher spare capacity distribution and they will restore their utilization increment to the value which was calculated using the value of U p instead of U p + δu p. The pseudocode for the fine-grained SCD algorithm is depicted in Algorithm 1. This information is provided complementary to the above algorithm description in order to reveal the code structure that was used for the empirical evaluation and performance measurements..4. Coarse-grained SCD Algorithm The coarse-grained spare capacity algorithm is very similar to the fine-grained version, but the part of the algorithm, which is responsible for the individual increase of virtual resources utilization is removed (see Algorithm 2. Basically the step called Selective virtual resource utilization increase of the finegrained algorithm is eliminated. This implies that at each importance level, only the search for a single feasible U p is carried out in order to determine a feasible spare capacity distribution. Due to the modular structure of the presented algorithms, they are highly customizable. The two major components of the algorithms are the search for a valid U p, and the schedulability test, which is carried 14

15 1 2 InOut: Π: Priority ordered list of virtual resources Initialize Θ with Π; foreach importance level l, starting at the highest level do 3 while at least one Si l is active do 4 Determine H i for all Si l that is active; Determine U p and store intermediate values in Θ; 6 7 if U p is feasible then Increase utilization of all active S l i by U i; 8 foreach active Si l do 9 Save Si l s current temporal attributes; 1 Increase Si l s utilization by Ub i ; 11 if schedule is infeasible then 12 Restore Si l s previously saved temporal attributes; Deactivate S l for further SCD; 13 endif else endfch Store new temporal values in Π; 18 foreach active Si l do 19 Deactivate Si l for further SCD; endfch endw endfch endif i Algorithm 1: Fine-grained spare capacity distribution algorithm 1 2 InOut: Π: Priority ordered list of virtual resources Initialize Θ with Π; foreach importance level l, starting at the highest level do 3 Determine H i for all Si l that is active; 4 Determine U p and store intermediate values in Θ; if U p is feasible then Increase utilization of all active Si l by U i; Store new temporal values in Π; endif endfch Algorithm 2: Coarse-grained spare capacity distribution algorithm 1

16 out every time a virtual resources utilization changes. It is simple to replace the schedulability test if in the future a faster test is found. The algorithm also allows the search algorithm to be exchanged for one which might use a pragmatic approach to narrow faster the sought after utilization probe U p... Priority Assignment For the schedulability analysis, it is assumed that the virtual resources are in deadline-monotonic priority order. The schedulability test is carried out in decreasing priority order of the virtual resources. The SCD algorithm considers two different virtual resource configurations for the deadline: 1) Virtual resource s deadline is equal to its period, 2) Virtual resource s deadline is constant. In the case that a virtual resource s deadline is configured to be equal to its period, its deadline is adjusted accordingly whenever the period is changed during the spare capacity distribution..6. Example The example presented in the following section illustrates the operation of the spare capacity distribution algorithm at a high abstraction level. Section.6.2 contains a concrete numerical example Abstact example. For the abstract example a system configuration with four virtual resources is assumed (see Figure a). Two of them have temporal attribute values defined in a continuous range (S 2 and S 3 ) and the other two virtual resources in a discrete range (S 1 and S 4 ). The discrete utilization values of the discrete virtual resources are marked by black dots in the diagrams. The left diagram in Figure a and Figure b show the current resource utilization and the corresponding spare capacity. In the right diagram each of the two figures show the amount of budget that has already been assured to each virtual resource and the amount of spare capacity that each of them can still accept. In the initial situation, the utilization of all virtual resources can be increased as long as an infeasible schedule is not reached. As depicted by the zig-zag arrow in the example, further increase of S 2 virtual resource s utilization would lead to an infeasible schedule. Therefore S 2 s utilization is fixed at a level where all virtual resources were schedulable and it is deactivated for further consideration by the SCD 16

17 algorithm (i.e. it s utilization will not change anymore but it is still involved in the schedulability test of the virtual resources). At this point S 3 has already reached its maximal utilization and has been deactivated for further spare capacity distribution. Figure a. Resource utilization example The second run of the SCD algorithm is illustrated in Figure b. It shows that S 2 and S 3 are deactivated for SCD and their budgets are fixed. The remaining virtual resources, S 1 and S 4, are still able to accept a higher spare capacity assignment. Virtual resource S 4 obviously reaches the maximal utilization that has been specified for it. After this point, the only virtual resource that is still considered by the SCD algorithm is S 1. The utilization of this virtual resource will be increased until it reaches its maximal utilization, the resource s spare capacity is exhausted or after a certain amount of utilization increase it causes an infeasible schedule Concrete example. The following example illustrates the fine-grained spare capacity distribution algorithm using numerical values. Again, there are four virtual resources in the system from which only one virtual resource has its temporal attributes defined on the discrete scale and the remaining three virtual resources are defined on a continuous scale (see Table 1). All four virtual resources are located at the same importance level. For this example it is assumed that the virtual resources deadlines are equal to their periods. The virtual resource priorities are determined according to the deadline monotonic priority assignment algorithm. In 17

18 S i Id Figure b. Resource utilization example Table 1. Virtual resources temporal attributes C min T max C max T min Continuous / Discrete Scale Continuous N/A Discrete Temporal Attributes (C i,t i ) Discrete (1,1); (1,8); (1,7); (17,72); (,); (,3) Continuous N/A 1 Continuous N/A Table 1 the virtual resources are listed in priority order, with the highest priority virtual resource at the top and the lowest priority virtual resource at the bottom. The first column in Table 1 shows a unique identifier for each virtual resource. It is used to identify the virtual resources as the SCD algorithm progresses. The minimum and maximum temporal requirements, the type of temporal attributes (continuous or discrete) and in the case of discrete virtual resource, the possible (C i,t i ) temporal attribute pairs are listed in the table as well. Also to show how the virtual resources weight attribute influences the spare capacity distribution, corresponding values have been specified in Table 2. All virtual resources, except for S 3, have the same weight and will get the same amount of utilization increment. Since the weight of S 3 is twice as big as 18

19 the weight of the other virtual resources, it will get the double amount of utilization increment compared to the other virtual resources in the system. Table 2. Virtual resources weight and fair share values S i Id Weight Fair Share (H i ) Table 3 shows the development of the virtual resources budget and period while the SCD algorithm distributes the available spare capacity. The first column shows the U p value (i.e. the amount of spare capacity) which was determined by the binary search algorithm to create a feasible schedule if it is distributed among the virtual resources. Table 3. Spare capacity distribution example Effective utilization Resulting resource U p S i Id H i U i increase C cur T cur utilization 6% 8% Active for SCD % 22.% 1 23 No % 11.4% 34 Yes 89% % 1.% 1 7 Yes %.% 1 1 No 3 N/A N/A N/A 1 23 No. 4.% 4.6% 238 Yes 93.6% 1. 4.%.% 1 7 No 2 N/A N/A N/A 1 1 No The initial utilization of the system using the minimal temporal requirements of the four virtual resources is % (see Table 1). The first feasible U p value that is found by the binary search algorithm is 6%. This is the amount of spare utilization that can be safely distributed among the active virtual resources. The column with the title U i shows the calculated utilization increase based on U p for each virtual resource. It can be observed that the calculated utilization increase for S 3 is twice as big as for the other virtual resources as specified by its weight attribute. An increase of one or more virtual resource s U i value by δu p will lead to an infeasible schedule. Which virtual resources make the system unschedulable is determined in the next step and they are taken out of consideration for further spare capacity distribution. The last column shows which virtual resources 19

20 are still active for SCD after their utilization has been increased to a certain value. In the above example with U p = 6%, S 3 is deactivated because it causes an infeasible schedule and S 2 because it reached its maximal utilization. The next feasible U p value that is found by the binary search algorithm is 8%. At this point only S and S 1 are left over for spare capacity distribution. Since only these two virtual resources are considered by the SCD algorithm, their fair share values are recalculated. This time, it is S 1 whose utilization increase causes an infeasible schedule and it is going to be deactivated for the next run of the SCD. Since it is a discrete virtual resource, the utilization increase to its next utilization boundary suddenly consumes a bigger amount of resource utilization and leads to an unschedulable system. In the last step, the SCD algorithm tries to increase the utilization of S. But even the smallest increase of S s utilization would lead to an unschedulable system. Therefore S is also deactivated for SCD. There are two reasons why S s utilization cannot be increased anymore. First, the utilization probe U p has a certain granularity. Second, the fair share value of S increased to 1. since it is the only remaining active virtual resource. The fair share value of 1. and the granularity of 1% cannot provide a utilization increment for S which is small enough to create a feasible schedule. Since there are no more virtual resources left, which could make use of additional spare capacity assignment without violating their temporal requirements or creating an infeasible schedule, the SCD algorithm terminates. The table also shows that the effective utilization increase, that each virtual resource undergoes, can deviate from the calculated utilization increase. The effective utilization increase that each virtual resource will get, depends on various factors: 1) the utilization increase is limited because the virtual resource reaches its maximal utilization or, 2) in the case of discrete virtual resources, the utilization increase is dependent on utilization boundaries. The calculated utilization increase will always be less than or equal to the discrete virtual resource s next highest discrete utilization value. The discrete virtual resources utilization boundaries are determined by their predefined (C i,t i ) temporal attribute values. The progress of the SCD algorithm for the example is also depicted in Figure 6. The first diagram shows the virtual resources utilization increase for U p = 6% and the second diagram for U p = 8%. The discrete utilization boundaries for S 1 are displayed by black dots. The indicated utilization boundaries of this virtual resource are the specified utilization values minus the already assigned utilization. Due to the higher weight of S 3, the utilization scale has been adjusted and separately displayed for this virtual

21 resource. Figure 6. Spare capacity distribution example 6. Empirical evaluation This section is concerned with the generation of test data and the evaluation of the measurements obtained Test data generation To examine the performance of the presented algorithm, a large amount of test data has been generated. Virtual resource sets were generated in the range of virtual resources. For each of these virtual resource sets 1 different configurations were created. Each configuration consists of the predefined number of virtual resources (i.e., 1, 1,..., ) for which randomly generated virtual resource parameters (i.e virtual resource budget, period and deadline) were created. 21

22 The approach, presented by Bini and Buttazzo [2], to create tasks parameters for a given maximal utilization (subsequently referred to as the Initial Target Utilization (ITU)), was used in this work to generate the random virtual resource parameters. According to the number of tasks in the system and the maximal predefined utilization, their algorithm generates evenly distributed task utilization values. The initial target utilization was chosen so that the performance of the spare capacity distribution could be observed in different scenarios where more or less spare capacity was available. The chosen ITUs were 3%, % and 8%. As shown by Davis et al. [7], the range of virtual resource periods has an influence on the performance of the schedulability test. Since the schedulability test is one of the most used modules in the spare capacity distribution, the performance of the SCD algorithm has been evaluated with two, four and six different ranges of virtual resource period magnitudes. The period magnitudes were defined in the following ranges: 1) ) ) ) ) ) Depending on the test-case specific number of period magnitudes, the virtual resources in the system are evenly distributed among the period magnitude ranges (e.g. in the case of virtual resources and periods spanning four orders of magnitude, there will be groups of five virtual resources that have the same order of magnitude periods). The period and budget of the virtual resources is derived from its randomly generated utilization value. First, the virtual resources period is randomly chosen from its corresponding period range. Given the virtual resource s utilization and period, the calculation of its budget is straight forward. To take advantage of the flexibility of virtual resources, a definition for the upper and the lower bound of their utilization ranges is required. The initially generated random utilization values are considered in the tests as the lower utilization bounds. These values were increased by a factor, which became their upper utilization bound. A factor of 2. for the 3% ITU, and a factor of 1. for % and 8% ITU was used. For discrete virtual resources, additionally to their lower and upper utilization bounds, a random number 22

23 of intermediate utilization values were generated. The number of intermediate values was in the range of 1 to, where is the maximum number of discrete temporal attributes defined by the FRESCOR framework Experiment evaluation This section evaluates the data, which was collected from various measurements by varying different parameters as indicated in Section 6.1. The diagrams show the progress of the spare capacity distribution as a function of the number of ceiling operations needed by the schedulability analysis. As reasoned by Davis et al. [7] the number of ceiling operations as a metric, provides a more accurate measure for the performance of the schedulability test than other approaches. Since the schedulability has to be tested for every utilization probe and the search for a feasible U p value is the main task of the SCD algorithms, the number of ceiling operations is an appropriate indicator for the performance of the SCD algorithms. Although this section only uses the number of ceiling operations to give insight into the complexity of the algorithm, Section 7.2 extends this information by mapping it onto absolute time. In the following, the term number of ceiling operations will be referred to as number of iterations. The set of diagrams in Figure 7 show the behaviour of the SCD algorithm for 1 virtual resources using two different ranges of magnitudes for their periods. The first diagram in Figure 7a 7c shows the number of ceiling operations required by the algorithm to terminate since the resource exploitation has reached a level where no further spare utilization can be distributed. This information is also indicated by the solid line above the bars just in a different way. It shows the cumulative number of virtual resources for which the SCD algorithm terminated at or before a certain number of ceiling operations. It is easy to see that the SCD algorithm provided a solution with less then 6 ceiling operations for almost 1% of the test-cases. The second diagram in Figure 7a 7c shows the achieved resource utilization due to the application of the SCD algorithm. The diagrams show how the resource utilization developed with the number of ceiling operations. Independent of the initial target utilization of a resource, in average case an asymptotic resource utilization value, which is greater than 9%, is reached after only 3 ceiling operations. Throughout the whole document, the x-axis in the diagrams that depict the resource utilization against the number of iterations has a logarithmic scale, since significant utilization changes are rather observable 23

24 Completed sets [%] Average utilization [%] max avg min Virtual resource sets [%] Achieved utilization [%] (a) 3% ITU Completed sets [%] Average utilization [%] max avg min Virtual resource sets [%] Achieved utilization [%] (b) % ITU Completed sets [%] Average utilization [%] (c) 8% ITU max avg min Virtual resource sets [%] Achieved utilization [%] Figure 7. SCD performance for 1 continuous virtual resources and two magnitudes of period at small number of iterations. It should also be noted that the utilization values were captured every iterations but in the diagrams these samples have been connected by lines in order to visualize the trend of the utilization increase. Finally the third diagram in Figure 7a 7c gives information about the maximal resource utilization that was achieved by the spare capacity distribution. For 9% of the test-cases a resource utilization of 9% or greater was reached. The performance of the SCD in the case of discrete temporal attributes cannot quite reach the performance that was achieved for continuous ranges (see Figure 8). This comes from the limited number of possible values that the virtual resources temporal attributes can have. Although the average behaviour of the algorithm for discrete ranges is similar to the behaviour for 24

Spare Capacity Distribution Using Exact Response-Time Analysis

Spare Capacity Distribution Using Exact Response-Time Analysis Spare Capacity Distribution Using Exact Response-Time Analysis Attila Zabos, Robert Davis, Alan Burns, Michael Gonzalez Harbour To cite this version: Attila Zabos, Robert Davis, Alan Burns, Michael Gonzalez

More information

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Ewa Kusmierek and David H.C. Du Digital Technology Center and Department of Computer Science and Engineering University of Minnesota

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Overview of Scheduling a Mix of Periodic and Aperiodic Tasks

Overview of Scheduling a Mix of Periodic and Aperiodic Tasks Overview of Scheduling a Mix of Periodic and Aperiodic Tasks Minsoo Ryu Department of Computer Science and Engineering 2 Naive approach Background scheduling Algorithms Under static priority policy (RM)

More information

requests or displaying activities, hence they usually have soft deadlines, or no deadlines at all. Aperiodic tasks with hard deadlines are called spor

requests or displaying activities, hence they usually have soft deadlines, or no deadlines at all. Aperiodic tasks with hard deadlines are called spor Scheduling Aperiodic Tasks in Dynamic Priority Systems Marco Spuri and Giorgio Buttazzo Scuola Superiore S.Anna, via Carducci 4, 561 Pisa, Italy Email: spuri@fastnet.it, giorgio@sssup.it Abstract In this

More information

Compositional Schedulability Analysis of Hierarchical Real-Time Systems

Compositional Schedulability Analysis of Hierarchical Real-Time Systems Compositional Schedulability Analysis of Hierarchical Real-Time Systems Arvind Easwaran, Insup Lee, Insik Shin, and Oleg Sokolsky Department of Computer and Information Science University of Pennsylvania,

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,

More information

Real-Time Architectures 2004/2005

Real-Time Architectures 2004/2005 Real-Time Architectures 2004/2005 Scheduling Analysis I Introduction & Basic scheduling analysis Reinder J. Bril 08-04-2005 1 Overview Algorithm and problem classes Simple, periodic taskset problem statement

More information

Mixed Criticality Scheduling in Time-Triggered Legacy Systems

Mixed Criticality Scheduling in Time-Triggered Legacy Systems Mixed Criticality Scheduling in Time-Triggered Legacy Systems Jens Theis and Gerhard Fohler Technische Universität Kaiserslautern, Germany Email: {jtheis,fohler}@eit.uni-kl.de Abstract Research on mixed

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Local-Deadline Assignment for Distributed Real-Time Systems

Local-Deadline Assignment for Distributed Real-Time Systems Local-Deadline Assignment for Distributed Real-Time Systems Shengyan Hong, Thidapat Chantem, Member, IEEE, and Xiaobo Sharon Hu, Senior Member, IEEE Abstract In a distributed real-time system (DRTS), jobs

More information

AirTight: A Resilient Wireless Communication Protocol for Mixed- Criticality Systems

AirTight: A Resilient Wireless Communication Protocol for Mixed- Criticality Systems AirTight: A Resilient Wireless Communication Protocol for Mixed- Criticality Systems Alan Burns, James Harbin, Leandro Indrusiak, Iain Bate, Robert Davis and David Griffin Real-Time Systems Research Group

More information

Compositional multiprocessor scheduling: the GMPR interface

Compositional multiprocessor scheduling: the GMPR interface Compositional multiprocessor scheduling: the GMPR interface Artem Burmyakov Enrico Bini Eduardo Tovar Abstract Composition is a practice of key importance in software engineering. When real-time applications

More information

HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM. Janetta Culita, Simona Caramihai, Calin Munteanu

HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM. Janetta Culita, Simona Caramihai, Calin Munteanu HYBRID PETRI NET MODEL BASED DECISION SUPPORT SYSTEM Janetta Culita, Simona Caramihai, Calin Munteanu Politehnica University of Bucharest Dept. of Automatic Control and Computer Science E-mail: jculita@yahoo.com,

More information

Multigrid Pattern. I. Problem. II. Driving Forces. III. Solution

Multigrid Pattern. I. Problem. II. Driving Forces. III. Solution Multigrid Pattern I. Problem Problem domain is decomposed into a set of geometric grids, where each element participates in a local computation followed by data exchanges with adjacent neighbors. The grids

More information

Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control

Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control Stable Trajectory Design for Highly Constrained Environments using Receding Horizon Control Yoshiaki Kuwata and Jonathan P. How Space Systems Laboratory Massachusetts Institute of Technology {kuwata,jhow}@mit.edu

More information

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services Overview 15-441 15-441 Computer Networking 15-641 Lecture 19 Queue Management and Quality of Service Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 What is QoS? Queuing discipline and scheduling

More information

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

More information

A Capacity Sharing and Stealing Strategy for Open Real-time Systems

A Capacity Sharing and Stealing Strategy for Open Real-time Systems A Capacity Sharing and Stealing Strategy for Open Real-time Systems Luís Nogueira, Luís Miguel Pinho CISTER Research Centre School of Engineering of the Polytechnic Institute of Porto (ISEP/IPP) Rua Dr.

More information

Dynamic Voltage Scaling of Periodic and Aperiodic Tasks in Priority-Driven Systems Λ

Dynamic Voltage Scaling of Periodic and Aperiodic Tasks in Priority-Driven Systems Λ Dynamic Voltage Scaling of Periodic and Aperiodic Tasks in Priority-Driven Systems Λ Dongkun Shin Jihong Kim School of CSE School of CSE Seoul National University Seoul National University Seoul, Korea

More information

Seminar on. A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm

Seminar on. A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm Seminar on A Coarse-Grain Parallel Formulation of Multilevel k-way Graph Partitioning Algorithm Mohammad Iftakher Uddin & Mohammad Mahfuzur Rahman Matrikel Nr: 9003357 Matrikel Nr : 9003358 Masters of

More information

Scheduling with Bus Access Optimization for Distributed Embedded Systems

Scheduling with Bus Access Optimization for Distributed Embedded Systems 472 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 8, NO. 5, OCTOBER 2000 Scheduling with Bus Access Optimization for Distributed Embedded Systems Petru Eles, Member, IEEE, Alex

More information

THE preceding chapters were all devoted to the analysis of images and signals which

THE preceding chapters were all devoted to the analysis of images and signals which Chapter 5 Segmentation of Color, Texture, and Orientation Images THE preceding chapters were all devoted to the analysis of images and signals which take values in IR. It is often necessary, however, to

More information

Real-Time (Paradigms) (47)

Real-Time (Paradigms) (47) Real-Time (Paradigms) (47) Memory: Memory Access Protocols Tasks competing for exclusive memory access (critical sections, semaphores) become interdependent, a common phenomenon especially in distributed

More information

Different Optimal Solutions in Shared Path Graphs

Different Optimal Solutions in Shared Path Graphs Different Optimal Solutions in Shared Path Graphs Kira Goldner Oberlin College Oberlin, OH 44074 (610) 324-3931 ksgoldner@gmail.com ABSTRACT We examine an expansion upon the basic shortest path in graphs

More information

Adaptive packet scheduling for requests delay guaranties in packetswitched computer communication network

Adaptive packet scheduling for requests delay guaranties in packetswitched computer communication network Paweł Świątek Institute of Computer Science Wrocław University of Technology Wybrzeże Wyspiańskiego 27 50-370 Wrocław, Poland Email: pawel.swiatek@pwr.wroc.pl Adam Grzech Institute of Computer Science

More information

Implementing Sporadic Servers in Ada

Implementing Sporadic Servers in Ada Technical Report CMU/SEI-90-TR-6 ESD-90-TR-207 Implementing Sporadic Servers in Ada Brinkley Sprunt Lui Sha May 1990 Technical Report CMU/SEI-90-TR-6 ESD-90-TR-207 May 1990 Implementing Sporadic Servers

More information

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

Resource Partitioning among Real-Time Applications

Resource Partitioning among Real-Time Applications Resource Partitioning among Real-Time Applications Giuseppe Lipari nrico Bini Scuola Superiore S Anna Pisa Italy -mail: lipari@sssupit ebini@sssupit Abstract When executing different real-time applications

More information

Math 340 Fall 2014, Victor Matveev. Binary system, round-off errors, loss of significance, and double precision accuracy.

Math 340 Fall 2014, Victor Matveev. Binary system, round-off errors, loss of significance, and double precision accuracy. Math 340 Fall 2014, Victor Matveev Binary system, round-off errors, loss of significance, and double precision accuracy. 1. Bits and the binary number system A bit is one digit in a binary representation

More information

Real-Time Mixed-Criticality Wormhole Networks

Real-Time Mixed-Criticality Wormhole Networks eal-time Mixed-Criticality Wormhole Networks Leandro Soares Indrusiak eal-time Systems Group Department of Computer Science University of York United Kingdom eal-time Systems Group 1 Outline Wormhole Networks

More information

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM 9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM Whereas the simplex method is effective for solving linear programs, there is no single technique for solving integer programs. Instead, a

More information

Determining the Number of CPUs for Query Processing

Determining the Number of CPUs for Query Processing Determining the Number of CPUs for Query Processing Fatemah Panahi Elizabeth Soechting CS747 Advanced Computer Systems Analysis Techniques The University of Wisconsin-Madison fatemeh@cs.wisc.edu, eas@cs.wisc.edu

More information

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions Dr. Amotz Bar-Noy s Compendium of Algorithms Problems Problems, Hints, and Solutions Chapter 1 Searching and Sorting Problems 1 1.1 Array with One Missing 1.1.1 Problem Let A = A[1],..., A[n] be an array

More information

Process- Concept &Process Scheduling OPERATING SYSTEMS

Process- Concept &Process Scheduling OPERATING SYSTEMS OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne PROCESS MANAGEMENT Current day computer systems allow multiple

More information

Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network

Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network Probabilistic Worst-Case Response-Time Analysis for the Controller Area Network Thomas Nolte, Hans Hansson, and Christer Norström Mälardalen Real-Time Research Centre Department of Computer Engineering

More information

ADAPTIVE TILE CODING METHODS FOR THE GENERALIZATION OF VALUE FUNCTIONS IN THE RL STATE SPACE A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL

ADAPTIVE TILE CODING METHODS FOR THE GENERALIZATION OF VALUE FUNCTIONS IN THE RL STATE SPACE A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL ADAPTIVE TILE CODING METHODS FOR THE GENERALIZATION OF VALUE FUNCTIONS IN THE RL STATE SPACE A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL OF THE UNIVERSITY OF MINNESOTA BY BHARAT SIGINAM IN

More information

A Framework for Space and Time Efficient Scheduling of Parallelism

A Framework for Space and Time Efficient Scheduling of Parallelism A Framework for Space and Time Efficient Scheduling of Parallelism Girija J. Narlikar Guy E. Blelloch December 996 CMU-CS-96-97 School of Computer Science Carnegie Mellon University Pittsburgh, PA 523

More information

5.4 Pure Minimal Cost Flow

5.4 Pure Minimal Cost Flow Pure Minimal Cost Flow Problem. Pure Minimal Cost Flow Networks are especially convenient for modeling because of their simple nonmathematical structure that can be easily portrayed with a graph. This

More information

A Fuzzy Logic Approach to Assembly Line Balancing

A Fuzzy Logic Approach to Assembly Line Balancing Mathware & Soft Computing 12 (2005), 57-74 A Fuzzy Logic Approach to Assembly Line Balancing D.J. Fonseca 1, C.L. Guest 1, M. Elam 1, and C.L. Karr 2 1 Department of Industrial Engineering 2 Department

More information

TELCOM2125: Network Science and Analysis

TELCOM2125: Network Science and Analysis School of Information Sciences University of Pittsburgh TELCOM2125: Network Science and Analysis Konstantinos Pelechrinis Spring 2015 2 Part 4: Dividing Networks into Clusters The problem l Graph partitioning

More information

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems

Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems Worst-Case Utilization Bound for EDF Scheduling on Real-Time Multiprocessor Systems J.M. López, M. García, J.L. Díaz, D.F. García University of Oviedo Department of Computer Science Campus de Viesques,

More information

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

February 19, Integer programming. Outline. Problem formulation. Branch-andbound Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland February 19,

More information

OPERATING SYSTEM. The Process. Introduction Process creation & termination Process state diagram Process scheduling & its criteria

OPERATING SYSTEM. The Process. Introduction Process creation & termination Process state diagram Process scheduling & its criteria OPERATING SYSTEM The Process Introduction Process creation & termination Process state diagram Process scheduling & its criteria Process The concept of process is fundamental to the structure of operating

More information

Worst-case running time for RANDOMIZED-SELECT

Worst-case running time for RANDOMIZED-SELECT Worst-case running time for RANDOMIZED-SELECT is ), even to nd the minimum The algorithm has a linear expected running time, though, and because it is randomized, no particular input elicits the worst-case

More information

Response Time Analysis of Asynchronous Real-Time Systems

Response Time Analysis of Asynchronous Real-Time Systems Response Time Analysis of Asynchronous Real-Time Systems Guillem Bernat Real-Time Systems Research Group Department of Computer Science University of York York, YO10 5DD, UK Technical Report: YCS-2002-340

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 18 All-Integer Dual Algorithm We continue the discussion on the all integer

More information

Time-triggered Scheduling for Multiprocessor Mixed-criticality Systems

Time-triggered Scheduling for Multiprocessor Mixed-criticality Systems Time-triggered Scheduling for Multiprocessor Mixed-criticality Systems Lalatendu Behera and Purandar Bhaduri Indian Institute of Technology Guwahati 781039, India {lalatendu,pbhaduri}@iitg.ernet.in Abstract.

More information

A Simulation Methodology for Worst-Case Response Time Estimation of Distributed Real-Time Systems

A Simulation Methodology for Worst-Case Response Time Estimation of Distributed Real-Time Systems A Simulation Methodology for Worst-Case Response Time Estimation of Distributed Real-Time Systems Soheil Samii, Sergiu Rafiliu, Petru Eles, Zebo Peng Department of Computer and Information Science Linköpings

More information

CLOCK DRIVEN SCHEDULING

CLOCK DRIVEN SCHEDULING CHAPTER 4 By Radu Muresan University of Guelph Page 1 ENGG4420 CHAPTER 4 LECTURE 2 and 3 November 04 09 7:51 PM CLOCK DRIVEN SCHEDULING Clock driven schedulers make their scheduling decisions regarding

More information

arxiv: v2 [cs.ds] 30 Nov 2012

arxiv: v2 [cs.ds] 30 Nov 2012 A New Upper Bound for the Traveling Salesman Problem in Cubic Graphs Maciej Liśkiewicz 1 and Martin R. Schuster 1 1 Institute of Theoretical Computer Science, University of Lübeck Ratzeburger Allee 160,

More information

Time Handling in Programming Language

Time Handling in Programming Language CSE 237B Fall 2009 Time Handling in Programming Language Rajesh Gupta University of California, San Diego System Characteristics Complexity in function (and in size) Concurrent control of separate components

More information

Applying the Q n Estimator Online

Applying the Q n Estimator Online Applying the Q n Estimator Online Robin Nunkesser 1, Karen Schettlinger 2, and Roland Fried 2 1 Department of Computer Science, Univ. Dortmund, 44221 Dortmund Robin.Nunkesser@udo.edu 2 Department of Statistics,

More information

Iterative Voting Rules

Iterative Voting Rules Noname manuscript No. (will be inserted by the editor) Iterative Voting Rules Meir Kalech 1, Sarit Kraus 2, Gal A. Kaminka 2, Claudia V. Goldman 3 1 Information Systems Engineering, Ben-Gurion University,

More information

Subset sum problem and dynamic programming

Subset sum problem and dynamic programming Lecture Notes: Dynamic programming We will discuss the subset sum problem (introduced last time), and introduce the main idea of dynamic programming. We illustrate it further using a variant of the so-called

More information

6 Distributed data management I Hashing

6 Distributed data management I Hashing 6 Distributed data management I Hashing There are two major approaches for the management of data in distributed systems: hashing and caching. The hashing approach tries to minimize the use of communication

More information

Spatially-Aware Information Retrieval on the Internet

Spatially-Aware Information Retrieval on the Internet Spatially-Aware Information Retrieval on the Internet SPIRIT is funded by EU IST Programme Contract Number: Abstract Multi-Attribute Similarity Ranking Deliverable number: D17:5301 Deliverable type: R

More information

Optimal Crane Scheduling

Optimal Crane Scheduling Optimal Crane Scheduling IonuŃ Aron Iiro Harjunkoski John Hooker Latife Genç Kaya March 2007 1 Problem Schedule 2 cranes to transfer material between locations in a manufacturing plant. For example, copper

More information

Introduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2

Introduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Real-time systems deliver services while meeting some timing constraints Not necessarily fast,

More information

An algorithm for Performance Analysis of Single-Source Acyclic graphs

An algorithm for Performance Analysis of Single-Source Acyclic graphs An algorithm for Performance Analysis of Single-Source Acyclic graphs Gabriele Mencagli September 26, 2011 In this document we face with the problem of exploiting the performance analysis of acyclic graphs

More information

An Efficient Dynamic Bandwidth Allocation Algorithm for Quality of Service Networks

An Efficient Dynamic Bandwidth Allocation Algorithm for Quality of Service Networks An Efficient Dynamic Bandwidth Allocation Algorithm for Quality of Service Networks J. Elias 1, F. Martignon 2, and A. Capone 3 1 University of Paris 6, LIP6 Laboratory, 8 rue du Capitaine Scott, 75015,

More information

5 The Theory of the Simplex Method

5 The Theory of the Simplex Method 5 The Theory of the Simplex Method Chapter 4 introduced the basic mechanics of the simplex method. Now we shall delve a little more deeply into this algorithm by examining some of its underlying theory.

More information

30. Constrained Optimization

30. Constrained Optimization 30. Constrained Optimization The graph of z = f(x, y) is represented by a surface in R 3. Normally, x and y are chosen independently of one another so that one may roam over the entire surface of f (within

More information

A Virtual Laboratory for Study of Algorithms

A Virtual Laboratory for Study of Algorithms A Virtual Laboratory for Study of Algorithms Thomas E. O'Neil and Scott Kerlin Computer Science Department University of North Dakota Grand Forks, ND 58202-9015 oneil@cs.und.edu Abstract Empirical studies

More information

Resource Sharing among Prioritized Real-Time Applications on Multiprocessors

Resource Sharing among Prioritized Real-Time Applications on Multiprocessors Resource Sharing among Prioritized Real-Time Applications on Multiprocessors Sara Afshar, Nima Khalilzad, Farhang Nemati, Thomas Nolte Email: sara.afshar@mdh.se MRTC, Mälardalen University, Sweden ABSTRACT

More information

ECE519 Advanced Operating Systems

ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (10 th Week) (Advanced) Operating Systems 10. Multiprocessor, Multicore and Real-Time Scheduling 10. Outline Multiprocessor

More information

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems Lecture 22 Queue Management and Quality of Service (QoS) Overview Queue management & RED Fair queuing Khaled Harras School of Computer Science niversity 15 441 Computer Networks Based on slides from previous

More information

Algorithm Efficiency & Sorting. Algorithm efficiency Big-O notation Searching algorithms Sorting algorithms

Algorithm Efficiency & Sorting. Algorithm efficiency Big-O notation Searching algorithms Sorting algorithms Algorithm Efficiency & Sorting Algorithm efficiency Big-O notation Searching algorithms Sorting algorithms Overview Writing programs to solve problem consists of a large number of decisions how to represent

More information

DOWNLOAD PDF BIG IDEAS MATH VERTICAL SHRINK OF A PARABOLA

DOWNLOAD PDF BIG IDEAS MATH VERTICAL SHRINK OF A PARABOLA Chapter 1 : BioMath: Transformation of Graphs Use the results in part (a) to identify the vertex of the parabola. c. Find a vertical line on your graph paper so that when you fold the paper, the left portion

More information

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE

RAID SEMINAR REPORT /09/2004 Asha.P.M NO: 612 S7 ECE RAID SEMINAR REPORT 2004 Submitted on: Submitted by: 24/09/2004 Asha.P.M NO: 612 S7 ECE CONTENTS 1. Introduction 1 2. The array and RAID controller concept 2 2.1. Mirroring 3 2.2. Parity 5 2.3. Error correcting

More information

Scan Scheduling Specification and Analysis

Scan Scheduling Specification and Analysis Scan Scheduling Specification and Analysis Bruno Dutertre System Design Laboratory SRI International Menlo Park, CA 94025 May 24, 2000 This work was partially funded by DARPA/AFRL under BAE System subcontract

More information

Tasks Scheduling using Ant Colony Optimization

Tasks Scheduling using Ant Colony Optimization Journal of Computer Science 8 (8): 1314-1320, 2012 ISSN 1549-3636 2012 Science Publications Tasks Scheduling using Ant Colony Optimization 1 Umarani Srikanth G., 2 V. Uma Maheswari, 3.P. Shanthi and 4

More information

Chapter 14 Global Search Algorithms

Chapter 14 Global Search Algorithms Chapter 14 Global Search Algorithms An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Introduction We discuss various search methods that attempts to search throughout the entire feasible set.

More information

IPv4 ACLs, identified by ACL numbers, fall into four categories, as shown in Table 1. Table 1 IPv4 ACL categories

IPv4 ACLs, identified by ACL numbers, fall into four categories, as shown in Table 1. Table 1 IPv4 ACL categories Table of Contents ACL Configuration 1 ACL Overview 1 IPv4 ACL Classification 1 IPv4 ACL Rule Order 1 Rule Numbering Step with IPv4 ACLs 3 Effective Time Period of an IPv4 ACL 3 IP Fragments Filtering with

More information

III Data Structures. Dynamic sets

III Data Structures. Dynamic sets III Data Structures Elementary Data Structures Hash Tables Binary Search Trees Red-Black Trees Dynamic sets Sets are fundamental to computer science Algorithms may require several different types of operations

More information

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup Yan Sun and Min Sik Kim School of Electrical Engineering and Computer Science Washington State University Pullman, Washington

More information

. 14 Byte for Acks. Due to this fact, the overhead is more relevant if the data contained in packets is sent to high rates:

. 14 Byte for Acks. Due to this fact, the overhead is more relevant if the data contained in packets is sent to high rates: QoS in IEEE 802.11 Issues Some issues are important for quality of service: the first one mentioned is the difference of performances expired by nodes based on their position in the network. Indeed, considering

More information

Tutorial 1: Welded Frame - Problem Description

Tutorial 1: Welded Frame - Problem Description Tutorial 1: Welded Frame - Problem Description Introduction In this first tutorial, we will analyse a simple frame: firstly as a welded frame, and secondly as a pin jointed truss. In each case, we will

More information

Data Partitioning. Figure 1-31: Communication Topologies. Regular Partitions

Data Partitioning. Figure 1-31: Communication Topologies. Regular Partitions Data In single-program multiple-data (SPMD) parallel programs, global data is partitioned, with a portion of the data assigned to each processing node. Issues relevant to choosing a partitioning strategy

More information

Localized and Incremental Monitoring of Reverse Nearest Neighbor Queries in Wireless Sensor Networks 1

Localized and Incremental Monitoring of Reverse Nearest Neighbor Queries in Wireless Sensor Networks 1 Localized and Incremental Monitoring of Reverse Nearest Neighbor Queries in Wireless Sensor Networks 1 HAI THANH MAI AND MYOUNG HO KIM Department of Computer Science Korea Advanced Institute of Science

More information

An Approach to Task Attribute Assignment for Uniprocessor Systems

An Approach to Task Attribute Assignment for Uniprocessor Systems An Approach to ttribute Assignment for Uniprocessor Systems I. Bate and A. Burns Real-Time Systems Research Group Department of Computer Science University of York York, United Kingdom e-mail: fijb,burnsg@cs.york.ac.uk

More information

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0.

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0. IBM Optim Performance Manager Extended Edition V4.1.0.1 Best Practices Deploying Optim Performance Manager in large scale environments Ute Baumbach (bmb@de.ibm.com) Optim Performance Manager Development

More information

High Radix Division Ivor Page 1

High Radix Division Ivor Page 1 High Radix Division 1 High Radix Division Ivor Page 1 14.1 Division with Redundant Quotient We are interested in speeding up the division process by generating more bits of the quotient during each iteration.

More information

Precedence Graphs Revisited (Again)

Precedence Graphs Revisited (Again) Precedence Graphs Revisited (Again) [i,i+6) [i+6,i+12) T 2 [i,i+6) [i+6,i+12) T 3 [i,i+2) [i+2,i+4) [i+4,i+6) [i+6,i+8) T 4 [i,i+1) [i+1,i+2) [i+2,i+3) [i+3,i+4) [i+4,i+5) [i+5,i+6) [i+6,i+7) T 5 [i,i+1)

More information

Worst-case Ethernet Network Latency for Shaped Sources

Worst-case Ethernet Network Latency for Shaped Sources Worst-case Ethernet Network Latency for Shaped Sources Max Azarov, SMSC 7th October 2005 Contents For 802.3 ResE study group 1 Worst-case latency theorem 1 1.1 Assumptions.............................

More information

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents

E-Companion: On Styles in Product Design: An Analysis of US. Design Patents E-Companion: On Styles in Product Design: An Analysis of US Design Patents 1 PART A: FORMALIZING THE DEFINITION OF STYLES A.1 Styles as categories of designs of similar form Our task involves categorizing

More information

3 Fractional Ramsey Numbers

3 Fractional Ramsey Numbers 27 3 Fractional Ramsey Numbers Since the definition of Ramsey numbers makes use of the clique number of graphs, we may define fractional Ramsey numbers simply by substituting fractional clique number into

More information

A Scalable Scheduling Algorithm for Real-Time Distributed Systems

A Scalable Scheduling Algorithm for Real-Time Distributed Systems A Scalable Scheduling Algorithm for Real-Time Distributed Systems Yacine Atif School of Electrical & Electronic Engineering Nanyang Technological University Singapore E-mail: iayacine@ntu.edu.sg Babak

More information

Real-Time Scheduling. Dynamic Priority Servers

Real-Time Scheduling. Dynamic Priority Servers Real-Time Scheduling Dynamic Priority Servers Objectives Schedule soft aperiodic and hard periodic tasks Reduce average response time of aperiodic requests without compromising schedulability of periodic

More information

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols SIAM Journal on Computing to appear From Static to Dynamic Routing: Efficient Transformations of StoreandForward Protocols Christian Scheideler Berthold Vöcking Abstract We investigate how static storeandforward

More information

1.1 Explain the difference between fast computing and real-time computing.

1.1 Explain the difference between fast computing and real-time computing. i 1.1 Explain the difference between fast computing and real-time computing. 1.2 What are the main limitations of the current real-time kernels for the development of critical control applications? 1.3

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

Ch 4 : CPU scheduling

Ch 4 : CPU scheduling Ch 4 : CPU scheduling It's the basis of multiprogramming operating systems. By switching the CPU among processes, the operating system can make the computer more productive In a single-processor system,

More information

Hierarchical Intelligent Cuttings: A Dynamic Multi-dimensional Packet Classification Algorithm

Hierarchical Intelligent Cuttings: A Dynamic Multi-dimensional Packet Classification Algorithm 161 CHAPTER 5 Hierarchical Intelligent Cuttings: A Dynamic Multi-dimensional Packet Classification Algorithm 1 Introduction We saw in the previous chapter that real-life classifiers exhibit structure and

More information

Space Filling Curves and Hierarchical Basis. Klaus Speer

Space Filling Curves and Hierarchical Basis. Klaus Speer Space Filling Curves and Hierarchical Basis Klaus Speer Abstract Real world phenomena can be best described using differential equations. After linearisation we have to deal with huge linear systems of

More information

Optical Flow Estimation with CUDA. Mikhail Smirnov

Optical Flow Estimation with CUDA. Mikhail Smirnov Optical Flow Estimation with CUDA Mikhail Smirnov msmirnov@nvidia.com Document Change History Version Date Responsible Reason for Change Mikhail Smirnov Initial release Abstract Optical flow is the apparent

More information

Column Generation Method for an Agent Scheduling Problem

Column Generation Method for an Agent Scheduling Problem Column Generation Method for an Agent Scheduling Problem Balázs Dezső Alpár Jüttner Péter Kovács Dept. of Algorithms and Their Applications, and Dept. of Operations Research Eötvös Loránd University, Budapest,

More information

Distributed Partitioning Algorithm with application to video-surveillance

Distributed Partitioning Algorithm with application to video-surveillance Università degli Studi di Padova Department of Information Engineering Distributed Partitioning Algorithm with application to video-surveillance Authors: Inés Paloma Carlos Saiz Supervisor: Ruggero Carli

More information

Techniques For The Synthesis Of Multiprocessor Tasksets

Techniques For The Synthesis Of Multiprocessor Tasksets WATERS 2010 6 Techniques For The Synthesis Of Multiprocessor Tasksets Paul Emberson Rapita Systems Ltd IT Centre, York Science Park, York, YO10 5DG paule@rapitasystems.com Roger Stafford CA, USA Robert

More information

A Tabu Search solution algorithm

A Tabu Search solution algorithm Chapter 5 A Tabu Search solution algorithm The TS examines a trajectory sequence of solutions and moves to the best neighbor of the current solution. To avoid cycling, solutions that were recently examined

More information