JG U JOHANNES GUTENBERG UNIVERSITAT 1^2 Optimized Scheduling in Real-Time Environments with Column Generation Dissertation zur Erlangung des Grades,.Doktor der Naturwissenschaften" am Fachbereich Physik, Mathematik und Informatik der Johannes Gutenberg-Universitat in Mainz Sebastian Hoffmann geboren in Bad Homburg v.d.h. Mainz, 2014 http://d-nb.info/1059709708
Abstract Zusammenfassung Acknowledgments v vii ix 1 Introduction 1 1.1 Motivation 2 ~ 1.2 Related Work 2 1.3 Contributions and Objectives 3 1.3.1 Assessing Quality of Solutions by Providing Lower Bounds 4 1.3.2 Providing Global Optimal Allocations 5 1.3.3 Development of Hybrid Approaches 5 1.4 Context 5 1.5 Outline 6 2 Preliminaries 9 2.1 General Preliminaries 9 2.2 Computational Complexity 10 2.3 Linear Algebra 12 2.4 Linear Programming 13 2.4.1 Canonical Form 14 2.4.2 Standard Form " 15 2.4.3 Algebra and Geometry 15 2.4.4 Duality 18 2.4.5 Degeneracy 21 2.4.6 Simplex Method 22 2.4.7 Dantzig-Wolfe Decomposition 29 xi
2.5 Integer Linear Programming 30 2.5.1 Introduction 30 2.5.2 Exact Algorithms 31 2.5.3 Approximation Algorithms 35 2.5.4 Heuristic Algorithms 35 2.6 Real-Time Scheduling 36 2.6.1 Real-Time Embedded Systems 36 2.6.1.1 Electronical Control Units (ECUs) and ECU types 37 2.6.1.2 Communication Buses 37 2.6.1.3 Tasks 38 2.6.1.4 Messages 38 2.6.1.5 Task Networks 39 2.6.2 Task Scheduling Policies and Analyses 39 2.6.2.1 Processor Utilization Analysis 41 2.6.2.2 Processor Demand Analysis 42 2.6.2.3 Response Time Analysis 42 2.6.2.4 Workload Analysis 43 2.6.2.5 Earliest Deadline First (EDF) 43 2.6.2.6 Fixed Priority Scheduling (FPS) 44 2.6.2.7 Rate Monotonic Scheduling (RMS) 46 2.6.2.8 Deadline Monotonic Scheduling (DMS) 46 2.6.3 Message Scheduling Policies and Analyses 47 2.6.3.1 Token Ring Local Area Network (TAN) 47 2.6.3.2 Controller Area Network (CAN) 48 2.6.3.3 Time Division Multiple Access (TDMA) 49 3 Problem Definition 51 3.1 Hardware Architecture 51 3.2 Task Network 53 3.3 Assignments 55 3.4 Additional Constraints 55 3.5 Objective Function 57 3.6 Feasibility 57 3.7 Characterization of Problems 59 4 Column Generation Approach for the Distributed Scheduling Problem 61 4.1 Computational Complexity 62 4.2 ILP formulation 64 4.3 LP relaxation 66 4.4 Branch and Bound Framework 68 4.4.1 Upper Bounds on the Objective Function 69 4.4.2 Lower Bounds on the Objective Function 69 4.4.3 Evaluation of Solutions 70 4.4.4 Branching Rules 70 xii
TabJe of Contents 4.4.5 Best First Search Strategy 71 4.5 Column Generation Approach 72 4.5.1 Algebraic Derivation 73 4.5.2 Master Problem 74 4.5.3 Pricing Problems 76 4.5.3.1 Task Pricing Problems 76 4.5.3.2 Message Pricing Problem 77 4.6 Implementation Strategies 78 4.6.1 Integrality of the Objective Function 78 4.6.2 Multiple Columns Generation 79 4.6.3 Heuristic Phase 79 5 Formulations for Different Scenarios 83 5.1 Task Pricing Formulations 83 5.1.1 Simplifications 84 5.1.2 Formulations for the Additional Constraints 84 5.1.3 Cost of Hardware 85 5.1.4 Memory Consumption 86 5.1.5 Scheduling 86 5.1.5.1 Processor Utilization Analysis 87 5.1.5.2 Response Time Analysis 88 5.1.5.3 Workload Analysis 90 5.2 Message Pricing Formulations 93 5.2.1 Analysis for TAN buses 93 5.2.2 Response Time Analysis for CAN buses 93 5.2.3 Analysis for a simple TDMA bus 96 5.3 Combined Formulations 98 5.3.1 Analysis for Chains 98 5.3.2 Modifications of the Master Problem 99 5.3.3 Modifications of the Pricing Problems 102 5.3.4 New ILP formulation for Computing Response Times... 102 6 Experiments and Evaluation 107 6.1 Progress and Comparison Charts 107 6.2 Experimental Setup 110 6.3 Problem Instances Ill 6.4 Objectives and Evaluation 114 6.4.1 Assessing Quality of Solutions by Providing Lower Bounds 114 6.4.2 Providing Global Optimal Allocations 117 6.4.2.1 DSP-GF with the DMS policy ColGen-1 117 6.4.2.2 DSP-GF with WCRT computation ColGen-e and ColGen-n 119 6.4.2.3 DSP-CF with WCRT computation ColGen-e and ColGen-n 121 xiii
6.4.3 Development of Hybrid Approaches 124 6.4.3.1 Including heuristic start solutions 125 6.4.3.2 Additional presolve phase 127 6.4.3.3 Heuristic start solutions and presolve phase... 129 7 Conclusion 133 7.1 Summary of the Results 133 7.1.1 Assessing Quality of Solutions by Providing Lower Bounds 133 7.1.2 Providing Global Optimal Allocations 134 7.1.3 Development of Hybrid Approaches 134 7.2 Discussion 135 7.2.1 Algorithm Design 135 7.2.2 Scalability 136 7.2.3 Symmetry 137 7.2.4 Parallelization 137 7.2.5 Parameter Tuning 138 Bibliography 139 xiv