مقدمه مفهومی محاسبات موازی (Parallel) به روشی اطلاق می شود که در آن چندین پردازش یا محاسبه به صورت همزمان انجام می شوند تا کارایی و سرعت سیستم افزایش یابد. این مفهوم در تمام سطوح محاسبات از سخت افزار تا نرم افزار کاربرد دارد. کاربرد در فناوری اطلاعات 1. در معماری پردازنده: چند هسته ای 2. در برنامه نویسی: پردازش موازی 3. در شبکه های کامپیوتری: ارتباطات موازی 4. در پایگاه داده: اجرای کوئری موازی مثال های واقعی - پردازنده های چند هسته ای - الگوریتم های MapReduce - اجرای موازی در سیستم های توزیع شده نقش در توسعه نرم افزار تکنیک های برنامه نویسی موازی: - Multi-threading - MPI (Message Passing Interface) - OpenMP - CUDA برای پردازش گرافیکی تاریخچه تکامل محاسبات موازی: - 1960: ابرکامپیوترهای اولیه - 1990: پردازنده های چندگانه - 2000: پردازنده های چند هسته ای - 2010: محاسبات ابری توزیع شده تفاوت با مفاهیم مشابه - با ’’Concurrent’’ که ممکن است واقعاً همزمان نباشد - با ’’Distributed’’ که بر مکان های فیزیکی مختلف تأکید دارد پیاده سازی فنی - در Python: ماژول multiprocessing - در Java: کلاس Thread و ExecutorService - در C++: کتابخانه TBB چالش ها - هماهنگی بین پردازش ها (Synchronization) - مسائل رقابتی (Race Conditions) - تعادل بار (Load Balancing) نتیجه گیری محاسبات موازی برای حل مسائل پیچیده محاسباتی و افزایش کارایی سیستم ها ضروری است.