Выпуск #9/2018
Кожин Алексей Сергеевич
Анализ производительности кэш-памяти микропроцессоров с архитектурой "Эльбрус"
Анализ производительности кэш-памяти микропроцессоров с архитектурой "Эльбрус"
Просмотры: 1694
В статье исследуются подсистемы кэш-памяти микропроцессоров Эльбус-4C и Эльбрус-8C. Проанализирована зависимость однопоточной производительности от объема кэш-памяти. Исследована масштабируемость многопоточной производительности микропроцессоров. Проведена верификация производительности новых решений, реализованных в подсистеме кэш-памяти микропроцессора Эльбрус-8C.
УДК 004.318
DOI: 10.22184/1993-8578.2018.82.101.102
УДК 004.318
DOI: 10.22184/1993-8578.2018.82.101.102
Теги: кэш-память многоядерный микропроцессор подсистема памяти производительность пропускная способность кэш-памяти «эльбрус»
В данной работе рассматривается влияние подсистемы кэш-памяти на производительность микропроцессоров с архитектурой «Эльбрус».
Кэш-память используется в микропроцессорах для уменьшения времени доступа и снижения частоты обращений в оперативную память. Современные многоядерные микропроцессоры имеют многоуровневую иерархию кэш-памяти, в которой кэш-память верхнего уровня (L1, L2) обеспечивает очень быстрый доступ к часто используемым данным небольшого объема, а кэш-память нижнего уровня (L3, L4) позволяет разместить достаточно большой объем данных в несколько единиц и десятков мегабайт. Каждое процессорное ядро имеет один или несколько уровней частной кэш-памяти, используемых только этим ядром. Большинство многоядерных процессоров также имеют большую общую кэш-память последнего уровня, весь объем которой доступен всем ядрам. Кэш-память позволяет увеличить производительность микропроцессора за счет ускорения доступа к данным, которые обладают пространственной или временной локальностью и могут быть эффективно размещены в кэш-памяти. Если рабочий набор данных программы не обладает свойством локальности или кэш-память имеет недостаточный объем для его размещения, кэш-память не будет оказывать положительного влияния на скорость исполнения этой программы.
Целью работы являлось исследование производительности кэш-памяти микропроцессоров с архитектурой «Эльбрус». Исследование проводилось для двух последних поколений микропроцессоров — микропроцессора «Эльбрус-4C» и микропроцессора «Эльбрус-8C». Микропроцессор «Эльбрус-4C» содержит четыре процессорных ядра, каждое из которых имеет свою собственную кэш-память первого (L1) и второго (L2) уровней. В микропроцессоре Эльбрус-8C количество ядер увеличено до восьми и впервые (среди процессоров серии «Эльбрус») добавлен новый уровень иерархии кэш-памяти — общая кэш-память третьего (L3) уровня размером 16 Мб, доступ ко всему объему которой имеют все процессорные ядра. Кроме того, был оптимизирован протокол межъядерной когерентности и разработана новая распределенная схема коммутации соединений на основе двунаправленного буферизующего кольца.
Подсистемы кэш-памяти микропроцессоров «Эльбрус-4C» и «Эльбрус-8C» имеют существенные отличия. Сравнительный анализ подсистем памяти этих двух микропроцессоров и верификация производительности новых решений представляют вполне оправданный интерес для разработчиков современных многоядерных микропроцессоров.
Автор считает, что в данной работе новыми являются следующие положения и результаты. Проведен анализ производительности подсистем кэш-памяти микропроцессоров «Эльбрус-4C» и «Эльбрус-8C» на пакете задач SPEC CPU2006. Показано влияние общей кэш-памяти на однопоточную производительность и на масштабируемость многопоточной производительности микропроцессора «Эльбрус-8C». Приведены результаты измерений пропускной способности общей кэш-памяти микропроцессора «Эльбрус-8C».
Выполненная верификация производительности подсистемы кэш-памяти микропроцессора «Эльбрус-8C» подтвердила правильность реализованных решений.
ЛИТЕРАТУРА
1. Ким А. К., Перекатов В. А., Ермаков С. Г. Микропроцессоры и вычислительные комплексы семейства «Эльбрус». Учебное пособие. — СПб.: Питер. — 2013. — 272 с.
2. Kostenko V. O., Kozhin A. S., Polyakov N. Y., Slesarev M. V., Tikhorskiy V. V., Sakhin Y. K. Elbrus-8C: The Latest Yield from MCST and MIPT Collaboration.Proceedings of the 2015 International Conference on Engineering and Telecommunication (EnT-2015). Moscow, 2015, pp. 67–68.
3. Kozhin A. S., Polyakov N. Y., Alfonso D. M., Demenko R. V., Klishin P. A., Kozhin E. S., Slesarev M. V., Smirnova E. V., Smirnov D. A., Smolyanov P. A., Kostenko V. O., Gruzdov F. A., Tikhorskiy V. V., Sakhin Y. K. The 5th Generation 28nm 8-Core VLIW Elbrus-8C Processor Architecture. Proceedings of the 2016 International Conference on Engineering and Telecommunication (EnT-2016). Moscow, 2016, pp. 85–89.
4. Альфонсо Д. М., Деменко Р. В., Кожин А. С., Кожин Е. С., Колычев Р. Е., Костенко В. О., Поляков Н. Ю., Смирнова Е. В., Смирнов Д. А., Смольянов П. А., Тихорский В. В. Микроархитектура восьмиядерного универсального микропроцессора «Эльбрус-8C» // Вопросы радиоэлектроники. — 2016. — № 3 — Сер. ЭВТ. — С. 6–13.
5. Кожин А. С., Кожин Е. С., Костенко В. О., Лавров А. В. Кэш третьего уровня и поддержка когерентности микропроцессора «Эльбрус-4С+» // Вопросы радиоэлектроники. — 2013. — № 3 — Сер. ЭВТ. — С. 26–38.
6. Кожин А. С., Сахин Ю. Х. Коммутация соединений процессорных ядер с общим кэшем третьего уровня микропроцессора «Эльбрус-4С+» // Вопросы радиоэлектроники. — 2013. — № 3 — Сер. ЭВТ. — С. 5–14.
7. Jaleel A., Hasenplaugh W., Qureshi M., Sebot J., Steely Jr S., Emer J. Adaptive Insertion Policies for Managing Shared Caches. Proceedings of the 17th InternationalConference on Parallel Architectures and Compilation Techniques. ACM, 2008, pp. 208–219.
8. Henning J. L. SPEC CPU2006 Benchmark Descriptions. ACM SIGARCH Computer Architecture News. 2006, Vol. 34, № 4, pp. 1–17.
9. Jaleel A. Memory Characterization of Workloads Using Instrumentation-Driven Simulation. Intel Corporation, VSSAD Technical Report, 2007. Available at:http://www.jaleels.org/ajaleel/publications/SPECanalysis.pdf.
Кэш-память используется в микропроцессорах для уменьшения времени доступа и снижения частоты обращений в оперативную память. Современные многоядерные микропроцессоры имеют многоуровневую иерархию кэш-памяти, в которой кэш-память верхнего уровня (L1, L2) обеспечивает очень быстрый доступ к часто используемым данным небольшого объема, а кэш-память нижнего уровня (L3, L4) позволяет разместить достаточно большой объем данных в несколько единиц и десятков мегабайт. Каждое процессорное ядро имеет один или несколько уровней частной кэш-памяти, используемых только этим ядром. Большинство многоядерных процессоров также имеют большую общую кэш-память последнего уровня, весь объем которой доступен всем ядрам. Кэш-память позволяет увеличить производительность микропроцессора за счет ускорения доступа к данным, которые обладают пространственной или временной локальностью и могут быть эффективно размещены в кэш-памяти. Если рабочий набор данных программы не обладает свойством локальности или кэш-память имеет недостаточный объем для его размещения, кэш-память не будет оказывать положительного влияния на скорость исполнения этой программы.
Целью работы являлось исследование производительности кэш-памяти микропроцессоров с архитектурой «Эльбрус». Исследование проводилось для двух последних поколений микропроцессоров — микропроцессора «Эльбрус-4C» и микропроцессора «Эльбрус-8C». Микропроцессор «Эльбрус-4C» содержит четыре процессорных ядра, каждое из которых имеет свою собственную кэш-память первого (L1) и второго (L2) уровней. В микропроцессоре Эльбрус-8C количество ядер увеличено до восьми и впервые (среди процессоров серии «Эльбрус») добавлен новый уровень иерархии кэш-памяти — общая кэш-память третьего (L3) уровня размером 16 Мб, доступ ко всему объему которой имеют все процессорные ядра. Кроме того, был оптимизирован протокол межъядерной когерентности и разработана новая распределенная схема коммутации соединений на основе двунаправленного буферизующего кольца.
Подсистемы кэш-памяти микропроцессоров «Эльбрус-4C» и «Эльбрус-8C» имеют существенные отличия. Сравнительный анализ подсистем памяти этих двух микропроцессоров и верификация производительности новых решений представляют вполне оправданный интерес для разработчиков современных многоядерных микропроцессоров.
Автор считает, что в данной работе новыми являются следующие положения и результаты. Проведен анализ производительности подсистем кэш-памяти микропроцессоров «Эльбрус-4C» и «Эльбрус-8C» на пакете задач SPEC CPU2006. Показано влияние общей кэш-памяти на однопоточную производительность и на масштабируемость многопоточной производительности микропроцессора «Эльбрус-8C». Приведены результаты измерений пропускной способности общей кэш-памяти микропроцессора «Эльбрус-8C».
Выполненная верификация производительности подсистемы кэш-памяти микропроцессора «Эльбрус-8C» подтвердила правильность реализованных решений.
ЛИТЕРАТУРА
1. Ким А. К., Перекатов В. А., Ермаков С. Г. Микропроцессоры и вычислительные комплексы семейства «Эльбрус». Учебное пособие. — СПб.: Питер. — 2013. — 272 с.
2. Kostenko V. O., Kozhin A. S., Polyakov N. Y., Slesarev M. V., Tikhorskiy V. V., Sakhin Y. K. Elbrus-8C: The Latest Yield from MCST and MIPT Collaboration.Proceedings of the 2015 International Conference on Engineering and Telecommunication (EnT-2015). Moscow, 2015, pp. 67–68.
3. Kozhin A. S., Polyakov N. Y., Alfonso D. M., Demenko R. V., Klishin P. A., Kozhin E. S., Slesarev M. V., Smirnova E. V., Smirnov D. A., Smolyanov P. A., Kostenko V. O., Gruzdov F. A., Tikhorskiy V. V., Sakhin Y. K. The 5th Generation 28nm 8-Core VLIW Elbrus-8C Processor Architecture. Proceedings of the 2016 International Conference on Engineering and Telecommunication (EnT-2016). Moscow, 2016, pp. 85–89.
4. Альфонсо Д. М., Деменко Р. В., Кожин А. С., Кожин Е. С., Колычев Р. Е., Костенко В. О., Поляков Н. Ю., Смирнова Е. В., Смирнов Д. А., Смольянов П. А., Тихорский В. В. Микроархитектура восьмиядерного универсального микропроцессора «Эльбрус-8C» // Вопросы радиоэлектроники. — 2016. — № 3 — Сер. ЭВТ. — С. 6–13.
5. Кожин А. С., Кожин Е. С., Костенко В. О., Лавров А. В. Кэш третьего уровня и поддержка когерентности микропроцессора «Эльбрус-4С+» // Вопросы радиоэлектроники. — 2013. — № 3 — Сер. ЭВТ. — С. 26–38.
6. Кожин А. С., Сахин Ю. Х. Коммутация соединений процессорных ядер с общим кэшем третьего уровня микропроцессора «Эльбрус-4С+» // Вопросы радиоэлектроники. — 2013. — № 3 — Сер. ЭВТ. — С. 5–14.
7. Jaleel A., Hasenplaugh W., Qureshi M., Sebot J., Steely Jr S., Emer J. Adaptive Insertion Policies for Managing Shared Caches. Proceedings of the 17th InternationalConference on Parallel Architectures and Compilation Techniques. ACM, 2008, pp. 208–219.
8. Henning J. L. SPEC CPU2006 Benchmark Descriptions. ACM SIGARCH Computer Architecture News. 2006, Vol. 34, № 4, pp. 1–17.
9. Jaleel A. Memory Characterization of Workloads Using Instrumentation-Driven Simulation. Intel Corporation, VSSAD Technical Report, 2007. Available at:http://www.jaleels.org/ajaleel/publications/SPECanalysis.pdf.
Отзывы читателей