200 likes | 435 Views
فصل سوم اصول طراحي الگوريتم هاي موازي جناب آقای دکتر زمانی فر ارائه دهنده :فاطمه شیرمند. خصوصیات کارها. ایجاد وظایف ( Task generation ) اندازه وظایف ( Task size ) اطلاع از سایز وظایف( Knowledge of task size ) اندازه داده های مربوط به هر وظیفه( (Size of data associated with task.
E N D
فصل سوماصول طراحي الگوريتمهاي موازيجناب آقای دکتر زمانی فرارائه دهنده :فاطمه شیرمند
خصوصیات کارها • ایجاد وظایف (Task generation) • اندازه وظایف (Task size) • اطلاع از سایز وظایف(Knowledge of task size) • اندازه داده های مربوط به هر وظیفه((Size of data associated with task
خصوصيات كارها • انواع روشهاي ايجاد كارها : ايستا و پويا (static& dynamictaskgeneration) • ايستا : معين بودن تمام كارها پيش از شروع الگوريتم • مثال 1 : تقسيم بر مبناي داده ، ضرب ماتريسها • مثال 2 : تجزیه داده ها، يافتن مينيمم در يك آرايه • پويا : نامعين بودن كارها، TDGو TIGپيش از شروع الگوريتم • معين بودن قواعد توليد كارها -بازگشتی • مثال : الگوريتم quick-sort • روش تجریه اکتشافی: هر دو روش ایستا وپو یا را در بردارد
خصوصيات كارها • اندازه كار(زمان نسبي لازم براي تكميل) : uniform, non-uniform • وابستگي پيچيدگيهاي mappingبه uniformبودن يا نبودن كارها • Uniform: مسئله ضرب ماتريسها • Non-uniform: quick-sort • معين بودن اندازهي هر كار • معين : در ضرب ماتريسها • نا معين : در مسئلهي 15-puzzle • اندازه دادههاي مربوط به هر كار
خصوصيات تعامل بين كارها • ايستا يا پويا • ايستا : از پيش معلوم بودن زمان ارتباط بين كارها و حجم اين ارتباطات • روش تبادل پيام : مناسب براي ايستا و دشوار براي پويا • روش حافظه اشتراكي : مناسب و ساده براي هر دو • معين يا نامعين • معين : از پيش معلوم بودن نحوه ارتباط كارها
خصوصيات تعامل بين كارها • read-onlyيا read-write • Read-only: فقط خواندن دادههاي مربوط به كارهاي ديگر • Read-write: خواندن و نوشتن دادههاي اشتراكي • one-wayياtwo-way • 2-way: فراهم شدن داده مورد نياز يك كار توسط كار ديگر • معمولا به شكل توليد كننده و مصرف كننده • 1-way: يك طرف ارتباط را آغاز كرده به پايان ميرساند، بدون ايجاد وقفه در كار ديگر • read-only → 1-way & read-write → either 1-way or 2-way
Mapping Techniques • Mapping : تخصيص كارها به پروسهها • اهداف اصلي (گاهي متناقض) : • كاهش زمان ارتباطات بين كارها(همه به يك پروسه) • كاهش زمان بيكاري بعضي پروسه ها(تقسيم مساوي كارها به تعدادي پروسه) • انواع mapping: ايستا ، پويا • ايستا : تخصيص كارها به پردازشها پيش از آغاز الگوريتم • پويا : توزيع كارها بين پردازشها در حين اجراي الگوريتم • دشوار مخصوصا در message passing paradigm
Mapping مثال:انواع Mapping must simultaneously minimize idling and load balance. Merely balancing load does not minimize idling.
روشهايmappingايستا • Mapping based on Data partitioning • Block distribution • Cyclic and block-cyclic distribution • Randomized block distribution • Mapping based on Task partitioning • Hierarchical Mapping
Block distribution • اختصاص بلوكي از دادهها به هر پردازش • مثال : ضرب ماتريسها • يكبعدي : اختصاص يك سطر يا يك ستون به هر پردازش • دوبعدي : اختصاص يك بلوك متشكل از سطرها و ستون ها متفاوت
Block distributionمثال: n2/pn2+n2
Block-Cyclic Distributions • ايدهي اصلي • تقسيم دادهها به pقسمت، كه تعداد پردازشهاp> • تخصيص قسمتها به پردازشها بصورت نوبتي (round-robin) • وظيفهي هر پردازش : عمليات روي تعدادي قسمت غيرهمجوار از دادهها • حل مشكل عدم يكنواختي حجم عمليات (البته نه هميشه)
Block-Cyclic Distributions • عدم كارايي مناسب روش قبل در بعضي مسائل • مثال : در موارد تغيير حجم عمليات با تغيير سطر يا ستون ماتريس در مسئله LU factorization • ايراد روش قبل در اين مثال : افزايش زمان بيكاري بعضي پردازشها
پروسه فاکتورگیری LU • procedure COL_LU (A) • begin • for k := 1 to n do • for j := k+1 to n do • A[j, k]:= A[j, k]/A[k, k]; • endfor; • for j := k + 1 to n do • for i := k + 1 to n do • A[i, j] := A[i, j] - A[i, k] x A[k, j]; • endfor; • endfor; /* After this iteration, column A[k + 1 : n, k] is logically the kth column of L and row A[k, k : n] is logically the kth row of U. */ 12. endfor; 13. end COL_LU
پروسه فاکتورگیری LU A naive mapping of LU factorization tasks onto processes based on a two-dimensional block distribution.
Randomized block distribution • تخصيص بلوكها به پردازشها بصورت تصادفي(و نه round-robin)
مراجع • A. Grama et al., Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003 • A. Grama et al., Principles of Parallel Algorithm Design, power point document • C. Aykanat, Principles of Parallel Algorithm Design, power point document