Skip to main content
SUPERVISOR
MasoudReza Hashemi
مسعودرضا هاشمی (استاد راهنما)
 
STUDENT
Mohammad Mohammadi
محمد محمدی

FACULTY - DEPARTMENT

دانشکده مهندسی برق و کامپیوتر
DEGREE
Master of Science (MSc)
YEAR
1387
The performance of computer systems has rapidly grown in the recent years, Although they have always faced ever-increasing demand for more computational power by new applications. In order for responding to such requisition, multiprocessor and multicomputer systems have received considerable attention. Executing the applications easily and quickly is the primary goal of these systems to fulfill. Effectively utilizing such systems, which are called parallel systems, is accomplished by simultaneous executing of different jobs or applications. At the approach of fully utilization, allocating processors to jobs with dissimilar computational requirements or job scheduling problem shows itself more than ever. Different strategies such as Backfilling algorithms with the aims of reducing waiting time, response time and slowdown have been proposed in the recent years. Despite the fact that almost a decade has elapsed since introducing the original EASY Backfilling algorithm, the scheme is extensively employed in today’s production systems due to its low complexity and impressive performance. In the Backfilling algorithm, in the case when the first queued job cannot be executed on account of insufficient idle processors, other waiting jobs are given the chance of execution out of order. Nevertheless, the facility is only granted to those jobs which do not postpone the execution of first queued job. By reducing the gaps, the approach can lead to improving the performance of the system. There are also other job scheduling algorithms such as Moldability and Malleability in which the partition size can be altered while launching the job or during the runtime. The capability of changing partition size empowers the scheduler to decide on the partition size based on current conditions so that it results in the minimum response time. In this thesis, different scheduling methods are presented and evaluated. According to the studies, two new scheduling algorithm herein named XFactorWithBackfilling and Virtual Moldability are then proposed. In XFactorWithBackfilling, queued jobs are sorted based on the Xfactor parameter. Then the backfilling strategy is employed to schedule the jobs. In Virtual Moldability, folded execution of the job on virtual machines is investigated in the case when the first queued job cannot be executed on account of insufficient idle processors. This leads to increasing the overall performance of the system. It is well-known that the performance of a scheduling solution is influenced by the workload submitted to the system. Realistic workloads are thus crucial to establish how well scheduling solutions perform in practice. Therefore in order to evaluate how proposed algorithms are going to be Keywords: Multiprocessors systems, Backfilling, XFactorWithBackfilling, Virtual Moldability, Virtualization.
اگرچه کارایی سیستم‌های کامپیوتری در سال‌های اخیر رشد فزاینده‌ای داشته است، اما همواره این سیستم‌ها با تقاضای توان محاسباتی بیشتر از سوی کاربردهای جدید روبرو بوده‌اند. برای پاسخ‌گویی به چنین تقاضاهایی، استفاده از سیستم‌های چندپردازنده‌ای و چندکامپیوتری در سال‌های اخیر به شدت مورد توجه قرار گرفته است. هدف چنین سیستم‌هایی، تسهیل و تسریع در اجرای کاربردها از طریق مشارکت چندین پردازنده با یکدیگر است. بهره‌برداری بهینه از چنین سیستم‌هایی که سیستم‌های موازی نیز نامیده می‌شوند، با اجرای همزمان چندین برنامه در کنار یکدیگر امکان‌پذیر است. با این رویکرد، مسأله اختصاص پردازنده‌ها به برنامه‌هایی با نیازهای محاسباتی مختلف یا همان زمان‌بندی برنامه‌ها خود را بیش از پیش نمایان می‌سازد. روش‌های متفاوتی در سال‌های اخیر با اهداف کاهش زمان پاسخ برنامه‌ها، کاهش زمان انتظار برنامه‌ها در صف و بهبود کاهش سرعت ارائه شده است که از مهم‌ترین آنها می‌توان به انواع روش‌های Backfilling اشاره کرد. اگرچه حدود یک دهه از ارائه روشهای Backfilling می‌گذرد، اما این روش‌ها به دلیل پیچیدگی‌های کمتر نسبت به سایر روش‌ها و همچنین کارایی بسیار مناسب هنوز در تمامی زمان‌بندهای تجاری مورد استفاده قرار می‌گیرند. در روش زمان‌بندی Backfilling، در صورت عدم امکان اجرای برنامه‌ی اول صف به علت کمبود پردازنده‌های کافی بی‌کار برای اجرای برنامه، به سایر برنامه‌های منتظر در صف اجازه‌ی اجرا داده می‌شود. البته اجرای خارج از نوبت سایر برنامه‌های منتظر در صف، منوط به عدم ایجاد تاخیر برای برنامه (یا برنامه‌های) اول صف است. این روش زمان‌بندی با پر کردن فضاهای خالی منجر به افزایش کارایی سیستم می‌شود. از دیگر روش‌های زمان‌بندی می‌توان به روش‌های شکل‌پذیر و انعطاف‌پذیر اشاره کرد که در آن اندازه‌ی دسته قابل تغیر است. قابلیت تغیر تعداد پردازنده‌های اختصاص داده شده به برنامه، زمان‌بند را قادر می‌سازد تا بر اساس شرایط کنونی، اندازه‌ی دسته را بگونه‌ای انتخاب کند که منجر به کمترین زمان‌پاسخ برای برنامه شود. در این پایان‌نامه ابتدا انواع روش‌های زمان‌بندی ارائه شده تاکنون مورد بررسی قرار می‌گیرند و معایب و مزایای آن‌ها بررسی می‌شود. سپس با توجه به مطالعات انجام شده، دو روش زمان‌بندی XFactorWithBackfilling و زمان‌بندی شکل‌پذیری مجازی معرفی می‌شوند. در روش زمان‌بندی XFactorWithBackfilling، برنامه‌های منتظر در صف بر اساس پارامتر XFactor مرتب می‌شوند و سپس از روش Backfilling برای زمان‌بندی استفاده می‌شود. در روش زمان‌بندی شکل‌پذیری مجازی، در صورت عدم امکان اجرای برنامه‌ی اول صف به دلیل کمبود منابع کافی، شرط اجرای برنامه بصورت تاه‌شده بر روی ماشین‌های مجازی بررسی می‌شود. در صورت امکان اجرای برنامه بر روی ماشین‌های مجازی، از میزان فضاهای خالی ایجاد شده کاسته شده و این منجر به افزایش کارایی سیستم می‌شود. با توجه به اینکه عملکرد یک زمان‌بند وابسته به حجم‌کار ارسال شده به آن است، برای مقایسه‌ی روش‌های پیشنهادی و روش‌های زمان‌بندی ارائه شده تاکنون، از حجم‌کارهای حقیقی مربوط به مراکز ابررایانش بزرگ دنیا استفاده می‌شود. علاوه بر این، با مطالعات انجام گرفته بر روی این حجم‌کارها، حجم‌کار جدیدی با توزیع‌های بدست آمده از مطالعات ارائه می‌شود که در مقایسه‌ی زمان‌بندها مورد استفاده کلمات کلیدی: سیستم‌های چندپردازنده‌ای، Backfilling، XFactorWithBackfilling، شکل‌پذیری مجازی، فن مجازی‌سازی

ارتقاء امنیت وب با وف بومی