دوره آموزش Multi Processing در پایتون

دوره آموزش Multi Processing در پایتون

پردازش چندگانه(multi processing) استفاده از دو یا چند واحد پردازش مرکزی (CPU) در یک سیستم رایانه ای است. این اصطلاح همچنین به توانایی سیستم برای پشتیبانی از بیش از یک پردازنده یا توانایی تخصیص وظایف بین آنها اشاره دارد. تغییرات زیادی در این موضوع اساسی وجود دارد و تعریف چند پردازش می تواند با توجه به زمینه متفاوت باشد، بیشتر به عنوان تابعی از نحوه تعریف CPU (چندین هسته در یک قالب ، چندین قالب در یک بسته ، چندین بسته در یک واحد سیستم و غیره) وجود دارد. در سطح سیستم عامل ، از چند پردازش گاهی اوقات برای اشاره به اجرای چندین فرآیند همزمان در یک سیستم استفاده می شود که هر فرآیند بر روی یک CPU یا هسته جداگانه اجرا می شود ، در حالی که در یک لحظه از یک پردازش منفرد است. هنگامی که با این تعریف استفاده می شود، پردازش چندگانه بعضاً با چند وظیفه‌ای(multi tasking) در تضاد است، که ممکن است فقط از یک پردازنده استفاده کند اما آن را در برش های زمانی بین وظایف (یعنی یک سیستم تقسیم زمان) تغییر دهد. پردازش چندگانه به معنای اجرای موازی واقعی چندین فرآیند با استفاده از بیش از یک پردازنده است. پردازش چندگانه لزوماً به این معنی نیست که یک فرایند یا کار واحد از بیش از یک پردازنده به طور همزمان استفاده می کند. اصطلاح پردازش موازی به طور کلی برای نشان دادن آن سناریو استفاده می شود. احتمالاً اولین بیان ایده چند پردازش توسط لوئیجی فدریکو منابره در سال 1842 ، در مورد موتور تحلیلی چارلز بابیج (به ترجمه آدا لاولاس) نوشته شده است: "ماشین را می توان طوری بازی کرد تا چندین نتیجه همزمان داشته باشد ، که مقدار کل فرآیندها را به شدت کاهش می دهد. "


1:13:05


0

intro

10:48

رایگان

1

process

8:7

رایگان

2

process attrs

6:46

رایگان

3

sub-process

5:30

رایگان

4

daemon

5:11

رایگان

5

terminate/exitCode

8:56

رایگان

6

queue

12:0

رایگان

7

ProcessPoolExecutor

4:37

رایگان

8

Lock

6:14

رایگان

9

pool

4:56

رایگان

ارسال نظر

تلاش میکنم سوالات شما را در کمتر از یک روز پاسخ بدم

علی

November 2021

ممنون از پاسخ شما
من با توجه به اینکه در تسک منیجر ویندوز 7 تصویر چهار مستطیل مشکی با گرید سبز رنگ در قسمت سی پی یو را نشان میدهد و همچنین در دیوایس منیجر هم تعداد سی پی یو ها را 4 تا نمایش میده ولی روی خود سی پی یو که کر آی فایو هست عبارت دو کر نوشته شده فکر میکردم بتوان همزمان 4 عمل مختلف انجام داد

ارسال نظر


علی

November 2021

سلام
سی پی یوی من 2 هسته فیزیکی و چهار هسته منطقی (logical) داره. من چند تا پروسس همزمان میتونم داشته باشم؟

ارسال نظر


امیرحسین بیگدلو

November 2021

سلام
ببینید این سوالتون از بیخ اشتباهه. از سوالتون این طور میشه برداشت کرد که فکر میکنید هسته فیزیکی و منطقی از هم جدا هستند، در حالی که اینطور نیست.
هسته های منطقی، تعداد هسته های فیزیکی ضربدر تعداد threadهایی هستند که می تونند روی هر هسته فیزیکی اجرا بشن. اگر کامپیوتری داشته باشم که یک پردازنده 2 هسته ای داره و در هر هسته دو ترد کار می کنه، پس من 4 هسته منطقی دارم. با اجرای دستور lscpu می تونید این رو ببینید.
حالا بیایید آروم بریم جلو.
من یه cpu دو هسته دارم. هر هسته فقط میتونه یک عملیات رو انجام بده. پس شما یک عملیات به ازای هر هسته دارید.
هر هسته میتونه دو ترد رو اجرا کنه(با استفاده از hyperThreading). پس cpu دو هسته‌ای چهار ترد داره.
الآن دو ترد دارن یک عملیات رو اجرا میکنن. ممکنه یک عملیاتت چندین پراسس داشته. در این حالت شما میتونید چهار پراسس رو در یک cpu دو هسته‌ای داشته باشید.
شما میتونید به تعداد هسته‌های فیزیکی، عملیات همزمان داشته باشید و به تعداد هسته‌های منطقی پراسس.
در این مثالی که زدم از عملیات منظورم برنامه‌ای مثل مرورگر فایرفاکس بود. از پراسس کارهایی مثل استریم فیلم، دانلود فایل و ... بودن که دارن همزمان روی فایرفاکس کار میکنن.
امیدوارم که خوب توضیح داده باشم.


امیرحسین بیگدلو

November 2021

راستی در این مثال من فرض رو بر این گرفتم که هر هسته شما میتونه دو ترد داشته باشه. این ممکنه بیشتر یا کمتر هم باشه.