Fuzzy Logic Based Adaptive Hierarchical Scheduling for Periodic Real-Time Tasks Tom Springer, Steffen Peter, and Tony Givargis Center for Embedded Computer Systems University of California, Irvine, USA {tspringe, st.peter, givargis}@uci.edu ABSTRACT requirements are respected. During an overload event the system In this paper, we present a new scheduling approach for real-time needs to be able to dynamically adapt to the current load so that tasks in an embedded system. Our method utilizes hierarchical system performance can degrade gracefully. scheduling to provide a resource based allocation scheme while As a solution to these challenges our work utilizes hierarchical using a fuzzy logic based feedback scheduler to react to scheduling to provide the temporal isolation for real-time tasks by environmental changes within the application. The primary goal is enforcing their timing constraints. The hierarchical scheduling to provide a scheduling mechanism that can adapt to overload framework (HSF) originally proposed by researchers [1] is a conditions but still present a level of service while enforcing the component based technique for scheduling complex real-time temporal isolation between independent applications. The systems. The initial idea in applying this approach is that scheduler then considers this level of service to make scheduling relatively simple components can be used to create larger and decisions based upon a task’s service requirements, such as more complex systems. In this way, the timing constraints of criticality or timeliness. Implemented in VxWorks on a individual components can be verified, a type of divide and uniprocessor-based platform results show that our adaptive conquer approach. Therefore, by extending this framework we can approach provides significant advantages, during overload then schedule each application (i.e. component) such that their conditions, over traditional fixed-priority scheduling schemes. timing constraints are satisfied. However, the current limitation with a traditional HSF-based approach is that the scheduling Categories and Subject Descriptors parameters for each component are assigned statically. C.3 [Special-Purpose and Application-Based Systems]: Real- Unfortunately, in a dynamic system the resource demand for each Time and embedded systems. component can vary significantly especially during periods of overload. It is for this reason that we present an adaptive General Terms mechanism where the component parameters can adapt to Algorithms, Performance, Reliability environmental changes in the system. In this way, the system can degrade gracefully in the presence of computational overload Keywords while still maintaining a level of serviceability for critical Real-time systems, hierarchical scheduling, fuzzy logic, real-time applications. operating systems. For this work we apply a novel approach where the component 1. INTRODUCTION parameters adapt based upon a value-based heuristic instead of a Current embedded systems are becoming considerably more deadline based policy. This value-based approach is applied complicated and they are expected to handle increasingly diverse because authors in [5] have presented the limitations of a deadline applications. No longer are they considered special-purpose based model for real-time scheduling and have concluded that a computing environments but are evolving into more general- value-based approach can more accurately represent the cost or purpose type platforms in terms of their processing and workload benefit of meeting or missing a deadline. The challenge is in requirements. These increasingly diverse applications present new assigning this value metric because in the event of an overload we challenges for traditional real-time scheduling mechanisms in that want to degrade the performance gracefully by ensuring that tasks applications can have conflicting objectives. For example, one are provided at least some minimum level of service. Therefore, application may be more concerned with screen update response during an overload when the current schedule is unfeasible we as opposed to whether a single update is missed. While a mission want the scheduler to schedule tasks according to some intelligent critical application, such as a navigational task, cannot afford to heuristic. Some possible heuristics would include scheduling the miss even a single update. most important tasks first while still maintaining some level of timeliness for the less important tasks. Our approach is to utilize a The problem is that traditional real-time scheduling mechanisms heuristic function for guiding the scheduling decisions in a do not map well to these diverse types of applications specifically complicated situation where multiple factors may need to be during a processing fault or during periods of computational considered such as deadlines, task criticality or task response overload. Faults can occur from longer than unexpected task times. execution time or from programming errors which can lead to the starvation for all lower-priority tasks. An overload can occur as In this paper we present a new adaptive hierarchical scheduler for the result of too many tasks being admitted into the system real-time systems (AHS-RT) that provides timing guarantees for resulting into what is known as the “domino effect” where all critical tasks and a minimum level of service for non-critical tasks tasks except the newly admitted one miss their deadlines. during overload conditions. Our approach is to utilize fuzzy logic for the guidance mechanisms because they prove to be easier to The challenge is that many embedded systems are expected to express, comprehend and modify than other heuristic functions. perform continuous operations in potentially harsh environments and execute at least a subset of critical operations during a fault or The remainder of this paper is organized as follows. Section 2 overload condition. In order to enforce these strict timing provides an overview of the hierarchical scheduling framework constraints required by critical functions during a fault condition a used by our scheduling mechanism. Section 3 discusses related form of temporal isolation is needed so that corresponding timing work and Section 4 provides an overview of the hierarchical EWiLi’15, October 8th, 2015, Amsterdam, The Netherlands. Copyright retained by the authors. scheduler (AHS-RT). Section 5 presents the simulations we used 2.4 Fuzzy Systems to provide comparisons between our scheduling approach and The scheduler and the controller of AHS-RT are based upon traditional fixed priority scheduling. In Section 6 we conclude fuzzy-logic heuristics. The fuzzy logic based approach was with future work and the research summary. chosen because of its strength in dealing with dynamic 2. BACKGROUND This section provides a background of the terminology used in the paper as well as an overview of hierarchical scheduling provided as a reference for the overall architecture of adaptive hierarchical scheduling. 2.1 Hierarchical Scheduling Framework Hierarchical scheduling provides a framework for scheduling multiple real-time applications on a single processor which is modeled as a system S. Each system may consist of multiple applications (subsystems ) such that . Each subsystem consists of a number of real-time tasks. Each subsystem is associated with a periodic server which provides the temporal isolation between subsystems. The execution of tasks is performed using a two-level hierarchical scheduling policy: global and local. The global scheduling policy determines which subsystem has access to the processor while the local scheduling policy determines which task should actually execute (Figure 1). Figure 1: AHS-RT Architecture environments involving a certain degree of uncertainty. The fuzzy 2.2 Task Model system is defined as having n inputs , where We consider a task set , such that each task and , is the collection of numbers for (universe of discourse is defined as where is defined as the task period, for ) and one output , where is the universe of discourse denotes the task worst case execution time (WCET), is the for (multiple input single output fuzzy system). The inputs relative deadline and represents the task criticality value. It is and output are crisp values (i.e. real numbers). The structure of assumed that each task is a constrained task such that the fuzzy system consists of three stages; fuzzication stage, . The criticality value represents the importance or inference stage and the defuzzication stage. The fuzzication stage weight of the task as it relates to other tasks in the set. The converts the crisp input values into fuzzy sets to be used by the criticality value along with the deadline and period are used by the inference stage. The inference stage uses the rules defined in the fuzzy inference engine to make scheduling decisions by the local rule base to convert these fuzzy sets into other fuzzy sets that scheduler. represent the recommendations of the various rules in the rule 2.3 Subsystem Model base. The defuzzication stage combines these fuzzy Each subsystem consists of a task set such that . The recommendations to provide a crisp output . subsystem is modeled as a periodic task so a subsystem can be scheduled in a similar way as a simple real-time periodic task. The 3. RELATED WORK subsystem is defined as where represents the Hierarchical scheduling framework (HSF) was initially proposed subsystem period, represents the subsystem budget and by researchers [1][4][6] as a means to reduce the scheduling represents the subsystem criticality level. Similar to the task complexity for open source embedded systems. Resource model the service value is used to make scheduling decisions at partitioning [7] was introduced as a general technique for limiting the subsystem level. Note that during overload conditions the the effects of overruns in tasks with variable execution times. This subsystem with the highest criticality level is granted its full resource reservation technique can then be applied by hierarchical budget at the possible expense of lower criticality subsystems. schedulers to provide the temporal isolation between subsystems for more predictable behavior, improved reusability and 2.3.1 Periodic Server composability. However, the current limitation with HSF is that in The virtual server is invoked with the corresponding subsystem order to determine the resource reservations all tasks parameters period . If there are any ready tasks within the subsystem then must be known a priori and fixed during run-time. The problem is they execute until they complete or the server’s budget is that accurate task information may not be known or hard to derive exhausted. If there are no ready tasks to execute or no higher at run-time. Additionally, in order to account for overload priority subsystem needs to utilize some of the server’s budget conditions the system may need to be over-engineered which during an overload condition then the capacity is idled away as if could lead to significant under utilization during nominal load a background task were running. After a server’s budget is periods. exhausted the server suspends the execution of the subsystem In [8] [9] [10] authors proposed a feedback mechanism to account until the capacity is replenished at the start of the next period. For for the dynamic behavior when the task parameters may not be this work we choose a periodic server as the fixed priority server fully known. The approach was for the scheduler to maximize the algorithm, in part because the simpler design has less overhead CPU utilization, avoid system overload and distribute the but also because authors in [2] have shown it to dominate other computing resource evenly among tasks. By incorporating fixed-priority server algorithms. feedback the scheduler reacts to changes in the workload then tries to keep the overall utilization as close as possible to a desired set point typically using a type of control mechanism, such as a proportional integral derivative (PID) controller. Related work [11] [12] adjusts the resource allocation on-line based upon a criticality subsystem which may or may not be a lower priority quality-of-service (QoS) scheme where a certain level of service subsystem. is provided in cases overload. However, the primary objective of The logical approach may be to re-assign budgets based upon this approach is control performance and not necessarily subsystem priority. However, during an overload event studies minimizing the number of missed deadlines. have shown [3] that a value-based approach offers considerable Authors in [14] took a slightly different approach in that they advantages over traditional deadline-based approaches. For this based their scheduler on a benefit based model. Their approach reason, during an overload event the global scheduler of AHS-RT was to schedule the tasks using a traditional deadline based temporarily switches from a deadline-based scheduling policy to a scheduling policy until a potential fault was detected and before value-based scheduling policy. Instead of the highest priority an overload condition could occur. After a fault is detected the subsystem receiving their full budget the subsystem with the scheduler switches to a benefit based scheduler that considers task highest criticality level will receive their entire budget. importance, system state and timeliness to schedule tasks. Authors Therefore, the global scheduler redistributes budgets based upon in [13] also took a similar approach in adaptive scheduling except the criticality level which means lower criticality subsystems yield they manipulated the task period of other tasks to achieve the their budgets to higher criticality subsystems. This greedy desired level of performance. approach can lead to starvation, even for some high priority Other research [15] [16] [17] treated the uncertainty of varying subsystems, but this is acceptable in that during overload execution times as a multi-criteria optimization problem then conditions the highest criticality subsystems are considered applied fuzzy logic to derive a feasible schedule. Their approach superior to lower criticality subsystems. was to treat various task parameters, such as deadline, start time 4.1.1 Detecting Overloads or execution time, as inputs to the fuzzy scheduler then perform An overload condition is based upon the overall subsystem fuzzy analysis to assign a task priority value. Additional work utilization which is defined as: [18] utilized fuzzy logic as a means for tuning a feedback controller to provide optimal resource utilization through task period re-adjustment. and because we are using RM then an overload condition is Recent work [19] extended hierarchical scheduling to provide an determined by , where m is the number of adaptive hierarchical framework for managing overruns in tasks subsystems. An overload can occur because a subsystem requests with varying execution times. Their approach was to utilize a a budget change in order to adapt to a fault or missed deadline feedback control mechanism for adapting the resource allocation within a task of an individual application. A budget change does by adjusting the amount of budget assigned to a subsystem. By not necessarily mean that the system is overloaded just that there adjusting the budgets at run-time the framework can better adapt is the potential for an overload condition to exist. Consider some to changes in the workload. unallocated system utilization denoted as such that Our approach in AHS-RT is similar to the work in [19] in that we , and then this extra utilization could be temporarily also utilize hierarchical scheduling for determinism and temporal isolation. However, AHS-RT differs in how the local scheduling reallocated to the subsystem requesting the additional budget. and global scheduling is performed. Local scheduling is based However, if there are not sufficient resources to satisfy all the upon a fuzzy scheduler which is more adept at making scheduling budget requirements then the system is considered overloaded decisions when the task parameters are vague. Research by which implies that a budget reallocation needs to be performed. authors in [17] demonstrated that fuzzy logic based approaches 4.1.2 Budget Reallocation outperform traditional deadline based policies such as earliest After the full budget has been allocated to the highest criticality deadline first (EDF). In AHS-RT global scheduling also uses a subsystem the lower criticality budgets needs to be re- feedback controller but the controller is based upon a fuzzy logic dimensioned. The next lower criticality subsystems are then heuristic instead of a PID controller. Because fuzzy logic can assigned budgets based upon the remaining utilization. The better tolerate imprecision thereby providing improved run-time algorithm and description for budget dimensioning is provided flexibility. below. 4. AHS-RT Architecture This section describes the overall architecture (see Figure 1) of the AHS-RT scheduling framework which consists of a two-level hierarchical scheduling framework. The root-level contains the global scheduler which manages how subsystems (i.e. applications) are allocated on the processor. While the node-level contains the local scheduler which manages how tasks are scheduled on the processor. 4.1 Global Scheduling At run-time the global scheduler chooses the highest priority subsystem that has tasks ready to run. The priority is based upon the subsystem period so the shorter the period the higher the subsystem priority. Therefore if the priority of then would be scheduled first with its full budget then would be The budget dimensioning algorithm (Algorithm 1) works by scheduled next with its full budget unless an overload condition is iterating through all the subsystems in the subset of lower detected. In the event of an overload a higher criticality subsystem criticality subsystems. In line 2 the new budget is calculated based may request a budget change at the possible expense of a lower upon the remaining system utilization. A schedulability test (line 3) is then performed on the modified budget. If the modified These fuzzy conclusions are then combined to produce a fuzzy budget renders the system unschedulable then a new budget value variable that represents the criticality level of the task. The is attempted based upon the previous failed value. The algorithm variable is then defuzzified to create a value that is compared to continues to reduce the budgets of lower criticality subsystems other tasks to determine which task should be scheduled next. The until a schedulable system is found. decision surface illustrates the crisp output value (priority) that is obtained based upon the input parameters (See Figure 3). 4.2 Local Scheduling The local scheduling of AHS-RT consists of two primary components; a fuzzy logic based scheduler and a fuzzy logic based feedback controller. The scheduler selects the task to execute on the processor derived from the fuzzy rules based approach to real-time scheduling. The feedback controller gathers system state information for subsystem budget management to maximize utilization and minimize missed deadlines. 4.2.1 Fuzzy Scheduler At run-time the fuzzy scheduler selects the highest priority task that is ready for execution on the processor. The priority of the task is determined by several parameters: task deadline, task criticality and task execution time. The task deadline is the time before the task should be completed. The task criticality relates to the consequences of missing a deadline. The task execution time The fuzzy scheduler algorithm (Algorithm 2) iterates through all is the worst-case execution time for that task. These parameters the tasks in the task set for a particular subsystem and for each are then fuzzified and represented as linguistic variables (i.e. a task passes the deadline ( ), criticality value ( ) and starting word used to describe a variable). Fuzzy rules are then applied to time ( ) into the fuzzy inference engine. The output from the the linguistic variables to compute the service value. The inference function is a crisp value used to assign a priority to each linguistic values for the three parameters are defined as: task task and stored in a priority array ( ). The task with the deadline (early, on-time, late), task criticality (hard, firm, soft) highest priority is then executed until some scheduling event and CPU time (very low, low, normal, high, very high). Fuzzy occurs (task completion, new task instance arrives or server rules are then applied to create a fuzzy conclusion for computing budget exhaustion). The system status is then updated and if a task the priority level. Figure 2 illustrates the linguistic variables used misses its deadline such as server budget exhaustion then the by the inference stage of the fuzzy scheduler. deadline miss is reported to the feedback controller which could trigger a budget reallocation across the system. 4.2.2 Fuzzy Feedback Controller The feedback controller in AHS-RT is similar to the FC-UM algorithm [20] in that both the miss-ratio and utilization are monitored. The reference inputs for miss-ratio and unused budget are both set to zero. At each sampling instant the miss- ratio M(k) and the unused subsystem budget U(k) are fed back into the controller. These values are then compared to their Figure 2: AHS-RT Inference block system rules respective set points to determine the difference where du(k) represents the utilization error and dm(k) represents the miss-ratio Some of the fuzzy rules for the scheduler inference mechanism error. The output from the fuzzy controller is the budget are listed as an example here: dimensioning factor . As part of a typical fuzzy controller  If (CPU Time is high) and (deadline is late) and (Figure 4) we need to specify meaningful linguistic values and (criticality is hard) then (Priority is very high) membership functions for each input and output variable. The  If (CPU Time is normal) and (deadline is on-time)and input to the controller are miss ratio and task utilization ratio (critically is firm) then (Priority is normal) defined as a triangular membership functions. The input  If (CPU time is low) and (deadline is early) and linguistic values are utilization (very low, low, normal, high, very (criticality is soft) then (Priority is low). high) and deadline misses (zero, small, medium, high). The output linguistic values is bandwidth adjustment (none, very small, small, medium, big and very big). Figure 3: AHS-RT Decision Surface Figure 4: Internal structure of the feedback controller Some of the fuzzy rules for the controller inference mechanism t12 task will complete execution but task will be scheduled are listed as an example here: over even though both tasks have the same relative deadline  If (misses are zero) and (utilization is normal) then and start time. This is because was assigned a higher priority (bandwidth adjustment is none) by the fuzzy controller because was defined to be a higher  If (misses are small) and (utilization is high) then criticality task than . Also note, due to subsystem budget (bandwidth adjustment is small) exhaustion at time unit t15 task will miss its deadline which would trigger a budget reallocation request to the fuzzy controller  If (misses are high) and (utilization is high) then for an increase in the subsystem budget. Finally, at time unit t20 (bandwidth adjustment is high) (see Table 5) the scheduler re-orders the task priorities where once 4.3 Task Scheduling Example again will be assigned the highest priority. To demonstrate AHS-RT we have provided an example scheduling scenario. Note for illustration purposes we are only 4.4 Subsystem Reallocation Example Consider the following subsystems with parameters presented in considering one subsystem. So, the primary purpose of this Table 6 which is used to illustrate how a subsystem is scheduled example is present how the fuzzy scheduler manages tasks within the context of one subsystem. by AHS-RT. Table 6: Subsystem Parameters Table 1: Subsystem Parameters Subsystem Subsystem 12 4 10 10 5 10 15 3 8 20 4 5 Table 2: Task Parameters Table 7: Budget Reallocation Snapshot Task Subsystem 10 2 10 5 12 3 10 -0.2 0.1 ~4.0 15 5 15 10 15 3 8 0.0 0.0 ~3.0 20 3 20 10 0.0 0.0 ~5.0 20 5 5 Table 3: Scheduling snapshot at time 0 Suppose that at some scheduling instant subsystem has a Task current budget but due to a deadline miss the fuzzy 0,10,20,30 10,20,30,40 2 5 ~9 controller recommends a budget increase to 4. Also suppose that and report no deadline misses or under utilization so the 0,15,30 15,30 5 10 ~5 fuzzy controller recommends no budget changes. However, the 0,20,40 20, 40 3 10 ~3 increased budget of causes the schedulability test to fail Table 4: Scheduling snapshot at time 10 because so now the criticality level is Task considered and since has the highest criticality level it is granted the full budget. After = 4 the budget dimensioning 20,30 20,30,40 2 5 ~5 algorithm is performed to redistribute the remaining utilization. 15,30 15,30 2 10 ~9 Initially, the budgets for and will be and then a successful schedulability test will be performed. Next the 20 20, 40 3 10 ~7 budget for will be but the schedulability test will fail. Since the system is no longer schedulable the budget for will Table 5: Scheduling snapshot at time 20 now be . This time the system is schedulable so the Task adjusted budgets are reallocated to their respective subsystems. 20,30 30,40 2 5 ~10 5. SIMULATION 30 30 5 10 ~5 AHS-RT was implemented as part of the VxWorks 6.9 real-time 40 40 3 10 ~3 operating system (RTOS). The simulations were executed using the SIMNT vxsim simulator. For evaluation purposes we ported Consider the task set and subsystem listed in Tables 1 and 2. the SNU Real-Time Benchmark Suite [22] to compare deadline Table 3 describes the scheduling of tasks at the first scheduling misses. The SNU real-time benchmark suite contains small C event where tasks and all have the same initial starting programs used for worst-case execution time analysis. The time but since has the nearest deadline it is assigned the highest programs are mostly numeric and DSP algorithms. In order to priority by the fuzzy scheduler. Therefore, is allowed to represent the periodic task model of an embedded system a subset execute until completion then at time unit t3 task executes until of the programs in the benchmark suite were chosen and assigned time unit t5 when the subsystem’s budget expires. At time unit t10 arbitrary task rates and criticality levels. Illustrated in Figure 6 (see Table 4) the subsystem’s budget is replenished where the both AHS-RT and the VxWorks native fixed-priority preemptive tasks can continue execution. At this time the fuzzy scheduler scheduler (FPPS) are comparable as long as the load factor is performs a re-ordering of task priorities to reflect the system state. below ~0.70 which corresponds with the lower bound for priority Task is assigned the highest priority because the start time is based algorithms. Notice that AHS-RT experiences significantly the earliest and the deadline is the closest. Note that at time unit fewer deadline misses than FPPS when the system starts to become overloaded (> ~0.70). Also note that AHS-RT manages overload more effectively in that it does not start to report 7. ACKNOWLEDGMENT deadline misses until closer to a ~0.80 load factor. Another This work was supported in part by the National Science important observation depicted in Figure 7 is that AHS-RT Foundation under NSF grant number 1136146 manages deadline misses much more effectively than FPPS for higher criticality tasks. Notice that AHS-RT does not even start to 8. REFERENCES report deadline misses until close to a ~1.25 load factor while [1] Z. Deng and J. W.-S. Liu, “Scheduling real-time applications in an FPPS starts to report deadlines as early as ~0.85. Clearly, AHS- open environment,” (RTSS’97), pp. 308–319. RT is the superior scheduling mechanism as compared to FPPS [2] Davis, R.I.; Burns, A., "Hierarchical fixed priority pre-emptive specifically during periods of overload. scheduling," (RTSS’05) [3] Saini, G., "Application of fuzzy logic to real-time scheduling," Real Time Conference, 2005. [4] I. Shin and I. Lee, “Periodic resource model for compositional real- time guarantees,” (RTSS ’03). [5] C.D. Locke and H. Tokuda, “A Time-Value Driven Scheduling Model for Real-Time Operating Systems”, Proc. Symp. on Real- Time Systems, Nov. 1985. [6] F. Zhang and A. Burns, “Analysis of hierarchical EDF pre-emptive scheduling,” in Proc. of the 28th IEEE International Real-Time Systems Symposium (RTSS’07) [7] A. Mok, X. Feng and D. Chen, “Resource partition for real-time systems,” in Proc of the 7th Real-Time Technology and Applications Symposium (RTAS’01), 2001 [8] J. Stankovic, C. Lu, S. Son and G. Tao, “The case for feedback control in real-time scheduling,” in Proc. of the 11th Euromicro Figure 5: Number of Deadline Misses (All Tasks) Conference on Real-Time Systems (ECRTS ’99). [9] C. Lu, J. Stankovic, G. Tao and S. Son, “Design and evaluation of a feedback control EDF scheduling algorithm,” in Proc. of the 20th IEEE (RTSS’99). [10] C. Lu, J. Stankovic, S. Son and G. Tao, “Feedback control real-time scheduling: Framework, modeling and algorithms,” Real-Time Systems, vol. 23, pp 85-126, 2002. [11] T. Abdelzaher, E. Atkins and K. Shin, “QoS negotiation in real-time systems and its application to flight control,” in Proc. of the IEEE (RTSS’97). [12] R. Rajkumar, C. Lee, J. Lehoczky and D. Siewiorek, “A resource allocation model for QoS management, “ in Proc. of the IEEE Real- Time Technology and Applications 1997. [13] S.P. Dwivedi, "Adaptive Scheduling in Real-Time Systems Through Period Adjustment", CoRR, 2012. Figure 7: Number of Deadline Misses (Highest Criticality [14] Richardson, P.; Sarkar, S., "Adaptive scheduling: overload Tasks) scheduling for mission critical systems," (RTSA) 1999 [15] J. Yen, J. Lee, N. Pfluger, and S. Natarajan. "Designing a fuzzy 6. CONCLUSIONS/FUTURE WORK scheduler for hard real-time systems." (1992). In this paper we considered the problem of how to schedule tasks [16] L. Jonathan, A. Tiao, and J. Yen. "A fuzzy rule-based approach to with varying levels of criticality on a uniprocessor to more real-time scheduling." In Fuzzy Systems, In Proc. of the 3rd IEEE effectively adapt to computational changes. Those changes were Conference. IEEE, 1994. managed by hierarchical scheduling to provide the temporal [17] S. Mojtaba, and M. Naghibzadeh. "A Fuzzy algorithm for real-time isolation between tasks. The efficient scheduling of tasks was scheduling of soft periodic tasks." IJCSNS International Journal of accomplished using a fuzzy based heuristic which has been Computer Science and Network Security 6.2A (2006): proven to be more effective than traditional deadline based [18] X. Feng, X. Shen, L. Liu, Z. Wang, and Y. Sun. "Fuzzy logic based approaches especially during periods of overload. The results are feedback scheduler for embedded control systems." In Advances in a demonstrated reduction in deadline misses for all tasks during Intelligent Computing, 2005. periods of overload as compared to traditional fixed priority based [19] Khalilzad, N.M.; Behnam, M.; Nolte, T., "Adaptive hierarchical scheduling mechanisms. As further confirmation for the scheduling framework: Configuration and evaluation," (ETFA), practicality for this approach we implemented AHS-RT as part of 2013. the VxWorks RTOS. [20] L., Chenyang, J. Stankovic, H. Son, and G. Tao. "Feedback control real-time scheduling: Framework, modeling, and algorithms*." Real- Future work includes evaluating the additional overhead AHS-RT Time Systems (2002). incurs in VxWorks as compared to the traditional scheduler. Additionally, we would like to extend AHS-RT into a multi-core [21] M. Behnam, T. Nolte, I. Shin, M. Asberg. Towards Hierarchical Schedling in VxWorks. (OSPERT) 2008 environment and consider semi-independent tasks where subsystems would have to share a mutual resource such as a [22] SNU Real-Time Benchmark, http://www.cprover.org semaphore.