نام پژوهشگر: محمد محمدی دینانی
محمد محمدی دینانی مسعودرضا هاشمی
اگرچه کارایی سیستم های کامپیوتری در سال های اخیر رشد فزاینده ای داشته است، اما همواره این سیستم ها با تقاضای توان محاسباتی بیشتر از سوی کاربردهای جدید روبرو بوده اند. برای پاسخ گویی به چنین تقاضاهایی، استفاده از سیستم های چندپردازنده ای و چندکامپیوتری در سال های اخیر به شدت مورد توجه قرار گرفته است. هدف چنین سیستم هایی، تسهیل و تسریع در اجرای کاربردها از طریق مشارکت چندین پردازنده با یکدیگر است. بهره برداری بهینه از چنین سیستم هایی که سیستم های موازی نیز نامیده می شوند، با اجرای همزمان چندین برنامه در کنار یکدیگر امکان پذیر است. با این رویکرد، مسأله اختصاص پردازنده ها به برنامه هایی با نیازهای محاسباتی مختلف یا همان زمان بندی برنامه ها خود را بیش از پیش نمایان می سازد. روش های متفاوتی در سال های اخیر با اهداف کاهش زمان پاسخ برنامه ها، کاهش زمان انتظار برنامه ها در صف و بهبود کاهش سرعت ارائه شده است که از مهم ترین آنها می توان به انواع روش های backfilling اشاره کرد. اگرچه حدود یک دهه از ارائه روشهای backfilling می گذرد، اما این روش ها به دلیل پیچیدگی های کمتر نسبت به سایر روش ها و همچنین کارایی بسیار مناسب هنوز در تمامی زمان بندهای تجاری مورد استفاده قرار می گیرند. در روش زمان بندی backfilling، در صورت عدم امکان اجرای برنامه ی اول صف به علت کمبود پردازنده های کافی بی کار برای اجرای برنامه، به سایر برنامه های منتظر در صف اجازه ی اجرا داده می شود. البته اجرای خارج از نوبت سایر برنامه های منتظر در صف، منوط به عدم ایجاد تاخیر برای برنامه (یا برنامه های) اول صف است. این روش زمان بندی با پر کردن فضاهای خالی منجر به افزایش کارایی سیستم می شود. از دیگر روش های زمان بندی می توان به روش های شکل پذیر و انعطاف پذیر اشاره کرد که در آن اندازه ی دسته قابل تغیر است. قابلیت تغیر تعداد پردازنده های اختصاص داده شده به برنامه، زمان بند را قادر می سازد تا بر اساس شرایط کنونی، اندازه ی دسته را بگونه ای انتخاب کند که منجر به کمترین زمان پاسخ برای برنامه شود. در این پایان نامه ابتدا انواع روش های زمان بندی ارائه شده تاکنون مورد بررسی قرار می گیرند و معایب و مزایای آن ها بررسی می شود. سپس با توجه به مطالعات انجام شده، دو روش زمان بندی xfactorwithbackfilling و زمان بندی شکل پذیری مجازی معرفی می شوند. در روش زمان بندی xfactorwithbackfilling، برنامه های منتظر در صف بر اساس پارامتر xfactor مرتب می شوند و سپس از روش backfilling برای زمان بندی استفاده می شود. در روش زمان بندی شکل پذیری مجازی، در صورت عدم امکان اجرای برنامه ی اول صف به دلیل کمبود منابع کافی، شرط اجرای برنامه بصورت تاه شده بر روی ماشین های مجازی بررسی می شود. در صورت امکان اجرای برنامه بر روی ماشین های مجازی، از میزان فضاهای خالی ایجاد شده کاسته شده و این منجر به افزایش کارایی سیستم می شود. با توجه به اینکه عملکرد یک زمان بند وابسته به حجم کار ارسال شده به آن است، برای مقایسه ی روش های پیشنهادی و روش های زمان بندی ارائه شده تاکنون، از حجم کارهای حقیقی مربوط به مراکز ابررایانش بزرگ دنیا استفاده می شود. علاوه بر این، با مطالعات انجام گرفته بر روی این حجم کارها، حجم کار جدیدی با توزیع های بدست آمده از مطالعات ارائه می شود که در مقایسه ی زمان بندها مورد استفاده قرار می گیرد. با توجه به اینکه در روش زمان بندی شکل پذیری مجازی، بخشی از برنامه ها بر روی ماشین های مجازی اجرا می شوند، عملکرد ماشین های مجازی از نقطه نظر کارایی مورد بررسی قرار می گیرد. روش های زمان بندی ارائه شده از نقطه نظر زمان پاسخ، زمان انتظار و کاهش سرعت عملکرد بسیار بهتری نسبت به روش های زمان بندی قبلی داشته و کارایی سیستم را بطور قابل ملاحظه ای افزایش می دهند. علاوه بر این در روش شکل پذیری مجازی، بکارگیری فن مجازی سازی در زمان بندی قابلیت های مناسبی را به سیستم خوشه ای اضافه می کند.