بهبود روش های همگام سازی بین بلاکی در کودا

نوع مقاله : مقاله پژوهشی فارسی

نویسندگان

1 گروه مهندسی کامپیوتر، دانشکده مهندسی دانشگاه فردوسی مشهد، مشهد، ایران.

2 دانشکده مهندسی، دانشگاه فردوسی مشهد، مشهد، ایران.

چکیده

چکیده- عدم پشتیبانی صریح همگام‌سازی بین بلاکی در مدل برنامه‌نویسی کودا، باعث تضعیف کارآیی در برخی از برنامه‌های کاربردی شده است. بنابراین در چنین برنامه‌هایی، همگام‌سازی بین بلاکی باید به‌صورت نرم‌افزاری پیاده‌سازی شود. روش‌های باقفل و بدون قفل برای این مسئله پیاده‌سازی شده‌اند. در همگام‌سازی باقفل، زمان اجرا با افزایش تعداد بلاک رشد چشمگیری دارد و در روش همگام‌سازی بدون‌قفل، محدودیت تعداد بلاک‌ها وجود دارد. در این مقاله، دو روش همگام‌سازی بین بلاکی پیشنهاد می‌شوند. اولین روش مبتنی‌بر همگام‌سازی باقفل است که با گروه‌بندی مناسب بلاک‌ها، تاثیر افزایش تعداد بلاک بر زمان اجرا را کاهش می-دهد. دومین روش پیشنهادی همگام‌سازی بدون قفل است که با ایجاد یک سلسله‌مراتبی درختی از بلاک‌ها، محدودیت تعداد بلاک-ها در این همگام‌سازی را مرتفع می‌کند. این روش‌ها برای همگام‌سازی بین بلاکی در الگوریتم‌های اسمیت واترمن و مرتب‌سازی بایتونیک به کار گرفته شده‌اند. نتایج آزمایش‌ها نشان می‌دهند که روش باقفل پیشنهادی، زمان اجرای همگام‌سازی را بهبود می‌بخشد و تسریع 1.84 در الگوریتم اسمیت واترمن و 2.24 را در الگوریتم مرتب‌سازی بایتونیک ثبت کرده است. همچنین نتایج نشان می‌دهند که در روش پیشنهادی بدون قفل نیز با انتخاب درست تعداد سطوح سلسله‌مراتب درختی، هر تعداد بلاک می‌توانند همگام شوند و بنابراین محدودیت تعداد بلاک‌ها مرتفع شده است.

کلیدواژه‌ها