مقدمه مفهومی محاسبات موازی (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) نتیجه گیری محاسبات موازی برای حل مسائل پیچیده محاسباتی و افزایش کارایی سیستم ها ضروری است.
مقدمه مفهومی محاسبات موازی (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) نتیجه گیری محاسبات موازی برای حل مسائل پیچیده محاسباتی و افزایش کارایی سیستم ها ضروری است.