{"title":"改进的任务管理技术,用于对循环任务执行EDF调度","authors":"M. Short","doi":"10.1109/RTAS.2010.22","DOIUrl":null,"url":null,"abstract":"The management of tasks is an essential requirement in most real-time and embedded systems, but invariably leads to unwanted CPU overheads. This paper is concerned with task management in real-time and embedded systems employing the Earliest Deadline First (EDF) scheduling algorithm. Currently, the best known techniques to manage EDF scheduling lead to overheads with complexity O(log n), where n is the number of recurring (periodic/sporadic) tasks. In this paper it will be shown that if both the ready and waiting queues are represented by either i) timing and indexed deadline wheels or ii) digital search trees, then all scheduling decisions may be made in time proportional to the logarithm of the largest time representation required by the system, pm. In cases where pm is relatively small, for example in some embedded systems, extremely efficient task management may then be achieved. Experimental results are then presented, and it is shown that on an ARM7 microcontroller, when the number of tasks is comparatively large for such a platform (≫ 250), the worst-case scheduling overheads remain effectively constant and below 20 µs. The results indicate that the techniques provide some improved performance over previous methods, and also seem to indicate that there is little discernable difference between the overheads incurred between employing a fixed- or dynamic-priority scheduler in a given system.","PeriodicalId":356388,"journal":{"name":"2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium","volume":"77 11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-04-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"19","resultStr":"{\"title\":\"Improved Task Management Techniques for Enforcing EDF Scheduling on Recurring Tasks\",\"authors\":\"M. Short\",\"doi\":\"10.1109/RTAS.2010.22\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The management of tasks is an essential requirement in most real-time and embedded systems, but invariably leads to unwanted CPU overheads. This paper is concerned with task management in real-time and embedded systems employing the Earliest Deadline First (EDF) scheduling algorithm. Currently, the best known techniques to manage EDF scheduling lead to overheads with complexity O(log n), where n is the number of recurring (periodic/sporadic) tasks. In this paper it will be shown that if both the ready and waiting queues are represented by either i) timing and indexed deadline wheels or ii) digital search trees, then all scheduling decisions may be made in time proportional to the logarithm of the largest time representation required by the system, pm. In cases where pm is relatively small, for example in some embedded systems, extremely efficient task management may then be achieved. Experimental results are then presented, and it is shown that on an ARM7 microcontroller, when the number of tasks is comparatively large for such a platform (≫ 250), the worst-case scheduling overheads remain effectively constant and below 20 µs. The results indicate that the techniques provide some improved performance over previous methods, and also seem to indicate that there is little discernable difference between the overheads incurred between employing a fixed- or dynamic-priority scheduler in a given system.\",\"PeriodicalId\":356388,\"journal\":{\"name\":\"2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium\",\"volume\":\"77 11 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2010-04-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"19\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/RTAS.2010.22\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2010 16th IEEE Real-Time and Embedded Technology and Applications Symposium","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RTAS.2010.22","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Improved Task Management Techniques for Enforcing EDF Scheduling on Recurring Tasks
The management of tasks is an essential requirement in most real-time and embedded systems, but invariably leads to unwanted CPU overheads. This paper is concerned with task management in real-time and embedded systems employing the Earliest Deadline First (EDF) scheduling algorithm. Currently, the best known techniques to manage EDF scheduling lead to overheads with complexity O(log n), where n is the number of recurring (periodic/sporadic) tasks. In this paper it will be shown that if both the ready and waiting queues are represented by either i) timing and indexed deadline wheels or ii) digital search trees, then all scheduling decisions may be made in time proportional to the logarithm of the largest time representation required by the system, pm. In cases where pm is relatively small, for example in some embedded systems, extremely efficient task management may then be achieved. Experimental results are then presented, and it is shown that on an ARM7 microcontroller, when the number of tasks is comparatively large for such a platform (≫ 250), the worst-case scheduling overheads remain effectively constant and below 20 µs. The results indicate that the techniques provide some improved performance over previous methods, and also seem to indicate that there is little discernable difference between the overheads incurred between employing a fixed- or dynamic-priority scheduler in a given system.