تعیین برش زمانی پویا در الگوریتم زمانبندی نوبت گردشی با استفاده از یادگیری ماشین
نویسندگان
1 گروه فناوری اطلاعات، دانشکده مهندسی برق و کامپیوتر، دانشگاه سیستان و بلوچستان، زاهدان، ایران
2 گروه فناوری اطلاعات، دانشکده مهندسی برق و کامپیوتر، دانشگاه سیستان و بلوچستان، زاهدان، ایران
doi
10.22052/scj.2022.243181.1002چکیده
یکی از رایجترین الگوریتمهای زمانبندی پردازنده در سیستمهای اشتراک زمانی، الگوریتم نوبت گردشی است. در این الگوریتم یک برش زمانی در نظر گرفته میشود که بیانگر حداکثر زمانی است که فرآیند میتواند پردازنده را در اختیار داشته باشد و پردازنده به اندازه برش زمانی به صورت چرخشی به فرآیندهای صف آماده تخصیص مییابد. اندازه برش زمانی تاثیر بسزایی بر کارایی الگوریتم نوبت گردشی دارد به گونهای که اگر برش زمانی خیلی کوتاه باشد، به دلیل افزایش تعداد تعویضمتن و سربار ناشی از آن، بهرهوری پردازنده کاهش مییابد. در مقابل اگر برش زمانی خیلی بزرگ باشد، میانگین زمان پاسخ فرآیندها افزایش مییابد که استفاده از الگوریتم نوبت گردشی در کاربردهای تعاملی را ناکارآمد میسازد. هدف این مقاله ارائه روشی کارا برای تعیین برش زمانی به صورت پویا با استفاده از یادگیری ماشین است. برای این منظور، ابتدا یک مجموعه آموزش شامل ویژگیهای تعداد فرآیندها و بیشینه، کمینه، میانگین و میانه زمان انفجار فرآیندها و ویژگی هدف برش زمانی بهینه ساخته شد. سپس با آموزش طبقهبندهای یادگیری ماشین بر روی این مجموعه به پیشبینی برش زمانی بهینه برای نمونههای جدید پرداخته شد. نتایج ارزیابیها نشان میدهد که در مجموع روش پیشنهادی در مقایسه با سایر روشهای تعیین برش زمانی عملکرد بهتری بر اساس معیارهای سنجش کارایی الگوریتمهای زمانبندی دارد. برای مثال در مقایسه با الگوریتم ژنتیک که در میان روشهای موجود بهترین عملکرد را دارد، میانگین زمان انتظار و میانگین تعداد تعویضمتن روش پیشنهادی به ترتیب 12 میلیثانیه و 1.76 واحد بهبود و میانگین زمان برگشت حدود 2 میلیثانیه افت داشته است.