PE-CA2.pdf

‫ارزیابی کارایی سیستمهای‬
‫کامپیوتری‬
‫دانشکدهی مهندسی کامپیوتر‬
‫نیمسال اول ‪9۴-9۵‬‬
‫تمرین دوم‬
‫مدرس‪ :‬دکتر موقر‬
‫موعد تحویل‪ ۱۷ :‬آبان‬
‫شبیهسازی‬
‫در این تمرین یک سیستم صف ‪ M/M/1/K‬را باید شبیهسازی کنید‪ .‬این سیستم شامل یک پردازنده با نرخ سرویسدهی 𝜇 و‬
‫یک صف با طول محدود 𝐾 که نرخ ورود مشتریها به آن بهکمک فرایند پواسون مشخص میشود و زمان سرویسدهی به هر مشتری‬
‫از یک توزیع نمایی پیروی میکند‪ .‬هر مشتری که وارد سیستم میشود فقط برای مدت زمان مشخصی میتواند منتظر بماند‪ ،‬این‬
‫مدت زمان را با متغیر تصادفی 𝜃 و میانگین ̅𝜃 نشان می دهیم‪ .‬هر مشتری پس از اتمام زمان انتظارش صف را ترک خواهد کرد‪.‬‬
‫همچنین در صورتی که صف پر باشد‪ ،‬مشتری جدید بالک شده و هرگز وارد سیستم نمیشود‪ .‬در این تمرین پردازنده از زمانبندی‬
‫)‪ Processor Sharing (PS‬که یک حالت ایدهآی برای زمانبندی ‪ Round Robin‬است استفاده میکند‪ .‬این به این معنیست‬
‫که پرازنده توان پردازشی خود را به صورت مساوی میان تمامی مشتریهای حاضر در صف تقسیم میکند‪ .‬به این ترتیب تمامی‬
‫مشتریهای حاضر در صف به محض ورود به صف سرویس گرفته و با نرخی برابر با دیگر مشتریها سرویسدهی میشود‪ .‬تابع توزیع‬
‫زمان انتظار (‪ )θ‬را در دو حالت ثابت و نمایی در نظر بگیرید‪ .‬برای حالت ثابت مقدار زمان انتظار برای همه مشتریها عددی ثابت و‬
‫برابر ̅𝜃 است و برای حالت نمایی‪ ،‬هر مشتری یک زمان انتظار تصادفی با توزیع نمایی و میانگین ̅𝜃 خواهد داشت‪ .‬همچنین از آنجایی‬
‫که موعد تا لحظهی شروع سرویسگیری بیمعنی است‪ ،‬موعد را تنها تا لحظهی خاتمهی سرویسگیری در نظر بگیرید‪.‬‬
‫با استفاده از روش شبیهسازی‪ ،‬نمودار احتمال خارج شدن ) 𝑑‪ (P‬و نمودار احتمال بلوکه شدن ( 𝑑‪ )P‬را نسبت به تغییرات نرخ ورودی‬
‫𝜆 (در بازه ]‪ [0.1-20‬با میزان پرش ‪ )0.1‬بدست آورید‪ .‬مقادیر پارامترهای مورد نیاز برای شبیهسازی در جدول زیر آمده است‪.‬‬
‫مقدار‬
‫‪1‬‬
‫تعداد پردازنده‬
‫‪1‬‬
‫تعداد صف‬
‫‪12‬‬
‫طول صف ( 𝐾)‬
‫‪1‬‬
‫نرخ سرویسدهی ( 𝜇)‬
‫ثابت و نمایی‬
‫‪2‬‬
‫توزیع زمان انتظار (𝜃)‬
‫میانگین زمان انتظار (̅𝜃)‬
‫نمایی‬
‫توزیع زمان سرویسدهی‬
‫پواسون‬
‫توزیع آمدن مشتریها‬
‫‪۷‬‬
‫پارامتر‬
‫تعداد مشتریها‬
‫‪۸‬‬
‫‪ ۱۰‬یا ‪۱۰‬‬
‫‪1‬‬
‫ارزیابی کارایی سیستمهای‬
‫کامپیوتری‬
‫دانشکدهی مهندسی کامپیوتر‬
‫نیمسال اول ‪9۴-9۵‬‬
‫مدرس‪ :‬دکتر موقر‬
‫موعد تحویل‪ ۱۷ :‬آبان‬
‫تمرین دوم‬
‫روش تحلیلی‬
‫احتمال اینکه ‪ n‬نفر درون صف ‪ M/M/1/K‬با موعد انتظار باشند‪:‬‬
‫𝑛𝜆‬
‫‪𝑛≥1‬‬
‫))𝑖(𝛾 ‪∏𝑛𝑖=1(𝜇 +‬‬
‫‪𝑃𝑛 = 𝑃0‬‬
‫که مقدار تابع )𝑛(𝛾 با توجه به توزیع زمان انتظار بهدست میآید‪ .‬برای حالت موعد دارای توزیع نمایی‪:‬‬
‫𝑛‬
‫‪,‬‬
‫̅𝜃{ = )𝑛(𝛾‬
‫‪0,‬‬
‫‪𝑛>0‬‬
‫‪𝑛=0‬‬
‫برای حالت موعد ثابت‪:‬‬
‫‪𝑛>0‬‬
‫‪,‬‬
‫‪𝑛=0‬‬
‫‪0,‬‬
‫𝜇‬
‫̅‬
‫𝜃𝜇 𝑒{ = )𝑛(𝛾‬
‫‪𝑛 −1‬‬
‫اگر طول صف برابر 𝑘 باشد‪:‬‬
‫𝑘‬
‫‪∑ 𝑃𝑖 = 1‬‬
‫‪𝑖=0‬‬
‫بنابراین مقدار ‪ 𝑃0‬قابل محاسبه است‪:‬‬
‫‪−1‬‬
‫)‬
‫𝑘‬
‫𝑖𝜆‬
‫))𝑗(𝛾 ‪∏𝑖𝑗=1(𝜇 +‬‬
‫∑ ‪𝑃0 = (1 +‬‬
‫‪𝑖=1‬‬
‫حال از روابط زیر برای محاسبه مقادیر ‪ Pb‬و 𝑑𝑃 استفاده کنید‪:‬‬
‫𝑘𝑃 = 𝑏𝑃‬
‫‪μ‬‬
‫‪μ‬‬
‫) ‪Pd + Pb = 1 − λ (∑ki=1 Pi ) = 1 − λ (1 − P0‬‬
‫‪2‬‬
‫ارزیابی کارایی سیستمهای‬
‫کامپیوتری‬
‫دانشکدهی مهندسی کامپیوتر‬
‫نیمسال اول ‪9۴-9۵‬‬
‫تمرین دوم‬
‫مدرس‪ :‬دکتر موقر‬
‫موعد تحویل‪ ۱۷ :‬آبان‬
‫نکات‬
‫‪‬‬
‫در این تمرین هیچ مشتریای منتظر شروع دریافت سرویس نمیباشد‪ .‬در واقع طول صف در این تمرین نشاندهندهی‬
‫تعداد افراد حاضر در سیستم (که همه در حال سرویسگرفتن هستند) میباشد‪.‬‬
‫‪‬‬
‫نرخ سرویسدهی ثابت و برابر ‪ 1‬است‪ .‬اما زمان سرویسدهی هر مشتری از توزیع نمایی پیروی میکند‪ .‬برای پیادهسازی‬
‫بهتر است برای هر مشتری یک کار با مقدار تصادفی و توزیع نمایی و میانگین ‪ 1‬تولید کنید‪ .‬به این ترتیب زمان سرویس‬
‫دهی هر مشتری توزیع نمایی خواهد داشت‪.‬‬
‫‪‬‬
‫دقت کنید لزوماً کل کار یک مشتری با یک نرخ ثابت انجام نمیشود‪ .‬مثال ممکن بخشی از کار یک مشتری با نرخ ‪ 𝜇1‬و به‬
‫علت ورود مشتری جدید به سیستم یا خروج یک مشتری از سیستم‪ ،‬بخش دیگری از آن با نرخ ‪ 𝜇2‬انجام شود‪.‬‬
‫‪‬‬
‫برای بدست آوردن یک عدد تصادفی با توزیع نمایی و میانگین 𝑚 میتوان از رابطه زیر کمک گرفت‪ .‬در این رابطه 𝑥 یک‬
‫عدد تصادفی با توزیع یکنواخت (‪ )Uniform‬در بازه )‪ [0,1‬میباشد‪.‬‬
‫)𝑥 ‪ln(1 −‬‬
‫𝑚‬
‫‪‬‬
‫‪𝑦= −‬‬
‫برای هر مشتری سرانجام یکی از سه وضعیت سرویسگرفتن‪ ،‬بالک شدن (وقتی صف پر است) و ترک صف (زمان رسیدن‬
‫موعد) اتفاق خواهد افتاد‪.‬‬
‫‪‬‬
‫ورود مشتری ها به سیستم یک فرایند پواسون است‪ .‬یعنی زمان بین دو آمدن متوالی مشتری به سیستم‪ ،‬مستقل و طبق‬
‫یک توزیع نمایی است‪.‬‬
‫‪‬‬
‫شبیهسازی میتواند با استفاده از هر زبان برنامهنویسی انجام شود‪.‬‬
‫‪‬‬
‫در صورت وجود ابهام‪ ،‬سواالت خود را به ‪ [email protected]‬ارسال کنید‪.‬‬
‫‪‬‬
‫پروژههای خود را در نهایت به آدرس ایمیل ‪ [email protected]‬ارسال نمایید‪.‬‬
‫‪‬‬
‫‪o‬‬
‫در عنوان ایمیل عبارت ]‪ PE-CA2-[ID]-[Name‬را قرار دهید‬
‫‪o‬‬
‫تنها یک فایل ‪ .zip/.rar‬با نام ]‪ PE-CA2-[ID]-[Name‬ضمیمه نمایید‬
‫پروژههای ارسالی باید شامل کد استفاده شده‪ ،‬نتایج گرفته شده درحالت شبیهسازی و تحلیلی در قالب فایل ‪ Excel‬و‬
‫گزارش کار باشد‪ .‬گزارش کار باید شامل توضیح روش پیادهسازی‪ ،‬فرضیات استفادهشده بههمراه ‪ ۴‬نمودار و تحلیل هر کدام‬
‫باشد‪ .‬دو نمودار برای موعد ثابت و دو نمودار برای موعد نمایی که هر کدام شامل نتایج 𝑏𝑃 و 𝑑𝑃 باشند‪ .‬هر کدام از نمودارها‬
‫شامل دو منحنی است که مقدار احتماالت بهدست آمده از روش شبیهسازی و تحلیلی را بهازای نرخ ورودی داده شده در‬
‫مسأله را نشان میدهد‪.‬‬
‫‪‬‬
‫حداکثر تأخیر مجاز ‪ 7‬روز و به ازای هر روز دیرکرد ‪ 10‬درصد از نمرهی پروژه کسر میگردد‪.‬‬
‫‪3‬‬