به نام هستیبخش مهربان - ۴۳۶۰۴شبیهسازی کامپیوتری ترم دوم 4۰-4۴ دانشکده مهندسی کامپیوتر پروژه شماره 2 موعد تحویل 0۳ :تیر 4۴ در این پروژه شما باید سیستمی که در ادامه معرفی خواهد شد را به صورت رخداد گسسته شبیهسازی کنید و خروجیهای مورد نظر برای ارزیابی سیستم را بدست آورید. معرفی کلی سیستم سیستم مورد نظر یک محیط پردازش کار است که یک سرور پردازشی و دو سرور پیشپردازنده در آن وجود دارد .سرور پردازشی یک سیستم چند هستهای است که همه هستههایش با سرعت برابر کار میکنند .سرورهای پیشپردازنده تک هستهای هستند .در این محیط ،کارها با نرخ مشخصی از بیرون وارد سیستم میشوند و ابتدا به صف یکی از دو سرور پیشپردازنده میروند .کارها پس از دریافت یک سرویس پیشپردازشی به سرور پردازش اصلی منتقل میشوند .شکل 0نمونهای فرضی از چنین سیستمی را نشان میدهد که شامل یک سرور پردازشی سههستهای است. 𝜇1 𝜇 𝜆1 سرور پیشپردازنده 0 𝜇 𝜇 سرور پردازشی 𝜇2 سرور پیشپردازنده 2 شکل -1نمای کلی سیستم 𝜆2 سرورهای پیشپردازنده سرور پیشپردازنده 0یک سیستم M/M/1/K/∞/SJFاست .به این معنی که ظرفیت صف آن محدودی است و نظام صف آن هم «ابتدا رسیدگی به کوتاهترین کار و به صورت غیرقبضهای »0است .در صورتی که صف سرور شمارهی 0پر باشد ،کارهای ورودی به آن بلوکه میشوند .این سرور -اگر کاری موجود باشد -کاری که کوتاهترین زمان سرویس را دارد از صف ورودی خود بر میدارد و عملیات پیشپردازشی خاصی را بر روی آن انجام میدهد و آن را به آن سرور پردازشی میفرستد .اگر کاری با طول کوتاهتر از کاری که اکنون در حال سرویسگیری است ،وارد صف شود ،منتظر خالی شدن سرور میماند .به عبارت دیگر ،وقتی سرویسدهی به یک کار شروع میشود؛ آن کار تا پایان زمان سرویس خود ،سرور را ترک نمیکند .ظرفیت صف این سرور محدود و برابر با K=100است .ورود کارها به صف این سرور با نرخ 𝜆1 = 7کار در ثانیه و سرویس دهی با نرخ 𝜇1 = 6کار در ثانیه انجام میگیرد. سرور پیشپردازنده 2کندتر است ولی طول صف آن نامحدود است .به بیان رسمیتر ،یک سیستم ∞ M/M/1/است .نرخ ورود به صف این سرور برابر با 𝜆2 = 2کار در ثانیه است .این سرور -اگر کاری موجود باشد -کاری را از سر صف ورودی خود بر میدارد و عملیات پیشپردازشی خاصی را بر روی آن انجام میدهد و آن را به سرور پردازشی میفرستد .نرخ سرویس دهی هسته سرور پیشپردازنده شمارهی 2برابر با 𝜇2 = 3کار در ثانیه است. سرور پردازشی سرور پردازشی یک سیستم M/M/cاست که cبین ۴تا 02متغیر است .در صورتی که یک کار به صف سرور پردازشی وارد شود و سرور هستهی بیکار داشته باشد ،بالفاصله شروع به دریافت خدمت میکند .در غیر این صورت ،کار در صف آن سرور منتظر میماند. هر گاه یک هسته کاری را به پایان برساند؛ اگر کار دیگری سر صف منتظر باشد بالفاصله آن کار را بر میدارد و شروع به سرویس دهی به آن کار میکند .نرخ سرویس دهی هر یک از هستههای سرور پردازشی برابر با 𝜇 = 1.2کار در ثانیه است. خروجی برای تولید خروجیها ،شبیهسازی شما باید شامل 2فاز باشد .فاز اول که به آن warm upمیگویند به این هدف اجرا میشود که سیستم از حالت گذرا عبور کند و به حالت پایدار خود برسد .در طول این فاز ،سیستم به صورت معمول کار خواهد کرد ولی شما نباید آمارهای مورد نیاز برای محاسبه خروجیها را جمعآوری کنید .در پایان این فاز همه آمارها صفر هستند ولی تعدادی کار در صفها و هستهها حضور دارند .پس از پایان این فاز است که جمعآوری آمار شروع میشود .فاز اول زمانی تمام میشود که ۰۳۳۳کار سیستم را ترک کرده باشند. Non-Preemptive Shortest Job First discipline 0 در مورد خروجیها شما باید شبیهسازی را تا زمان رسیدن به بازه اطمینان 4۰درصد و دقت ۳۰۳۰ادامه دهید .دقت به صورت نسبت نصف بازه اطمینان ( )eبه اندازه میانگین تخمینی (̅𝑋) تعریف می شود و هرگاه این مقدار در مورد هر کدام از خروجیها از ۰صدم کمتر شد خروجی را گزارش کنید .توجه داشته باشد که مقدار 𝑛 و 𝜎 به ترتیب تعداد و انحراف معیار دادههای مرحله پایدار هستند. Pr(|𝑋̅ − 𝑠| ≤ 𝑒) = 𝑃0 𝑠 𝑋̅ − × 𝑛√ = ̅𝑌 𝜎 Pr(|𝑌̅| ≤ 1.96) = 0.95 𝜎1.96 ≤ |𝑠 Pr (|𝑋̅ − ) = 0.95 𝑛√ 𝜎1.96 = 𝑦𝑐𝑎𝑟𝑢𝑐𝑐𝐴 ̅𝑋𝑛√ ممکن است در مورد یک خروجی هرگز به این دقت نرسیم و یا نیازمند زمان زیادی باشیم .برای پرهیز از رخداد چنین حالتی یک حد باال برای تعداد کارهای خارج شده در نظر بگیرید و پس از رسیدن به این حد ،شبیهسازی را تمام کنید .این مقدار را برابر ۰ میلیون در نظر بگیرید. در پایان شبیهسازی از شما انتظار می رود که مقادیر زیر را به عنوان خروجی گزارش کنید .در هر یک از موارد ،دقت محاسبه خود را ذکر کنید. أ. احتمال آن که کار ورودی به سرور پیشپردازنده 0بلوکه شود را محاسبه کنید ( .)𝑃𝑏1 ب .برای هر یک از خروجیهای زیر ،یک نمودار بر حسب تعداد هستههای سرور پردازشی ( )cرسم کنید c .بین ۴تا 02میتواند متغیر باشد (محور افقی را cو محور عمودی را خروجی مورد نظر بگیرید). میکند2 ( 𝑙𝑎𝑡𝑜𝑡𝑇). - میانگین کل زمانی که یک کار از لحظه ورود به سیستم تا لحظه خروج از سرور پردازشی سپری - میانگین طول صف سرور پردازشی ( )𝐿𝑄3 - زمان انتظار کل سیستم که عبارت است از مدت زمانی که یک کار در صف سرور پردازشی و یکی از دو صف مربوط به سرورهای پیشپردازنده سپری میکند ( 𝑙𝑎𝑡𝑜𝑡𝑊). نکات پایانی تمام قسمتهای پروژه را باید خودتان پیادهسازی کنید و حق استفاده از برنامههای شبیهساز را ندارید .با هر زبان برنامه سازی که راحت هستید میتوانید کد بزنید. طراحی مناسب کد و خوانایی آن بخشی از نمره شما را تشکیل میدهد .شبیهسازی شما حتماً باید به صورت رخداد گسسته باشد. پروژه تحویل حضوری دارد و تسلط اعضای گروه بر همهی بخشهای کد الزامی است .ممکن است از شما خواسته شود در زمان تحویل بخشی از کد را عوض کنید. Turnaround Time 2 پروژه باید در گروه های دو نفره انجام گیرد .اگر در یافتن همگروهی دچار مشکل شدید ،حداکثر تا تاریخ 2۰خرداد ،به ایمیل [email protected]اطالع دهید. پروژههای خود را به آدرس ایمیل [email protected]ارسال نمایید. oدر عنوان ایمیل عبارت ] ce643-CA2-[#Student1-ID]-[#Student2_IDرا قرار دهید oتنها یک فایل .zip/.rarبا نام ] ce643-CA2-[#Student1-ID]-[#Student2_IDضمیمه نمایید. پروژه تحویل با تأخیر ندارد. موفق باشید
© Copyright 2026 Paperzz