• 沒有找到結果。

多處理器系統上考量非週期性工作反應時間之任務排程機制

N/A
N/A
Protected

Academic year: 2021

Share "多處理器系統上考量非週期性工作反應時間之任務排程機制"

Copied!
39
0
0

加載中.... (立即查看全文)

全文

(1)國立高雄大學資訊工程學系(研究所) 碩士論文. 多處理器系統上考量非週期性工作反應時間 之任務排程機制 Scheduling Framework Considering Response Time of Aperiodic Jobs for Mixed Tasks Sets on Multiprocessor Systems. 研究生:黃昱豪 撰 指導教授:郭錦福 博士. 中華民國 104 年 7 月.

(2) 多處理器系統上考量非週期性工作反應時間 之任務排程機制 指導教授:郭錦福 博士 國立高雄大學資訊工程學系研究所. 學生:黃昱豪 國立高雄大學資訊工程學系研究所. 摘要. 近年來多核心廣泛被使用在許多即時系統上,這些系統中的執行任務可被抽 象化成混合型任務,週期性任務具有即時性需求,非週期性工作越早完成越好。 此外,已有許多演算法被提出來改善混合任務系統中的非週期性工作的反應時間 ,但是週期性任務在分配到多處理器時,對於非週期性工作的反應時間的影響鮮 少被討論到。因此我們提出一個排程框架(Scheduling Framework)除考慮到週期性 任務如何分配到處理器外,也有效利用處理器遺留下來的能力來處理非週期性工 作的執行,進而改善非週期性任務的平均反應時間。所提出的框架中包含了兩個 階段:第一個階段,我們考慮使用不同的任務配置機制來將週期性任務分配到適 合的處理器中。之後,每個處理器上剩餘的能力可以給該處理器上的所有總體頻 寬伺服器(Total Bandwidth Server)來使用。在第二個階段,我們使用總體頻寬伺服 器來服務非週期性工作。當有非週期性工作抵達時,它將會被分配到適合的總體 頻寬伺服器上,並且與屬同一個處理器上的週期性工作,一同使用最早截線時間 優先排程演算法(Earliest Deadline First)來競爭處理器的使用權。我們發現不同任 務放置機制在搭配不同個數的總體頻寬伺服器時,將會影響到非週期性工作的反 應時間。在最後我們以實驗的方式來證實我們所提出的排程框架在使用最佳配合 (Best Fit)配置機制下,將會比使用最差配合(Worst Fit)與最先配合(First Fit)有更好 的效能。 關鍵字:混合型任務、回應時間、區分排程、任務分配. I.

(3) Scheduling Framework Considering Response Time of Aperiodic Jobs for Mixed Tasks Sets on Multiprocessor Systems Advisor: Dr. Chin-Fu Kuo Department of Computer Science and Information Engineering National University of Kaohsiung. Student: Yu-Hao Huang Department of Computer Science and Information Engineering National University of Kaohsiung. ABSTRACT The purpose of this paper is to study the scheduling problem for mixed task sets on multiprocessor systems. We propose a scheduling framework to improve the average response time of aperiodic jobs in mixed tasks. Our proposed scheduling framework consists of two phases. In the first phase, we consider the task-to-processor assignment with difference assignment heuristics. Then, the unused capacities left by periodic tasks on processors are set as the sizes of Total Bandwidth (TB) Servers. In the second phase, we utilize TB Servers to service aperiodic jobs. When an aperiodic job arrives, it will be assigned to a proper TB Server and schedule with periodic jobs under Earliest Deadline First (EDF). Assignment heuristics significantly affect response time of aperiodic jobs. A series of experiments were conducted to evaluate the proposed. The experimental results demonstrate that the performance of the proposed scheduling framework using a Best Fit assignment heuristic with a TB Server for each processor is better than that with the Worst Fit and First Fit heuristics.. Keywords: Mixed Task Set, Response Time, Partition Scheduling, Task assignment. II.

(4) Contents Chinese Abstract. I. English Abstract. II III. Contents 1 Introduction. 1. 2 System Model. 5. 3 Scheduling Framework Considering Response Time for Mixed Task Sets. 7. 3.1. Motivational Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 3.2. Scheduling Framework Considering Response Time for Mixed Task Set . . .. 11. 4 Performance Evaluation. 19. 4.1. Experiment Setup and Performance Metrics . . . . . . . . . . . . . . . . . .. 19. 4.2. Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 20. 5 Conclusion and Future Work. 28. Bibliography. 30. Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. III. 33.

(5) List of Figures 3.1. Execution of the mixed task set under the Worst Fit heuristic . . . . . . . . .. 8. 3.2. Execution of the mixed task set under the Best Fit heuristic . . . . . . . . . .. 10. 3.3. Flow chart of SFCRT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 12. 4.1. Average response time of aperiodic jobs when the processor number is 2 and the service rate of aperiodic jobs is 0.1 . . . . . . . . . . . . . . . . . . . . .. 4.2. Average response time of aperiodic jobs when the processor number is 2 and the service rate of aperiodic jobs is 0.2 . . . . . . . . . . . . . . . . . . . . .. 4.3. 26. Average response time of aperiodic jobs when the processor number is 8 and the service rate of aperiodic jobs is 0.1 . . . . . . . . . . . . . . . . . . . . .. 4.8. 26. Average response time of aperiodic jobs when the processor number is 6 and the service rate of aperiodic jobs is 0.2 . . . . . . . . . . . . . . . . . . . . .. 4.7. 25. Average response time of aperiodic jobs when the processor number is 6 and the service rate of aperiodic jobs is 0.1 . . . . . . . . . . . . . . . . . . . . .. 4.6. 24. Average response time of aperiodic jobs when the processor number is 4 and the service rate of aperiodic jobs is 0.2 . . . . . . . . . . . . . . . . . . . . .. 4.5. 23. Average response time of aperiodic jobs when the processor number is 4 and the service rate of aperiodic jobs is 0.1 . . . . . . . . . . . . . . . . . . . . .. 4.4. 22. 27. Average response time of aperiodic jobs when the processor number is 8 and the service rate of aperiodic jobs is 0.2 . . . . . . . . . . . . . . . . . . . . .. IV. 27.

(6) List of Tables 3.1. Task parameters of periodic tasks. . . . . . . . . . . . . . . . . . . . . . . .. 7. 5.1. Notations and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. V.

(7) Chapter 1 Introduction Multiprocessor platforms play important roles in modern real-time applications, such as survivance systems and multimedia player systems. For the higher computational demand of a real-time system, we need simultaneously execute tasks on different processors to guarantee real-time requirements and improve the throughput. Such a system could be composed of periodic tasks with hard deadlines and soft aperiodic jobs without timing constrains. The task set including periodic tasks and aperiodic jobs is called a mixed task set. Periodic tasks have hard deadlines, and it means that the job instances of periodic tasks must be finished by their deadlines. Aperiodic jobs have no deadlines constraints, and we always focus on their response times. Multiprocessor scheduling can be divided into two categories: partitioning strategies and global strategies. In the partitioning strategies when a task is assigned to a processor and starts its execution, it can not be executed on another processor; in the global strategies the job instances of a task can be executed on any processor. Lauzac et al. [15] presented a global scheduling scheme based on Rate Monotonic (RM) on multiprocessor. It showed that the global scheduling scheme was outperformed the partitioned scheduling scheme for soft real-time systems. Andersson et al. [1] proposed a static priority global scheduling algorithm based on RM called RM − US[m/(3m − 2)]. The proposed algorithm could schedule any periodic task set on the system with m identical processors if the total utilization of tasks is no more than m/(3m − 2). Bastoni et al. [7] compared the performance of global, partitioned, and clustered earliest-deadline-first (C-EDF). C-EDF was proposed to exploit the grouping of. 1.

(8) cores around different levels of shared caches [3]. The cores that shared a cache were grouped into a cluster, and tasks were statically assigned to clusters (like in partitioning), but globally scheduled within each cluster. For periodic tasks, because many uniprocessor scheduling algorithms were proposed to guarantee the feasibility, the scheduling problem of multiprocessor system can be reduced to a uniprocessor version if task-to-processor assignments are determined. However, the problem of task assignment for a multiprocessor system is NP-Hard [2, 20]. Several heuristics, including the First-Fit, Best-Fit, Next-Fit, and Worst-Fit algorithms, were proposed. The Worst Fit (WF) heuristic allocates a task to the processor with the lowest enough available capacity. The Best Fit (BF) heuristic allocates a task to the processor with the highest enough available capacity. The First Fit (FF) heuristic allocates a task to the first processor with enough available capacity. Kato and Yamasaki [12] proposed a partitioning algorithm based on RM to guarantee the timing requirements of periodic preemptible tasks. For the modular task set on a uniform heterogeneous multiprocessor, Funk and Baruah [9] proposed an EDF-based partitioned scheduling method and derived an approximate utilization bound. Baruah [6] formatted the preemptive heterogeneous multiprocessor partitioning problem as an integer linear programming problem and proposed an approximate algorithm. For scheduling aperiodic jobs in a real-time system with a processor, many fixed priority and dynamic scheduling algorithm were proposed. Lehoczky et al. proposed a fixed-priority algorithms called Deferrable Server (DS) and Priority Exchange server (PE) [17]. The idea was to save unused capacity for aperiodic jobs when it arrived. Sprunt et al. [21] proposed Sporadic Server to improve the response time in fixed priority system. Lehoczky and Ramos [16] proposed a slack steal mechanism which reclaimed unused execution time of periodic jobs to improve response time of aperiodic jobs. Spuri and Buttazzo [22] proposed Dynamic Priority Exchange (DPE) server, Dynamic Sporadic Server (DSS) and Total Bandwidth Server (TB Server). DPE and DSS are extended PE and SS which based on EDF. Lin and Tarng [18] developed a periodic server which had the highest priority. This was used to service the aperiodic jobs as soon as possible when aperiodic jobs arrived. Kim et al. [14] proposed a. 2.

(9) combined approach DPE with TBS. The idea was if there had enough capacity available for aperiodic jobs, the aperiodic jobs could be served by the DPE server with available capacity . If no available capacity server, the TB Server would assign virtual deadline to aperiodic jobs and the jobs are scheduled by the Earliest Deadline First (EDF) algorithm [19] with periodic tasks. For aperiodic jobs on multiprocessor systems, Baruah and Lipari [5] proposed an algorithm using periodic tasks unused utilization as capacity, implementing TBS extended on multiprocessor platform, but there was a little different on virtual deadline setting. Karic et al. [11] implemented multiple TB Servers on heterogeneous system. When the number of servers increased, the response time of aperiodic jobs decreased. Baraugh et al. [4] proposed Constant Bandwidth Server (CBS) implement upon multiprocessor platforms. Gutierrez et al. [10] proposed a new request aperiodic server with TBS and EDF. The idea was to reduce the response times by assigning the minimum deadline and guarantee the schedulability. To improve response time of aperiodic jobs of a mixed task set, Kato and Yamasaki [13] proposed two methodologies, dispatching technique and migration technique; the former was to dispatch an arriving aperiodic job to a processor on which the job had the minimum virtual deadline, and the later was to temporarily migrate a periodic job with higher priority than an arriving aperiodic job to increase the available processor time for the aperiodic job. Compared with a global strategy, a partitioning strategy is easy to design has a lower scheduling overhead. In addition, well-known allocation algorithms can be applied to do task assignment. The EDF scheduling policy has advantage in available system utilization, compared to fixed-priority algorithms. Thus, we address the scheduling framework in which periodic tasks are partitioned among processors and scheduled with aperiodic jobs by EDF. In this paper, we propose a scheduling framework for mixed task sets on multiprocessor systems to improve average response times of aperiodic jobs. Our proposed scheduling framework first assigns each periodic task to a proper processor, that is a partitioning mechanism. After assignment of all the periodic tasks, the unused capacity of each processor is set as the server sizes of TB Servers. An arriving aperiodic job will be assigned the minimum virtual deadline. 3.

(10) among the TB Servers on processors. From the experimental results, we can observe that the adopted allocation heuristic will significantly affect the average response time of aperiodic jobs. The rest of this paper is organized as follows: The system model, relative terminology and formulate our problem are described in Chapter 2. Chapter 3 presents the Scheduling Framework Considering Response Time of Aperiodic Jobs to solve the scheduling problem of mixed task sets on multiprocessor systems. In Chapter 4, several sets of simulation experiments are shown for evaluating the performance of effectiveness of the scheduling framework. Chapter 5 is the conclusion of the paper.. 4.

(11) Chapter 2 System Model In the paper, we consider the problem of scheduling a computational workload which execute on a multiprocessor platform equipped with a set M = {P1 , P2 , .., PM } of identical processors. The computational workload of the target system consists of two components: A set T = {τ1 , τ2 , ..., τN } of periodic tasks with hard deadlines, and a set Γ of aperiodic jobs {J1 , J2 , ...} without deadlines that arrive randomly at run time. We assume that periodic tasks and aperiodic jobs are independent. A task τi is defined by a tuple (Ri , Ti , Ci , Di ) where Ri , Ti , Ci , and Di are the phase time, period, worst-case execution time, and relative deadline, respectively, for task τi . We define τi,l as the lth job of a periodic task τi . τi,l occurs at Ri + Ti · (l − 1) and has the absolute deadline di,l = Ri +Ti ·l. Besides, for each task τi , Di is equal to Ti . All tasks are independent and arrive at time 0. A task can not been migrated among the processors in execution. The utilization ui of task τi is equal to. Ci . Ti. In addition, the worst-case execution time and arrival time of an. aperiodic job Jk are denoted by ck and rk , respectively. We denote fk as the completion time of Jk . Then, the response time of Jk is fk − rk . The system is scheduled with Earliest Deadline First (EDF) algorithm[19]. We adopt the Total Bandwidth (TB) Server [22] to schedule aperiodic jobs. We assume that there a set Sj of TB Servers for each processor Pj . We denoted usj as the total TB Server size on processor Pj . The xth TB Server on processor Pj is denoted as T Bj,x . A capacity size usj,x of a processor Pj is reserved for a TB Server T Bj,x . When the yth aperiodic job assigned to T Bj,x arrives at time ry and has the worst-case execution time cy , the virtual deadline dj,x,y of the job can be. 5.

(12) derived based on the following equation [22]: dj,x,y = max(ry , dj,x,y−1) +. cy , usj,x. (2.1). where the initial value dj,x,0 of virtual deadline on T Bj,x was set as 0. Then, the aperiodic job can be scheduled with other periodic jobs on the processor Pj according to the EDF scheduling policy. A task-to-processor assignment A is denoted by M disjoint subsets {A1 , .., AM }. A task subset Aj is assigned to one corresponding processor Pj and is scheduled with the earliest deadline first (EDF) algorithm [19]. Therefore, a task-to-processor assignment is feasible if the total utilization Up,j of periodic tasks assigned to each processor Pj satisfies the following P condition: Up,j = τi ∈Aj ui ≤ 1, where ui is the utilization of task τi in Aj . In other words, tasks in Aj can be scheduled and executed on processor Pj without missing their deadlines. In each processor Pj where aperiodic demands are served by the TB Server set Sj , all the periodic tasks with total utilization Up,j always meet their deadlines if and only if Up,j +. X. usj,x ≤ 1.. (2.2). Sj,x ∈Sj. Therefore, the total size of all the TB Servers for a processor Pj must be less than or equal to 1 − Up,j . Our aim in this paper is to address the following scheduling problem which is defined as follows: Problem Formulation: Given a set T of periodic tasks, a set Γ of aperiodic jobs, and a set M of identical processors, we want to propose a scheduling framework to find a feasible task-toprocessor assignment and minimize the average response time of aperiodic jobs. Such a task scheduling problem for a multiprocessor system is NP-Hard [2, 23] and can be resolved only by using heuristic approaches.. 6.

(13) Chapter 3 Scheduling Framework Considering Response Time for Mixed Task Sets In this chapter, first we will show a simple example of task assignment to present our motivation. Then the Scheduling Framework Considering Response Time (SFCRT) is proposed for mixed task sets which consist of a set of periodic tasks and a set of aperiodic jobs.. 3.1 Motivational Example Table 3.1: Task parameters of periodic tasks. Task. Period. τ1 τ2 τ3 τ4 τ5 τ6 τ7. 10 20 5 10 20 20 20. Worst-Case Execution Time 4 6 1 2 3 3 3. Utilization 0.4 0.3 0.2 0.2 0.15 0.15 0.15. In this section, we first discuss a simple example under different task assignment heuristics. Consider a mixed task set consisting of seven periodic tasks, τ1 , τ2 , ... , and τ7 , and aperiodic jobs, J1 and J2 . All of the periodic task arrive at time 0. The mixed task set will be executed on a platform with two processor types P1 and P2 . The periods, worst-case execution time,. 7.

(14) and utilization of the periodic tasks are shown in Table 3.1. We suppose that J1 and J2 arrive at time 1 and 2, respectively. Besides, both of their worst-case execution times are 2. Before the execution of the task set, the periodic tasks are sorted with respect to the utilizations in a decreasing order. The tasks will be assigned to processors according to the order with a task allocation heuristic, such as First Fit, Worst Fit, or Best Fit. The Total Bandwidth (TB) Server [22] is used to service aperiodic jobs. We assume that there is one TB Server on each processor.. τ1. (10,4). 0. τ. 10. 20. 2 (20,6). 0. τ. 20. 3 (5,1). 0. J2. 2. 20. 22. 4 (10,2) 10. 20. 5 (20,3). 20. 0. τ. 20. 18. 0. τ. 15. (2,2) 0. τ. 10. 5. 6 (20,3). 0. τ. 7 (20,3). 0. J1. 20. (1,2) 0 1. 3. 6.7. Figure 3.1: Execution of the mixed task set under the Worst Fit heuristic First, the Worst Fit assignment heuristic is used to assign tasks to processors. Then, the leaved capacity on each processor is set as the size of the corresponding TB Server. The execution of the mixed task set is shown in Figure 3.1. The Worst Fit heuristic will make big capacity difference between processors. Therefore, periodic tasks τ1 , τ2 , and τ3 are assigned. 8.

(15) to processor P1 , and τ4 , τ5 , τ6 , and τ7 are assigned to processor P2 . The utilizations of Up,1 is equal to 0.9. The utilizations of Up,2 is equal to 0.65. The job instances are scheduled with the EDF scheduling policy. In order to guarantee the schedulability of the system, the sizes us1,1 and us2,1 of the TB Servers T B1,1 and T B2,1 on processors P1 and P2 are equal to 0.1 (= 1 − 0.9) and 0.35 (= 1 − 0.65). Because there are two TB Servers in the system, we assume that an aperiodic job is assigned to the TB Server which is idle and can assign the smallest virtual deadline to it. Therefore, when J1 arrives at time 1, both of the TB Servers are idle. Both of the virtual deadlines for J1 which T B1,1 and T B2,1 assign to are 21 (= 1 + 6.7 (= 1 +. 2 ) and 0.1. 2 ). J1 is assigned to T B2,1 . Then, at time 2 aperiodic job J2 arrives and only 0.35. T B1,1 is idle. Therefore, J2 is assigned to T B1,1 and has the virtual deadline 22(= 2 +. 2 ). 0.1. According to the EDF scheduling policy, the aperiodic job J1 starts its execution at time 1, and finishes at time 3. The response time of J1 is equal to 2 (=3 − 1). In the other hand, the aperiodic job J2 starts its execution at time 18, and finishes at time 20. The response time of J2 is equal to 18 (=20 − 2). The average response time of the aperiodic jobs in this system is equal to 10 (=. 2 + 18 ). 2. On the other hand, if the Best Fit assignment heuristic is adopted to assign tasks, the execution of the mixed task set is shown in Figure 3.2. The goal of the Best Fit heuristic is to make the processors load balancing. Therefore, periodic tasks τ1 , τ4 , and τ6 are assigned to processor P1 , and τ2 , τ3 , τ5 , and τ7 are assigned to processor P2 . The utilizations Up,1 and Up,2 of the tasks assigned to P1 and P2 are equal to 0.75 and 0.8. The sizes us1,1 and us2,1 of the TB Servers T B1,1 and T B2,1 on processors P1 and P2 are equal to 0.25 (= 1 − 0.75) and 0.2 (= 1 − 0.8). Therefore, when J1 arrives at time 1, both of the TB Servers are idle. Both of the virtual deadlines for J1 which T B1,1 and T B2,1 assign to are 9 (= 1 + (= 1 +. 2 ) and 11 0.25. 2 ). J1 is assigned to T B1,1 . Then, at time 2 aperiodic job J2 arrives and only T B2,1 is 0.2. idle. Therefore, J2 is assigned to T B2,1 and has the virtual deadline 12 (= 2 +. 9. 2 ). According 0.2.

(16) τ. 1. τ4 τ. (10,4). 0. 10. 20. 0. 10. 20. (10,2). 6 (20,3). 20. 0. J1. (1,2) 1. τ. 9. 3. 2 (20,6). 0. τ. 3. 20. (5,1) 0. τ. 10. 5. 15. 20. 5 (20,3). 0. τ. 7. (20,3) 0. J. 2. 20. (2,2) 0. 2. 4. 12. Figure 3.2: Execution of the mixed task set under the Best Fit heuristic to the EDF scheduling policy, the aperiodic job J1 starts its execution at time 1, and finishes at time 3. The response time of J1 is equal to 2 (=3 − 1). In the other hand, the aperiodic job J2 starts its execution at time 2, and finishes at time 4. The response time of J2 is equal to 2 (=4 − 2). The average response time of the aperiodic jobs in this system is equal to 2 (=. 2+2 ). 2 From the example above, we can observe that different task assignment heuristics signif-. icantly affect not only the workloads of processors but also the sizes of the TB Servers. The Best Fit assignment heuristic makes the processors load balancing while the Worst Fit assignment heuristic makes larger workload difference between the processors. Therefore, different task assignment heuristics lead different sizes for TB Servers. A smaller difference between. 10.

(17) the sizes of TB Servers implies better average response time of aperiodic jobs. The Best Fit assignment heuristic is a better choice for assigning periodic tasks to processors while we want to minimize average response time of aperiodic jobs.. 3.2 Scheduling Framework Considering Response Time for Mixed Task Set In this section, we introduce the related functions of the proposed scheduling framework, Scheduling Framework Considering Response Time (SFCRT), which consists of two phases. In the first phase, we will use an efficient assignment heuristic to assign each task to a processor. Different assignment heuristics will significantly affect the average response time of aperiodic jobs in a multiprocessor system. In the second phase, aperiodic jobs are serviced by TB Servers [22] and scheduled with periodic jobs by the EDF policy. We use a simple flow chart to show the procedure of the framework. The first phase is shown in Figure 3.3(a). All of the periodic tasks will be assigned to processor under the Best Fit assignment heuristic. When all the periodic tasks have been assigned to processor, the TB Servers will be initialized. The second phase is shown in Figures 3.3(b) and 3.3(c). When a job arrives, the corresponding function will be invoked according to the job type. Then the function Dispatch job(Pj ) will determine which job J has the highest priority. Processor Pj should start to execute J. When a job arrives or completes, the function Dispatch job(Pj ) must be operated to prepare the execution of the next job. Finally, when a job completes on processor Pj , the function Job Complete(J) is invoked to terminate its execution. In the following, we will describe the related functions of the two phases in our proposed framework in detail. We assume that there are M processor and per processor has S TB Servers. The related timing information of periodic tasks is known a priori before the system starts to run. As the system starts, the function Initialize() is invoked to initialize needed data structures, i.e., task queues, periodic job queues, and aperiodic job queues, for the processors. The corresponding task queue T Qj for a processor Pj keeps the tasks assigned to Pj . For Pj , a corresponding. 11.

(18) Start. Initialize. Best_Fit_Task_Assignment. Initialize TB Server. End (a) Task assignment. Start. Aperiodic? No. Yes. Periodic_job_arrival(J). Start. Aperiodic_job_arrival(J). Job_Complete(J). Dispatch_Job(Pj). Dispatch_Job(Pj). End. End. (b) Job arrival. (c) Job completion. Figure 3.3: Flow chart of SFCRT.. 12.

(19) periodic queue JQj is used to maintain periodic jobs. Besides, a global aperiodic job queue GAQ for the system is used to maintain aperiodic jobs which are not serviced by any TB Server. In order to service aperiodic jobs, for each TB Server T Bj,x on the processor Pj , a local aperiodic job queue LAQj,x is used to maintain the aperiodic jobs serviced by the TB Server T Bj,x . We will describe how to use the queues. After initializing, the function Best F it T ask Assignment() assigns tasks to processors according to the Best Fit allocation heuristic. All of the periodic tasks will be sorted in a descending order of their utilizations. We define the p∗ as the target processor to which a task τi will be assigned by the function F ind Best P rocessor(). Based on Best Fit heuristic, the objective of lines 23-28 in Algorithm 1 is to find the processor whose load is the smallest among the processors. If UP ID +. Ci Ti. > 1, it will return ∗p = −1. It represents that no processor can. accept the task and the task is failed in assignment. The reason is that to guarantee the schedulability of the EDF scheduling policy, the total utilization of tasks assigned to per processor must be not larger than 1. After the assignment of periodic tasks, we can set the sizes and deadlines of TB Servers in the processors by the function Initialize T B Server(). The size of a TB Server T Bj,x is equal to the average value of unused utilization left by periodic tasks in the processor Pj . The deadline of T Bj,x is set as 0. After the assignment of periodic tasks, when a job J of a periodic task assigned to Pj arrives, the function P eriodic Job Arrival(J) is invoked to add a new record for J into the corresponding JQj , and the absolute deadline J.d of job J is set as the current time plus its period. On the other hand, when an aperiodic job arrives, the function Aperiodic Job Arrival(J) is invoked. First, a corresponding record is put into the global queue GAQ of the system. Then if the number of idle TB Servers is more than 0 (done by the function Derive Idle T BServer Number()), the job is assigned to and serviced by a TB Server T Bj,x which can provide the smallest deadline to it compared with the other TB Servers. The job is also migrated to LAQj,x from GAQ. The selection for the best idle TB Server is done by the function Get Best T BServer(). The function Derive Idle T BServer Number() derives the number of idle TB Servers by determining whether LAQj,x for each TB Server. 13.

(20) Algorithm 1 S CHEDULING F RAMEWORK C ONSIDERING R ESPONSE T IME (1) 1: FUNCTION Initialize() 2: Initialize a corresponding task queue T Qj for periodic tasks assigned to a processor Pj , 1 ≤ j ≤ M, as an empty linked list; 3: Initialize a corresponding job queue JQj for periodic jobs in a processor Pj , 1 ≤ j ≤ M, as an empty linked list ; 4: Initialize a corresponding job queue LAQj,x for aperiodic jobs assigned to TB server T Bj,x , 1 ≤ j ≤ M, 1 ≤ x ≤ S, as an empty linked list; 5: Initialize the global aperiodic job queue GAQ as an empty linked list; 6: END FUNCTION 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43:. FUNCTION Best F it T ask Assignment(T = {τ1 , τ2 , ..., τN }) Sort all the tasks in T in a descending order of their utilizations; Set Uj = 0 for each processor Pj , 1 ≤ j ≤ M; for i ← 1 to N do p∗ ← F ind Best P rocessor(τi , U); if (p∗ = −1) then Return FAIL; end if S Assign task τi to processor p∗, i.e., T Qp∗ ← T Qp∗ τi ; C Up∗ ← Up∗ + Ti,p∗ ; i end for Return SUCCESS; END FUNCTION FUNCTION F ind Best P rocessor(τi ,U ) P ID ← 1; for j ← 2 to M do if (UP ID > Uj ) then P ID ← j; end if end for if (UP ID + CTii > 1) then P ID ← −1; end if Return P ID; END FUNCTION FUNCTION Initialize T B Server for j ← 1 to M do Let ReU = 1 − T Qj .T otalUtilization; for x ← 1 to S do Set T Bj,x.size = ReU ; S Set T Bj,x.deadline = 0; end for end for END FUNCTION 14.

(21) T Bj,x is empty or not. We define t as a data structure with two elements p and q, where t.p and t.q are denoted as the identities of the processor and the TB Server, respectively. mind is used to record the smallest virtual deadline and the initial value is set as ∞. The objective of lines 14-32 in Algorithm 3 is to first check whether the corresponding aperiodic job queue LAQj,x for a TB Server T Bj,x on the processor Pj is empty or not. If LAQj,x is empty, the possible virtual deadline of the job J assigned by T Bj,x is computed according to Equation 2.1. The minimum virtual deadline and the information of the providing TB Server are maintained by updating mind and the data structure t. Finally, t is returned. After getting t, the deadline dt.p,t.q,y of TB Server T Bt.p,t.q can be derived by the following equation dt.p,t.q,y = max(J.r, dt.p,t.q,y−1 ) +. J.c ust.p,t.q. , where J.r and J.c are the ready time and worst-case. execution time of J. ust.p,t.q and dt.p,t.q,y−1 are the server size and the current deadline for TB Server T Bt.p,t.q . Then the deadline J.d of J is set as dt.p,t.q,y and J is migrated to LAQt.p,t.q . The objective of the function Dispatch Job(Pj ) is to determine which job J in the processor Pj has the earliest deadline. Then processor Pj should start to execute J. Therefore the function Dispatch Job(Pj ) must be operated when a job arrives or completes. When a job J on a processor Pj completes its execution, the function Job Complete(J) is invoked. If J is a periodic job, J will be deleted from JQj of processor Pj . On the other hand, if J is an aperiodic job, it will be deleted from the corresponding local aperiodic job queue LAQj,x . Then according the rules of Total Bandwidth (TB) Servers [22], we should check whether there are any aperiodic jobs in GAQ. If GAQ is not empty and some TB Servers are idle, we should invoke the function Get Best T BServer to find a best idle TB Server to service the job J ′ with the earliest ready time in GAQ. Finally J ′ is migrated from GAQ to its corresponding local aperiodic job queue. Theorem 1 When periodic tasks are assigned to processors with the Best Fit assignment, a larger number of TB Servers on each processor implies that the system has a larger average response time of aperiodic jobs in the worst case. Proof. When an aperiodic job J arrives, its virtual deadline is set according to Equation 2.2.. 15.

(22) After task assignment, for a processor Pj the total capacity left by periodic tasks will be divided equally among all the TB Servers on Pj . If there are more TB Servers on Pj , then each TB Server has a smaller size. J has a larger deadline and the priority of J is lower than that of the ready periodic jobs on Pj . Finally, J completes its execution later. . 16.

(23) Algorithm 2 S CHEDULING F RAMEWORK C ONSIDERING R ESPONSE T IME (2) 1: FUNCTION P eriodic Job Arrival(J) 2: Let J is a periodic job instance of task τi in T Qj of Pj ; 3: Set the deadline J.d of J as the current time plus Ti ; 4: Put J into JQj ; 5: Dispatch Job(Pj ) 6: END FUNCTION 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44:. FUNCTION Aperiodic Job Arrival(J) Put J into GAQ; n ← Derive Idle T BServer Number() if (n > 0) then t ← Get Best T BServer(J); J.c dt.p,t.q,y = max(J.r, dt.p,t.q,y−1 ) + s ; ut.p,t.q J.d ← dt.p,t.q,y ; Migrate J from GAQ to the LAQt.p,t.q for Pt.p ; Dispatch Job(Pt.p ); end if END FUNCTION FUNCTION Dispatch Job(Pj ) if (JQj is not empty) or (some LAQj,x for TB Server T Bj,x is not empty) then Let J as the job with the earliest deadline in JQj , and LAQj,x , 1 ≤ x ≤ S; Pj starts to execute J; end if END FUNCTION FUNCTION Job Complete(J) Let Pj be the processor on which J is executed; if J is aperiodic job then Let T Bj,x be the TB Server service which J is assigned to; Delete J from LAQj,x ; n ← Derive Idle T BServer Number(); if (GAQ is not empty) and (n > 0) then Let J ′ be the job with the earliest ready time in GAQ; t ← Get Best T BServer(J ′ ); J ′ .c dt.p,t.q,y = max(J ′ .r, dt.p,t.q,y−1) + s ; ut.p,t.q J ′ .d ← dt.p,t.q,y ; Migrate J ′ from GAQ to the LAQt.p,t.q ; end if else if J is a periodic job then Delete J from JQj ; end if Dispatch Job(Pj ) END FUNCTION 17.

(24) Algorithm 3 S CHEDULING F RAMEWORK C ONSIDERING R ESPONSE T IME (3) 1: FUNCTION Derive Idle T BServer Number() 2: n ← 0; 3: for j ← 1 to M do 4: for x ← 1 to S do 5: if LAQj,x is empty then 6: n ← n + 1; 7: end if 8: end for 9: end for 10: Return n; 11: END FUNCTION 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:. FUNCTION Get Best T BServer(J) mind ← ∞; Let t a structure with two elements, p and q. for j ← 1 to M do for x ← 1 to S do if LAQj,x is empty then J.c d ← max(J.r, dj,x,y−1 ) + s ; uj,x if d < mind then mind ← d; t.p ← j; t.q ← x; end if end if end for end for if mind 6= ∞ then Return t; else Return F ALSE; end if END FUNCTION. 18.

(25) Chapter 4 Performance Evaluation In this chapter, we will show the performance of the proposed methodology. We will first introduce the related information about experiment settings. Then we will show the experimental results.. 4.1 Experiment Setup and Performance Metrics The purpose of this section is to evaluate the performance of our proposed methodology, referred to as Scheduling Framework Considering Response Time (SFCRT). For the assignment of periodic tasks, First Fit (FF), Best Fit (BF), and Worst Fit (WF) were utilized to assign each task onto a processor[8]. We illustrated the experimental setting that verified the performance of the proposed algorithm. A task generator was designed to produce periodic tasks and aperiodic jobs in each experimental mixed task set. The performance of the SFCRT scheme was simulated under different values of processor number M, which were 2, 4, 6 and 8. The experimental settings were based on [13]. The workload of periodic tasks in the investigated system was denoted as Up . Up was set as 60% of system utilization, i.e., 0.6 × M. The utilization ui of each task τi was uniformly selected in the range of [0.01, 0.5]. The period Ti of τi was randomly generated within the range of [100, 3000]. The worst-case execution time Ci for τi was set as ui ∗ Ti . Besides, we assumed that the ready times of all the periodic tasks were 0. On the other hand, the aperiodic load Ua was equal to the left unused utilization of periodic tasks and was varied in the range of system utilization unused by periodic tasks. The range. 19.

(26) Ra was within the range of [0.1, 0.8]. For example, when Ra was set as 0.1, the aperiodic load Ua was equal to 0.1 × (1 − 0.6) × M. We used S to denote the number of TB Servers on a processor. We varied the S value between 1 and 4. If the total utilization of periodic tasks assigned to a processor Pj was Up,j , and the number of TB Servers on Pj is S, then the size usj,k of each TB Server T Bj,k on Pj was set as the average left unused utilization, i.e., usj,k =. 1−Up,j . S. We used X-Y to denote the assignment heuristic X with Y TB Servers on. each processor. In our experiments, the arrival times for aperiodic jobs were derived according to a Poisson distribution, and the worst-case execution times were computed following an exponential distribution. The average service rate µ for aperiodic jobs was set as 0.1 and 0.2. The average arrival rate λ could be determined by the average aperiodic load Ua and the average service rate µ, i.e., λ = Ua ∗ µ. 100 mixed task sets were generated for each system workload setting. Therefore, each experimental simulation result was an average value over these 100 independent task sets. The simulation time per tested task set was one millions unit of time. The performance metric measuring the mixed task sets was the average response time of aperiodic jobs.. 4.2 Experimental Results Figure 4.1 shows the the experiment results when the processor number is equal to 2, and the service rates µ is equal to 0.1. When M = 2, the total utilization of tasks in the system was 1.2. Under the BF heuristic, the utilization of tasks assigned to each processor was about 0.6. Such an assignment made that each processor had a similar available capacity for TB Servers. On the other hand, under the WF or FF heuristic the processor P1 was assigned tasks whose total utilization about equal to 1.0 total utilization. The other processor P2 had about 0.2 load. Compared with the FF and WF heuristics, the BF heuristic had stable performance. Under the BF heuristic, an aperiodic job could complete as soon as possible when it arrived. However, a larger number of TB Servers implied a larger average response time of aperiodic jobs. This was because each TB Server on each processor became smaller. Each aperiodic job was set as a larger deadline. Compared with ready periodic jobs, aperiodic jobs had lower priorities.. 20.

(27) Hence, aperiodic jobs under the BF -Y completed later than that under the BF -Y − 1. Under the WF of FF heuristic, aperiodic jobs could be assigned to a TB Server with a very small size on P1 . This resulted in large deadlines were assigned to aperiodic jobs and they completed later. When the number of TB Servers for a processor was fixed, the WF and FF heuristics had very similar performance. The reason was that under the WF heuristic each processor had task assignment results similar to a corresponding one under the FF heuristic. Because the WF and FF heuristics had very similar phenomenons. Here, we only discuss the situation under the WF heuristic. We also can observe that the W F -1 had worse performance than W F -2, W F -3, and W F -4 when Ra ≤ 0.5. The reason was that when an aperiodic job arrived, the W F with a larger Y value had a lower probability that the job was assigned to an idle TB Server with a tiny size on P1 . Under the W F -1 there were more aperiodic jobs assigned to the TB Server on P1 . Besides, we also can observe that when Ra > 0.5, the performance of the W F -1 became better than the W F -2, W F -3, and W F -4 increasing with Ra . This was because under the WF heuristic with a larger number of TB Servers, the TB Servers on processor P2 became busier when aperiodic load increased. Then more aperiodic jobs were assigned to TB Servers with tiny sizes on processor P1 . Therefore tiny-size TB Servers must service more aperiodic job and it resulted in larger average response time. Figure 4.2 shows the the experiment results when the processor number are equal to 2, and the service rate µ is equal to 0.2. We can observe that the performance trends of µ = 0.2 were similar to that of µ = 0.1, as shown in Figure 4.1. Therefore, we omitted the detailed discussion about Figure 4.2. Because the mean value of worst-case execution time of aperiodic jobs was 5 when µ = 0.2, under the same experimental setting the average response time when µ = 0.2 was two times of that when µ = 0.1. Figure 4.3 shows the the experiment results when the processor number is equal to 4, and the service rate µ is equal to 0.1. We can obviously observe that the average response time of the BF, WF and FF had larger response time increasing with Ra . The reason was similar to that for Figure 4.1. Compared with the BF heuristics, the WF and FF heuristics had higher probabilities that processor P4 could not have assigned tasks and the total size of TB Servers. 21.

(28) 40. BF-1 BF-2. Average Response Time. BF-3 BF-4 30. WF-1 WF-2 WF-3 WF-4 FF-1 FF-2. 20 FF-3 FF-4. 10 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. Ra. Figure 4.1: Average response time of aperiodic jobs when the processor number is 2 and the service rate of aperiodic jobs is 0.1 on P4 was about equal to 1.0. We can observe that when Ra ≤ 0.2, the performance of the WF heuristic with different number of TB Servers was very similar that of the BF -1 and BF -2, and better than that of the BF -3 and BF -4. This was because when the aperiodic workload was very light, under the WF heuristic most aperiodic jobs were assigned the TB Servers on P4 . Each TB Server on P3 and P 4 under the WF heuristic had a larger size than each TB Server under the BF -3 and BF -4. Under the WF heuristic the tiny-size TB Servers on P1 and P2 could not aperiodic jobs to service. Hence, the WF heuristic had better performance than the BF -3 and BF -4. We also can observe that the W F -2 outperformed the W F -1, W F -3, and W F − 4 when 0.3 ≤ Ra ≤ 0.5. The reason was that under the W F -1 more aperiodic jobs were assigned to the TB Servers with tiny sizes on P1 and P2 . Such assignment resulted in that the jobs had larger response time. On the other hand, under the W F -3, and W F − 4, most aperiodic jobs were assigned to the TB Servers on P3 and P4 . However, the size of each TB Server on P3 and P4 under W F -2 was larger than that of W F -3 and W F -4. Therefore, the deadlines of aperiodic jobs under W F -2 was smaller than that of W F -3 and W F -4 and the jobs could complete earlier. Besides, we can observe that when Ra > 0.7, the performance of the W F -1 became better than the W F -2. The total size of TB Servers on P3 and P4 were. 22.

(29) 20. BF-1 BF-2. Average Response Time. BF-3 BF-4 15. WF-1 WF-2 WF-3 WF-4 FF-1 FF-2. 10 FF-3 FF-4. 5 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. Ra. Figure 4.2: Average response time of aperiodic jobs when the processor number is 2 and the service rate of aperiodic jobs is 0.2 about equal to 0.6 and 1.0, respectively. Under the WF heuristic with a larger number of TB Servers, when aperiodic load increased, the TB Servers on processor P4 became busier and then more aperiodic jobs were assigned to the TB Servers with small sizes on processor P3 or tiny-size TB Servers on P1 and P2 . Therefore more aperiodic job had larger deadlines and it resulted in larger average response time. Figure 4.4 shows the the experiment results when the processor number are equal to 4, and the service rate µ is equal to 0.2. We can observe that the performance trend of µ = 0.2 was similar to that of µ = 0.1, as shown in Figure 4.3. Figure 4.5 shows the the experiment results when the processor number is equal to 6, and the service rate µ is equal to 0.1. We can observe that when Ra = 0.1, the performance of the WF heuristic with different number of TB Servers was better than the BF -4. This was because when aperiodic workload was very light, under the WF heuristic most aperiodic jobs were assigned the TB Servers on P5 and P6 . The TB Servers on P1 , P2 , P3 and P4 could not had any aperiodic jobs. The deadlines of these aperiodic jobs under the WF heuristic on P5 and P6 were smaller than that under the BF -4. The sizes of TB Servers on each processor under the BF -4 were smaller than that of TB Servers under the BF -1, BF -2 and BF -3. It. 23.

(30) 40. BF-1 BF-2. Average Response Time. BF-3 BF-4 30. WF-1 WF-2 WF-3 WF-4 FF-1 FF-2. 20 FF-3 FF-4. 10 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. Ra. Figure 4.3: Average response time of aperiodic jobs when the processor number is 4 and the service rate of aperiodic jobs is 0.1 would lead to the larger deadline of aperiodic jobs, and then caused larger average response time of aperiodic jobs. Therefore, the BF -4 had the worst performance. We can observe that when Ra was equal to 0.2 or 0.3, if the number Y of TB Servers for a processor was fixed, the performance of the WF heuristic was worse than the BF heuristic. This was because under the WF heuristic the TB Servers with larger sizes were too busier, and then some aperiodic jobs were assigned to the tiny-size TB Servers. Therefore, the W F -Y had worse performance than the BF -Y . We can observe that when Ra ≥ 0.5, the performance of the W F -1 was worse than that of the W F -2, W F -3 and W F -4. This was because tiny-size TB Servers under the W F -1 were assigned more aperiodic jobs than that of tiny-size TB Servers under the W F -2, W F -3, and W F -4. Figure 4.6 shows the the experiment results when the processor number are equal to 6, and the service rate µ is equal to 0.2. We can observe that the performance trend of µ = 0.2 was similar to that of µ = 0.1, as shown in Figure 4.5. Figure 4.7 and 4.8 shows the the experiment results when the processor number are equal to 8, and the service rates are equal to 0.1 and 0.2, respectively. We can observe that the experimental results are very similar to that when the processor number is equal to 6. Therefore, we omitted the discussion for it.. 24.

(31) 20. BF-1 BF-2. Average Response Time. BF-3 BF-4 15. WF-1 WF-2 WF-3 WF-4 FF-1 FF-2. 10 FF-3 FF-4. 5 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. Ra. Figure 4.4: Average response time of aperiodic jobs when the processor number is 4 and the service rate of aperiodic jobs is 0.2 From the experimental results, we conclude that the BF -1 outperforms the other schemes under different number of processors and aperiodic workload. However, When the number of TB Servers on each processor under the BF heuristic increases, the total capacity on a processor Pj will be divided equally among the TB Servers on Pj . Therefore, aperiodic jobs will be assigned larger deadlines and have worse response time. On the other hand, the performance of the WF heuristic is influenced by the number of TB Servers on each processor and aperiodic workload Ra settings. When the aperiodic workload was very light and the processor number was larger than 4, the WF and BF heuristics have similar performance. When aperiodic workload increases, more aperiodic jobs could be assigned to the TB Servers with tiny sizes and then cause huge response time. Therefore, the performance trend of the WF heuristic is unstable.. 25.

(32) 40. BF-1 BF-2. Average Response Time. BF-3 BF-4 30. WF-1 WF-2 WF-3 WF-4 FF-1 FF-2. 20 FF-3 FF-4. 10 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. Ra. Figure 4.5: Average response time of aperiodic jobs when the processor number is 6 and the service rate of aperiodic jobs is 0.1. 20. BF-1 BF-2. Average Response Time. BF-3 BF-4 15. WF-1 WF-2 WF-3 WF-4 FF-1 FF-2. 10 FF-3 FF-4. 5 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. Ra. Figure 4.6: Average response time of aperiodic jobs when the processor number is 6 and the service rate of aperiodic jobs is 0.2. 26.

(33) 40. BF-1 BF-2. Average Response Time. BF-3 BF-4 30. WF-1 WF-2 WF-3 WF-4 FF-1 FF-2. 20 FF-3 FF-4. 10 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. Ra. Figure 4.7: Average response time of aperiodic jobs when the processor number is 8 and the service rate of aperiodic jobs is 0.1. 20. BF-1 BF-2. Average Response Time. BF-3 BF-4 15. WF-1 WF-2 WF-3 WF-4 FF-1 FF-2. 10 FF-3 FF-4. 5 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. Ra. Figure 4.8: Average response time of aperiodic jobs when the processor number is 8 and the service rate of aperiodic jobs is 0.2. 27.

(34) Chapter 5 Conclusion and Future Work In this paper, we proposed a scheduling framework considering the response time of aperiodic jobs in mixed task sets on multiprocessor systems. The periodic tasks will be assigned to fixed processors under different task assignment heuristic before run time. We compared the performance of three different task assignment heuristics, i.e., Worst Fit, Best Fit, and First Fit. The unused utilizations let by periodic tasks on processors will utilized to be the sizes of TB Servers. The TB Servers on each processor will share evenly the left capacity. The TB Servers determine the virtual deadline of each arrival aperiodic and influence its response time. The experiment results show that under different aperiodic workload, the BF heuristic has better average response time than the WF and FF heuristics. The BF heuristic makes processors load balancing. The WF and FF heuristics make larger workload difference among processors and cause that there could have tiny-size TB Servers. When the aperiodic workload was very light and the processor number was larger than four, the WF heuristic may make that on some processors there are no assigned tasks and the left capacities for TB Servers are equal to 1. Then, the WF heuristic had the performance similar to that of the BF heuristic. When the aperiodic workload increases, TB Servers with larger sizes may be too busy such that more aperiodic jobs must be assigned to tiny-size TB Servers. The jobs assigned tiny-size TB Servers will have larger deadlines and then have worse response time. For the future work, to improve the average response time we want to consider that how to reduce the effect caused by tiny-size TB Servers under the WF heuristic. Besides, we want to improve response time of aperiodic jobs if job migration is permitted at run time. Finally, we also consider the resource. 28.

(35) competition among tasks on multiprocessor systems.. 29.

(36) Bibliography [1] B. Andersson and J. Jonsson S. Baruah. Static-priority scheduling on multiprocessors. In IEEE Real-Time Systems Symposium, pages 193–202, 2001. [2] H. Aydin and Q. Yang. Energy-aware partitioning for multiprocessor real-time systems. In International Parallel and Distributed Processing Symposium, 2003. [3] T. P. Baker and S. K. Baruah. Schedulability analysis of multiprocessor sporadic task systems. In Handbook of Realtime and Embedded Systems, 2007. [4] S. Baruah, J. Goossens, and G. Lipari. Implementing constant-bandwidth servers upon multiprocessor platforms. In Real-Time and Embedded Technology and Applications Symposium, pages 154–163, 2002. [5] S. Baruah and G. Lipari. A multiprocessor implementation of the total bandwidth server. In International Parallel and Distributed Processing Symposium, 2004. [6] S. K. Baruah. Partitioning real-time tasks among heterogeneous multiprocessors. In International Conference on Parallel Processing, pages 467–474, 2004. [7] A. Bastoni, B. B. Brandenburg, and J. H. Anderson. An empirical comparison of global, partitioned, and clustered multiprocessor edf schedulers. In IEEE Real-Time Systems Symposium, pages 14–24, 2010. [8] E. G. Coffman, M. R. Garey, and D. S. Johnson. Approximation algorithms for bin packing: a survey. In Approximation Algorithms for NP-Hard Problems, PWS, Boston, 1997.. 30.

(37) [9] S. Funk and S. Baruah. Task assignment on uniform heterogeneous multiprocessors. In Euromicro Conference on Real-Time Systems, pages 219–226, 2005. [10] L.A. Gutierrez, C.A. Franco, R.R. Jacinto, and C.A. Gutierrez. Minimizing the response times of aperiodic tasks in hard real-time systems with edf. In Electronics, Robotics, and Automotive Mechanics Conference, pages 268–273, 2006. [11] M. Karic, G. Martinovic, and Z. Hocenski. Implementation and simulation results of multiple total bandwidth server mechanism. In International Symposium on Intelligent Systems and Informatics, pages 423–427, 2010. [12] S. Kato and N. Yamasaki. Portioned static-priority scheduling on multiprocessors. In IEEE International Symposium on Parallel and Distributed Processing, pages 1–12, 2008. [13] S. Kato and N. Yamasaki. Scheduling aperiodic tasks using total bandwidth server on multiprocessors. In IEEE/IFIP International Conference on Embedded and Ubiquitous Computing, pages 82–89, 2008. [14] H. Kim, M. Park, S. Cho, H.J. Yoo, J. Chae, and Y. Cho. A combined approach to improve the response time of soft aperiodic tasks. In Software Technologies for Future Dependable Distributed Systems, pages 215–219, 2009. [15] S. Lauzac, R. Melhem, and D. Mosse. Comparison of global and partitioning schemes for scheduling rate monotonic tasks on a multiprocessor. In IEEE Real-Time Systems Symposium, pages 188–195, 1998. [16] J. P. Lehoczky and S. Ramos-Thuel. An optimal algorithm for scheduling soft-aperiodic tasks in fixed-priority preemptive systems. In IEEE Real-Time Systems Symposium, 1992. [17] J. P. Lehoczky, L. Sha, and J. K. Strosnider. Enhanced aperiodic responsiveness in hard real-time environments. In IEEE Real-Time Systems Symposium, pages 261–270, 1987.. 31.

(38) [18] T.H. Lin and W. Tarng. Scheduling periodic and aperiodic tasks in hard real-time computing systems. In ACM SIGMETRICS, pages 31–38, 1991. [19] C. L. Liu and J. W. Layland. Scheduling algorithms for multiprogramming in a hardreal-time environment. Journal of the ACM, 20(1):46–61, January 1973. [20] J. Lopez, J. Diaz, M. Garcia, and D. Garcia. Worst-case utilization bound for edf scheduling on real-time multiprocessor systems. In the 12th Euromicro Workshop on Real-Time Systems, 2000. [21] B. Sprunt, L. Sha, and J. P. Lehoczky. Aperiodic task scheduling for hard-real time systems. Journal of Real-Time Systems, 1(1):27–60, 1989. [22] M. Spuri and G. Buttazzo. Scheduling aperiodic tasks in dynamic priority systems. RealTime Systems, 10(2):179–210, 1996. [23] C.Y. Yang, J.J. Chen, and T.W. Kuo. An approximation algorithm for energy-efficient scheduling on a chip multiprocessor. In DATE 2005, pages 468–473, 2005.. 32.

(39) Appendix A: Table 5.1: Notations and Abbreviations Symbol/Term ck di dj,x,y fk rk τi usj,x Aj Ci Di Jk Ri Sj Sj,x Ti T Bj,x Up,j. Description Worst case execution time of Jk Absolutely deadline of τi Virtual deadline of the yth job on TB Server T Bj,x Completion time of Jk Arrival time of Jk Periodic task τi TB Server size of T Bj,x Periodic task set assigned to Pj after task assignment Worst case execution time of τi Relative deadline of τi Aperiodic job Jk Phase time of τi TB Server set of processor Pj The xth TB Server in Sj Period of τi The xth TB Server on processor Pj Total utilization of periodic tasks on processor Pj. 33.

(40)

數據

Table 3.1: Task parameters of periodic tasks.
Figure 3.1: Execution of the mixed task set under the Worst Fit heuristic
Figure 3.2: Execution of the mixed task set under the Best Fit heuristic
Figure 3.3: Flow chart of SFCRT.
+7

參考文獻

相關文件

For periodic sequence (with period n) that has exactly one of each 1 ∼ n in any group, we can find the least upper bound of the number of converged-routes... Elementary number

Al atoms are larger than N atoms because as you trace the path between N and Al on the periodic table, you move down a column (atomic size increases) and then to the left across

FIGURE 5. Item fit p-values based on equivalence classes when the 2LC model is fit to mixed-number data... Item fit plots when the 2LC model is fitted to the mixed-number

(A) The drought has authorities worried that the effects of climate change are larger than expected as Australia experiences half of its warmest days on record lately.. (B)

Our current solution, called “Iterative Earliest Deadline First+Best Fit” (IEDF+BF), includes three steps: First, estimate the number of high frequency cores; second, schedule

Each course at the Institute is assigned a number of units corresponding to the total number of hours per week devoted to that subject, including classwork, laboratory, and the

Solution: pay attention on the partial input object each time Problem: larger memory implies more parameters in RNN. Solution: long-term memory increases memory size without

– For each k, the faster, smaller device at level k serves as a cache for the larger, slower device at level k+1. • Why do memory