معماری کامپیوتر و سیستمهای موازی: قانون آمدال (Amdahl's Law) - نکته رسمی
قانون آمدال (Amdahl's Law)
- قانون آمدال بیانگر حداکثر افزایشی است که می توان در سرعت اجرای یک برنامه با بهبود بخشی از آن به دست آورد. این قانون تصریح می کند که بهبود در بخشی از برنامه که به طور متوالی اجرا می شود، محدود به کسری از زمان اجرای کلی برنامه است که آن بخش به طور متوالی اجرا می شود.
- فرمول قانون آمدال به صورت S 1 ((1 - P) PN) بیان می شود، که در آن S نسبت افزایش سرعت، P کسری از زمان اجرای اصلی برنامه است که قابلیت موازی سازی دارد، و N تعداد پردازنده های مورد استفاده است.
- محدودیت اصلی قانون آمدال، بخش متوالی برنامه (sequential portion) است. حتی با افزایش بی نهایت تعداد پردازنده ها، سرعت اجرای کلی برنامه نمی تواند از حد معینی که توسط بخش متوالی تعیین می شود، فراتر رود.
- در معماری های کامپیوتر و سیستم های موازی، قانون آمدال برای پیش بینی حداکثر سود حاصل از موازی سازی یک وظیفه یا الگوریتم به کار می رود. این قانون به مهندسان کمک می کند تا قبل از سرمایه گذاری بر روی سخت افزار یا نرم افزار موازی، پتانسیل بهبود را ارزیابی کنند.
- درک دقیق 'بخش متوالی' یک برنامه برای اعمال صحیح قانون آمدال ضروری است. این بخش شامل محاسباتی است که باید به ترتیب انجام شوند و نمی توانند به طور همز مان اجرا شوند.
- قانون آمدال نشان می دهد که حتی با موازی سازی کامل بخش قابل توجهی از یک برنامه (مثلاً 90)، حداکثر افزایش سرعت با 10 پردازنده فقط 10 برابر خواهد بود، که این امر اهمیت کاهش بخش متوالی را برجسته می سازد.
- قانون آمدال در زمینه های مختلفی از جمله طراحی پردازنده های چند هسته ای، سیستم های توزیع شده، و بهینه سازی الگوریتم های محاسباتی کاربرد دارد و به تعیین محدودیت های ذاتی موازی سازی کمک می کند.
- این قانون بر فرض ثابت بودن حجم کار (workload) استوار است. در عمل، با افزایش تعداد پردازنده ها، ممکن است سربار ارتباطی و همگام سازی (overhead) افزایش یابد که این خود می تواند بخش متوالی را تحت تأثیر قرار دهد.
- قانون آمدال به طور ضمنی فرض می کند که بخش موازی سازی شده بین پردازنده ها به طور مساوی توزیع شده و بدون سربار اضافی قابل اجرا است. هرگونه عدم تعادل یا سربار اضافی می تواند منجر به نتایجی کمتر از پیش بینی قانون شود.
- برای دستیابی به افزایش سرعت قابل توجه در سیستم های موازی، استراتژی اصلی باید بر کاهش بخش متوالی برنامه متمرکز شود، زیرا این بخش به عنوان گلوگاه اصلی در مقیاس پذیری عمل می کند.
منبع آموزشی این مطلب
این مطلب برگرفته از محصول آموزشی «مقدمهای بر پردازش موازی» است
برای مشاهده توضیحات کامل، جزئیات دوره و دریافت محصول، روی دکمه زیر کلیک کنید.
اطلاعات بیشتر و دریافت محصول