• Tidak ada hasil yang ditemukan

4.4 HETERO-SCHED: A Low-overhead Heterogeneous Multi-core Scheduler

4.4.4 Experimental Set Up and Results

It may be noted that the size of all time-slices in T Sis same and hence, the schedule constructed for the first time-slice T S1 can be utilized for all the remaining time-slices by only updating the time-slice boundaries.

4.4 HETERO-SCHED: A Low-overhead Heterogeneous Multi-core Scheduler for Real-time Periodic Tasks

Comparison with state-of-the-art scheme: The framework presented in this work has been compared with a modified version of a state-of-the-art scheme called Sort and Assign (SA) [108]. SA is an optimal scheduling algorithm for heterogeneous multi-core platforms consisting of two types (type-1 and type-2) of processing cores. The algorithm SA works in two phases. In the first phase, the task set is partitioned into four subsets namely, H1, H2, H12 and L. H1 and H2 consists of tasks which must be executed only on type-1 and type-2 processing cores, respectively, L contains tasks that can be scheduled on both types of processing cores, while the remaining unschedulable tasks are put in H12.

In thesecond phase, tasks are assigned to their respective processing cores. In par- ticular, the tasks in the setsH1 andH2 are assigned onto type-1 and type-2 processing cores, respectively. The tasks in the set L are inserted in a list in non-increasing order of their preferences to be assigned to type-1 processing cores. This list is then traversed left to right and the tasks are assigned sequentially to type-1 processing cores until there is no capacity left on type-1 processing cores to assign a task integrally. Subsequently, the list is traversed from right to left and the tasks are sequentially assigned to type-2 processing cores. Finally, at most one task (say, Ti) may still remain unallocated in the list. This taskTi is then partitioned with fractional allocations being assigned onto both type-1 and type-2 processing cores. In this way,SAis able to schedule tasks in two-type processing cores platform.

Algorithm SA-M: It may be noted that the algorithm SA has been designed for scheduling of tasks in systems containing two types of processing cores only. Hence, we propose an modified version of SA called SA-M, so that it may be applied to generic heterogeneous systems containing k (k ≥ 2) types of processing cores. Initially, SA-M partitions m processing cores into m/2 clusters, with each cluster having a maximum of two processing cores. The clustering is done by first choosing a task-processing core pair (say, Ti and Vj) having the lowest utilization (highest affinity) from the utilization matrix U. If the corresponding processing coreVj already belongs to some cluster, then the SA-M allots the task Ti to that cluster, provided the remaining capacity of that

cluster is more than the average utilization of Ti in the processing cores of the cluster.

If Vj has not been considered yet for any cluster, then a new cluster is formed with the two processing cores having lowest utilization for Ti. The process continues till all the tasks have been assigned to some cluster. If any processing core has not been considered yet due to low utilization factor of the task set, they are randomly partitioned to some of the new clusters. After formation of the m/2 clusters, tasks are partitioned in their respective clusters using the original SA algorithm.

4.4.4.2 Experimental Results

The proposed scheduler synthesis scheme has been evaluated through extensive simula- tion based experiments. We have varied the the values for the following parameters in our experiments: utilization factor (Experiment 1), number of processing cores (Experi- ment 2) and number of tasks (Experiment 3). And then we have compared and analyzed our results with that of the algorithm SA-M. A detailed analysis of the experimental results are discussed below.

Experiment 1 (Effect of Utilization Factor): In our experiments, we have varied the utilization factor between 0.5 and 1.0. The system under consideration has n = 30 tasks with 4 processing cores. We may observe from Figure 4.5a that the acceptance ratio decreases for both the algorithms with increase in utilization factor of the system.

Since the number of tasks remain constant against variations in utilization factor, the weights of individual tasks increase. Hence, the given heterogeneous processing cores are assigned more workload, which in turn increases the probability of having migrating tasks within time-slices. Also forHETERO-SCHED, there may be overlapped execution for the migrating tasks at multiple processing cores because of variations in rates of execution across processing cores. In such a scenario, we reject the task set. For SA- M, the increase in utilization factor leads to higher probability of having tasks that require inter-cluster migration. As inter-cluster migration is not allowed, hence increase in the utilization factor leads to reduction in acceptance ratio. We may observe from Figure 4.5a that the acceptance ratio reduces from 100% to 34% and 100% to 5% for

4.4 HETERO-SCHED: A Low-overhead Heterogeneous Multi-core Scheduler for Real-time Periodic Tasks

(a)VaryingU F (n= 30 and m = 4) (b)Varying m(n= 30 and UF = 0.9)

(c) Varying n(m = 4 and UF= 0.9) Figure 4.5: Experimental Results

HETERO-SCHED and SA-M respectively.

Experiment 2(Effect of the number of processing cores): We evaluated both the algorithms on systems having 2 to 8 processing cores with utilization factor of 0.9 andn= 30. As we may observe from Figure 4.5b, the acceptance ratio of the HETERO-SCHED algorithm increases with increase in the number of processing cores, when the number of tasks remain constant. This is due to the fact that at lower number of processing cores and a high utilization factor in the system, the scope to schedule a migrating task without having any overlap across the processing cores is less for the HETERO-SCHED algorithm. As the number of processing cores increase, the algorithm is able to schedule the task sets in a better way due to its fully migrative nature. On the other hand,SA-M is an optimal scheduler for platforms with two types of processing cores. An increase in

number of processing cores results in increased number of clusters, which in turn leads to higher requirement of inter-cluster migration. Hence, the acceptance ratio decreases with the increase in number of processing cores for SA-M, while it increases for the algorithm HETERO-SCHED. In particular, the acceptance ratio decreases from 100%

to 8% and increases from 89% to 100% for the algorithmsSA-M andHETERO-SCHED, respectively.

Experiment 3 (Effect of the number of tasks): In this experiment, we have varied the number of tasks (n) between 10 and 40. The system under consideration has utilization factor of 0.9 with 4 processing cores. We may observe from Figure 4.5c that increase in the number of tasks also results in increased acceptance ratio for both the algorithms. As utilization factor and number of processing cores remain constant, an increase in the number of tasks leads to reduced individual task weights. Hence, it results in increased acceptance ratio. In particular, acceptance ratio was found to be 86%, 89%, 90% and 100% for HETERO-SCHED and 22%, 36%, 42% and 50% for SA-M.