SlideShare a Scribd company logo
1 of 43
Download to read offline
Ch3: Principles of Parallel Algorithm Design
‫موازی‬ ‫های‬ ‫الگوریتم‬ ‫طراحی‬ ‫اصول‬
Hello!
I am Keivan Mahdavi
You can find me at @kvnmahdavi
‫مقدمه‬
•‫الگوریتم‬‫ای‬‫دنباله‬‫از‬‫گام‬‫های‬‫اساسی‬‫برای‬‫حل‬‫مسئله‬‫داده‬‫شده‬‫با‬
‫استفاده‬‫از‬‫کامپیوتر‬‫است‬.
•‫الگوریتم‬‫موازی‬‫دستورالعملی‬‫است‬‫که‬‫به‬‫ما‬‫گوید‬‫می‬‫چگونه‬‫ی‬‫ک‬
‫مسئله‬‫را‬‫با‬‫استفاده‬‫از‬‫چند‬‫پروسسور‬‫حل‬‫کنیم‬.
‫الگوریتم‬ ‫یک‬ ‫تعیین‬‫موازی‬
◇Identifying portions of the work that can be performed concurrently.
‫مرحله‬‫شود‬ ‫اجرا‬ ‫موازی‬ ‫طور‬ ‫به‬ ‫تواند‬ ‫می‬ ‫آیا‬ ‫که‬ ‫کار‬ ‫یک‬ ‫شناسایی‬.
◇Mapping the concurrent pieces of work onto multiple processes running in parallel.
‫نگاشت‬‫شوند‬ ‫می‬ ‫اجرا‬ ‫موازی‬ ‫طور‬ ‫به‬ ‫که‬ ‫پروسه‬ ‫چندین‬ ‫به‬ ‫کار‬ ‫یک‬ ‫موازی‬ ‫های‬ ‫قسمت‬.
◇Distributing the input, output, and intermediate data associated with the program.
‫برنامه‬ ‫با‬ ‫ارتباطشان‬ ‫و‬ ‫میانی‬ ،‫خروجی‬ ،‫ورودی‬ ‫های‬ ‫داده‬ ‫توزیع‬.
◇Managing accesses to data shared by multiple processors.
‫مدیریت‬‫داده‬ ‫به‬ ‫دسترسی‬،‫ها‬‫ش‬ ‫می‬ ‫استفاده‬ ‫اشتراکی‬ ‫طور‬ ‫به‬ ‫پردازنده‬ ‫چندین‬ ‫توسط‬ ‫که‬‫وند‬.
◇Synchronizing the processors at various stages of the parallel program execution.
‫هماهنگ‬‫موازی‬ ‫برنامه‬ ‫اجرای‬ ‫مختلف‬ ‫مراحل‬ ‫در‬ ‫ها‬ ‫پردازنده‬ ‫سازی‬.
‫های‬‫الگوریتم‬ ‫طراحی‬ ‫در‬ ‫کلیدی‬ ‫گام‬ ‫دو‬‫موازی‬
◇Dividing a computation into smaller computations
◇‫تقسیم‬‫کوچکتر‬ ‫محاسبات‬ ‫به‬ ‫محاسبه‬ ‫یک‬
◇Assigning them to different processors for parallel execution
◇‫مختلف‬ ‫های‬‫پردازنده‬ ‫به‬ ‫کوچک‬ ‫محاسبات‬ ‫تخصیص‬
“
◇‫تجزیه‬(Decomposition)
The process of dividing a computation into smaller parts, some
or all of which may potentially be executed in parallel
‫پروسه‬‫تقسیم‬‫محاسبات‬‫به‬‫بخشهای‬‫کوچکتر‬،‫بطوریکه‬‫همه‬‫آنها‬‫یا‬‫تع‬‫دادی‬‫از‬
‫آنها‬‫به‬‫طور‬‫کارآمد‬‫بصورت‬‫موازی‬‫اجرا‬‫شوند‬.
◇‫وظیفه‬(Task)
programmer-defined units of computation into which the main
computation is subdivided by means of decomposition
‫واحدهای‬‫محاسباتی‬‫که‬‫توسط‬‫تجزیه‬‫بدست‬‫آمده‬،‫اند‬‫بطوریکه‬‫هرکدام‬‫از‬‫ا‬‫ین‬
‫بخشها‬‫محاسبه‬‫ای‬‫را‬‫انجام‬‫می‬‫دهند‬‫و‬‫توسط‬‫برنامه‬‫نویس‬‫تعریف‬‫می‬‫شون‬‫د‬.
‫مثال‬1:‫ماتری‬ ‫ضرب‬ ‫مسئله‬ ‫تجزیه‬‫متراکم‬ ‫س‬‫بردار‬ ‫در‬
◇‫از‬‫حاصلضرب‬‫ماتریس‬𝑨 𝒏∗𝒏‫در‬‫بردار‬b‫بردار‬y‫حاصل‬‫شود‬‫می‬‫که‬‫های‬‫درایه‬‫آن‬‫از‬
‫مجموع‬‫حاصلضرب‬A[i,j]‫در‬b[i]‫به‬‫دست‬‫آید‬‫می‬:
𝒀 𝒊 =
𝒋=𝟏
𝒏
𝑨 𝒊, 𝒋 . 𝒃[𝒋]
◇‫محاسبه‬‫آیتم‬ ‫هر‬y[i]‫یک‬ ‫به‬ ‫تواند‬ ‫می‬Task‫شود‬ ‫واگذار‬.
“
◇ Task Dependency Graphs
An abstraction used to express such dependencies among
tasks and their relative order of execution
‫گرافی‬‫که‬‫وابستگی‬‫بین‬task‫ها‬‫و‬‫ترتیب‬‫اجرای‬‫نسبی‬‫آن‬‫ها‬‫را‬‫نشان‬‫دهد‬‫می‬.
‫درخت‬‫دار‬‫جهت‬‫و‬‫وزن‬‫دار‬
‫نودها‬‫نشان‬‫دهنده‬‫وظایف‬
‫ها‬‫یال‬‫ی‬‫نماینده‬‫وابستگی‬‫بین‬task‫ها‬
Task‫های‬‫متناظر‬‫یک‬node،‫زمانی‬‫می‬‫توانند‬‫اجرا‬‫شوند‬‫که‬‫همه‬
Task‫هایی‬‫که‬‫خروجی‬‫آن‬‫ها‬‫ورودی‬node‫جاری‬‫است‬‫به‬‫اتمام‬‫برسد‬.
‫وزن‬‫ها‬‫گره‬‫نشان‬‫دهنده‬‫حجم‬‫کار‬
‫وزن‬‫ها‬‫یال‬‫نشان‬‫دهنده‬‫حجم‬‫های‬‫داده‬‫تبادلی‬‫بین‬task‫ها‬
‫مثال‬2:‫پردازش‬Query‫داده‬ ‫پایگاه‬ ‫در‬
‫یک‬‫پایگ‬‫اه‬
‫داده‬‫رابطه‬
‫ای‬‫مربوط‬
‫به‬‫وسایل‬
‫نقلیه‬
Query:
Model= “Civic” AND YEAR=“2001” AND (COLOR=“Green” OR COLOR=“White”)
‫وابستگی‬ ‫گراف‬ ‫و‬ ‫میانی‬ ‫جداول‬ ‫رسم‬
‫وابستگی‬ ‫گراف‬ ‫و‬ ‫میانی‬ ‫جداول‬ ‫رسم‬
“
◇‫دانه‬‫بندی‬(Granularity)
The number and size of tasks into which a problem is
decomposed determines the granularity of the decomposition
‫تعداد‬‫و‬‫سایز‬Task‫تجزیه‬ ‫از‬ ‫حاصل‬ ‫ی‬ ‫ها‬
◇‫دانه‬ ‫درشت‬(Coarse-grained)
A decomposition into a small
number of large tasks
‫کمی‬ ‫تعداد‬ ‫به‬ ‫مسئله‬ ‫تجزیه‬task‫بزرگ‬.
◇‫ریزدانه‬(Fine-grained)
A decomposition into a large
number of small tasks
‫تجزیه‬‫زیادی‬ ‫تعداد‬ ‫به‬ ‫مسئله‬task‫کوچک‬.
“
◇‫مسیر‬‫بحرانی‬(critical path)
The longest directed path between any pair of start and finish
nodes
‫طوالنی‬‫گوییم‬ ‫را‬ ‫پایان‬ ‫نود‬ ‫و‬ ‫شروع‬ ‫نود‬ ‫بین‬ ‫دار‬ ‫جهت‬ ‫مسیر‬ ‫ترین‬.
○‫آغاز‬ ‫نود‬:‫بدون‬ ‫نودهای‬‫یال‬‫را‬ ‫ورودی‬‫گوییم‬.
○‫نود‬‫پایان‬:‫نودهای‬‫بدون‬‫یال‬‫گوییم‬ ‫را‬ ‫خروجی‬.
◇‫طول‬‫مسیر‬‫بحرانی‬(critical path length)
The sum of the weights of nodes along this path
‫می‬ ‫شناخته‬ ‫بحرانی‬ ‫مسیر‬ ‫طول‬ ‫عنوان‬ ‫به‬ ‫مسیر‬ ‫این‬ ‫در‬ ‫نودها‬ ‫وزن‬ ‫مجموع‬‫شو‬‫د‬
“
◇‫درجه‬‫همزمانی‬(Degree Of Concurrency)
‫به‬‫معنای‬‫تعداد‬task‫هایی‬‫است‬‫که‬‫به‬‫طور‬‫همزمان‬‫در‬‫یک‬‫برنامه‬‫موازی‬‫اجرا‬
‫می‬‫شوند‬.
◇Maximum degree of concurrency
‫ماکسیمم‬‫تعداد‬Task‫هایی‬‫که‬‫می‬‫توانند‬‫بصورت‬‫همزمان‬‫در‬‫یک‬‫برنامه‬،‫موازی‬
‫در‬‫هر‬‫زمان‬‫داده‬‫شده‬‫اجرا‬،‫شوند‬‫به‬‫عنوان‬‫باالترین‬‫درجه‬‫همزمانی‬‫شناخته‬‫می‬
‫شوند‬.
◇Average degree of concurrency
‫چون‬‫در‬‫هر‬،‫مرحله‬‫تعدادی‬‫از‬task‫ها‬‫با‬‫هم‬‫به‬‫صورت‬‫موازی‬‫اجرا‬‫می‬،‫شوند‬
‫باید‬‫برای‬‫کل‬‫کار‬‫میانگین‬‫گرفت‬.
‫فرمول‬:‫نسبت‬‫حجم‬‫کل‬‫کار‬‫به‬‫طول‬‫مسیر‬‫بحرانی‬
◇‫ماکسیمم‬‫همزمانی‬ ‫درجه‬=4
◇‫بحرانی‬ ‫مسیر‬ ‫طول‬=27
◇‫کار‬ ‫کل‬ ‫حجم‬=63
◇‫میانگین‬‫درجه‬‫همزمانی‬=2.33
◇‫ماکسیمم‬‫همزمانی‬ ‫درجه‬=4
◇‫بحرانی‬ ‫مسیر‬ ‫طول‬=34
◇‫کار‬ ‫کل‬ ‫حجم‬=64
◇‫میانگین‬‫همزمانی‬ ‫درجه‬=1.88
‫گراف‬‫تعامل‬‫وظیفه‬(Task Interaction Graph)
◇‫گرچه‬‫است‬ ‫و‬ ‫بندی‬ ‫دانه‬ ‫افزایش‬ ‫با‬ ‫را‬ ‫مسئله‬ ‫حل‬ ‫زمان‬ ‫توان‬ ‫می‬ ‫که‬ ‫برسد‬ ‫نظر‬ ‫به‬ ‫است‬ ‫ممکن‬‫از‬ ‫فاده‬
‫که‬ ‫ای‬ ‫گونه‬ ‫به‬ ‫همزمانی‬Task‫چنین‬ ‫عمل‬ ‫در‬ ‫اما‬ ‫داد‬ ‫کاهش‬ ،‫شوند‬ ‫اجرا‬ ‫موازی‬ ‫طور‬ ‫به‬ ‫بیشتری‬ ‫های‬
‫ندارد‬ ‫وجود‬ ‫حالتی‬.
‫معموال‬‫روی‬‫دانه‬‫بندی‬‫ریز‬‫مسئله‬‫محدودیت‬‫هایی‬‫وجود‬،‫دارد‬‫برای‬‫نمونه‬‫در‬‫مسئله‬‫ضرب‬
‫ماتریس‬‫در‬‫آرایه‬،‫تعداد‬𝑛2‫عمل‬‫ضرب‬‫و‬‫جمع‬‫وجود‬‫دارد‬‫و‬‫حتی‬‫با‬‫استفاده‬‫از‬‫تجزیه‬‫های‬
‫ریز‬‫دانه‬‫بیشتری‬‫مسئله‬‫نمی‬‫تواند‬‫به‬‫بیش‬‫از‬(𝑛2)Task ,O‫تجزیه‬‫شود‬.
‫حتی‬‫اگر‬‫شرایط‬‫دانه‬‫بندی‬‫و‬‫درجه‬‫همزمانی‬‫را‬‫بدون‬‫محدودیت‬‫در‬‫نظر‬،‫بگیریم‬‫فاکتو‬‫ر‬
‫عملی‬‫مهم‬‫دیگری‬‫وجود‬‫دارد‬‫که‬‫ما‬‫را‬‫محدود‬‫می‬‫نماید‬‫و‬‫این‬‫فاکتور‬‫تعامل‬
(Interaction)‫میان‬Task‫های‬‫در‬‫حال‬‫اجرا‬‫روی‬‫پروسسورهای‬‫فیزیکی‬‫مختلف‬‫می‬
‫باشد‬.
‫گراف‬‫تعامل‬‫وظیفه‬(Task Interaction Graph)
◇The pattern of interaction among tasks is captured by what is
known as a task-interaction graph.
◇‫ارتباط‬‫بین‬task‫هستند‬ ‫بایکدیگر‬ ‫تعامل‬ ‫در‬ ‫که‬ ‫هایی‬‫را‬‫دهد‬ ‫می‬ ‫نشان‬.
■‫کارها‬ ‫ارتباط‬:‫ورودی‬ ‫یکی‬ ‫خروجی‬‫دیگری‬
■‫گره‬:‫کار‬
■‫یال‬:‫کارهای‬ ‫اتصال‬‫مرتبط‬
■‫گره‬ ‫وزن‬:‫حجم‬‫کار‬
■‫یال‬ ‫وزن‬:‫ارتباط‬ ‫میزان‬
‫گراف‬‫ضرب‬ ‫تعامل‬‫ماتریس‬sparse‫بردار‬ ‫در‬
◇‫داریم‬ ‫زیر‬ ‫شکل‬ ‫در‬ ‫مثال‬ ‫برای‬:
Y[0]= A[0,0].b[0]+ A[0,1].b[1]+ A[0,4].b[4]+ A[0,8].b[8]
“
◇Task‫های‬‫حاصل‬‫از‬‫تجزیه‬‫مسئله‬،‫روی‬‫پروسسورهای‬‫فیزیکی‬‫اجرا‬
‫می‬‫شوند‬.
o‫اصطالح‬‫پروسس‬‫در‬‫مباحث‬‫الگوریتم‬،‫موازی‬‫یعنی‬‫عاملی‬‫که‬‫محاسبات‬
Task‫ها‬‫را‬‫انجام‬‫می‬‫دهد‬.
o‫برای‬‫اینکه‬‫سرعتی‬‫باالتر‬‫از‬‫اجرای‬‫ترتیبی‬‫داشته‬،‫باشیم‬‫یک‬‫برنامه‬
‫موازی‬‫باید‬‫چندین‬‫پروسس‬‫داشته‬‫باشد‬‫که‬‫بصورت‬‫همزمان‬‫فعال‬‫ب‬‫وده‬‫و‬
Task‫های‬‫مختلف‬‫را‬‫انجام‬‫دهند‬.
Processes and Mapping
“
◇Mapping(‫نگاشت‬):‫مکانیسمی‬‫که‬Task‫ها‬‫را‬‫برای‬‫اجرا‬‫به‬
‫پروسس‬‫ها‬‫تخصیص‬‫می‬‫دهد‬‫را‬‫گوییم‬.
The mechanism by which tasks are assigned to processes
for execution is called mapping
◇‫اهداف‬mapping:
1.‫همزمانی‬‫را‬‫افزایش‬‫دهد‬.
2.‫کل‬‫زمان‬‫اجرا‬‫را‬‫کاهش‬‫دهد‬.
3.‫کم‬‫کردن‬‫تعامل‬‫میان‬‫پروسه‬‫ها‬.
Processes and Mapping
‫تخصیص‬task‫به‬ ‫ها‬‫ها‬‫پروسس‬
“
Processes versus Processors
◇‫ها‬‫پروسس‬‫عامل‬‫محاسبات‬‫منطقی‬‫بوده‬‫که‬task‫ها‬‫را‬‫انجام‬‫دهند‬‫می‬.
◇‫پروسسورها‬‫واحدهای‬‫سخت‬‫افزاری‬‫هستند‬‫که‬‫به‬‫طور‬‫فیزیکی‬
‫محاسبات‬‫را‬‫انجام‬‫دهند‬‫می‬.
○‫یک‬‫تناظر‬‫یک‬‫به‬‫یک‬‫بین‬‫پروسس‬‫و‬‫پروسسور‬‫وجود‬‫دارد‬‫که‬‫بهت‬‫ر‬‫است‬
‫فرض‬‫کنیم‬‫تعداد‬CPU‫های‬‫فیزیکی‬‫در‬‫کامپیوترهای‬‫موازی‬‫به‬‫اندازه‬
‫تعداد‬‫ها‬‫پروسس‬‫است‬.
‫های‬ ‫تکنیک‬‫تجزیه‬
◇ Recursive
Decomposition
◇ Speculative
Decomposition
◇ Data
Decomposition
◇ Exploratory
Decomposition
Recursive Decomposition
(‫بازگشتی‬ ‫تجزیه‬)
‫این‬‫تکنیک‬‫برای‬‫مسائلی‬‫به‬‫کار‬‫میرودکه‬‫می‬‫توانند‬‫با‬‫استراتژی‬‫تقسیم‬‫وغلبه‬‫حل‬‫ش‬‫وند‬
‫در‬‫ابتدا‬‫مساله‬‫به‬‫تعدادی‬‫زیرمساله‬‫تقسیم‬‫می‬‫شود‬‫و‬‫سپس‬‫هرکدام‬‫از‬‫این‬‫زیرمساله‬‫ها‬‫ب‬‫ه‬‫بخش‬
‫های‬‫کوچکتر‬‫تقسیم‬‫شده‬‫و‬‫به‬‫صورت‬‫بازگشتی‬‫حل‬‫می‬‫شوند‬‫و‬‫در‬‫پایان‬‫نتایج‬‫بدست‬‫آمده‬‫با‬‫یکدیگر‬
‫ترکیب‬‫خواهند‬‫شد‬.
Quicksort
‫یک‬ ‫مینیمم‬ ‫کردن‬ ‫پیدا‬‫آرایه‬
◇ A serial program for finding the minimum in an array of numbers A of length n.
‫نمودار‬task-dependency‫برای‬‫آرایه‬ ‫در‬ ‫مینیمم‬ ‫عنصر‬ ‫کردن‬ ‫پیدا‬‫زیر‬::
{4,9,1,7,8,11,2,12}
‫یک‬ ‫مینیمم‬ ‫کردن‬ ‫پیدا‬‫آرایه‬
◇ A recursive program for finding the minimum in an array of numbers A of
length n.
Data Decomposition
‫روشی‬‫است‬،‫قدرتمند‬‫جهت‬‫اجرای‬‫همروندی‬‫در‬‫الگوریتم‬‫هایی‬‫که‬‫بر‬‫روی‬‫ساختارهای‬‫داده‬‫ای‬
‫بزرگ‬‫کار‬‫می‬‫کنند‬.‫از‬2‫گام‬‫تشکیل‬‫شده‬:
.i‫تقسیم‬‫و‬‫پارتیشن‬‫بندی‬‫داده‬‫ها‬‫یی‬‫که‬‫در‬‫محاسبات‬‫به‬‫کار‬‫می‬‫روند‬
.ii‫اختصاص‬‫هر‬‫بخش‬‫داده‬‫به‬‫یک‬task
‫روش‬‫های‬‫تجزیه‬‫اطالعات‬
1. Partitioning Output Data
2. Partitioning Input Data
3. Partitioning both Input and Output Data
4. Partitioning Intermediate Data
(‫اطالعات‬ ‫تجزیه‬)
Partitioning Output Data
◇‫برای‬‫یک‬‫سری‬‫از‬‫محاسبات‬‫عددی‬‫خروجی‬‫قابل‬‫حدس‬‫زدن‬‫است‬.‫بنابراین‬‫با‬‫توجه‬‫به‬‫شکل‬‫داده‬
‫های‬‫خروجی‬‫نقسیم‬‫بندی‬‫را‬‫به‬‫شکلی‬‫انجام‬‫می‬‫دهیم‬‫که‬‫خروجی‬‫ها‬‫به‬‫صورت‬‫موازی‬‫تولید‬‫گ‬‫ردند‬.
Matrix
multiplication
◇‫تجزیه‬‫بر‬‫مبنای‬‫داده‬‫متفاوت‬‫از‬‫تجزیه‬‫بر‬‫مبنای‬Task‫می‬،‫باشد‬‫اگر‬‫چه‬‫این‬‫دو‬‫با‬‫یکدیگر‬
‫در‬‫ارتباط‬‫اند‬.
◇‫می‬‫توان‬‫داده‬‫ها‬‫را‬‫به‬‫صورت‬‫یکسان‬‫تجزیه‬‫نمود‬‫ولی‬‫آنها‬‫را‬‫به‬‫تعداد‬Task‫های‬‫متفاوت‬‫و‬
‫یا‬‫داده‬‫های‬‫مختلف‬‫را‬‫به‬‫تعدادی‬‫یکسان‬‫از‬Task‫ها‬‫نسبت‬‫داد‬.
‫داد‬ ‫مجموعه‬ ‫یک‬ ‫در‬ ‫الگو‬ ‫سری‬ ‫یک‬ ‫تکرار‬ ‫تعداد‬ ‫محاسبه‬‫ه‬
Partitioning Input Data
◇‫تولید‬‫جواب‬‫محلی‬‫توسط‬‫هر‬task(‫و‬‫نه‬‫جواب‬‫کلی‬‫مسئله‬)‫و‬‫سپس‬‫ترکیب‬‫همه‬‫های‬‫جواب‬
‫محلی‬‫برای‬‫رسیدن‬‫به‬‫جواب‬‫کلی‬.
‫داد‬ ‫مجموعه‬ ‫یک‬ ‫در‬ ‫الگو‬ ‫سری‬ ‫یک‬ ‫تکرار‬ ‫تعداد‬ ‫محاسبه‬‫ه‬
Partitioning both Input and
Output Data
◇‫چنانچه‬‫امکان‬‫تقسیم‬‫داده‬‫های‬‫خروجی‬‫به‬‫صورت‬‫مستقل‬‫وجود‬‫داشته‬،‫باشد‬‫داده‬‫های‬‫ورودی‬
‫هم‬‫تقسیم‬‫می‬‫شوند‬‫با‬‫هدف‬‫رسیدن‬‫به‬‫همزمانی‬‫بیشتر‬.
‫داد‬ ‫مجموعه‬ ‫یک‬ ‫در‬ ‫الگو‬ ‫سری‬ ‫یک‬ ‫تکرار‬ ‫تعداد‬ ‫محاسبه‬‫ه‬
Partitioning Intermediate
Data
◇‫مناسب‬‫برای‬‫محاسبات‬‫چند‬‫ای‬‫مرحله‬
◇‫تقسیم‬‫های‬‫داده‬‫ورودی‬‫یا‬‫خروجی‬‫در‬‫هر‬‫مرحله‬
◇‫احتمال‬‫دستیابی‬‫به‬‫همزمانی‬‫بیشتر‬‫نسبت‬‫به‬‫سایر‬‫روشها‬‫البته‬‫در‬‫بعضی‬‫از‬‫مسائل‬
‫محدودیت‬:‫آگاهی‬‫از‬‫الگوریتم‬‫سریال‬‫و‬‫چگونگی‬‫ایجاد‬‫داده‬‫های‬‫میانی‬
‫ضرب‬‫ماتریس‬
‫ضرب‬‫ماتریس‬
“
◇‫قانون‬owner computes
‫در‬‫تجزیه‬‫داده‬‫به‬‫بخش‬‫های‬،‫مختلف‬‫محاسبات‬Task‫فقط‬‫روی‬‫داده‬‫های‬‫اختصاصی‬
‫و‬‫محلی‬‫همان‬Task،‫انجام‬‫می‬‫گیرد‬.
‫با‬‫توجه‬‫به‬‫ماهیت‬‫داده‬‫و‬‫روش‬‫تجزیه‬‫داده‬،‫ها‬‫این‬‫قانون‬‫می‬‫تواند‬‫متفاوت‬‫عمل‬‫کند‬.
-‫روش‬‫تقسیم‬‫ها‬‫ورودی‬:Task‫روی‬‫داده‬‫های‬‫ورودی‬‫که‬‫به‬‫خودش‬‫اختصاص‬
،‫دارد‬‫محاسبه‬‫انجام‬‫می‬‫دهد‬.
-‫روش‬‫تقسیم‬‫ها‬‫خروجی‬:Task‫تنها‬‫به‬‫محاسبه‬‫خروجی‬‫هایی‬‫که‬‫باید‬‫تولید‬
،‫کند‬‫می‬‫پردازد‬.
Thanks!
You can find me at:
◇ @kvnmahdavi
◇ kvnmahdavi@yahoo.com

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Parallel computing ch3