{"title":"Scheduling Constrained-Deadline Parallel Tasks on Two-type Heterogeneous Multiprocessors","authors":"Björn Andersson, Gurulingesh Raravi","doi":"10.1145/2997465.2997482","DOIUrl":null,"url":null,"abstract":"Consider the problem of scheduling a taskset on a multiprocessor to meet all deadlines. Assume constrained-deadline sporadic tasks and stage-parallelism (i.e., a task comprises one or more stages with a stage comprising one or more segments so that segments in the same stage are allowed to execute in parallel and a segment is allowed to execute only if all segments of the previous stage have finished). Also assume a two-type heterogeneous multiprocessor platform (i.e., there are processors of two types, type-1 and type-2, and for each task, there is a specification of its execution speed on a type-1 processor and on a type-2 processor) and intra-type migration (i.e., a job can migrate between processors of the same type but for a task, all jobs of this task must execute on the same processor type). We present an algorithm for this problem; it assigns each task to a processor type and then schedules tasks on processors of each type with global-Earliest-Deadline-First. It has pseudo-polynomial time complexity and speedup bound at most 5. We also present a variant of this algorithm; it has the same time complexity and same speedup bound but has better average-case performance. We evaluate both algorithms on randomly-generated systems with up to 256 tasks and 256 processors and find that for most systems the algorithms took at most 1 second and they never took more than 42 seconds to finish. Also, for almost 100% of the systems, the latter algorithm succeeds if given processors twice faster than the speed needed to satisfy a necessary feasibility test (hence the algorithm behaves almost as if the speedup bound is two). This is the first work on scheduling parallel real-time tasks on a heterogeneous multiprocessor with provably good performance.","PeriodicalId":245345,"journal":{"name":"Proceedings of the 24th International Conference on Real-Time Networks and Systems","volume":"29 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-10-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 24th International Conference on Real-Time Networks and Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2997465.2997482","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
Consider the problem of scheduling a taskset on a multiprocessor to meet all deadlines. Assume constrained-deadline sporadic tasks and stage-parallelism (i.e., a task comprises one or more stages with a stage comprising one or more segments so that segments in the same stage are allowed to execute in parallel and a segment is allowed to execute only if all segments of the previous stage have finished). Also assume a two-type heterogeneous multiprocessor platform (i.e., there are processors of two types, type-1 and type-2, and for each task, there is a specification of its execution speed on a type-1 processor and on a type-2 processor) and intra-type migration (i.e., a job can migrate between processors of the same type but for a task, all jobs of this task must execute on the same processor type). We present an algorithm for this problem; it assigns each task to a processor type and then schedules tasks on processors of each type with global-Earliest-Deadline-First. It has pseudo-polynomial time complexity and speedup bound at most 5. We also present a variant of this algorithm; it has the same time complexity and same speedup bound but has better average-case performance. We evaluate both algorithms on randomly-generated systems with up to 256 tasks and 256 processors and find that for most systems the algorithms took at most 1 second and they never took more than 42 seconds to finish. Also, for almost 100% of the systems, the latter algorithm succeeds if given processors twice faster than the speed needed to satisfy a necessary feasibility test (hence the algorithm behaves almost as if the speedup bound is two). This is the first work on scheduling parallel real-time tasks on a heterogeneous multiprocessor with provably good performance.