نام پژوهشگر: آریا مظاهری

تشخیص الگوی برنامه های موازی در سیستم های حافظه مشترک
پایان نامه وزارت علوم، تحقیقات و فناوری - دانشگاه صنعتی اصفهان - دانشکده مهندسی برق و کامپیوتر 1393
  آریا مظاهری   علی جان نثاری

با افزایش روز افزون نیاز پردازشی برنامه ها و استفاده از سیستم های چند پردازنده ای، به کارگیری حداکثری توانایی این پردازنده ها بسیار حیاتی به نظر می رسد. بدین منظور لازم است اطلاعاتی در مورد ساختار برنامه موازی و گلوگاه های راندمان کارکرد آن بدست آورده شود. خوشبختانه این گلوگاه ها و همچنین بقیه پارامترهای موثر در راندمان برنامه را می توان توسط الگوهای پردازشی و ارتباطی موجود در بطن برنامه موازی تحت بررسی و تشخیص داد. در حال حاضر تلاش های متعددی برای تشخیص الگو و ساختار ارتباطی برنامه های موازی صورت گرفته است. شبیه سازی اجرا، پایش کد و تحلیل شمارنده های سخت افزاری از جمله روش های متداول برای تشخیص این الگوها می باشند. با این حال، اکثر این روش ها بر روی برنامه های علمی محاسباتی با ساختار حافظه توزیعی متمرکز شده اند. همچنین، این روش ها به ویژگی های بنیادی ارتباطی برنامه های حافظه مشترک توجّهی نمی کنند و به همین دلیل کاربردی در سیستم های حافظه مشترک ندارند. سربار زیاد زمانی و حافظه ای به همراه دقّت تشخیص پایین، از دیگر مشکلات روش های پیشین است. هدف این پایان نامه ارائه روشی موثر برای تشخیص خودکار الگوهای پردازشی در درون برنامه های حافظه مشترک است. در مرحله اول، وابستگی بین نخ های برنامه توسط بسته ی پایش کد llvm بدست می آید. به منظور کسب این اطلاعات با بهترین کارایی، یک ساختمان داده جدید به نام «امضای حافظه نامتقارن» ارائه شده است که حتّی با کمتر از 200 مگابایت حافظه می تواند وابستگی بین نخ های برنامه را بدست آورد. امکان تخمین حداکثر میزان مصرفی حافظه و همچنین سرعت بالای تشخیص وابستگی بین نخ های برنامه از جمله مزایای منحصر به فرد این روش است. علاوه بر این با تشخیص حلقه های داخل منبع برنامه در حین اجرا و ایجاد یک ماتریس ارتباطی چند لایه از الگوی ارتباطی برنامه، الگوهای موازی متعدد درون برنامه قابل شناسایی شدند. سپس با اعمال روش دسته بندی یادگیری با نظارت و آموزش آن با مجموعه داده معتبر آموزشی به دقت بیش از 97? در پیش بینی الگوهای موازی رسیدیم. در نهایت دو الگوریتم جدید برای تشخیص الگوهای ساختاری ارائه گردیده است. توسط الگوریتم ارائه شده نه تنها می توان به طور کامل حضور الگوی خط لوله منحصر به برنامه های حافظه مشترک را تشخیص داد بلکه می توان پارامترهای اجرایی آن را همراه با معیارهای کمّی توصیف کیفیت تعیین نمود.