آشنایی کامل با برنامه نویسی همروند گراورنده : شیداصادق نیا فهرست مطالب: مقدمه1 تاریخچه2 دهه 2.1 ۱۹۵۰ دهه 2.۲ ۱۹۶۰ دهه 3. 2 ۱۹8۰ دهه ۴ .2۱۹۹۰ سال ۲۰۰۰تا کنون۵. 2 انواع کامپیوترهای موازی3 ارتباط بین پردازش ها4 عدم تعادل بار5 اصول برنامه نویسی موازی6 COPYRIGHT ©SADEGHNIA SPRING2013 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M 1 ابزارهای برنامه نویسی موازی7 :POSIX Threads7.1 دالیل استفاده ازpthreads989 دالیل و مزایای استفاده ازOpen MP109 افق های محاسبات همروند10 زبان های برنامه نویسی112 مدلmimd1312 ملزومات یک مدل محاسباتی موازی13 منابع14 تقدیروتشکر15 COPYRIGHT ©SADEGHNIA SPRING2013 2 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M :مقدمه در این مقاله می کوشیم برنامه نویسی موازی و مدل های آن و .برنامه نویسی توزیع شده را معرفی کنیم :مدل های رایج و مورد استفاده در برنامه نویسی موازی عبارتند از ● Shared Memoryحافظه اشتراکی ● Threadsرشته ها –بندها. ●Message Passingانتقال پیام. ● Data Parallelموازات -همروندی داده ای. ● Hybridaهیبرید – مختلط -چندگانه. COPYRIGHT ©SADEGHNIA SPRING2013 3 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M :دالیل استفاده ازبرنامه نویسی موازی :سه دلیل عمده برای استفاده از محاسبات موازی وجود دارد صرفه جویی در زمان● حل کردن مسائل بزرگتر● بهره گرفتن از منابع غیر محلی● COPYRIGHT ©SADEGHNIA SPRING2013 4 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M تاریخچه ●1960دهه ●1970دهه ●1990دهه ●تاکنون2000سال COPYRIGHT ©SADEGHNIA SPRING2013 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M 5 انواع کامپیوتر های موازی با توجه به طبقه بندی فیلین می توان کامپیوتر های موازی :را به دو دسته عمده تقسیم نمود مالتی پروسسورها با حافظه اشتراکی● مالتی کامپیوترها با حافظه توزیع شده● COPYRIGHT ©SADEGHNIA SPRING2013 6 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M ارتباط بین پردازش ها وظایف در برنامهنویسی موازی برای انجام محاسبات خود نیاز به برقراری ارتباط بایکدیگر دارند ،که :روشهای زیر برای این کار میباشند حافظه اشتراکی● مدل ضمنی● تبادل پیام● COPYRIGHT ©SADEGHNIA SPRING2013 7 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M اصول برنامه نویسی موازی یافتن موازات کافی در برنامه(قانون آمدال)● دانه دانه کردن● محلی سازی● همگام سازی● شرایط مسابقه● عدم تعادل بار● COPYRIGHT ©SADEGHNIA SPRING2013 8 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M :ابزارهای برنامه نویسی موازی ابزارهای برنامهسازی برای سیستمهای دارای حافظه● اشتراکی ابزارهای برنامهنویسی برای سیستمهای دارای حافظه● توزیعشده COPYRIGHT ©SADEGHNIA SPRING2013 9 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M :POSIX THREADS برای برنامههای که دارای ویژگیهای زیر هستند ،میتواند :مناسب باشد چند وظیفه به صورت همزمان ،قابلیت اجرای پردازش روی● .دادههای برنامه را داشته باشند قطعههای از برنامه که زمان زیادی را منتظر ورودی/خروجی● .میمانند برنامههایی که در آنها برخی کارها نسبت به بقیه دارای● .اولویت باشد(.وقفههای اولویت) COPYRIGHT ©SADEGHNIA SPRING2013 10 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M دالیل استفاده ازPTHREADS هنگام اجرای برنامه کار پردازنده را با کار ورودی/خروجی● .همپوشانی میسازد نخها با سربار بسیار کمتری نسبت به پردازشها در● .سیستم ایجاد میشوند تمام نخها در داخل یک پردازش ،از یک فضای آدرس ● اشتراکی استفاده میکنند COPYRIGHT ©SADEGHNIA SPRING2013 11 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M (دالیل و مزایای استفاده از(OPENMP عدم نیاز به برنامه نویسیهای پیچیده توسط برنامه● .نویس قابل حمل بودن● مقیاس پذیری● COPYRIGHT ©SADEGHNIA SPRING2013 12 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M :افق های محاسبات همروند جهت حرکتی دنیای محاسبات موازی و توزیع شده در :راستای ارتقا موارد ذیل می باشد مقیاس پذیری● پیش بینی کارایی● قابلیت حمل● COPYRIGHT ©SADEGHNIA SPRING2013 13 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M زبان های برنامه نویسی: ●لیندا ●ارلنگ ● چارم++ Unified Parallel C● COPYRIGHT ©SADEGHNIA SPRING2013 G M A I L A : S H I D A . S A D E G H N I A @ G M A I L .C O M 14 مدل:MIMD تحت این مدل هر پروسسور یک مجموعه دستورالعملی را● تحت یک برنامه جداگانه مستقل از دیگر پروسسورها و به طور نا همگام بر روی تکه داده های گوناگون اجرا می .کند ● معماری.MIMDمتنوع می باشد COPYRIGHT ©SADEGHNIA SPRING2013 15 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M ملزومات یک مدل محاسباتی موازی یک مدل محاسباتی موازی همه منظوره بایستی دارای :خصوصیات ذیل باشد تاخیر شبکه با افزایش تعداد پروسسورها به صورت● .لگاریتمی افزایش یابد پهنای باند شبکه با افزایش تعداد پروسسورها به طور● کافی به نحوی افزایش یابد که هر پروسسور با نرخ ثابت .و حداکثری قادر به رد و بدل پیام باشد عملیات دارای مدل کارایی باشند ،به طوری که طراح● الگوریتم بتواند زمان اجرای الگوریتم خود را پیش بینی COPYRIGHT ©SADEGHNIA SPRING2013 .کند 16 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M ملزومات یک مدل محاسباتی موازی یک مدل محاسباتی موازی همه منظوره بایستی دارای :خصوصیات ذیل باشد تاخیر شبکه با افزایش تعداد پروسسورها به صورت● .لگاریتمی افزایش یابد پهنای باند شبکه با افزایش تعداد پروسسورها به طور● کافی به نحوی افزایش یابد که هر پروسسور با نرخ ثابت .و حداکثری قادر به رد و بدل پیام باشد عملیات دارای مدل کارایی باشند ،به طوری که طراح● الگوریتم بتواند زمان اجرای الگوریتم خود را پیش بینی COPYRIGHT ©SADEGHNIA SPRING2013 .کند 17 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M منابع .پایگاه اطالع رسانی ماهنامه شبکه» ۲۸ .فروردین ●«۱۳۹۲ جزوه درس برنامه نویسی موازی ،دکتر فرشاد خونجوش●، .دانشکده برق و کامپیوتر ،دانشگاه شیراز جزوه درس برنامه نویسی موازی ،دکتر رضا عظیمی●، .دانشکده برق و کامپیوتر ،دانشگاه شیراز COPYRIGHT ©SADEGHNIA SPRING2013 18 G M A I L : S H I D A . S A D E G H N I A @ G M A I L .C O M 19
سایر • علوم مهندسی • تکنولوژی • کامپیوتر و IT و اینترنت
دانلود پاورپوینت آشنایی کامل با برنامه نویسی همروند
55,000 تومان