مانع همگام سازی (علوم رایانه). مانع ( barrier ) ابزاری برای همگام سازی فعالیت تعدادی از ریسمان ها است. وقتی یک ریسمان به یک نقطه مانع می رسد، نمی تواند ادامه یابد تا زمانی که همه ریسمان های دیگر نیز به این نقطه برسند. وقتی آخرین ریسمان به نقطه مانع می رسد، همه ریسمان ها آزاد می شوند و می توانند اجرای همروند را از سر بگیرند. [ ۱]
به عنوان مثالی از یک مشکل که نیاز به موانع دارد، یک مشکل شایع آرام شدن ( relaxation ) در فیزیک یا مهندسی را در نظر بگیرید. معمولاً یک ماتریس وجود دارد که دارای برخی مقادیر اولیه است. این مقادیر ممکن است دما را در نقاط مختلف ورق فلز نشان دهند. این ایده ممکن است برای محاسبه مدت زمانی باشد که طول می کشد تا اثر شعله ای که در یک گوشه قرار گرفته است در سراسر ورق پخش می شود. با شروع مقادیر فعلی، تغییری در ماتریس اعمال می شود تا نسخه دوم ماتریس بدست آید، به عنوان مثال، با استفاده از قوانین ترمودینامیک، بعداً می بینید که همه دماها ΔT چیست. سپس این فرایند بارها و بارها تکرار می شود و دما را در نقاط نمونه به عنوان تابعی از زمان با گرم شدن ورق می دهد. الگوریتم در طول زمان توالی ای از ماتریس ها را تولید می کند، که هر کدام برای یک زمان مشخص هستند. حال تصور کنید که ماتریس بسیار بزرگ است ( به عنوان مثال ۱ میلیون در ۱ میلیون ) ، بنابراین برای سرعت بخشیدن به محاسبات به فرآیندهای موازی ( احتمالاً روی چندین پردازنده ) نیاز است. فرآیندهای مختلف بر روی قسمتهای مختلف ماتریس کار می کنند، عناصر جدید ماتریس را با استفاده از عناصر قدیمی مطابق قوانین فیزیک محاسبه می کنند. با این حال، تا زمانی که پیمایش n کامل نشود، یعنی تا زمانی که همه فرایندها کار فعلی خود را تمام نکنند، هیچ فرآیندی نمی تواند پیمایشn + 1 را شروع شود.
راه دستیابی به این هدف این است که هر فرایند را طوری برنامه ریزی کنیم تا پس از پایان سهم پیمایش فعلی خود، یک عملیات مانع را اجرا کند. وقتی کار همه فرایندها تمام شد، ماتریس جدید ( ورودی پیمایش بعدی ) به پایان می رسد و همه فرایندها به طور همزمان آزاد می شوند تا پیمایش بعدی شروع شود. [ ۲]
↑ Silberschatz, Abraham ( 2018 ) . "Synchronization Examples ( chapter 7 ) ". Operating system concepts. Laurie Rosatone. p. P - 34. ISBN 978 - 1 - 119 - 32091 - 3. ↑ Tanenbaum AS, Bos HJ ( 2015 ) . Modern Operating Systems ( 23th ed. ) . Pearson Higher Education. pp. 495. ISBN 978 - 0 - 13 - 359162 - 0.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفبه عنوان مثالی از یک مشکل که نیاز به موانع دارد، یک مشکل شایع آرام شدن ( relaxation ) در فیزیک یا مهندسی را در نظر بگیرید. معمولاً یک ماتریس وجود دارد که دارای برخی مقادیر اولیه است. این مقادیر ممکن است دما را در نقاط مختلف ورق فلز نشان دهند. این ایده ممکن است برای محاسبه مدت زمانی باشد که طول می کشد تا اثر شعله ای که در یک گوشه قرار گرفته است در سراسر ورق پخش می شود. با شروع مقادیر فعلی، تغییری در ماتریس اعمال می شود تا نسخه دوم ماتریس بدست آید، به عنوان مثال، با استفاده از قوانین ترمودینامیک، بعداً می بینید که همه دماها ΔT چیست. سپس این فرایند بارها و بارها تکرار می شود و دما را در نقاط نمونه به عنوان تابعی از زمان با گرم شدن ورق می دهد. الگوریتم در طول زمان توالی ای از ماتریس ها را تولید می کند، که هر کدام برای یک زمان مشخص هستند. حال تصور کنید که ماتریس بسیار بزرگ است ( به عنوان مثال ۱ میلیون در ۱ میلیون ) ، بنابراین برای سرعت بخشیدن به محاسبات به فرآیندهای موازی ( احتمالاً روی چندین پردازنده ) نیاز است. فرآیندهای مختلف بر روی قسمتهای مختلف ماتریس کار می کنند، عناصر جدید ماتریس را با استفاده از عناصر قدیمی مطابق قوانین فیزیک محاسبه می کنند. با این حال، تا زمانی که پیمایش n کامل نشود، یعنی تا زمانی که همه فرایندها کار فعلی خود را تمام نکنند، هیچ فرآیندی نمی تواند پیمایشn + 1 را شروع شود.
راه دستیابی به این هدف این است که هر فرایند را طوری برنامه ریزی کنیم تا پس از پایان سهم پیمایش فعلی خود، یک عملیات مانع را اجرا کند. وقتی کار همه فرایندها تمام شد، ماتریس جدید ( ورودی پیمایش بعدی ) به پایان می رسد و همه فرایندها به طور همزمان آزاد می شوند تا پیمایش بعدی شروع شود. [ ۲]
↑ Silberschatz, Abraham ( 2018 ) . "Synchronization Examples ( chapter 7 ) ". Operating system concepts. Laurie Rosatone. p. P - 34. ISBN 978 - 1 - 119 - 32091 - 3. ↑ Tanenbaum AS, Bos HJ ( 2015 ) . Modern Operating Systems ( 23th ed. ) . Pearson Higher Education. pp. 495. ISBN 978 - 0 - 13 - 359162 - 0.