زمان کنونی: ۰۶ آذر ۱۴۰۳, ۱۱:۵۵ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

سوال از بخش حریصانه (موضوع اجرای کارها در پردازنده ها)

ارسال:
  

همیلا پرسیده:

سوال از بخش حریصانه (موضوع اجرای کارها در پردازنده ها)

دوستان ممنون میشم این سوال توضیح کامل بدین
پیشاپیش ممنونم
nکار که زمان لازم برای پردازش انها به ترتیب p1,p2,... را میخواهیم با استفاده از m پردازنده کاملا مساوی اجرا کنیم. برای این منظور ابتدا کارهایی که هر پردازنده قرار است اجرا کند با سیاست خاصی مشخص میکنیم.بدیهی است زمان اتمام کارهای یک پردازنده جمع زمان های پردازش کارهایی هست که به ان پردازنده تخصیص داده شده است .سیاست تخصیص نیز بدین گونه هست که کارها را به ترتیب صعودی شمارهشان انتخاب میکنیم و هر کار را به پردازنده ای تخصیص میدهیم که همه ی کارهای تخصیص داده شده به ان پردازنده تا این لحظه نسبت به سایر پردازنده ها در زمان زودتری تمام شوند.
اگر تعریف کنیم s=سیگما pi ها
حداکثر زمان اتمام همه کارها در بدترین حالت چقدر است؟
s/m
s/m-pn
s/m+pn
s-pn/m+pn
Saman، در تاریخ ۰۲ دى ۱۳۹۵ ۱۱:۴۲ ب.ظ برای این مطلب یک پانوشت گذاشته است:

خواهش میکنم بار بعدی سر فصل سوال و حتی فصل مربوطه را بنویسید که من هر بار اصلاح نکنم. بعدا برای سرچ کردن خودتون هم راحت تر میشه.با سپاس از شما کاربر بزرگوار

نقل قول این ارسال در یک پاسخ

۲
ارسال:
  

Saman پاسخ داده:

RE: کمک فوری

سلام

برای این سوال باید ابتدا اثبات کنیم که [tex]p_n[/tex] آخرین کاری است که انجام میشود.(یعنی تا آخرین لحظه این کار انجام میشود)
درخواست مجدد دهید اثباتش را هم میگذارم.(شما بی اثبات قبول کنید که [tex]p_n[/tex] تا آخرین لحظه ادامه دارد و با توجه به فرضیات مساله نیز تا حدی بدیهی مینماید)
حال بیایید کار [tex]p_n[/tex] را کنار بگذاریم.

کار های باقی مانده از [tex]p_{1\: }[/tex] تا [tex]p_{n-1\: }[/tex] را با m پردازنده انجام دهیم.
اینجا را دقت کنید که تمام کار ها داخل پردازنده ها مشغول انجام شدن هستند و با توجه به آنچه که از درس سیستم عامل میدانیم ما هیچ تخمینی از زمان انجام هر کار نداریم.
به محض آزاد شدن اولین پردازنده از قید یکی از کار های [tex]p_{1\: }[/tex] تا [tex]p_{n-1\: }[/tex] کــــار [tex]p_n[/tex] را که کنار گذاشته بودیم به آن میگماریم.
طبق فرض مساله مجموع انجام کل کارها را [tex]s=\sum^n_{i=1}p_i[/tex] را فرض کرده است. داریم :

بدترین حالت زمانی رخ میدهد که تمام پردازنده ها کارشان با هم انجام شود، چرا بدترین حالت؟ چون در واقع تا آخرین لحظه تمام پردازنده ها درگیر بوده اند.

داریم : [tex]Time=\frac{s=\sum^n_{i=1}p_i-p_n}{m}=\frac{s-p_n}{m}[/tex] (دقت کنید این زمان انجام سیگما منهای آخرین کار است)
و در نهایت داریم :
[tex]\frac{s-p_n}{m}+p_n[/tex]

این بدترین حالت ممکن است.
نقل قول این ارسال در یک پاسخ

ارسال:
  

همیلا پاسخ داده:

RE: سوال از بخش حریصانه (موضوع اجرای کارها در پردازنده ها)

(۰۲ دى ۱۳۹۵ ۱۱:۳۵ ب.ظ)samanbeigmiri نوشته شده توسط:  سلام

برای این سوال باید ابتدا اثبات کنیم که [tex]p_n[/tex] آخرین کاری است که انجام میشود.(یعنی تا آخرین لحظه این کار انجام میشود)
درخواست مجدد دهید اثباتش را هم میگذارم.(شما بی اثبات قبول کنید که [tex]p_n[/tex] تا آخرین لحظه ادامه دارد و با توجه به فرضیات مساله نیز تا حدی بدیهی مینماید)
حال بیایید کار [tex]p_n[/tex] را کنار بگذاریم.

کار های باقی مانده از [tex]p_{1\: }[/tex] تا [tex]p_{n-1\: }[/tex] را با m پردازنده انجام دهیم.
اینجا را دقت کنید که تمام کار ها داخل پردازنده ها مشغول انجام میشوند و با توجه به آنچه که از درس سیستم عامل میدانیم ما هیچ تخمینی از زمان انجام هر کار نداریم.
به محض آزاد شدن اولین پردازنده از قید یکی از کار های [tex]p_{1\: }[/tex] تا [tex]p_{n-1\: }[/tex] کــــار [tex]p_n[/tex] را که کنار گذاشته بودیم به آن میگماریم.
طبق فرض مساله مجموع انجام کل کارها را [tex]s=\sum^n_{i=1}p_i[/tex] را فرض کرده است. داریم :

بدترین حالت زمانی رخ میدهد که تمام پردازنده ها کارشان با هم انجام شود، چرا بدترین حالت؟ چون در واقع تا آخرین لحظه تمام پردازنده ها درگیر بوده اند.

داریم : [tex]Time=\frac{s=\sum^n_{i=1}p_i-p_n}{m}=\frac{s-p_n}{m}[/tex] (دقت کنید این زمان انجام سیگما منهای آخرین کار است)
و در نهایت داریم :
[tex]\frac{s-p_n}{m}+p_n[/tex]

این بدترین حالت ممکن است.
ممنون
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

Pure Liveliness پاسخ داده:

RE: سوال از بخش حریصانه (موضوع اجرای کارها در پردازنده ها)

(۰۲ دى ۱۳۹۵ ۱۱:۳۵ ب.ظ)samanbeigmiri نوشته شده توسط:  سلام

برای این سوال باید ابتدا اثبات کنیم که [tex]p_n[/tex] آخرین کاری است که انجام میشود.(یعنی تا آخرین لحظه این کار انجام میشود)
درخواست مجدد دهید اثباتش را هم میگذارم.(شما بی اثبات قبول کنید که [tex]p_n[/tex] تا آخرین لحظه ادامه دارد و با توجه به فرضیات مساله نیز تا حدی بدیهی مینماید)
حال بیایید کار [tex]p_n[/tex] را کنار بگذاریم.

کار های باقی مانده از [tex]p_{1\: }[/tex] تا [tex]p_{n-1\: }[/tex] را با m پردازنده انجام دهیم.
اینجا را دقت کنید که تمام کار ها داخل پردازنده ها مشغول انجام شدن هستند و با توجه به آنچه که از درس سیستم عامل میدانیم ما هیچ تخمینی از زمان انجام هر کار نداریم.
به محض آزاد شدن اولین پردازنده از قید یکی از کار های [tex]p_{1\: }[/tex] تا [tex]p_{n-1\: }[/tex] کــــار [tex]p_n[/tex] را که کنار گذاشته بودیم به آن میگماریم.
طبق فرض مساله مجموع انجام کل کارها را [tex]s=\sum^n_{i=1}p_i[/tex] را فرض کرده است. داریم :

بدترین حالت زمانی رخ میدهد که تمام پردازنده ها کارشان با هم انجام شود، چرا بدترین حالت؟ چون در واقع تا آخرین لحظه تمام پردازنده ها درگیر بوده اند.

داریم : [tex]Time=\frac{s=\sum^n_{i=1}p_i-p_n}{m}=\frac{s-p_n}{m}[/tex] (دقت کنید این زمان انجام سیگما منهای آخرین کار است)
و در نهایت داریم :
[tex]\frac{s-p_n}{m}+p_n[/tex]

این بدترین حالت ممکن است.

از اونجایی که در صورت سؤال ظاهراً گفته نشده که [tex]P_i[/tex]ها صعودی هستند، به نظر میاد لزوماً [tex]P_n[/tex] آخرین کار نباشه که تموم میشه. فرض کنید مدت زمان انجام کارها به صورت [tex]1.25,1,2,0.5[/tex] هست و ۳ تا پردازنده داریم. اگر اشتباه نکنم، از اولی تا سومی به پردازنده‌ها اختصاص پیدا میکنه و نوبت به ۰/۵ که رسید، باید به پردازنده‌ی دوم که زودتر تموم میشه اختصاص پیدا کنه. در این صورت این کار در زمان ۱/۵ تموم میشه در حالی که کاری که مدت ۲ ثانیه طول میکشه، هنوز در حال انجام هست. پس [tex]P_n[/tex] آخرین کاری نیست که تموم میشه.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

Saman پاسخ داده:

RE: سوال از بخش حریصانه (موضوع اجرای کارها در پردازنده ها)

(۰۳ دى ۱۳۹۵ ۰۴:۰۴ ب.ظ)Pure Liveliness نوشته شده توسط:  
(02 دى ۱۳۹۵ ۱۱:۳۵ ب.ظ)samanbeigmiri نوشته شده توسط:  سلام

برای این سوال باید ابتدا اثبات کنیم که [tex]p_n[/tex] آخرین کاری است که انجام میشود.(یعنی تا آخرین لحظه این کار انجام میشود)
درخواست مجدد دهید اثباتش را هم میگذارم.(شما بی اثبات قبول کنید که [tex]p_n[/tex] تا آخرین لحظه ادامه دارد و با توجه به فرضیات مساله نیز تا حدی بدیهی مینماید)
حال بیایید کار [tex]p_n[/tex] را کنار بگذاریم.

کار های باقی مانده از [tex]p_{1\: }[/tex] تا [tex]p_{n-1\: }[/tex] را با m پردازنده انجام دهیم.
اینجا را دقت کنید که تمام کار ها داخل پردازنده ها مشغول انجام شدن هستند و با توجه به آنچه که از درس سیستم عامل میدانیم ما هیچ تخمینی از زمان انجام هر کار نداریم.
به محض آزاد شدن اولین پردازنده از قید یکی از کار های [tex]p_{1\: }[/tex] تا [tex]p_{n-1\: }[/tex] کــــار [tex]p_n[/tex] را که کنار گذاشته بودیم به آن میگماریم.
طبق فرض مساله مجموع انجام کل کارها را [tex]s=\sum^n_{i=1}p_i[/tex] را فرض کرده است. داریم :

بدترین حالت زمانی رخ میدهد که تمام پردازنده ها کارشان با هم انجام شود، چرا بدترین حالت؟ چون در واقع تا آخرین لحظه تمام پردازنده ها درگیر بوده اند.

داریم : [tex]Time=\frac{s=\sum^n_{i=1}p_i-p_n}{m}=\frac{s-p_n}{m}[/tex] (دقت کنید این زمان انجام سیگما منهای آخرین کار است)
و در نهایت داریم :
[tex]\frac{s-p_n}{m}+p_n[/tex]

این بدترین حالت ممکن است.

از اونجایی که در صورت سؤال ظاهراً گفته نشده که [tex]P_i[/tex]ها صعودی هستند، به نظر میاد لزوماً [tex]P_n[/tex] آخرین کار نباشه که تموم میشه. فرض کنید مدت زمان انجام کارها به صورت [tex]1.25,1,2,0.5[/tex] هست و ۳ تا پردازنده داریم. اگر اشتباه نکنم، از اولی تا سومی به پردازنده‌ها اختصاص پیدا میکنه و نوبت به ۰/۵ که رسید، باید به پردازنده‌ی دوم که زودتر تموم میشه اختصاص پیدا کنه. در این صورت این کار در زمان ۱/۵ تموم میشه در حالی که کاری که مدت ۲ ثانیه طول میکشه، هنوز در حال انجام هست. پس [tex]P_n[/tex] آخرین کاری نیست که تموم میشه.
سلام
گفته شده که صعودی هستند!ایشون ننوشتن . . .
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

Behnam‌ پاسخ داده:

RE: سوال از بخش حریصانه (موضوع اجرای کارها در پردازنده ها)

(۰۱ دى ۱۳۹۵ ۰۲:۵۲ ب.ظ)همیلا نوشته شده توسط:  دوستان ممنون میشم این سوال توضیح کامل بدین
پیشاپیش ممنونم
nکار که زمان لازم برای پردازش انها به ترتیب p1,p2,... را میخواهیم با استفاده از m پردازنده کاملا مساوی اجرا کنیم. برای این منظور ابتدا کارهایی که هر پردازنده قرار است اجرا کند با سیاست خاصی مشخص میکنیم.بدیهی است زمان اتمام کارهای یک پردازنده جمع زمان های پردازش کارهایی هست که به ان پردازنده تخصیص داده شده است .سیاست تخصیص نیز بدین گونه هست که کارها را به ترتیب صعودی شمارهشان انتخاب میکنیم و هر کار را به پردازنده ای تخصیص میدهیم که همه ی کارهای تخصیص داده شده به ان پردازنده تا این لحظه نسبت به سایر پردازنده ها در زمان زودتری تمام شوند.
اگر تعریف کنیم s=سیگما pi ها
حداکثر زمان اتمام همه کارها در بدترین حالت چقدر است؟
s/m
s/m-pn
s/m+pn
s-pn/m+pn

علاوه بر روش فوق، میشه با یکی دو مثال عددی خیلی ساده هم به جواب رسید.
ضمنا گزینه‌ی ۱ و ۲ تابلو جواب نیستند. چون وقتی میانگین میگیریم ([tex]\frac{S}{m}[/tex] یعنی)، یه سری پردازنده‌ها هستند که کارهای داده شده بهشون از میانگین بیشتر خواهد بود، ولی ۱ که خودش میانگین هست، ۲ هم از میانگین کمتر!
مثلا فرض کنید زمان اجرای کارها به ترتیب ۱ و ۲ و ۳ ثانیه هست و ۳ تا پردازنده هم داریم. میانگین ۲ ثانیه هست ولی مشخصاً ۳ ثانیه طول میکشه تموم بشه. گزینه‌ی یک میشه ۲، گزینه‌ی دو میشه منفی یک!!
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Rainbow درخواست موضوع پروژه برای درس شیوه ارائه Eternal ۳۲ ۵۲,۳۸۱ ۱۳ اسفند ۱۴۰۰ ۰۹:۲۹ ب.ظ
آخرین ارسال: Haniyeh2022
  انتخاب موضوع پروژه درباره سیستم عامل آیلا ۱۸ ۲۰,۱۶۹ ۱۳ دى ۱۴۰۰ ۰۵:۴۱ ب.ظ
آخرین ارسال: Cimia
  انتحاب موضوع پایان نامه ارشد mahtab1928 ۴ ۳,۶۳۱ ۲۶ مهر ۱۳۹۹ ۰۱:۵۳ ق.ظ
آخرین ارسال: Behnam‌
  چگونه این خطا را موقع اجرای sql server 2014 رفع کنم ؟ farahnaz ۲ ۳,۰۶۹ ۱۹ مهر ۱۳۹۹ ۰۲:۱۸ ق.ظ
آخرین ارسال: farahnaz
  مدیریت سیستم چند پردازنده ای متقارن no_ta2000 ۰ ۱,۷۲۷ ۰۹ مهر ۱۳۹۹ ۰۲:۲۱ ب.ظ
آخرین ارسال: no_ta2000
  پیدا کردن موضوع پایان نامه k1.technology ۲ ۸,۱۳۹ ۲۱ خرداد ۱۳۹۹ ۱۲:۵۴ ب.ظ
آخرین ارسال: bankabzar
  اجرای نرم افزار ویندوز در اندروید elecomco ۰ ۳,۰۷۳ ۰۴ خرداد ۱۳۹۹ ۰۸:۳۷ ب.ظ
آخرین ارسال: elecomco
  مصاحبه دکتری- بخش تدریس wskf ۱ ۲,۶۸۲ ۲۸ فروردین ۱۳۹۹ ۰۴:۳۰ ب.ظ
آخرین ارسال: Masoud05
  یادگیری برنامه نویسی تا اجرای پروژه های بزرگ The BesT ۳ ۳,۶۶۴ ۱۲ آذر ۱۳۹۸ ۰۳:۵۸ ب.ظ
آخرین ارسال: marvelous
  موضوع مقاله naghmeh70 ۱ ۲,۶۷۴ ۱۳ آبان ۱۳۹۸ ۰۳:۲۰ ب.ظ
آخرین ارسال: marvelous

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close