- اطلاعات کتاب
- زمینه: پردازش موازی
- تعداد بازدید از این کتاب: 1142 بار
انتشارات: Cengage Learning
اثر: Russ Miller & Laurence Boxer
تعداد صفحه: 450
حجم: 7.31MB
توضیحات کتاب (ترجمهی خلاصهی پیشگفتار کتاب):
محاسبات کارآ نیازمند طراحی، تحلیل، پیادهسازی، و ارزیابی الگوریتمها در مسائل مورد اهتمام است. مسائل محاسباتی از دل طیف متنوعی از عرصهها میآیند؛ علم، مهندسی، کار، ورزش، معماری، درمان، مدیریت، اقتصاد، روانشناسی، جامعه شناسی، و سرگرمی تنها بخشی از این عرصهها هستند. بعلاوه، در فیلد علم و مهندسی محاسبات - که شق سوم و مکمل دو نوع علم تئوری و آزمایشگاهی است - چالشهای مهیجی وجود دارد. علم و مهندسی محاسبات، علوم کامپیوتری و ریاضیات را با تخصص رشتههایی چون زیست شناسی، شیمی، فیزیک، و دیگر فیلدهای کاربردی علم و مهندسی زیر یک چتر میآورد. پروژههای بین رشتهای در عرصههای علم، تکنولوژی، مهندسی، و ریاضیات - برای شبیهسازی و مدل کردن محیطهای فیزیکی و انسانی - معمولاً به الگوریتمهای کارآیی نیاز دارند که روی رایانههای قدرتمند اجرا میشوند.
با تکنولوژی کنونی، به سختی میتوان افزایش چشمگیری را در توانایی چیپهای کامپیوتری انتظار داشت، و به همین ترتیب، در مورد سرعت پردازندههای کلاسیک. لذا چون نیاز به قدرت محاسباتیِ بیشتر همواره ادامه دارد، طراحی سیستمهای کامپیوتری امروزی به سمت معماریهایی گرایش پیدا کرده است که شامل چند واحد پردازشگر هستند. امروزه به سختی میتوان رایانهای را یافت که بدون چند پردازنده و یا چند هسته ساخته شود و بسیاری از رایانهها دارای واحدهای پردازشگر گرافیگی هستند که با کمک تعداد زیادی پردازنده به ارتقای محیط بازی و یا شبیهسازی کمک میکنند.
چون زیرساخت محاسبات امروزی متشکل از چندین واحد پردازشی است، لازم است تا دانشمندان، مهندسان، و کاربران قرن 21 در مورد الگوریتمها و معماریهای چندپردازندهای دانش مفیدی داشته باشند. در عین حال نیاز به شناخت چگونگی بکارگیری کارآمد سیستمهای تکپردازنده همچنان به قوت خود باقی است.
با توجه به وضع کنونیِ تکنولوژی، تمرکز این کتاب، هم بر الگوریتمها و معماریهای موازی و هم ترتیبی است. شامل: ابرها، کلاسترها، گریدها، مدلهای شبکهی خوشتجزیه(fine grained)، ماشینهای دارای حافظهی مشترک/توزیعشده، و معماری سنتی von Neumann. در این کتاب الگوریتمهای مختلف و تحلیل آنها روی چندین مدل محاسبه را مورد بحث قرار میدهیم و این کار را با رهیافتی یکپارچه و با استراتژی حل مسئله پیش میبریم و سپس به این مقایسه میپردازیم که برای پیادهسازی این استراتژی سطح بالای حل مسئله روی هر معماری نیاز به چه منابعی داریم. از جملهی این منابع میتوان تعداد واحدهای پردازشگر، میزان حافظه، نوع شبکهی اتصالی، و زمان اجرای لازم را نام برد.
تا اواخر دههی 1980 در دروس الگوریتم و ساختماندادهای که در دانشکدههای علوم کامپیوتر به سال سومیها یا سال چهارمیهای کارشناسی و یا دانشجویان تحصیلات تکمیلی تدریس میشد، خبری از محاسبات موازی نبود و مبنا، کامپیوترهای ترتیبی von Neumann بودند. تا اواخر دهه 1990 مباحث موازی تا میزان یک سوم مباحث ارائه شده در برخی از کتب رشد پیدا کرد. امروزه که کلاسترهای متشکل از سوپر کامپیوترها به صورت یک کالا وارد بازار شده است نیاز به کتابی وجود دارد که همپای اصول مدل ترتیبی (مثل تکنیک تقسیم و غلبه)، اصول مدل موازی را هم پوشش بدهد. روش ما در این کتاب درآمیختن ارائهی الگوریتمهای ترتیبی و موازی است. لذا نمیتوانیم در یک کتاب به همه اصولی که در کتب کلاسیک یافت میشود بپردازیم.
تدریس موفق این کتاب به دانشجویان سال دومی لیسانس تا سال اول دکتری در بسیاری از دانشگاهها تجربه شده است. پیشنیاز مطالعهی این کتاب آشنایی اولیه با داده ساختارهایی چون پشته و صف و لیست و درخت دودویی و ... است که به طور معمول در درس ساختمان دادهها ارائه میشود. همچنین مخاطب باید در ریاضیات دارای پختگی لازم باشد، البته نه در سطح پیشرفته؛ یعنی با مقدمات ریاضیات گسسته، و حسابان در حد راحت بودن با مباحثی چون حد، سیگما، و انتگرال آشنا باشد.
در زیر لیست فصول کتاب آمده است:
- تحلیل مجانبی
- استقراء و بازگشت
- روش Master
- مدلهای محاسبه
- مدارات ترکیبی
- عملیات ماتریسی
- پیشپردازش موازی (parallel prefix)
- پَرِش اشارهگری (پردازش موازی لیستهای پیوندی)
- تقسیم و غلبه
- هندسهی محاسباتی
- پردازش تصویر
- الگوریتمهای گراف
- مسائل عددی