PDA

View Full Version : مقاله: دانلود کتاب فارسی برنامه نویسی موازی با C# 2010 و NET 4.



zahmatkesh8519
چهارشنبه 28 تیر 1391, 23:25 عصر
89952


فهرست مطالب :

فهرست شکل ها : ‌ه
فهرست تکه کد ها : ‌و
فهرست لیست ها ( کد ها کلی ) : ‌ز
چکیده : 1
مقدمه : 2
1 فصل اول 3
برنامه نویسی TASK-BEASE 3
مباحثی که در این فصل مطرح می شود : 3
1-1 کار با پردازنده های چند هسته ای SHARED-MEMORY 4
1-1-1 اختلاف پردازشگر های چند هسته ای حافظه– مشترک با سیستم های حافظه- توزیع شده 7
1-1-2 برنامه نویسی موازی و برنامه نویسی چند هسته ای 9
1-2 درک نخ های سخت افزاری و نخ های نرم افزری 10
1-3 درک قانون AMDAHL 17
1-4 ملاحظه قانون GUSTAFSON 21
1-5 کار با همزمانی سبک وزن 25
1-6 ایجاد موفق طرح های TASK-BASED 26
1-6-1 طراحی با همزمانی در ذهن 28
1-6-2 درک اختلاف بین همزمانی تکه تکه ای ، همزمانی و موازی سازی 29
1-6-3 موازی سازی Task ها 30
1-6-4 حداقل سازی نواحی بحرانی 30
1-6-5 درک قوانین برنامه نویسی موازی برای چند پردازنده های هسته ای 31
1-7 آماده کردن NUMA و مقایسه پذیری بالاتر 34
1-8 تصمیم راحت موازی سازی 41
1-9 خلاصه 43
2 فصل دوم 44
موازی سازی اجباری داده ها 44
2-1 شروع TASK های موازی 45
2-1-1 کلاس System.Threading.Tasks.Parallel 47
2-1-2 Parallel.Invoke 48
2-3 تبدیل کد های ترتیبی به کد های موازی 58
2-2-1 تشخیص Hotspot قابل موازی سازی 59
2-2-2 اندازه گیری موفق SpeedUP توسط اجرای موازی 63
2-3 حلقه های موازی 66
2-3-1 Parallel.For 66
2-3-2 Parallel.Foreach 75
2-4 تشخیص درجه موازی سازی مطلوب 92
2-4-1 ParallelOptions 92
2-4-2 شمارش نخ های سخت افزاری 95
2-4-3 هسته های منطقی هسته های فیزیکی نیستند 96
2-5 استفاده از نمودار گانت برای تشخیص نواحی بحرانی 99
2-6 خلاصه 100
نتيجهگيري و پيشنهادات 101
مراجع 102

مقدمه کتاب :

ساده ترین شیوه موازی سازی در قالب Task ها صورت می گیرد، در هر Task تابع یا قطعه کدی نوشته می شود و سپس بوسیله Delegate ای که کار مدیریت Task ها را بر عهده دارد، این Task ها بصورت موازی بسته به هسته های منطقی در دسترس اجرا می شوند. روش های بسیاری برای موازی سازی وجود دارد مانند استفاده از کلاس Parallel.For یا Parallel.ForEachکه در جای خود کاربرد های مختص به خودشان را دارند. همشه الگریتم های ترتیبی را نمی توان به الگریتمی موازی تبدیل کرد چرا که کد های ترتیبی ای هستند که اجرای کد های دیگر نیاز به تکمیل شدن آن ها دارد. بسته به الگریتم درصدی از آن را می توان موازی کرد. قبل از موازی سازی باید موازی سازی را ذهنتان طراحی کنید .

این کتاب بنده در اوایل تابستان سال گذشته ترجمه کردم ، از کل مطالب کتاب 3 فصل اولش ترجمه شده که امید وارم مطالب مفیدی بهتون یاد بده .


کتاب از این لینک (http://www.mediafire.com/view/?dir77yegjkozzwa)می توانید دانلود کنید .