۰
subtitle
ارسال: #۱
  
سوال از بخش حریصانه (موضوع اجرای کارها در پردازنده ها)
دوستان ممنون میشم این سوال توضیح کامل بدین
پیشاپیش ممنونم
nکار که زمان لازم برای پردازش انها به ترتیب p1,p2,... را میخواهیم با استفاده از m پردازنده کاملا مساوی اجرا کنیم. برای این منظور ابتدا کارهایی که هر پردازنده قرار است اجرا کند با سیاست خاصی مشخص میکنیم.بدیهی است زمان اتمام کارهای یک پردازنده جمع زمان های پردازش کارهایی هست که به ان پردازنده تخصیص داده شده است .سیاست تخصیص نیز بدین گونه هست که کارها را به ترتیب صعودی شمارهشان انتخاب میکنیم و هر کار را به پردازنده ای تخصیص میدهیم که همه ی کارهای تخصیص داده شده به ان پردازنده تا این لحظه نسبت به سایر پردازنده ها در زمان زودتری تمام شوند.
اگر تعریف کنیم s=سیگما pi ها
حداکثر زمان اتمام همه کارها در بدترین حالت چقدر است؟
s/m
s/m-pn
s/m+pn
s-pn/m+pn
پیشاپیش ممنونم
nکار که زمان لازم برای پردازش انها به ترتیب p1,p2,... را میخواهیم با استفاده از m پردازنده کاملا مساوی اجرا کنیم. برای این منظور ابتدا کارهایی که هر پردازنده قرار است اجرا کند با سیاست خاصی مشخص میکنیم.بدیهی است زمان اتمام کارهای یک پردازنده جمع زمان های پردازش کارهایی هست که به ان پردازنده تخصیص داده شده است .سیاست تخصیص نیز بدین گونه هست که کارها را به ترتیب صعودی شمارهشان انتخاب میکنیم و هر کار را به پردازنده ای تخصیص میدهیم که همه ی کارهای تخصیص داده شده به ان پردازنده تا این لحظه نسبت به سایر پردازنده ها در زمان زودتری تمام شوند.
اگر تعریف کنیم s=سیگما pi ها
حداکثر زمان اتمام همه کارها در بدترین حالت چقدر است؟
s/m
s/m-pn
s/m+pn
s-pn/m+pn
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]
این بدترین حالت ممکن است.
برای این سوال باید ابتدا اثبات کنیم که [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]
این بدترین حالت ممکن است.
ارسال: #۴
  
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] آخرین کاری نیست که تموم میشه.
ارسال: #۵
  
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] آخرین کاری نیست که تموم میشه.
گفته شده که صعودی هستند!ایشون ننوشتن . . .
۱
ارسال: #۶
  
RE: سوال از بخش حریصانه (موضوع اجرای کارها در پردازنده ها)
(۰۱ دى ۱۳۹۵ ۰۲:۵۲ ب.ظ)همیلا نوشته شده توسط: دوستان ممنون میشم این سوال توضیح کامل بدین
پیشاپیش ممنونم
nکار که زمان لازم برای پردازش انها به ترتیب p1,p2,... را میخواهیم با استفاده از m پردازنده کاملا مساوی اجرا کنیم. برای این منظور ابتدا کارهایی که هر پردازنده قرار است اجرا کند با سیاست خاصی مشخص میکنیم.بدیهی است زمان اتمام کارهای یک پردازنده جمع زمان های پردازش کارهایی هست که به ان پردازنده تخصیص داده شده است .سیاست تخصیص نیز بدین گونه هست که کارها را به ترتیب صعودی شمارهشان انتخاب میکنیم و هر کار را به پردازنده ای تخصیص میدهیم که همه ی کارهای تخصیص داده شده به ان پردازنده تا این لحظه نسبت به سایر پردازنده ها در زمان زودتری تمام شوند.
اگر تعریف کنیم s=سیگما pi ها
حداکثر زمان اتمام همه کارها در بدترین حالت چقدر است؟
s/m
s/m-pn
s/m+pn
s-pn/m+pn
علاوه بر روش فوق، میشه با یکی دو مثال عددی خیلی ساده هم به جواب رسید.
ضمنا گزینهی ۱ و ۲ تابلو جواب نیستند. چون وقتی میانگین میگیریم ([tex]\frac{S}{m}[/tex] یعنی)، یه سری پردازندهها هستند که کارهای داده شده بهشون از میانگین بیشتر خواهد بود، ولی ۱ که خودش میانگین هست، ۲ هم از میانگین کمتر!
مثلا فرض کنید زمان اجرای کارها به ترتیب ۱ و ۲ و ۳ ثانیه هست و ۳ تا پردازنده هم داریم. میانگین ۲ ثانیه هست ولی مشخصاً ۳ ثانیه طول میکشه تموم بشه. گزینهی یک میشه ۲، گزینهی دو میشه منفی یک!!
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close