You are not allowed to perform this action

پردازش موازی

Parallel Processing

مقطع: تحصیلات تکمیلی گرایش: معماری سیستم‌های کامپیوتری
نوع درس: نظری تعداد واحد: ۳
پیش‌نیاز: – هم‌نیاز: –

هدف کلی

هدف درس "پردازش موازی" برای دانشجویان، ارائه دانش و مهارت‌های لازم برای طراحی، تحلیل و پیاده‌سازی الگوریتم‌ها و سیستم‌های پردازشی است که به صورت موازی و همزمان اجرا می‌شوند. این درس شامل آشنایی با سیستم‌های پردازش موازی و کاربردهای آن‌ها، طراحی الگوریتم‌ها و عملیات پایه ارتباطی موازی، مدل‌سازی و معیارها و روش‌های سنجش پیچیدگی محاسبات و ارتباطات موازی، و آشنایی با روش‌های تفکیک و فهرست‌بندی اجرای عملیات موازی است. همچنین، دانشجویان با محاسبات ابری و گرید، سیستم‌های حافظه مشترک و تبادل پیام، و پردازشگرهای گرافیکی (GPU) آشنا می‌شوند و یاد می‌گیرند چگونه مشکلات همزمان‌سازی اجرای عملیات حسابی و خواندن و نوشتن را به صورت گسترده حل کنند. از طریق پروژه‌های عملی، دانشجویان تجربه کاربردی کسب می‌کنند تا بتوانند در زمینه‌های مختلف علمی و صنعتی که نیاز به پردازش سریع و کارآمد دارند، به صورت مؤثر فعالیت کنند.

سرفصل‌ها

  1. مقدمه‌ای بر محاسبات موازی و مدل‌سازی مرتبه پیچیدگی عملیات محاسباتی و ارتباطی
  2. قالب‌های برنامه‌نویسی موازی
  3. طراحی الگوریتم‌های موازی
  4. عملیات پایه ارتباطی موازی
  5. مدل‌سازی تحلیلی برنامه‌های موازی
  6. برنامه‌نویسی با روش حافظه مشترک
  7. برنامه‌نویسی در ساختارهای تبادل پیام
  8. بررسی انواع روش‌های حل مسائل همزمان‌سازی اجرای محاسبات و خواندن و نوشتن‌های گسترده
  9. برنامه‌نویسی سیستم‌های پردازنده گرافیکی (GPU)
  10. معرفی سیستم‌های محاسبات ابری: مجازی‌سازی و محاسبات بر مبنای ارائه خدمت
  11. الگوریتم‌های عددی معروف: برخی محاسبات ماتریسی موازی، پردازش تصاویر و تبدیل فوریه سریع
  12. الگوریتم‌های غیرعددی نمونه: مرتب‌سازی، عملیات گراف‌ها، جستجو و برنامه‌نویسی دینامیک

ارزیابی پیشنهادی

  • تمرین‌ها و پروژه: ۳۰ درصد نمره
  • آزمون‌های میان‌ترم و پایانی: ۵۰ درصد نمره
  • پروژه پژوهشی: ۲۰ درصد نمره

منابع پیشنهادی

  1. A. Grama, A. Gupta, G. Karypis, and V. Kumar. Introduction to Parallel Computing. 2nd Edition, Addison Wesley, 2003.
  2. B. Parhami. Introduction to Parallel Processing; Algorithms and Architectures. Kluwer Academic Publishers, 2003.
  3. T. Rauber and G. Runger. Parallel programming for Multicore and Cluster System. Springer, 2010.
  4. D. B. Kirk and W. W. Hwu. programming Massively parallel Processors: Hands-on Approach. Amsterdam: Elsevier (Morgan Kaufmann Publishers, an imprint of Elsevier), 2010.
  5. I. Foster, C. Kesselman. The Grid 2: Blueprint for a New Computing Infrastructure. 2nd Edition, Morgan Kaufmann, 2003.
  6. Online documents a Grid, Cloud Computing, and GPUs.
  7. Proceedings of rated conferences and ACWI/IEEE journals.