Copyright
IIT Kharagpur
Contents
List of Symbols/Abbreviation xiii
Abstract xvii
1 Introduction 1
1.1 Background . . . 1
1.2 Motivation . . . 4
1.3 Objectives . . . 6
1.4 Contributions of this Work . . . 7
1.4.1 Sticky-ERfair: A Task-Processor Affinity Aware Scheduler 8 1.4.2 Partition-Oriented ERfair Scheduler (POES) . . . 8
1.4.3 Partition Oriented Frame Based Fair Scheduler (POFBFS) 9 1.4.4 ERfair Scheduling with Processor Shutdown (ESSM) . . 10
1.4.5 Safe-ERfair: ERfair with a priori Overload Detection and Avoidance . . . 11
1.5 Organization of the Thesis . . . 12
2 Real Time and Rate Based Scheduling – Background, Flavours, Trends 15 2.1 Introduction . . . 15
2.2 A Background on Scheduling . . . 16
2.3 An Overview of Real-Time Systems . . . 18
2.4 Real-time Scheduling . . . 20
2.4.1 A Classification of Real-time Scheduling Approaches . 20 2.4.2 Partitioning Approaches . . . 23
2.4.3 Traditional Real-time Scheduling Approaches . . . 24
2.4.4 Deficiencies With The Traditional Approaches . . . 26
2.4.5 Improving System Utilization in Multiprocessor Systems 27 2.5 Rate-based Resource Allocation . . . 30
2.5.1 Server-based Allocation . . . 31
2.5.2 Liu and Layland Style Allocation . . . 32
2.5.3 Fluid-flow Allocation (Proportional Share Scheduling) . 32 2.5.4 A Taxonomy of Fluid-flow Allocation Methods . . . 33
2.5.5 Proportional Fair Scheduling: Practical Overheads . . . 38
2.5.6 Proportional Fair Scheduling: Alleviating Overheads . . 39
2.6 Emerging Real-time Scheduling Trends . . . 40
2.6.1 Energy Aware Real-time Scheduling . . . 40 xix
Copyright
IIT Kharagpur
xx CONTENTS
2.6.2 Overload Handling in Real-time Systems . . . 41
2.6.3 Fault Tolerant Real-time Scheduling . . . 42
2.6.4 Real-time Scheduling on Multicore Platforms . . . 44
2.7 Conclusions . . . 45
3 The Sticky-ERfair Scheduler 47 3.1 Introduction . . . 47
3.2 Terminology . . . 49
3.3 The Sticky-ERfair Algorithm . . . 51
3.4 Analysis of The Algorithm . . . 53
3.5 Experiments and Results . . . 58
3.5.1 Experimental Setup . . . 58
3.5.2 Migration Measurement Results . . . 59
3.5.3 Preemption Measurement Results . . . 63
3.5.4 Sticky-ERfair Vs.Basic-ERfair – Time Gain: . . . 66
3.6 Conclusions . . . 66
4 Partition-Oriented ERfair Scheduling 69 4.1 Introduction . . . 69
4.2 POES – Algorithm Overview . . . 70
4.3 POES – Detailed Algorithm . . . 71
4.4 Scheduling Complexity . . . 76
4.5 Experiments and Results . . . 77
4.5.1 Experimental Setup . . . 77
4.5.2 Results Obtained . . . 78
4.6 Conclusions . . . 81
5 Partition Oriented Frame Based Fair Scheduler 83 5.1 Introduction . . . 83
5.2 Terminology . . . 84
5.3 The POFBFS Algorithm . . . 86
5.3.1 Detailed Algorithm . . . 88
5.4 Analysis of the Algorithm . . . 94
5.5 Experiments and Results . . . 99
5.5.1 Experimental Setup . . . 99
5.5.2 Results . . . 100
5.5.2.1 Migration Measurements . . . 100
5.5.2.2 Fairness Measurements . . . 105
5.5.3 Performance Under Dynamic Workloads . . . 105
5.5.4 Discussion . . . 107
5.5.4.1 POFBFS Vs. Basic-ERfair – The Speed-up . . 109
5.5.4.2 POFBFS Vs. Basic-ERfair – Real-time Fair- ness Accuracy . . . 110
5.5.4.3 Choice of Frame-sizeG . . . 111
5.6 Conclusions . . . 112
Copyright
IIT Kharagpur
CONTENTS xxi
6 ERfair Scheduler with Processor Shutdown 113
6.1 Introduction . . . 113
6.2 Energy Consumption Model . . . 114
6.3 Terminology . . . 114
6.4 The ESSM Algorithm . . . 116
6.4.1 Calculation of Effective Weights of Tasks . . . 117
6.4.2 Slack . . . 118
6.4.3 Processor and Task States . . . 119
6.4.4 Overview of Shutdown Strategy . . . 120
6.4.5 Viability of Processor Shutdown . . . 123
6.4.6 ESSM: Algorithm Overview . . . 126
6.4.7 Data Structures . . . 127
6.4.8 Detailed Algorithm . . . 128
6.4.9 Scheduling Complexity . . . 129
6.4.10 Single Processor Systems: A Special Case . . . 134
6.5 Experiments and Results . . . 135
6.5.1 Experimental Setup . . . 135
6.5.2 Results . . . 138
6.5.3 Discussion . . . 138
6.5.3.1 A Measure of Actual Energy Savings . . . 141
6.6 Conclusions . . . 142
7 The Safe-ERfair Scheduler 143 7.1 Introduction . . . 143
7.2 Problem Statement . . . 144
7.3 The Safe-ERfair Algorithm . . . 145
7.3.1 Effective Task Weights . . . 146
7.3.2 Working Principle . . . 146
7.3.3 Detailed Algorithm . . . 147
7.4 Scheduling Complexity . . . 147
7.5 Experiments and Results . . . 151
7.5.1 Data Set I . . . 151
7.5.2 Data Set II . . . 152
7.5.3 Data Set III . . . 153
7.5.4 Discussion . . . 153
7.6 Conclusions . . . 154
8 Conclusions and Future Work 155 8.1 Summarization . . . 155
8.2 Work in Progress . . . 157
8.2.1 O(1) Frame-Based Fair Multiprocessor Scheduling . . . 158
8.2.2 Co-runner Aware Multicore Boundary-Fair Scheduler . . 159
8.3 Scope for Future Research . . . 160
8.3.1 Checkpoint Based Fault Tolerance in Fair Schedulers . 161 8.3.2 Combined Scheduling of Periodic and Aperiodic Tasks (CSPAT) . . . 161
Copyright
IIT Kharagpur
xxii CONTENTS
A Data Generation Framework 163
A.1 Introduction . . . 163
A.2 The Input Parameters . . . 163
A.3 The Data Generation Algorithm . . . 164
A.3.1 A Sample Data Set . . . 164
References 169