یک الگوریتم زمانبندی وظیفه چندهدفه بر اساس الگوریتم ژنتیک برای طراحی سیستمهای نهفته
محورهای موضوعی :محدثه نیک سرشت 1 , محسن راجی 2
1 - دانشجو
2 - دانشگاه شیراز
کلید واژه: سیستمهای نهفته, زمانبندی وظیفه, بهینهسازی چندهدفه, الگوریتم ژنتیک.,
چکیده مقاله :
طراحان سیستمهای نهفته با الزامات و اهداف متعددی در طراحی (مانند زمان اجرا، انرژی مصرفی و قابلیت اطمینان) مواجه هستند. ازآنجاکه در بیشتر مواقع، تلاش برای برآوردن یکی از این الزامات در تناقض با دستیابی به دیگر الزامات طراحی است، استفاده از رویکردهای چندهدفه در مراحل مختلف طراحی دستگاههای نهفته ازجمله زمانبندی وظایف امری اجتنابناپذیر به نظر میرسد. در اين مقاله، یک روش زمانبندی وظیفه ایستای چندهدفه برای طراحی دستگاههای نهفته ارائهشده است. در این روش، وظایف بهصورت یک گراف مدل شده و با در نظر گرفتن یک زیرساخت سختافزاری برای سیستم نهفته، روشی برای نگاشت و زمانبندی وظایف بر روی معماری سختافزاری پیشنهاد میشود. بهمنظور مدیریت وابستگی بین وظیفهها در گراف وظایف، از یک روش بخشبندی استفادهشده است که در هر بخش، وظایفی که میتوانند بهطور همزمان اجرا شوند مشخصشده و در فرآیند زمانبندی در نظر گرفته میشوند. در این روش زمانبندی، پارامترهای زمان اجرای وظایف، انرژی مصرفی و قابلیت اطمینان بهعنوان اهداف بهینهسازی طی یک الگوریتم بهینهسازی ژنتیک بهینه میگردند. نتایج شبیهسازیها نشان میدهد که روش پیشنهادی با در نظر گرفتن اهداف مختلف طراحی در مقایسه با روشهای مشابه پیشین مانند EAG-TA، در زمان اجرای وظایف، انرژی مصرفی و قابلیت اطمینان به ترتیب 21.4، 19.2 و 20 درصد بهبود داشته است. استفاده از یک راهبرد بهینهسازی چندهدفه این امکان را فراهم میکند که طی مرحله نگاشت و زمانبندی، گزینههای متعدد طراحی پیش روی طراح قرار گیرد تا بتواند بین پارامترهای مختلف طراحی سیستم (سختافزاری/نرمافزاری) موازنه مدنظر خود را انجام دهد.
Embedded system designers face numerous design requirements and objectives (such as runtime, power consumption and reliability). Since meeting one of these requirements mostly contradicts other design requirements, it seem to be inevitable to apply multi-objective approaches in various stages of designing embedded systems, including task scheduling step. In this paper, a multi-objective task mapping and scheduling in the design stage of the embedded system is presented. In this method, tasks are represented by task graphs assuming that the hardware architecture platform is given and determined. In order to manage the dependencies between tasks in the task graph, a segmentation method is used, in which the tasks that can be executed simultaneously are specified in a segment and is considered in the scheduling process. In the proposed method, the task mapping and scheduling problem is modeled as a genetic algorithm-based multi-objective optimization problem considering execution time, energy consumption, and reliability. In comparison to similar previous works, the proposed scheduling method respectively provides 21.4%, 19.2%, and 20% improvement in execution time, energy consumption, and reliability. Applying a multi-objective helps the designer to pick out the best outcome according to different considerations.