Abstract
Multi-core processors deliver higher performance with a smaller footprint and lower power consumption making them attractive for modern real-time embedded applications. In real-time computing achieving higher performance alongside sustaining system correctness, predictability and meeting all hard deadlines are very crucial. Concurrent access of the tasks to shared-resources (e.g., memory structure, DMA, peripherals) by multiple tasks running on different cores induces higher blocking time, which increases the worst-case execution (WCET) time of tasks and can cause missing hard deadlines, consequently resulting in system failure. The tasks blocking time, perpetuated cache evictions and communication with slow I/O peripherals increase the worst-case execution time of real-time tasks. Ultimately these added overheads in WCET reduce task-set schedulability. In this paper, we propose an Inter-task Affinity-aware Task Allocation (IATA) algorithm, which groups the tasks considering their constraints, dependencies, and preferences; and allocate these groups on multiple cores such that the additive overheads in WCET are minimized. The tasks handling slow I/O peripherals are assigned to a dedicated I/O core and to reduce cache evictions the tasks with higher priority, and sharing data-sets are allocated on scratch-pad RAM. In the evaluation of our algorithm, we compare our proposed algorithm IATA with blocking-agnostic Best Fit Decreasing (BFD) task allocation algorithm. The results reveal that our proposed (IATA) algorithm allocates on the average 97.5% more task-sets than BFD, increases schedulability and reduces processor utilization.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have