![]() ![]() Starvation can be avoided by applying aging mechanisms. In highly utilized systems though, static task priorities can lead to the starvation of certain tasks. A common way to express differing importance of applications or functionality in non-safety-critical systems is to assign priorities accordingly. However, executing multiple applications and their corresponding tasks in parallel can be problematic if a certain quality of service is required or expected for a subset of the applications. This parallelism can be used to execute different functionality or applications in parallel as not all applications are able to exploit the available computational power due to a lack of scaling capability. Modern computing systems used in fields like embedded and high performance computing feature a high degree of parallelism and are often equipped with additional accelerators, e.g. Additionally, no algorithm significantly dominates all other algorithms when total makespans are compared. Considering the scheduling algorithms, Minimum Completion Time, Sufferage, and Relative Cost benefit in both experiments by the aging mechanism. However, the job/application with the highest priority is still finished first in all cases. The results show a speed up of the average total makespan in 9 out of 12 conducted experiments when aging is used with the cost of additional waiting time for the applications/jobs with higher priority. We used a task-based runtime system to evaluate the mechanism on a real system in two scenarios. In the context of task scheduling, aging refers to a method that increases the priority of a task over its lifetime. ![]() As modern systems are often dynamic in nature, we developed a two-level aging mechanism and analyzed its effect in the context of 6 dynamic scheduling algorithms for heterogeneous systems. ![]() ![]() A solution is offered by aging mechanisms that raise the priority of long waiting tasks. However, priorities may lead to starvation in highly utilized systems. In such scenarios, considering the differing importance of applications while scheduling tasks is done by assigning priorities to the tasks. The high degree of parallelism of today’s computing systems often requires executing applications and their tasks in parallel due to a limited scaling capability of individual applications. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |