جلسه دفاع از رساله دکتری - ارائه یک معماری کشف خطاهای نرم با استفاده از مدیریت منابع در پردازنده‌های چند‌هسته‌ای - علیرضا تجری

به دلیل وجود حلقه‌ها و فراخوانی تابع، دستورات بیش از یک‌بار اجرا می‌شوند. بر این اساس، می‌توان نتایج اجراهای یک دستور را در یک تاریخچه قرار داد. ارزیابی‌های انجام‌شده نشان داده است که در اکثر موارد، نتیجه اجرای یک دستور در تاریخچه نتایج همان دستور موجود است. به‌بیان‌دیگر، اکثر دستورات نتایج تکراری ایجاد می‌کنند. این خاصیت در پردازنده‌های چندهسته‌ای نیز آزمایش شده است و مشخص شده است که اگر یک دستور در دو هسته متفاوت اجرا شود، تاریخچه‌های آن دستور روی هسته‌های متفاوت با هم اشتراک دارند؛ به‌عبارت‌دیگر، نتیجه دستور نه‌تنها در تاریخچه دستور در همان هسته‌ای که در آن اجرا شده است وجود دارد، بلکه در تاریخچه همان دستور در هسته دیگر نیز وجود دارد. خاصیت تکرار نتایج برای دستوراتی که کد باینری یکسان دارند نیز بررسی شده است. ارزیابی‌های تجربی نشان داده‌اند که درصورتی‌که کد باینری دستورات برابر باشد، تاریخچه آن دستورات نیز با هم اشتراک دارد. با استفاده از این خاصیت‌ها، معماری‌هایی ارائه شده است که کشف خطا را در پردازنده‌های چندهسته‌ای انجام می‌دهند. در این معماری‌ها یک جدول برای هر هسته (و یا یک جفت هسته) در نظر گرفته می‌شود که آخرین نتایج دستورات را در خود ذخیره می‌کند. علاوه بر آن برای عملکرد بهتر و دقیق‌تر معماری پیشنهادی، چندین فیلد کنترلی نیز در نظر گرفته شده است. اولین معماری، از آدرس دستور برای دسترسی به جدول استفاده می‌کند. در روش دوم، از کد باینری دستور برای دسترسی به جدول استفاده می‌شود. این دو روش در پردازنده‌های تک‌هسته‌ای قابل استفاده هستند. روش‌های سوم و چهارم، برای پردازنده‌های چندهسته‌ای ارائه شده‌اند. در روش سوم، یک جدول مشترک بین هسته‌ها در نظر گرفته شده است. در روش چهارم، علاوه بر آن‌که هر هسته دارای یک جدول مجزا مربوط به خود است، می‌تواند اطلاعاتی را از جدول هسته کناری نیز بخواند.

ضميمه

ضميمه

ارسال کننده خبر: مهندسي کامپيوتر و فن اوري اطلاعات| | تاريخ: ۱۳۹۶/۱۲/۱۵