Эффективное кэширование ускоряет приложения на 9%

27 сентябрь, 2016 - 15:15

Эффективное кэширование ускоряет приложения на 9%

Быстродействующая кэш-память используется процессором для временного хранения данных, к которым он часто обращается. Информация в ней сгруппирована в большие блоки (макроблоки), и процессор загружает их целиком, получая помимо требующихся ему данных множество ненужных, на которые он зря тратит время и энергию.

Для того, чтобы сделать этот процесс более эффективным, исследователи из Университета Северной Каролины (NC State) и компании Samsung Electronics разработали методику, в соответствии с которой кэш со времени узнаёт какие именно данные в макроблоке требуются процессору. После этого кэш сжимает макроблок, оставляя неизменёнными только нужные данные. Такой приём, во-первых, ускоряет пересылку уменьшившегося в объёме макроблока в процессор, а во-вторых, освобождает место в самом кэше, куда можно поместить другие нужные данные.

Авторы метода, названного ими Dense Footprint Cache, протестировали его в процессоре и симуляторе памяти на 3 млрд команд. Они установили, что использование Dense Footprint Cache ускоряет приложения на 9,5% по сравнению с альтернативными методами управления интегрированной на чип DRAM, и экономит на 4,3% больше энергии.

Также оказалось, что новый метод существенно, на 43%, уменьшает долю ненайденных данных в кэше «последнего уровня» (Last Level Cache, LLC), за которыми процессору приходится обращаться в основную память.

Статья, в которой рассказывается о Dense Footprint Cache будет представлена 3-6 октября на Международном симпозиуме по системам памяти в Вашингтоне (округ Колумбия).