Scheduling of Embedded Real-Time Systems: A Constraint Programming Approach

Size: px
Start display at page:

Download "Scheduling of Embedded Real-Time Systems: A Constraint Programming Approach"

Transcription

1 THESIS FOR THE DEGREE OF LICENTIATE OF ENGINEERING Scheduling of Embedded Real-Time Systems: A Constraint Programming Approach CECILIA EKELIN Department of Computer Engineering CHALMERS UNIVERSITY OF TECHNOLOGY Göteborg, Sweden 2001

2 Scheduling of Embedded Real-Time Systems: A Constraint Programming Approach CECILIA EKELIN Technical Report no. 410L Department of Computer Engineering Chalmers University of Technology SE Göteborg, Sweden Phone: +46 (0) Contact information: Cecilia Ekelin Department of Computer Engineering Chalmers University of Technology Hörsalsvägen 11 SE Göteborg, Sweden Phone: +46 (0) Fax: +46 (0) cekelin@ce.chalmers.se URL: cekelin Printed in Sweden Chalmers Reproservice Göteborg, Sweden 2001

3 Scheduling of Embedded Real-Time Systems: A Constraint Programming Approach CECILIA EKELIN Department of Computer Engineering, Chalmers University of Technology Thesis for the degree of Licentiate of Engineering, a Swedish degree between M.Sc. and Ph.D. Abstract For embedded real-time systems, a correct timing behavior must be guaranteed as a result of the design. Therefore, an important part of the design process is the allocation and scheduling of software tasks onto the hardware architecture. However, the various application constraints typically found in embedded systems significantly complicates this task. Furthermore, to be costeffective, the design of an embedded system must often be optimal, in terms of objectives such as cost and performance. In this thesis I have studied how the constraint programming paradigm can be applied to the problem of optimal allocation and scheduling for embedded real-time systems. In particular, this work addresses two major problems that appear in the construction of allocation and scheduling algorithms for such systems. First, it must be possible to model the system accurately enough to allow the expression of real-world constraints. Second, the run-time performance of the allocation and scheduling algorithm must be reasonable for typical applications. This thesis demonstrates that constraint programming offers support for the development of a scheduling framework that provide the necessary features. Keywords: real-time systems, optimization, constraint programming, task allocation and scheduling, search heuristics, complex constraints, system modeling, complexity reduction i

4 ii

5 List of Appended Papers This thesis is a summary of the following four papers. References will be made to the papers using the Roman numerals assigned to each paper. I. Cecilia Ekelin and Jan Jonsson, Real-Time System Constraints: Where do They Come From and Where do They Go?, In Proceedings of the International Workshop on Real-Time Constraints, Alexandria, Virginia, USA, October 16, II. Cecilia Ekelin and Jan Jonsson, Solving Embedded System Scheduling Problems using Constraint Programming, Technical Report no , Department of Computer Engineering, Chalmers University of Technology, Sweden, Submitted for publication. III. Cecilia Ekelin and Jan Jonsson, A CLP Framework for Allocation and Scheduling in Embedded Real-Time Systems, Technical Report no , Department of Computer Engineering, Chalmers University of Technology, Sweden, Submitted for publication. IV. Cecilia Ekelin and Jan Jonsson, Evaluation of Search Heuristics for Embedded System Scheduling Problems, In Proceedings of the International Conference on Principles and Practice of Constraint Programming, Paphos, Cyprus, November 26 December 1, iii

6 iv

7 Contents 1 Introduction 1 2 Background EmbeddedReal-Time Systems Problem Space Possible Approaches PreviousWork ConstraintProgramming Research Issues 9 5 Summary of Papers 10 I Real-Time System Constraints: Where do They Come From and Where dotheygo? II Solving Embedded System Scheduling Problems using Constraint Programming III A CLP Framework for Allocation and Scheduling in Embedded Real- Time Systems IV Evaluation of Search Heuristics for Embedded System Scheduling Problems Discussion and Future Work 13 Acknowledgments 14 References 15 Appended Papers I II III IV v

8

9 1 Introduction Today, electronic systems are becoming increasingly popular as replacement for mechanical solutions in products such as automobiles and airplanes. Such systems are highly application-specific in nature and are frequently referred to as embedded because of their interaction with a well-defined environment. Embedded systems must often respond to stimuli from the environment within a certain time-limit. Failure in meeting these real-time demands may result in loss of lives or property. Therefore, for an embedded real-time system, a crucial part of the design is to ensure a correct timing behavior. The basic structure of an embedded system is a number of software tasks and a hardware architecture consisting of a network of nodes. In the design process it has to be decided on which node each task should execute (allocation) and also when each task should execute (scheduling), such that all design constraints are satisfied. When considering design objectives such as cost and dependability, some solutions to the allocation and scheduling problem may be regarded as better than others, making an optimization approach desirable. Unfortunately, this optimization process is far from trivial due to the inherent complexity of the problem. For example, the addressed optimization problem is in general NP-hard, resulting in an algorithm computational complexity that (most likely) grows exponentially with the size of the problem. Also, the variety of constraints typically found in embedded real-time systems makes it hard to devise an algorithm that can handle them all. These impediments have lead to that most allocation and scheduling algorithms relax the optimality requirement and provide only simple modeling constructs. As a consequence, of these simplifications many designs will be deemed as being infeasible, which means that the design process is prolonged due to unnecessary re-design iterations. Clearly, an approach that offers expressiveness in modeling as well as optimization algorithms with tractable run-time complexity, would be preferable. To this end, the concept of constraint programming can provide the requested features. That is, the problem is expressed using variables and arbitrary constraints that are managed by a constraint solver. The solver then employs various techniques to reduce the problem search space. In this thesis I have looked into various aspects regarding the application of constraint programming to the problem of optimal allocation and scheduling of real-time systems. The major contributions of this thesis are: C1. I propose a constraint taxonomy intended to provide a deeper understanding of the design restrictions that are present in embedded real-time systems. C2. I propose a method for modeling and solving the allocation and scheduling problem for embedded real-time systems using constraint programming. C3. I propose a set of guidelines for handling multiple objectives in arbitrary optimization problems. The aim of the guidelines is to achieve a fair balance between the objectives. 1

10 C4. I present an evaluation of a set of heuristics for allocation and scheduling in the context of constraint programming. The evaluation shows that there are combinations of heuristics that can reduce the average run-time by several orders of magnitude. The remainder of this thesis is structured as follows. Section 2 further explains the area of embedded real-time systems and the role of optimization in this context. This section also discusses possible design decisions and how they relate to the specific problem being studied. Section 3 then discusses various solution approaches and explains the constraint programming paradigm. Section 4 describes the particular research issues that I deal with, and Section 5 presents my results with respect to these research issues. Section 6 proposes future work and discusses the applicability of my results. Finally, the four papers on which the thesis is based, referred to as I, II, III and IV,are appended. 2

11 2 Background 2.1 Embedded Real-Time Systems Embedded real-time systems are special purpose systems designed to interact (through sensors and actuators) in a timely fashion with a well-defined environment. Due to the nature of typical embedded applications, the functionality of the system can be divided into a set of more or less independent components. In the design of the system it has to be decided whether a component should be implemented in hardware or software. However, the development of dedicated hardware components is often more costly than for software components. This is why the system architecture often comprises a network of commercial off-the-shelf processors on which software tasks are being executed. To achieve a correct overall behavior of the system, the tasks must be allocated and scheduled onto the hardware nodes in a suitable fashion. However, this process is not as easy as it might seem at a first glance. First, for the system to function as intended, there are a large number of constraints that restrict the behavior of the tasks. These constraints do not concern only the timing but also communication and resource usage. Second, the design of embedded systems is driven by contradicting objectives such as cost, power consumption, performance and dependability. Therefore, one solution may be considered superior to another although the design constraints are satisfied in both cases. Hence, it is desired that a found solution is optimal with respect to the design objectives. Optimization Loosely put, the idea behind optimization is to do something as good as possible. Formally, optimization involves defining an objective function f (x) that measures the quality of a solution x. A solution must be feasible, that is, satisfy the constraints that have been imposed on the problem. A feasible solution x Λ is optimal (assuming minimization) if f (x Λ )» f (x) for all feasible solutions. Hence, optimization involves searching the space of possible solutions. Optimization has been well studied within the areas of mathematics and operations research, leading to a number of theoretical results as well as algorithms. In this mathematical view, the problem is expressed as a set of variables, representing the solution, and a system of equations, representing the constraints. In the case of only linear equations and objective functions, and if the variables may be assigned real numbers, the Simplex algorithm [11] has been shown to have a low average run-time complexity for most applications. Unfortunately, for many problems the constraints and objective function are often nonlinear, making it necessary to introduce other techniques such as Lagrangian methods [10] that are computationally more expensive. Furthermore, the variables are often restricted to assume only integer values. For such problems, the selected method must be used as part of a higher level framework such as the Branch-and- Bound algorithm [8]. However, few problems naturally fit the mathematical modeling paradigm, which has lead to the development of specialized optimization algorithms 3

12 based on general optimization principles. For instance, the Branch-and-Bound algorithm has been applied to allocation and scheduling of real-time systems [1, 5, 6, 21]. The same goes for the local search method Simulated Annealing [12, 17]. The major disadvantage of these specialized algorithms is that it often becomes hard to introduce new constraint constructs or optimization objectives in an existing algorithm. Regardless of the selected optimization approach there are a number of issues that must be resolved. For example, how should a feasible solution be found? Once a solution is found it can be used to discard inferior ones and perhaps guide the search towards promising areas. Also, how do we know that a solution is optimal? Knowing this means that the search can be terminated. In many cases the whole search space must be examined but it is sometimes possible to make safe optimistic estimations. Finally, how should the objective function be defined? This is particularly tricky when there are several objectives to consider. These issues will be discussed more in detail in Section 4 and Section 5. The actual computational complexity of performing allocation and scheduling depends on the type of constraints that can appear. In general, allocation and scheduling is an NP-complete decision problem [3] which means that the corresponding optimization problem is NP-hard. In addition to the computational complexity, the variety of constraint constructs in embedded systems makes it difficult to devise an algorithm that handles them all. Therefore, traditional approaches to analysis of real-time systems consider only simplified problem models [22]. In particular, allocation and scheduling are frequently performed as two separate subsequent steps. This may have severe implications on the quality of the solution because, with a two-step approach, the result of the scheduling will depend on the allocation. In fact, there is a circular dependency since the probability of performing a good allocation would increase if knowledge about the scheduling phase was available. Furthermore, the constraints considered by the algorithm are only a subset of all the constraints that typically appear in embedded systems. Finally, most proposed approaches attempt to find only a feasible or good solution instead of an optimal. 2.2 Problem Space The design of an embedded system usually proceeds in an iterative top-down manner as illustrated in Figure 1. First, from the specification of the system, it has to be decided which functionality should be implemented as hardware components and which as software tasks. This hardware/software partitioning involves determining whether to use dedicated hardware or commercially available processors. Furthermore, the design constraints on the software tasks are imposed at this stage. Then, given a particular partitioning, it is the job of the allocation and scheduling to guarantee a correct functionality for the proposed solution. This makes it necessary to reason about implementation properties before the system is actually built. Thus, unknown properties 4

13 System specification Hardware/Software partitioning Hardware architecture & Software tasks Allocation & Scheduling Solution model Implementation Final product Figure 1: The design process. Parameter System architecture Schedulability analysis Run-time policy Values Fixed or Variable Off-line or On-line Priority-based or Time-triggered Table 1: Overview of the design space. such as task execution times, need to be estimated, either by using tools or from the experience of the designer. Eventually, during the implementation of the system, such as code writing and possibly hardware synthesis, it is verified whether the estimations were accurate. Obviously, some steps may have to be repeated several times due to modifications called for by the validation process. Recall that the purpose of allocation and scheduling is to achieve a correct behavior of the system. To reach this goal a number of assumptions must be made to define the specific problem space. Table 1 shows an overview of design decisions that affect the way allocation and scheduling of embedded real-time systems is performed. 5

14 System architecture The allocation and scheduling is the link between the specification and the implementation, causing the designer to make assumptions about what information is required to perform this activity. In a fixed architecture it is assumed that all necessary parameters are known (or estimated) to a fixed value. That is, the number (and characteristics) of the hardware components and software tasks. In a variable architecture these parameters may be unknown or known only to some extent. For instance, task execution times may be estimated using intervals and the hardware architecture may consist of a set of possible components. A variable architecture will probably reduce the number of design iterations because a solution will be more robust. However, this involves a more complicated analysis, especially because the allowed degree of variability must be determined. Therefore, I assume a fixed architecture and attempt to reduce the time required for each iteration in the design process. Schedulability analysis In soft real-time systems, such as video servers, the violation of a timing constraint is not critical but merely degrades the system performance. In these kind of systems it may be sufficient (and necessary) to perform only a simple online analysis to determine the timely execution of tasks. Because the analysis algorithm operates on-line it must not be too complex. Thus, the constraint model must be simple and the analysis should be based on rather pessimistic assumptions. Furthermore, the exact arrival pattern of the tasks during run-time is often unknown, making it difficult to give any absolute performance guarantees. In contrast, embedded systems have hard timing constraints that must be guaranteed to hold always. Hence, an off-line analysis is required before the system is started. To perform off-line analysis, the arrival pattern of the tasks must be known which typically also is the case for embedded systems. For an off-line algorithm, run-time performance is not crucial which allows for the use of a more sophisticated and less pessimistic schedulability analysis. Furthermore, this allows the system design to be optimized with respect to the relation between development cost and application functionality. Hence, I assume that correctness analysis of the allocation and scheduling must be ensured off-line. Run-time policy Given that the scheduling analysis must be performed off-line, there are two conceptually different ways to do this. In the first approach, the analysis may be done by verifying the behavior of an algorithm that on-line performs the allocation and scheduling as in fixed-priority scheduling. However, this verification is usually rather difficult, especially in the presence of complex constraints. The second approach is to generate a timetable (for each node) that dictates when tasks should start. This approach is well suited for complex constraints because an off-line algorithm is used to generate the timetable that is then simply checked to hold. It is also suited for optimization because different solutions can be easily compared. Therefore, I assume a time-triggered scheduling policy. 6

15 Problem statement Given the stated assumptions on the system architecture, runtime policy and schedulability analysis, I can now formulate the problem statement for the work in this thesis: How can an optimization algorithm for off-line scheduling of a time-triggered realtime system be devised such that (i) complex constraints can be used in system modeling and (ii) the computational complexity is reduced to a tractable level for typical applications? 3 Possible Approaches 3.1 Previous Work There have been several attempts to implement optimization algorithms for real-time scheduling problems. If the application constraints are simple and optimality is not required, a purely heuristic algorithm may be sufficient [2, 13, 14]. However, if optimality should be guaranteed, an optimization framework such as Branch-and-Bound [1, 5, 6, 21] is needed. The problem with the Branch-and-Bound approach is that it requires a so-called lower bound function to estimate the potential of a partial solution. For complex problem constraints, this lower bound function quickly becomes too complicated to be effective in practice. An alternative, more declarative, approach would then be the local search method Simulated Annealing [12, 17]. This algorithm traverses the search space randomly which means that, although a good solution may often be found, there is no guarantee that a feasible solution eventually will be found. Hence, for infeasible or tightly constrained problems, Simulated Annealing is of little use. A common disadvantage of Branch-and-Bound and Simulated Annealing is that they do not actively use knowledge of the constraints to reduce the search space. In contrast, this feature is present in the constraint programming paradigm that in addition combines the declarative modeling of Simulated Annealing with the systematic search of Branch-and-Bound. Constraint programming has recently been shown to be an interesting approach for allocation and scheduling of embedded real-time systems [15, 16]. For this reason, constraint programming will be the approach investigated in this thesis. 3.2 Constraint Programming From the previous sections, it was clear that the desired solution approach would have two, quite contradicting, properties. On the one hand, it should be possible to express arbitrarily complex constraints suitable for the problem. On the other hand, simple general constraints should be used to provide a base for mathematical reasoning about the problem model. These two concepts are in fact present in the constraint programming paradigm [18]. In constraint programming, the problem is expressed as variables and constraints similar to the mathematical programming paradigm. However, the reasoning employed 7

16 to solve a problem differs significantly. The values of the variables are not restricted to real numbers but can be from an arbitrary domain, such as integers, booleans or sets. Depending on the domains of the variables, different constraint solvers are used. Constraint programming has been applied to several combinatorial problems [19] and the perhaps most popular and successfully used model is that of finite (integer) domains. This domain is also well suited for the allocation and scheduling problem of embedded real-time systems because all events occur at discrete clock ticks. In practice, the constraint solver is usually embedded as a library in a general purpose programming language. The conceptual similarities between constraint programming and logic programming have made the integration of constraint solvers into languages such as Prolog the most popular choice. This combination is also known as constraint logic programming (CLP). The tool I have used in the work of this thesis is SICStus Prolog [9] and its library for finite domains, clp(fd). Modeling in clp(fd) means first declaring the the variables and their domains. Then, the constraints among the variables are announced to the solver. In addition to user-defined constraints, the constraint solver also offers a variety of predefined constraint constructs. The introduction of a constraint triggers a propagation mechanism to ensure that the variables are consistent with the set of defined constraints. That is, values that cannot be part of a solution are removed from the domains. If the domain of a variable becomes empty, the problem is deemed to be infeasible by the solver. Unfortunately, the constraint propagation is not complete, implying that, to find a solution (assignment of values to the variables), search is required. During the search, constraint propagation is also used, making active use of the constraints for search space reduction. In constraint programming, the concept of optimization is easily introduced by modeling the objective function as a constrained variable. Optimization is then obtained by iteratively solving the problem with increasingly tighter bounds on this variable. Example To illustrate the constraint programming approach, consider the following small example for allocation and scheduling. Assume that there are five tasks A; B; C; D; E and two processors p 1 and p 2. Assume further that D is not allowed to start executing before 10 time units have passed (from the start of the schedule) and E must not start before 25 time units 1. The worst-case execution times of the tasks are c A = 18;c B = 10;c C = 15;c D = 17;c E = 10. The tasks must finish before their deadlines which are d A = 36;d B = 10;d C = 25;d D = 35;d E = 35. In the model of this problem there are two variables for each task, representing the assigned processor N i 2 [1; 2] and the scheduled start time S i 2 [0; 1] 2. The constraints restricting the start times are S D 10;S E 25 whereas the constraints restricting the finish times are S i + c i» d i. Tasks are not allowed to overlap their executions unless they have been assigned different processors. This is modeled using a predefined constraint con- 1 This time is denoted r i for task i. 2 Domains may be declared as [ 1;1] as long as the posted constraints makes each domain finite. 8

17 d B d C d E r E B C E p t r D d D d A p 1 0 A 18 D 35 t Figure 2: A scheduling example. struct that ensures that a set of rectangles do not overlap. That is, each task is seen as a rectangle with its lower left corner in position (S i ;N i ), with width c i and height 1. The result of the propagation from these constraints gives the following (unique) solution: S A = 0;S B = 0;S C = 10;S D = 18;S E = 25;N i 2 [1; 2]. Hence, the schedule is found without search. However, for the allocation we need to search by guessing values for the N i variables. If N A := 1 we get N B = 2;N C = 2;N D = 1;N E = 2 and a feasible solution has been found. The solution for this example is displayed in Figure 2. In this particular example we get the same result regardless of what variable and value we choose. This is because there is actually only one solution to this allocation problem; the tasks B; C; E have to be on one processor and A; D on the other. However, because we have two (equal) processors we get two symmetric solutions. That is, if N A := 2 we get N B = 1;N C = 1;N D = 2;N E = 1. Despite the evident power of constraint programming displayed by the example, a number of questions arise. What type of constraints appear in a typical application and how can they be modeled? During the search, in what order should the variables and values be examined? How can different optimization approaches be incorporated and what are the typical optimization objectives? 4 Research Issues Given the optimal allocation and scheduling problem for embedded real-time systems and the chosen solution approach, constraint programming, a number of specific research questions can be identified. Addressing these issues involves combining knowledge from the areas of real-time computing, optimization theory and constraint programming. 9

18 Modeling Before the modeling can begin, it must be established which constraints that typically appear in embedded real-time systems. In particular, this includes grasping the meaning of the constraints to make the model as accurate as possible. Modeling then involves determining how to express the constraints in the constraint programming environment. This can sometimes be rather difficult, especially in terms of efficiency. Multi-objective There are several design objectives, such as communication and load balance, that are relevant for embedded real-time systems. The problem is how these objectives should be composed in a multi-objective optimization scheme. Hence, it has to be defined what is meant by an optimal solution in this context. Complexity reduction It is clear that the search algorithm requires application-specific heuristics to be efficient in terms of run-time. In order to devise good heuristics it is important to understand the composition of a typical application. Although the goal of all heuristics is to aid the search for a feasible solution, some may result in a better solution when considering a particular optimization objective. The question is which heuristics that work well for allocation and scheduling of embedded real-time systems. 5 Summary of Papers This section lists a summary of the appended papers and their major contributions. I Real-Time System Constraints: Where do They Come From and Where do They Go? Within the real-time literature a large number of allocation and scheduling algorithms have been proposed. Although they address similar problems, the system and task models are based on different assumptions. This is particularly true for the constraints that are considered by these algorithms. This short paper attempts to initiate a discussion on what constraints that are found in embedded real-time systems and why they exist. The purpose is to demonstrate that not all constraints correspond to the requirements on the system but have rather been fabricated to fit the allocation and scheduling algorithm. Furthermore, the discussed constraints illustrate the vast amount of constructs that indeed need to be considered by an algorithm. The paper suggests how to model the allocation and scheduling problem as a constraint satisfaction problem (CSP). That is, a problem formulation suitable for a constraint programming approach. 10

19 II Solving Embedded System Scheduling Problems using Constraint Programming This paper is a continuation of paper I in the sense that it proceeds with the discussion on the origins of embedded system constraints. However, this paper moves a bit further and presents a taxonomy of the constraints. The taxonomy classifies a constraint based on the properties that it governs but also, perhaps more importantly, on its origin. In short, a constraint is natural if it can be derived from the system requirements. An implementation constraint arises due to decisions that have to be made in order to build the system. Constraints that do not belong to these two categories are artificial and have been introduced to simplify the analysis of the system. That is, the design problem has been adapted to fit the allocation and scheduling algorithm. Clearly, artificial constraints should not be necessary and can cause the problem to be over-constrained if carelessly introduced. The taxonomy can therefore serve as a valuable guide when deciding which constraints to impose on the design. This paper also discusses the problems concerning multi-objective optimization that appear in embedded system design. That is, the design attempts to optimize several contradicting objectives. For example, the system should have a performance that is sufficient for the application but at a low level of power consumption. Hence, the question is how to combine several objectives into one overall definition of optimality. In this paper it is suggested that each individual objective function f i (x) is translated into a function g i (x) 2 [0; 100] representing the percentage reached P of the estimated 3 optimal value. The combined objective function is then f (x) = g i (x) subject to g i (x) min 8ifg i (x 0 )g where x 0 is the best solution found so far. To validate the constraint programming approach, this paper proceeds to evaluate the modeling capabilities as well as the run-time performance. The ease of use is illustrated by comparing constraint programming with Simulated Annealing in a small modeling example. The solution performance is demonstrated by applying constraint programming on a number of typical embedded system applications. In particular, the study shows how the introduction of various constraints affect the complexity of solving a specific problem. III A CLP Framework for Allocation and Scheduling in Embedded Real-Time Systems This paper relates to paper II (and I) in the sense that the typical embedded system constraints and objectives described in paper II, are now formally defined in a constraint satisfaction model. That is, this paper shows how to model the design constraints (and objectives) using the constraint constructs offered by the clp(fd) library in SICStus 3 The estimation has to be optimistic. That is, it guarantees that the optimum is never better than the estimated value. 11

20 Prolog. 4 To simplify the specification of an application, this paper defines a language based on typical embedded system concepts. It is then shown how this specification can be automatically translated into the constraint model. Furthermore, this paper includes a description of how to implement an optimization algorithm that enables (i) the search to be aborted at any time and return the currently best solution, (ii) several objective functions to be handled simultaneously (as explained in II), and (iii) the algorithm to be configured depending on the particular problem. Hence, whereas paper II addresses the ideas behind a framework based on constraint programming, this paper addresses the implementation details. IV Evaluation of Search Heuristics for Embedded System Scheduling Problems This paper differs from the previous ones in that it addresses the performance aspects of constraint programming rather than modeling issues. Despite the seemingly intractable complexity of NP-hard problems, it is in fact possible to reduce the average complexity significantly by using appropriate heuristics. Within the area of allocation and scheduling for embedded real-time systems, a number of such heuristics exist. However, there are also general constraint programming heuristics that are applicable to this particular problem. Hence, this paper proposes how to combine these different heuristics and also evaluates which combinations that are the most successful. For allocation, the following heuristics are investigated: communication-clustering, period-clustering, load-balancing, round-robin and depth-first. The performance of these allocation heuristics were tested using different optimization objectives such as maximum lateness, load balance and network communication. The results in this paper show that, in all cases, the communication-clustering heuristic resulted in the shortest algorithm run-time, the main reasons being that a reduction in network communication both simplifies the problem of message scheduling, and increases the slack present in the task scheduling. The performance of any allocation heuristic can be improved by the use of symmetry exclusion. That is, if the processors are equal, it is (in some cases) sufficient to try only one of them in an assignment of a task. In this paper it is shown that the combination of communication-clustering and symmetry exclusion in fact reduces the average algorithm run-time by several orders of magnitude. Furthermore, this paper investigates whether it, in the scheduling phase, is beneficial to find a consistent ordering of the tasks before assigning concrete start times. This has been suggested in other studies to shorten the scheduling time significantly. However, the simulations performed in this paper show that such a heuristic does not make a significant performance improvement for typical embedded real-time applications. 4 It should be noted that although constructs specific to this library have been used, these are present in most other finite domain solvers as well. 12

21 6 Discussion and Future Work The work performed in this thesis clearly demonstrates the applicability of constraint programming to the problem of allocation and scheduling of embedded real-time systems. In particular, it is shown that it is possible to allow complex modeling constraints and yet be able to reduce the average computational complexity. However, there are still improvements to be made in these two areas. Algorithm performance For any algorithm that solves NP-complete problems, intelligent heuristics are essential to achieve a reasonable performance. Therefore, new and better heuristics, application-specific or general, are still being proposed or can be expected to be proposed in the future. A recent example are the discrepancy-based search algorithms [4, 20] that attempt to combine systematic search with the idea of restart as used in many local search methods. The performance of any optimization algorithm is also dependent on the quality of the lower bound 5. So far, I have not used any lower bound functions but only relied on the bounds given by the constraint propagation that in many cases are too optimistic. Therefore, I intend to investigate whether there exist lower bound functions that can be applicable for the optimization objectives that I consider. Problem modeling A fast algorithm is not useful if the problem that it solves has no relevance (in the real world). It would therefore be interesting to investigate how well the framework proposed in this thesis actually fits into the design process. That is, what modifications of the problem model can be made to reduce the number of design iterations further. As already mentioned, one such improvement would be to increase the degree of variability in the model to make solutions more robust. For instance, task execution times could be specified as ranges rather than exact figures and a solution would then have to be valid for all values within the given interval. The robustness of a solution also depends on the constraints. By starting with a small set of constraints and gradually introduce more (or tighter) constraints as the design progresses, the model will not be subject to as many modifications by the designer. Therefore, it would be preferable for the designer to know what is the minimal set of constraints necessary to express the desired functionality. That is, whether there are any redundant constraints in the model. A related issue is what happens when a solution cannot be found. It would then be valuable for the designer to receive some hints on exactly what constraint that is violated and how it can be modified. In fact, the data necessary to support these features are, to some extent, already contained in the composition of the constraint solver [7]. Although these issues suggested for future work differ substantially, the common goal is the same: to simplify and speed up the design process for embedded real-time 5 The lower bound is the optimistic estimation of the optimal value assuming minimization. 13

22 systems. Furthermore, the constraint programming framework developed as a part of this thesis offers a good starting point for all the research directions mentioned above. Acknowledgments I am grateful to many people who have been helpful during the course of this research. First of all I thank my supervisor Dr. Jan Jonsson for always believing in me and my ideas. I would never have reached this far without his support and enthusiasm. I also thank the members of my evaluation group, Håkan Edler and Jonas Vasell, for helping me see how my work fits into the big picture. Of course, the friendly atmosphere provided by all the people at the department, especially you guys on the sixth floor, facilitated the work on this thesis. My roommates, Martin Hiller and Robert Feldt, deserve additional thank yous for helping me getting started as a graduate student. My deepest gratitude goes to my family, in particular Martin, for always encouraging me in moments of doubt. Finally, I send a thought to Juni who made me decide to take on computer science in the first place. This work was funded by ARTES ( the national Swedish Real- Time Systems research initiative, supported by the Swedish Foundation for Strategic Research. 14

23 References [1] T. F. Abdelzaher and K. G. Shin. Optimal combined task and message scheduling in distributed real-time systems. In Proc. of the IEEE Real-Time Systems Symposium, pages , Pisa, Italy, December 5 7, [2] S. Davari and S. K. Dhall. On a real-time task allocation problem. In Proc. of the IEEE Annual Hawaii International Conference on System Sciences, pages 8 10, Honolulu, Hawaii, [3] M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, New York, [4] W. D. Harvey and M. L. Ginsberg. Limited discrepancy search. In Proc. of the International Joint Conference on Artificial Intelligence, Montreal, Canada, August 20 25, [5] C.-J. Hou and K. G. Shin. Allocation of periodic task modules with precedence and deadline constraints in distributed real-time systems. IEEE Trans. on Computers, 46(12): , December [6] J. Jonsson and K. G. Shin. A parametrized branch-and-bound strategy for scheduling precedence-constrained tasks on a multiprocessor system. In Proc. of the Int l Conf. on Parallel Processing, pages , Bloomingdale, Illinois, August 11 15, [7] N. Jussien and V. Barichard. The palm system: explanation-based constraint programming. In Proc. of TRICS:Techniques for Implementing Constraint programming Systems, Singapore, September [8] W. H. Kohler and K. Steiglitz. Enumerative and iterative computational approaches. In E. G. Coffman, Jr., editor, Computer and Job-Shop Scheduling Theory, chapter 6, pages Wiley, New York, [9] Intelligent Systems Laboratory. SICStus Prolog User s Manual. Swedish Institute of Computer Science, [10] S. G. Nash and A. Sofer. Optimality conditions for constrained problems. In Linear and Nonlinear Programming, chapter 14, pages McGraw-Hill, [11] S. G. Nash and A. Sofer. The simplex method. In Linear and Nonlinear Programming, chapter 5, pages McGraw-Hill, [12] M. D. Natale and J. A. Stankovic. Scheduling distributed real-time tasks with minimum jitter. IEEE Trans. on Computers, 49(4): , April

24 [13] K. Ramamritham. Allocation and scheduling of precedence-related periodic tasks. IEEE Trans. on Parallel and Distributed Systems, 6(4): , April [14] K. Ramamritham, J. A. Stankovic, and P.-F. Shiah. Efficient scheduling algorithms for real-time multiprocessor systems. IEEE Trans. on Parallel and Distributed Systems, 1(2): , April [15] K. Schild and J. Würtz. Scheduling of time-triggered real-time systems. Constraints, 5(4): , October [16] R. Szymanek, F. Gruian, and K. Kuchcinski. Digital systems design using constraint logic programming. In Proc. of the Practical Application of Constraint Technology and Logic Programming, Manchester, England, April 10 12, [17] K. W. Tindell, A. Burns, and A. J. Wellings. Allocating hard real-time tasks: An NP-hard problem made easy. Real-Time Systems, 4(2): , June [18] E. Tsang. Foundations of Constraint Satisfaction. Academic Press, [19] M. G. Wallace. Practical applications of constraint programming. Constraints, 1(1), [20] T. Walsh. Depth-bounded discrepancy search. In Proc. of the International Joint Conference on Artificial Intelligence, Nagoya, Japan, August 23 29, [21] J. Xu and D. L. Parnas. Scheduling processes with release times, deadlines, precedence, and exclusion relations. IEEE Trans. on Software Engineering, 16(3): , March [22] J. Xu and D. L. Parnas. On satisfying timing constraints in hard-real-time systems. IEEE Trans. on Software Engineering, 19(1):70 84, January

25

26 Paper I Real-Time System Constraints: Where do They Come From and Where do They Go? Reprinted from Proceedings of the International Workshop on Real-Time Constraints October, 1999.

27

28 Paper II Solving Embedded System Scheduling Problems using Constraint Programming Reprinted from Technical Report Department of Computer Engineering Chalmers University of Technology Göteborg, Sweden, 2000 Submitted for Publication.

29

30 Paper III A CLP Framework for Allocation and Scheduling in Embedded Real-Time Systems Reprinted from Technical Report Department of Computer Engineering Chalmers University of Technology Göteborg, Sweden, 2001 Submitted for Publication.

31

32 Paper IV Evaluation of Search Heuristics for Embedded System Scheduling Problems Reprinted from Proceedings of the International Conference on Principles and Practice of Constraint Programming November/December, 2001.

33

34

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

A Re-examination of Limited Discrepancy Search

A Re-examination of Limited Discrepancy Search A Re-examination of Limited Discrepancy Search W. Ken Jackson, Morten Irgens, and William S. Havens Intelligent Systems Lab, Centre for Systems Science Simon Fraser University Burnaby, B.C., CANADA V5A

More information

Constraint Solving by Composition

Constraint Solving by Composition Constraint Solving by Composition Student: Zhijun Zhang Supervisor: Susan L. Epstein The Graduate Center of the City University of New York, Computer Science Department 365 Fifth Avenue, New York, NY 10016-4309,

More information

B553 Lecture 12: Global Optimization

B553 Lecture 12: Global Optimization B553 Lecture 12: Global Optimization Kris Hauser February 20, 2012 Most of the techniques we have examined in prior lectures only deal with local optimization, so that we can only guarantee convergence

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

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Eliminating Annotations by Automatic Flow Analysis of Real-Time Programs

Eliminating Annotations by Automatic Flow Analysis of Real-Time Programs Eliminating Annotations by Automatic Flow Analysis of Real-Time Programs Jan Gustafsson Department of Computer Engineering, Mälardalen University Box 883, S-721 23 Västerås, Sweden jangustafsson@mdhse

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

Authors Abugchem, F. (Fathi); Short, M. (Michael); Xu, D. (Donglai)

Authors Abugchem, F. (Fathi); Short, M. (Michael); Xu, D. (Donglai) TeesRep - Teesside's Research Repository A Note on the Suboptimality of Nonpreemptive Real-time Scheduling Item type Article Authors Abugchem, F. (Fathi); Short, M. (Michael); Xu, D. (Donglai) Citation

More information

Constraint-Based Scheduling: An Introduction for Newcomers

Constraint-Based Scheduling: An Introduction for Newcomers Constraint-Based Scheduling: An Introduction for Newcomers Roman Barták * Charles University in Prague, Faculty of Mathematics and Physics Malostranské námestí 2/25, 118 00, Praha 1, Czech Republic bartak@kti.mff.cuni.cz

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

Machine Learning for Software Engineering

Machine Learning for Software Engineering Machine Learning for Software Engineering Introduction and Motivation Prof. Dr.-Ing. Norbert Siegmund Intelligent Software Systems 1 2 Organizational Stuff Lectures: Tuesday 11:00 12:30 in room SR015 Cover

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

Complexity Results on Graphs with Few Cliques

Complexity Results on Graphs with Few Cliques Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School

More information

Constraint Programming

Constraint Programming Constraint Programming - An overview Examples, Satisfaction vs. Optimization Different Domains Constraint Propagation» Kinds of Consistencies Global Constraints Heuristics Symmetries 7 November 0 Advanced

More information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

A Randomized Algorithm for Minimizing User Disturbance Due to Changes in Cellular Technology

A Randomized Algorithm for Minimizing User Disturbance Due to Changes in Cellular Technology A Randomized Algorithm for Minimizing User Disturbance Due to Changes in Cellular Technology Carlos A. S. OLIVEIRA CAO Lab, Dept. of ISE, University of Florida Gainesville, FL 32611, USA David PAOLINI

More information

Network Topology Control and Routing under Interface Constraints by Link Evaluation

Network Topology Control and Routing under Interface Constraints by Link Evaluation Network Topology Control and Routing under Interface Constraints by Link Evaluation Mehdi Kalantari Phone: 301 405 8841, Email: mehkalan@eng.umd.edu Abhishek Kashyap Phone: 301 405 8843, Email: kashyap@eng.umd.edu

More information

Static Multiprocessor Scheduling of Periodic Real-Time Tasks with Precedence Constraints and Communication Costs

Static Multiprocessor Scheduling of Periodic Real-Time Tasks with Precedence Constraints and Communication Costs Static Multiprocessor Scheduling of Periodic Real-Time Tasks with Precedence Constraints and Communication Costs Stefan Riinngren and Behrooz A. Shirazi Department of Computer Science and Engineering The

More information

The Traveling Salesman Problem: Adapting 2-Opt And 3-Opt Local Optimization to Branch & Bound Techniques

The Traveling Salesman Problem: Adapting 2-Opt And 3-Opt Local Optimization to Branch & Bound Techniques The Traveling Salesman Problem: Adapting 2-Opt And 3-Opt Local Optimization to Branch & Bound Techniques Hitokazu Matsushita hitokazu@byu.edu Ogden Mills ogdenlaynemills@gmail.com Nathan Lambson nlambson@gmail.com

More information

A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines

A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines A Transformation-Based Model of Evolutionary Architecting for Embedded System Product Lines Jakob Axelsson School of Innovation, Design and Engineering, Mälardalen University, SE-721 23 Västerås, Sweden

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

More information

FUTURE communication networks are expected to support

FUTURE communication networks are expected to support 1146 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 13, NO 5, OCTOBER 2005 A Scalable Approach to the Partition of QoS Requirements in Unicast and Multicast Ariel Orda, Senior Member, IEEE, and Alexander Sprintson,

More information

Multiple Constraint Satisfaction by Belief Propagation: An Example Using Sudoku

Multiple Constraint Satisfaction by Belief Propagation: An Example Using Sudoku Multiple Constraint Satisfaction by Belief Propagation: An Example Using Sudoku Todd K. Moon and Jacob H. Gunther Utah State University Abstract The popular Sudoku puzzle bears structural resemblance to

More information

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems*

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Appeared in Proc of the 14th Int l Joint Conf on Artificial Intelligence, 558-56, 1995 On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Roberto J Bayardo Jr and Daniel P Miranker

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2013 Soleymani Course material: Artificial Intelligence: A Modern Approach, 3 rd Edition,

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

Intelligent, real-time scheduling for FMS

Intelligent, real-time scheduling for FMS Intelligent, real-time scheduling for FMS V. Simeunovi}, S. Vrane{ Computer System Department, Institute Mihajlo Pupin, Volgina 15, 11060 Belgrade, Yugoslavia Email: vlada@lab200.imp.bg.ac.yu, sanja@lab200.imp.bg.ac.yu

More information

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS Waqas Akram, Cirrus Logic Inc., Austin, Texas Abstract: This project is concerned with finding ways to synthesize hardware-efficient digital filters given

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols The International Arab Journal of Information Technology, Vol. 5, No. 4, October 2008 381 Incompatibility Dimensions and Integration of Atomic Commit Protocols Yousef Al-Houmaily Department of Computer

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

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 8, NO. 6, DECEMBER 2000 747 A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks Yuhong Zhu, George N. Rouskas, Member,

More information

Hybrid Constraint Programming and Metaheuristic methods for Large Scale Optimization Problems

Hybrid Constraint Programming and Metaheuristic methods for Large Scale Optimization Problems Hybrid Constraint Programming and Metaheuristic methods for Large Scale Optimization Problems Fabio Parisini Tutor: Paola Mello Co-tutor: Michela Milano Final seminars of the XXIII cycle of the doctorate

More information

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1]

Principles of Optimization Techniques to Combinatorial Optimization Problems and Decomposition [1] International Journal of scientific research and management (IJSRM) Volume 3 Issue 4 Pages 2582-2588 2015 \ Website: www.ijsrm.in ISSN (e): 2321-3418 Principles of Optimization Techniques to Combinatorial

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

4.1 Review - the DPLL procedure

4.1 Review - the DPLL procedure Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They

More information

3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING 3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

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

Computational Complexity of Multi-way, Dataflow Constraint Problems

Computational Complexity of Multi-way, Dataflow Constraint Problems Computational Complexity of Multi-way, Dataflow Constraint Problems Gilles Trombettoni and Bertrand Neveu Projet Contraintes, CERMICS/INRIA, 2004 route des lucioles, 06902 Sophia-Antipolis Cedex, B.P.

More information

QueryLines: Approximate Query for Visual Browsing

QueryLines: Approximate Query for Visual Browsing MITSUBISHI ELECTRIC RESEARCH LABORATORIES http://www.merl.com QueryLines: Approximate Query for Visual Browsing Kathy Ryall, Neal Lesh, Tom Lanning, Darren Leigh, Hiroaki Miyashita and Shigeru Makino TR2005-015

More information

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations. A Framework for Embedded Real-time System Design? Jin-Young Choi 1, Hee-Hwan Kwak 2, and Insup Lee 2 1 Department of Computer Science and Engineering, Korea Univerity choi@formal.korea.ac.kr 2 Department

More information

Instituto Nacional de Pesquisas Espaciais - INPE/LAC Av. dos Astronautas, 1758 Jd. da Granja. CEP São José dos Campos S.P.

Instituto Nacional de Pesquisas Espaciais - INPE/LAC Av. dos Astronautas, 1758 Jd. da Granja. CEP São José dos Campos S.P. XXXIV THE MINIMIZATION OF TOOL SWITCHES PROBLEM AS A NETWORK FLOW PROBLEM WITH SIDE CONSTRAINTS Horacio Hideki Yanasse Instituto Nacional de Pesquisas Espaciais - INPE/LAC Av. dos Astronautas, 1758 Jd.

More information

A Visualization Program for Subset Sum Instances

A Visualization Program for Subset Sum Instances A Visualization Program for Subset Sum Instances Thomas E. O Neil and Abhilasha Bhatia Computer Science Department University of North Dakota Grand Forks, ND 58202 oneil@cs.und.edu abhilasha.bhatia@my.und.edu

More information

Lecture 19. Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer

Lecture 19. Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer CS-621 Theory Gems November 21, 2012 Lecture 19 Lecturer: Aleksander Mądry Scribes: Chidambaram Annamalai and Carsten Moldenhauer 1 Introduction We continue our exploration of streaming algorithms. First,

More information

HARNESSING CERTAINTY TO SPEED TASK-ALLOCATION ALGORITHMS FOR MULTI-ROBOT SYSTEMS

HARNESSING CERTAINTY TO SPEED TASK-ALLOCATION ALGORITHMS FOR MULTI-ROBOT SYSTEMS HARNESSING CERTAINTY TO SPEED TASK-ALLOCATION ALGORITHMS FOR MULTI-ROBOT SYSTEMS An Undergraduate Research Scholars Thesis by DENISE IRVIN Submitted to the Undergraduate Research Scholars program at Texas

More information

Modeling and Simulating Discrete Event Systems in Metropolis

Modeling and Simulating Discrete Event Systems in Metropolis Modeling and Simulating Discrete Event Systems in Metropolis Guang Yang EECS 290N Report December 15, 2004 University of California at Berkeley Berkeley, CA, 94720, USA guyang@eecs.berkeley.edu Abstract

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

Optimal Configuration of Compute Nodes for Synthetic Aperture Radar Processing

Optimal Configuration of Compute Nodes for Synthetic Aperture Radar Processing Optimal Configuration of Compute Nodes for Synthetic Aperture Radar Processing Jeffrey T. Muehring and John K. Antonio Deptartment of Computer Science, P.O. Box 43104, Texas Tech University, Lubbock, TX

More information

A Binary Integer Linear Programming-Based Approach for Solving the Allocation Problem in Multiprocessor Partitioned Scheduling

A Binary Integer Linear Programming-Based Approach for Solving the Allocation Problem in Multiprocessor Partitioned Scheduling A Binary Integer Linear Programming-Based Approach for Solving the Allocation Problem in Multiprocessor Partitioned Scheduling L. Puente-Maury, P. Mejía-Alvarez, L. E. Leyva-del-Foyo Department of Computer

More information

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information

Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach

Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach Tabu search and genetic algorithms: a comparative study between pure and hybrid agents in an A-teams approach Carlos A. S. Passos (CenPRA) carlos.passos@cenpra.gov.br Daniel M. Aquino (UNICAMP, PIBIC/CNPq)

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

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

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

Introduction to Real-Time Systems ECE 397-1

Introduction to Real-Time Systems ECE 397-1 Introduction to Real-Time Systems ECE 97-1 Northwestern University Department of Computer Science Department of Electrical and Computer Engineering Teachers: Robert Dick Peter Dinda Office: L477 Tech 8,

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Global Solution of Mixed-Integer Dynamic Optimization Problems

Global Solution of Mixed-Integer Dynamic Optimization Problems European Symposium on Computer Arded Aided Process Engineering 15 L. Puigjaner and A. Espuña (Editors) 25 Elsevier Science B.V. All rights reserved. Global Solution of Mixed-Integer Dynamic Optimization

More information

Foundations of Computing

Foundations of Computing Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

Arc-Flow Model for the Two-Dimensional Cutting Stock Problem

Arc-Flow Model for the Two-Dimensional Cutting Stock Problem Arc-Flow Model for the Two-Dimensional Cutting Stock Problem Rita Macedo Cláudio Alves J. M. Valério de Carvalho Centro de Investigação Algoritmi, Universidade do Minho Escola de Engenharia, Universidade

More information

Using Hybrid Algorithm in Wireless Ad-Hoc Networks: Reducing the Number of Transmissions

Using Hybrid Algorithm in Wireless Ad-Hoc Networks: Reducing the Number of Transmissions Using Hybrid Algorithm in Wireless Ad-Hoc Networks: Reducing the Number of Transmissions R.Thamaraiselvan 1, S.Gopikrishnan 2, V.Pavithra Devi 3 PG Student, Computer Science & Engineering, Paavai College

More information

Reliability Allocation

Reliability Allocation Reliability Allocation Introduction Many systems are implemented by using a set of interconnected subsystems. While the architecture of the overall system may often be fixed, individual subsystems may

More information

Interval Algorithms for Coin Flipping

Interval Algorithms for Coin Flipping IJCSNS International Journal of Computer Science and Network Security, VOL.10 No.2, February 2010 55 Interval Algorithms for Coin Flipping Sung-il Pae, Hongik University, Seoul, Korea Summary We discuss

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Kanban Scheduling System

Kanban Scheduling System Kanban Scheduling System Christian Colombo and John Abela Department of Artificial Intelligence, University of Malta Abstract. Nowadays manufacturing plants have adopted a demanddriven production control

More information

Constraint Satisfaction Problems. Chapter 6

Constraint Satisfaction Problems. Chapter 6 Constraint Satisfaction Problems Chapter 6 Constraint Satisfaction Problems A constraint satisfaction problem consists of three components, X, D, and C: X is a set of variables, {X 1,..., X n }. D is a

More information

ARITHMETIC operations based on residue number systems

ARITHMETIC operations based on residue number systems IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 53, NO. 2, FEBRUARY 2006 133 Improved Memoryless RNS Forward Converter Based on the Periodicity of Residues A. B. Premkumar, Senior Member,

More information

Using Timestamps to Track Causal Dependencies

Using Timestamps to Track Causal Dependencies Using Timestamps to Track Causal Dependencies J. A. David McWha Dept. of Computer Science, University of Waikato, Private Bag 315, Hamilton jadm@cs.waikato.ac.nz ABSTRACT As computer architectures speculate

More information

Hardware-Software Codesign

Hardware-Software Codesign Hardware-Software Codesign 4. System Partitioning Lothar Thiele 4-1 System Design specification system synthesis estimation SW-compilation intellectual prop. code instruction set HW-synthesis intellectual

More information

is the Capacitated Minimum Spanning Tree

is the Capacitated Minimum Spanning Tree Dynamic Capacitated Minimum Spanning Trees Raja Jothi and Balaji Raghavachari Department of Computer Science, University of Texas at Dallas Richardson, TX 75083, USA raja, rbk @utdallas.edu Abstract Given

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

Implementing Sequential Consistency In Cache-Based Systems

Implementing Sequential Consistency In Cache-Based Systems To appear in the Proceedings of the 1990 International Conference on Parallel Processing Implementing Sequential Consistency In Cache-Based Systems Sarita V. Adve Mark D. Hill Computer Sciences Department

More information

The Systematic Generation of Channelling Constraints

The Systematic Generation of Channelling Constraints The Systematic Generation of Channelling Constraints Bernadette Martínez-Hernández and Alan M. Frisch Artificial Intelligence Group, Dept. of Computer Science, Univ. of York, York, UK Abstract. The automatic

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS. Roman Barták

CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS. Roman Barták In Proceedings of 7th IFAC Workshop on Intelligent Manufacturing Systems (IMS 2003), Elsevier Science, 2003 (to appear). CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS Roman Barták Charles

More information

A SIMULATED ANNEALING ALGORITHM FOR SOME CLASS OF DISCRETE-CONTINUOUS SCHEDULING PROBLEMS. Joanna Józefowska, Marek Mika and Jan Węglarz

A SIMULATED ANNEALING ALGORITHM FOR SOME CLASS OF DISCRETE-CONTINUOUS SCHEDULING PROBLEMS. Joanna Józefowska, Marek Mika and Jan Węglarz A SIMULATED ANNEALING ALGORITHM FOR SOME CLASS OF DISCRETE-CONTINUOUS SCHEDULING PROBLEMS Joanna Józefowska, Marek Mika and Jan Węglarz Poznań University of Technology, Institute of Computing Science,

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

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Time Triggered and Event Triggered; Off-line Scheduling

Time Triggered and Event Triggered; Off-line Scheduling Time Triggered and Event Triggered; Off-line Scheduling Real-Time Architectures -TUe Gerhard Fohler 2004 Mälardalen University, Sweden gerhard.fohler@mdh.se Real-time: TT and ET Gerhard Fohler 2004 1 Activation

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

Homework index. Processing resource description. Goals for lecture. Communication resource description. Graph extensions. Problem definition

Homework index. Processing resource description. Goals for lecture. Communication resource description. Graph extensions. Problem definition Introduction to Real-Time Systems ECE 97-1 Homework index 1 Reading assignment.............. 4 Northwestern University Department of Computer Science Department of Electrical and Computer Engineering Teachers:

More information

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

Efficient Synthesis of Production Schedules by Optimization of Timed Automata Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student

More information

Complementary Graph Coloring

Complementary Graph Coloring International Journal of Computer (IJC) ISSN 2307-4523 (Print & Online) Global Society of Scientific Research and Researchers http://ijcjournal.org/ Complementary Graph Coloring Mohamed Al-Ibrahim a*,

More information

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

More information

This is the search strategy that we are still using:

This is the search strategy that we are still using: About Search This is the search strategy that we are still using: function : if a solution has been found: return true if the CSP is infeasible: return false for in : if : return true return false Let

More information

Large-Scale Optimization and Logical Inference

Large-Scale Optimization and Logical Inference Large-Scale Optimization and Logical Inference John Hooker Carnegie Mellon University October 2014 University College Cork Research Theme Large-scale optimization and logical inference. Optimization on

More information

Static verification of program running time

Static verification of program running time Static verification of program running time CIS 673 course project report Caleb Stanford December 2016 Contents 1 Introduction 2 1.1 Total Correctness is Not Enough.................................. 2

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

Semi-Independent Partitioning: A Method for Bounding the Solution to COP s

Semi-Independent Partitioning: A Method for Bounding the Solution to COP s Semi-Independent Partitioning: A Method for Bounding the Solution to COP s David Larkin University of California, Irvine Abstract. In this paper we introduce a new method for bounding the solution to constraint

More information

MLR Institute of Technology

MLR Institute of Technology Course Name : Engineering Optimization Course Code : 56021 Class : III Year Branch : Aeronautical Engineering Year : 2014-15 Course Faculty : Mr Vamsi Krishna Chowduru, Assistant Professor Course Objective

More information

On Computing Minimum Size Prime Implicants

On Computing Minimum Size Prime Implicants On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for

More information

T. Biedl and B. Genc. 1 Introduction

T. Biedl and B. Genc. 1 Introduction Complexity of Octagonal and Rectangular Cartograms T. Biedl and B. Genc 1 Introduction A cartogram is a type of map used to visualize data. In a map regions are displayed in their true shapes and with

More information

Lecture Notes on Register Allocation

Lecture Notes on Register Allocation Lecture Notes on Register Allocation 15-411: Compiler Design Frank Pfenning Lecture 3 September 1, 2009 1 Introduction In this lecture we discuss register allocation, which is one of the last steps in

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Job-shop scheduling with limited capacity buffers

Job-shop scheduling with limited capacity buffers Job-shop scheduling with limited capacity buffers Peter Brucker, Silvia Heitmann University of Osnabrück, Department of Mathematics/Informatics Albrechtstr. 28, D-49069 Osnabrück, Germany {peter,sheitman}@mathematik.uni-osnabrueck.de

More information

Placement Algorithm for FPGA Circuits

Placement Algorithm for FPGA Circuits Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

A NEW HEURISTIC ALGORITHM FOR MULTIPLE TRAVELING SALESMAN PROBLEM

A NEW HEURISTIC ALGORITHM FOR MULTIPLE TRAVELING SALESMAN PROBLEM TWMS J. App. Eng. Math. V.7, N.1, 2017, pp. 101-109 A NEW HEURISTIC ALGORITHM FOR MULTIPLE TRAVELING SALESMAN PROBLEM F. NURIYEVA 1, G. KIZILATES 2, Abstract. The Multiple Traveling Salesman Problem (mtsp)

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information