+22 голоса |
Одна из наибольших проблем индустрии микропроцессоров, особенно когда речь идет о высокопроизводительных вычислениях, — плохая масштабируемость памяти. Ученые Университета Коннектикута (США) предложили методы повышения быстродействия кэша, которые, к тому же, уменьшают энергопотребление системы.
Современные чипы производства Intel, AMD, ARM используют одни и те же принципы кэширования и имеют как минимум три независимых кэша: кэш инструкций для ускорения загрузки машинного кода, кэш ассоциативной трансляции (TLB) для ускорения трансляции виртуальных (математических) адресов в физические, и кэш данных. Последний часто реализуется в виде многоуровневого кэша L1, L2, L3, причем L2, а иногда L3, используются совместно. Даже если кэш данных корректно работает с двумя или четырьмя ядрами, при дальнейшем их увеличении начинаются проблемы. Разработчики процессоров CPU вынуждены нарезать унифицированные блоки кэша чтобы обеспечить пространственно-временное соответствие (каждый фрагмент кэша должен располагаться рядом с ядрами, которые он обслуживает).
Ученые же предлагают создать специальную схему, которая будет распределять данные в разные области кэша в зависимости от того, что происходит с выбранным блоком данных. Например, информацию, часто запрашиваемую одним из ядер, располагать на участке кэша, соответствующем данному ядру. Если одни и те же данные запрашивают два ядра, но обновляют их лишь изредка, часть данных только для чтения можно поместить ниже, в приватном кэше одного ядра на уровне L2, оставив общую версию на участке, доступном для обоих ядер.
Улучшенный мониторинг данных при их размещении в кэше, как оказалось, значительно влияет на производительность. По результатам тестирования на 64-ядерном процессоре, новая схема повышиет скорость работы с данными на 4-13% и одновременно снижает энергопотребление на 13-21%.
Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365
+22 голоса |
Описка в статье
"Даже если кэш данных корректно работает с двумя или четырьмя данными"
Не данными, а ядрами по всей видимости.
Спасибо, исправили