کتاب فارسی برنامه نویسی موازی در سی شارپ
در این پست آموزش برنامه نویسی موازی در سی شارپ به زبان فارسی 109 صفحه ای که دست نوشته آقای کناری هست را برای شما عزیزان قرار دادیم.
برنامه نویسی موازی چیست؟
تفاوت دو دیدگاه برنامهسازی ترتیبی و موازی تنها از تقسیم یک مسئله به مسائل مستقل کوچکتر و سپردن آنها به واحدهای پردازشی جداگانه آغاز میشود، اما در پی آن مفاهیم متعددی مطرح میشود که اغلب در برنامهنویسی معمولی مطرح نبوده یا ماهیت آنها با مفهوم متناظر آن در برنامهنویسی معمولی کاملاً متفاوت است. حتی برخی مفاهیم در یک معماری خاص مطرح میشود و در معماری دیگر کاملاً بیمعنی است و برای آن معادلی وجود ندارد.
چیزی که در اینجا اهمیت دارد آن است که فردی که میخواهد وارد دنیای برنامهنویسی موازی شود باید سعی کند وارد نگرشها و دیدگاههای موازی شود و ویژگیهای برنامههای موازی، مفاهیم، مسائل و مشکلاتی را که در این شاخه از علم کامپیوتر مطرح است، بشناسد. زمانی که این کار به درستی انجام شد، فرد با انتخاب و استفاده از ابزار و زبان مورد نظر خیلی زود معادل هر مفهوم را در آن ابزار پیدا کرده و راه خود را به سرعت در آن خواهدیافت.
شاید اصطلاحات از ابزاری به ابزار دیگر متفاوت باشد یا شاید یک زبان امکان خاصی برای کاربران خود در نظرگرفته که در زبان دیگر وجود ندارد که البته این خصوصیت طبیعیزبانها است، اما مفاهیم مشترک است. اگر در گام نخست هدف را به درک این مفاهیم و کسب نوع نگرش به مسائل معطوفکنیم، بدون شک از پیچیدگی و بزرگی هیچ زبان و ابزاری هراس نخواهیم داشت و تمام آنها را امکاناتی برای عملی کردن دانستههای خود خواهیم دانست. روزگاری انجام محاسبات ریاضی با سرعتی فراتر از سرعت محاسبات انسانی یک رؤیا بود. اما امروز شاهد نگرشی کاملاً متفاوت با نگرش پیشین هستیم.
حل بسیاری از مسائل به طور ذاتی زمان بسیار زیادی میطلبد و گاهی این زمان بسیار فراتر از حد انتظار است. ممکن است ماهیت مسئله طوری باشد که به حل آن در مدت زمان خاصی نیاز داشته باشیم که در این صورت، صرف زمانی بیش از آن، در عمل حل مسئله را بیارزش میکند. به عنوان مثال، پردازشهای مربوط به پیشبینی وضع هوای فردا باید در کمتر از یک روز به پاسخ برسد یا زمانبندی درسهای دانشگاه که از جمله مسائل پیچیده و بغرنج به شمار میرود و گاهی یافتن راهحل بهینه به سالها زمان نیاز دارد، باید در مدت زمان معقولی (از زمان اعلام برنامه استادان تا چند روز قبل از شروع ترم جدید) به جواب برسد تا پاسخ مسئله، ارزش عملی داشته باشد. برخی مسائل نیز هستند که حل آنها با سریعترین کامپیوترهای امروزی به زمانی بیش از طول عمر انسان نیاز دارد!
در چنین حالتی است که ایده استفاده از n پردازنده معمولی به جای n برابرکردن سرعت پردازشی یک پردازنده به ذهن میرسد و در صورتی که بتوان مسئله را نیز به n قسمت مجزا و تقریباً مستقل از هم تقسیمکرد، در حقیقت به هدف نهایی خود بسیار نزدیک خواهیم شد. اینجا است که برنامهنویسی موازی به عنوان یک راهکار مطرح میشود.
دیدگاه کاربران
تعداد دیدگاه های کاربران : ۰ دیدگاه