Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ликбез по Эльбрусу 
Состояние продуктовой линейки на сегодня, 
ключевые особенности архитектуры Эльбрус, 
производительнос...
Что делает МЦСТ 
 Исследования в области архитектуры 
микропроцессоров 
 Разработка микропроцессоров (архитектура, 
вери...
Что сделано на сегодня 
 Архитектурные разработки 
 Архитектура Эльбрус 
 Процессоры SPARC 3-х поколений 
 МЦСТ-R1000:...
МЦСТ R1000 
 Тактовая частота – 1000 МГц 
 4 ядра SPARC V9 
2 MB L2$ 
1 канал DDR2-800 
 3 межпроцессорных канала (2 ...
Эльбрус - 2C+  Тактовая частота – 500 МГц 
 2 ядра «Эльбрус», 
2 * 1 MB L2$ 
2 канала DDR2-800 
 4 ядра DSP 
 3 межп...
Процессор прошёл 
испытания в марте 
2014 года 
 Тактовая частота 800 МГц, 4 ядра 
 L2$ 8 МБ 
 3 канала DDR3-1600 
 3 ...
 Тактовая частота – 250 МГц КПИ 
 Дуплексный канал I/O-link (4 ГБ/с). 
 Интерфейсы 
 PCI Express 1.0a x8 
 PCI 2.3 (3...
Многопроцессорность 
 Объединение до 4 
процессоров на общей 
памяти через когерентные 
межпроцессорные каналы 
без привл...
Программное обеспечение 
 Операционная система на базе ядра Linux (2.6.33 – 
3.10) 
 Улучшенный real-time 
 Сертификаци...
Структура м/п Эльбрус
Асинхронная предподкачка 
Устройство асинхронной 
подкачки данных (AAU) 
Асинхронная 
программа 
Кэш 2-го уровня 
(L2$) 
О...
Конвейеризованные циклы 
prologue 
counter 
epilogue 
counter 
… 
loop counter 
iteration 
stage 
time 
stage of stores 
s...
Подготовленные переходы 
 3 дополнительных конвейера 
(фронт-энды), работающие 
параллельно с основным 
конвейером 
 Пер...
Пиковая производительность 
лин.уч. циклы 
Int (8) / FP (9) / St (2) / Ld (4) - 10 + + 
Обработка предикатов - 3 + + 
Пере...
Компиляторы 
 C/C++ 
 ISO/IEC 14882:2003 C++ 
 ISO/IEC 9899:1999 С 
 Поддежка GNU расширений - gcc 4.4 
 Fortran 77, ...
Компилятор С/С++ 
 Более 300 оптимизаций: локальные, межмодульные, 
глобальные 
 Анализ и разрыв зависимостей (dam, rtmd...
Сглаживание по 7 точкам – 
простой алгоритм
Сглаживание по 7 точкам – 
простой алгоритм
Сглаживание по 7 точкам – 
оптимизированный алгоритм
Сглаживание по 7 точкам – 
оптимизированный алгоритм
Сводная таблица результатов 
Intel(R) Core(TM) 
i5 CPU 650 
Эльбрус-2С+ Отношение 
Частота 3.20 ГГц 500 МГЦ 6.4 
Простой 
...
SPEC CPU2000 INT 
SPEC CPU 2000 Int (peak) 
2000 
1800 
1600 
1400 
1200 
1000 
800 
600 
400 
200 
0 
164.gzip 175.vpr 17...
SPEC CPU2000 FP 
SPEC CPU 2000 FP (peak) 
4000 
3500 
3000 
2500 
2000 
1500 
1000 
500 
0 
4982 11251 5406 18001 
168.w u...
Библиотеки для HPC 
EML – более 1000 функций 
Векторные вычисления 
Линейная алгебра 
Обработка сигналов 
Обработка и...
Плата «Монокуб» 
 Процессор Эльбрус-2С+, 500 МГц 
 Два канала DDR2-800 
 PCI-Express x 16 (разведено x8) 
 8 * USB 2.0...
 Процессор Эльбрус-4С, 800 МГц 
 Три канала DDR3-1600 
 PCI-Express x 16 (разведено x8) 
 Два слота PCI 
 8 * USB 2.0...
Стоечный сервер 3U 
Сервер на базе процессоров Эльбрус-4С 
 4 процессора Эльбрус-4С (4 ядра, 800 МГц), 2 моста КПИ 
 Опе...
Стоечный сервер 1U 
 4 процессора Эльбрус-4С 
 12 модулей памяти DDR3 
 2 южных моста КПИ 
 2 х Gigabit Ethernet 
 2x...
2015: Эльбрус-8С 
 1.3…1.5 ГГц, 8 ядер 
 До 25 операций в такт 
 L2$ 8*512КБ, L3$ 16 МБ 
 4 канала DDR3-1600 
 3 межп...
2015: КПИ-2 
 IO-Link v.2 (2 * 8 ГБ/с) 
 PCI Express 2.0 x20 
 3 * Gigabit Ethernet 
 8 * SATA 3.0 
 8 * USB 2.0 
 3...
2015: Эльбрус-1С+ 
 1 ГГц, 1 ядро 
 До 25 операций в такт 
 L2$ 2МБ 
 2 канала DDR3-1600 
 Встроенное 2D/3D 
видеоядр...
Доверенная платформа Эльбрус 
Hardware 
BIOS 
OS 
Application 
Application 
Application 
√ 
√ 
√ 
√ 
Описание аппаратуры -...
Ошибки и уязвимости 
Распределение уязвимостей АСУ ТП по типам 
Отчёт «Безопасность промышленных 
систем в цифрах v2.1», P...
«Защищённый режим» исполнения 
«Защищённый режим» процессора Эльбрус аппаратно 
контролирует run-time ошибки программы в р...
«Защищённый режим» исполнения 
разм. | смещ. | адрес 
Теги данных 
дескриптор массива 
числовое значение 
неинициализирова...
Защищённые вычисления: проблемы 
 В существующих программах массово используются непереносимые 
приёмы программирования, ...
СПАСИБО ЗА 
ВНИМАНИЕ! 
Константин Трушкин 
тел.+7 (499) 135-0593 
E-mail: trushkin_k@mcst.ru 
ЗАО МЦСТ 
тел.+7 (495) 363-9...
Upcoming SlideShare
Loading in …5
×

Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)

2,620 views

Published on

Доклад Константина Трушкина на HighLoad++ 2014.

Published in: Internet
  • Be the first to comment

Ликбез по Эльбрусу, Константин Трушкин (МЦСТ)

  1. 1. Ликбез по Эльбрусу Состояние продуктовой линейки на сегодня, ключевые особенности архитектуры Эльбрус, производительность, планы на будущее Константин Трушкин, ЗАО МЦСТ
  2. 2. Что делает МЦСТ  Исследования в области архитектуры микропроцессоров  Разработка микропроцессоров (архитектура, верификация, физическое проектирование)  Разработка вычислительных комплексов  Разработка оптимизирующих и бинарных компиляторов  Разработка операционных систем
  3. 3. Что сделано на сегодня  Архитектурные разработки  Архитектура Эльбрус  Процессоры SPARC 3-х поколений  МЦСТ-R1000: 1ГГц, 4 ядра SPARC V9  Процессоры Эльбрус 4-х поколений  Эльбрус-2С+, 500 МГц, 2 ядра «Эльбрус» + 4 ядра DSP, 90 нм  Эльбрус-4С, 800 МГц, 4 ядра «Эльбрус», 65 нм  Южный мост КПИ
  4. 4. МЦСТ R1000  Тактовая частота – 1000 МГц  4 ядра SPARC V9 2 MB L2$ 1 канал DDR2-800  3 межпроцессорных канала (2 * 2 ГБ/с)  1 канал I/O (2 * 1 ГБ/с).  Суммарная производительность 4-х ядер: 8/16 Gflops (FP64/FP32)  Количество транзисторов – 180 млн  Рассеиваемая мощность – 15 Вт  Технология – 90 нм, 10 слоев металла  Площадь кристалла - 128 мм2
  5. 5. Эльбрус - 2C+  Тактовая частота – 500 МГц  2 ядра «Эльбрус», 2 * 1 MB L2$ 2 канала DDR2-800  4 ядра DSP  3 межпроцессорных канала (2 * 2 ГБ/с)  2 канала I/O (2 * 1 ГБ/с).  Суммарная производительность: 2-х ядер «Эльбрус» - 8/16 Gflops (FP64/FP32) 4-х ядер DSP - 12 Gflops (FP32)  Количество транзисторов – 368 млн  Рассеиваемая мощность – 25 Вт  Технология – 90 нм, 9 слоев металла  Площадь кристалла - 289 мм2
  6. 6. Процессор прошёл испытания в марте 2014 года  Тактовая частота 800 МГц, 4 ядра  L2$ 8 МБ  3 канала DDR3-1600  3 межпроцессорных канала (по 12 ГБ/с) До 4 процессоров в системе  1 канал IO-link (4 ГБ/с)  Улучшения в микроархитектуре  Поддержка многопоточной двоичной трансляции x86-64  Улучшенная поддержка многопроцессорности  Средства энергосбережения  380 мм2, 968 млн транзисторов  65 нм, среднее энергопотребление 45 Вт Эльбрус-4С
  7. 7.  Тактовая частота – 250 МГц КПИ  Дуплексный канал I/O-link (4 ГБ/с).  Интерфейсы  PCI Express 1.0a x8  PCI 2.3 (33/66 МГц, 32/64 бит)  Gigabit Ethernet,  4 * SATA 2.0,  2 * USB 2.0  RS 232/485, IEEE1284, Audio, SPI, I2C, GPIO  Количество транзисторов – 30 млн  Рассеиваемая мощность – 5 Вт  Технология – 130 нм, 9 слоев металла  Размер кристалла – 112 мм2
  8. 8. Многопроцессорность  Объединение до 4 процессоров на общей памяти через когерентные межпроцессорные каналы без привлечения дополнительной аппаратуры  Связь «каждый с каждым» минимизирует задержки обращения к памяти в соседних узлах  Возможность добавления в систему дополнительных Структура: cache-coherent NUMA «южных мостов»
  9. 9. Программное обеспечение  Операционная система на базе ядра Linux (2.6.33 – 3.10)  Улучшенный real-time  Сертификация (2й класс НСД, 2й класс НДВ)  Инструменты разработчика  Оптимизирующие компиляторы (C, C++, Fortran)  Отладчик, профилировщик, binutils  Пользовательское ПО  Дистрибутив, близкий к Debian  Firefox, LibreOffice, Gimp, Postgresql, Apache, …  Бинарный компилятор x86->Elbrus (системы, приложений)
  10. 10. Структура м/п Эльбрус
  11. 11. Асинхронная предподкачка Устройство асинхронной подкачки данных (AAU) Асинхронная программа Кэш 2-го уровня (L2$) Оперативная память Арифметико-логические устройства (ALU) Регистровый файл (RF) Основная программа Буфер предварит. подкачки данных (APB) данные асинхронные данные адреса Вычисляет адреса Подкачивает данные Управляет синхронной подкачкой данных
  12. 12. Конвейеризованные циклы prologue counter epilogue counter … loop counter iteration stage time stage of stores stage of loads stores disabled loads disabled  Переименование регистров в цикле  Поддержка пролога и эпилога  Спекулятивные вычисления и предикаты
  13. 13. Подготовленные переходы  3 дополнительных конвейера (фронт-энды), работающие параллельно с основным конвейером  Переключение на дополнительный конвейер по условию без потери тактов  Отсутствуют ошибки предсказателя переходов Main pipeline 256 I$ CT condition D S CT Preparation pipelines B CTP main target x 3
  14. 14. Пиковая производительность лин.уч. циклы Int (8) / FP (9) / St (2) / Ld (4) - 10 + + Обработка предикатов - 3 + + Передача управления - 1 + + Загрузка литерала 32/64 - 4/2 + Асинхронная загрузка в РФ - 4 + Адресная арифметика - 4 + Обработка счетчика цикла - 1 + ---------------------------------------------------------------------------------------- Всего: 18/16 23
  15. 15. Компиляторы  C/C++  ISO/IEC 14882:2003 C++  ISO/IEC 9899:1999 С  Поддежка GNU расширений - gcc 4.4  Fortran 77, 90  Java-машина – OpenJDK 6 (в разработке)  «Компилятор приложений» для х86- совместимых бинарных файлов (Linux)
  16. 16. Компилятор С/С++  Более 300 оптимизаций: локальные, межмодульные, глобальные  Анализ и разрыв зависимостей (dam, rtmd, srtmd)  Цикловые оптимизации (unroll, fuse, loop2scalar, interchange, unswitching, конвейеризация и накрутка, splitting, …)  Преобразование условий (if-conversion)  Оптимизация расположения массивов в памяти  Программный префетч, использование аппаратного буфера предзагрузки  ...  Векторизация (на линейных участках, цикловая, в т.ч. для циклов с рекуррентностями)  Автоматическое распараллеливание (на общей памяти)  Поддержка OpenMP 3.0
  17. 17. Сглаживание по 7 точкам – простой алгоритм
  18. 18. Сглаживание по 7 точкам – простой алгоритм
  19. 19. Сглаживание по 7 точкам – оптимизированный алгоритм
  20. 20. Сглаживание по 7 точкам – оптимизированный алгоритм
  21. 21. Сводная таблица результатов Intel(R) Core(TM) i5 CPU 650 Эльбрус-2С+ Отношение Частота 3.20 ГГц 500 МГЦ 6.4 Простой алгоритм 3016ms 7356ms 2.4 Оптимизирован ный алгоритм 2551ms 4666ms 1.8 Компилятор gcc 4.6 x86-64 lcc, вер. 18
  22. 22. SPEC CPU2000 INT SPEC CPU 2000 Int (peak) 2000 1800 1600 1400 1200 1000 800 600 400 200 0 164.gzip 175.vpr 176.gcc 181.mcf 186.craf ty 197.parser 252.eon 253.perlbmk 254.gap 255.vortex 256.bzip2 300.tw olf Геом.ср. Atom D510/1660 МГц МЦСТ R1000/1000 МГц Эльбрус-2С+/500 МГц Pentium-M/1000 МГц Эльбрус-4С+/800 МГц (прогноз)
  23. 23. SPEC CPU2000 FP SPEC CPU 2000 FP (peak) 4000 3500 3000 2500 2000 1500 1000 500 0 4982 11251 5406 18001 168.w upw ise 171.sw im 172.mgrid 173.applu 177.mesa 179.art 183.equake 188.ammp 200.sixtrack 301.apsi Геом.ср. Atom D510/1660 МГц МЦСТ R1000/1000 МГц Эльбрус-2С+/500 МГц Core2Duo E6300/1860 МГц Эльбрус-4С+/800 МГц (прогноз)
  24. 24. Библиотеки для HPC EML – более 1000 функций Векторные вычисления Линейная алгебра Обработка сигналов Обработка изображений MPI (MPICH2-1.1.1)
  25. 25. Плата «Монокуб»  Процессор Эльбрус-2С+, 500 МГц  Два канала DDR2-800  PCI-Express x 16 (разведено x8)  8 * USB 2.0, 4 * SATA 2.0,  VGA + DVI на базе SM718  Gigabit Ethernet, RS-232, Audio, CF  miniITX (170mm x 170mm) ВК Монокуб-РС
  26. 26.  Процессор Эльбрус-4С, 800 МГц  Три канала DDR3-1600  PCI-Express x 16 (разведено x8)  Два слота PCI  8 * USB 2.0, 4 * SATA 2.0 (один – mSATA диск)  VGA + DVI на основе SM718  Gigabit Ethernet, 2*RS-232, Audio, CF  microATX АРМ Эльбрус-4С
  27. 27. Стоечный сервер 3U Сервер на базе процессоров Эльбрус-4С  4 процессора Эльбрус-4С (4 ядра, 800 МГц), 2 моста КПИ  Оперативная память: 24 модуля DIMM DDR3  Интерфейсы: SATA 2.0 – 8 каналов, Gigabit Ethernet – 2 канала, PCI Express 1.0 x8 – 2 слота, PCI – 2 слота  Высота корпуса 3U / 2 U, в перспективе – 1 U
  28. 28. Стоечный сервер 1U  4 процессора Эльбрус-4С  12 модулей памяти DDR3  2 южных моста КПИ  2 х Gigabit Ethernet  2x слот PCI Express x 8  8 каналов SATA 2.0  Слот расширения с 2 линками ввода-вывода для спец. карт
  29. 29. 2015: Эльбрус-8С  1.3…1.5 ГГц, 8 ядер  До 25 операций в такт  L2$ 8*512КБ, L3$ 16 МБ  4 канала DDR3-1600  3 межпроцессорных канала  1 канал IO-link v.2 (2 * 8 ГБ/с)
  30. 30. 2015: КПИ-2  IO-Link v.2 (2 * 8 ГБ/с)  PCI Express 2.0 x20  3 * Gigabit Ethernet  8 * SATA 3.0  8 * USB 2.0  32 * GPIO  ...  65 нм, макс. 15 Вт
  31. 31. 2015: Эльбрус-1С+  1 ГГц, 1 ядро  До 25 операций в такт  L2$ 2МБ  2 канала DDR3-1600  Встроенное 2D/3D видеоядро  1 канал IO-link v.2 (2 * 8 ГБ/с) Эльбрус-1С+
  32. 32. Доверенная платформа Эльбрус Hardware BIOS OS Application Application Application √ √ √ √ Описание аппаратуры - в виде RTL(Verilog), поддержка от разработчиков Средства разработки и BIOS предоставляются в исх. кодах √
  33. 33. Ошибки и уязвимости Распределение уязвимостей АСУ ТП по типам Отчёт «Безопасность промышленных систем в цифрах v2.1», Positive Technologies, 2012 В архитектуре Эльбрус стек вызовов защищён аппаратно.
  34. 34. «Защищённый режим» исполнения «Защищённый режим» процессора Эльбрус аппаратно контролирует run-time ошибки программы в работе с памятью и гарантирует целостность указателей Аппаратно контролируются ошибки:  Обращение за границы объекта (массива)  Обращение по «зависшему» указателю (dangling pointer)  Чтение неинициализированных данных  Pointer forging Замедление работы программ – около 20%
  35. 35. «Защищённый режим» исполнения разм. | смещ. | адрес Теги данных дескриптор массива числовое значение неинициализированные данные 3.14 4096 разм. | смещ. | адрес public | private | t | адрес разм. | смещ. | адрес 25 31 разм. | смещ. | адрес дескриптор массива массив, область стека адрес смещение Массив, область стека размер дескриптор массива адрес разм.
  36. 36. Защищённые вычисления: проблемы  В существующих программах массово используются непереносимые приёмы программирования, не регламентированные стандартом языка  В существующих программах много скрытых ошибок  Высокая скорость изменения базы кодов Open Source  Нет чёткого спроса на перенос в «защищённый режим» какой-либо конкретной подсистемы  Отсутствие нормативной базы, регламентирующей преимущества от использования средств runtime отладки Требуется масштабная программа рефакторинга ПО для исправления ошибок и перевода в «защищённый режим»
  37. 37. СПАСИБО ЗА ВНИМАНИЕ! Константин Трушкин тел.+7 (499) 135-0593 E-mail: trushkin_k@mcst.ru ЗАО МЦСТ тел.+7 (495) 363-9665 Факс +7 (495) 363-9599 E-mail: mcst@mcst.ru www.mcst.ru

×