Table of Contents
درگیری های بانکی حافظه در سیستم های کامپیوتری رخ می دهد، زمانی که چندین فرآیند یا موضوعات مختلف تلاش می کنند به طور همزمان به بانک حافظه یکسانی دسترسی پیدا کنند و منجر به تاخیر یا کاهش عملکرد می شوند.
مثال 1: دسترسی به حافظه GPU
واحدهای پردازش گرافیکی (GPUs) اغلب در طول پردازش موازی با درگیری های بانک حافظه مواجه می شوند، هنگامی که چندین رشته به داده های ذخیره شده در همان بانک حافظه دسترسی دارند، دسترسی به تاخیر افزایش می یابد، که بر سرعت رندر تاثیر می گذارد، مانند الگوهای دسترسی به حافظه دوباره ساختار داده ها برای کاهش این درگیری ها استفاده می شود.
مثال دوم: Multi-core Processor Shared cache
در پردازنده های چند هسته ای، سطوح ذخیره مشترک می تواند درگیری های بانکی را تجربه کند، زمانی که هسته ها به خطوط کش همپوشانی دسترسی دارند، این می تواند باعث توقف و کاهش کلی از طریقput شود. Solutions شامل کشک خط کش و برنامه ریزی هوشمند برای توزیع درخواست های حافظه به طور مساوی در سراسر بانک ها است.
مثال 3: خوشه های محاسباتی با کیفیت بالا
سوپرکامپیوترها و خوشه های HPC اغلب در طول پردازش داده های بزرگ با درگیری های حافظه مواجه می شوند، زمانی که چندین گره به منابع حافظه مشترک دسترسی دارند، درگیری ها می توانند محاسبات را کاهش دهند و بهینه سازی پروتکل های دسترسی به حافظه و بهینه سازی توزیع داده ها به کاهش این مسائل کمک می کند.
راه حل های مشترک برای تعارض بانک حافظه
- پدینگ داده: [FLT 1] اضافه کردن داده های اضافی برای تغییر الگوهای دسترسی.
- دسترسی به حافظه مجدد سفارش: [FLT 1] تغییر توالی از درخواست های حافظه.
- بانک بین المللی: [FLT 1] تجزیه و تحلیل داده ها در سراسر بانک های متعدد به طور مساوی.
- بهبود طراحی سخت افزار: [FLT 1] طراحی کنترل کننده های حافظه برای رسیدگی به درگیری بهتر است.