Supermicro 製品のBMC固有パスワードについて · 2020-02-08 · 詳細については、Supermicroの営業担当までお問い 合わせください。 Supermicro . から.
Анализ показателей платформы «Эльбрус» · 2018-01-31 · -...
Transcript of Анализ показателей платформы «Эльбрус» · 2018-01-31 · -...
Анализ показателей платформы «Эльбрус»
с учетом переноса приложений и использования доступного
периферийного оборудования
Молчанов И.А.
Логотип предприятия
АО «МЦСТ»
Научные семинары АО «МЦСТ» и ПАО «ИНЭУМ им. И.С. Брука» серии «Исследования и разработки молодых специалистов»
26 января 2018 г.
Требования к комплексам платформы «Эльбрус»
Сложность изделий и требования к ним растут: - 2014: «Сивуч»: аппаратный комплекс
- 2016: «Малахит»: аппаратный комплекс + ОПО + СПО
- 2018: «Доступ»: законченное аппаратно-программное решение СВТ
- >= 2020: «???»: решения (СК, СХД, СОА, ВКС, ...) в стиле «под ключ»
Рынки, область известности и применения тоже расширяются: - ВПК гражданская промышленность, ведомства коммерческие предприятия частный потребитель
- Специализированная и научная литература общедоступные ресурсы для специалистов (habrahabr) популярные ресурсы (youtube, имиджборды, форумы, интернет-СМИ)
- Комплексы и системы, исполняемые по ТЗ номенклатура изделий с оценкой потенциального рынка изделия широкого потребления
2/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Импортозамещение
Требования к комплексам платформы «Эльбрус»
Быстродействие
Совместимость
Защищённость
Важные области требований:
3/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Детализация требований
- Типичные задачи (бенчмарки)
- FCP, компилятор, графика, диски
- Платформы-эталоны: IA-32/AMD64, IA-64
4/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Быстродействие
- Доступность оборудования
- Лёгкость переноса приложений
- Программная совместимость - СЗИ НСД, МДЗ, шифраторы (СКЗИ)
- Антивирусы
Совместимость
Защищённость
Эталонные платформы
IA-32, AMD64
5/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
IA-64 (Itanium) Оценка быстродействия
программ пользователей:
возможность импортозамещения
существующих АС, датацентров
на основе платформы AMD64
Оценка архитектурного
быстродействия (VLIW):
поиск «слабых мест» в процессоре
и компиляторе (имеется стенд на основе личного сервера одного из сотрудников на базе Itanium 2)
Популярные синтетические тесты (например, spec2000) не дают полного представления о быстродействии системы у пользователя, поскольку аппаратное обеспечение и опции компиляции часто «подгоняются» под эти тесты. В связи с этим используются задачи заказчиков, свои собственные бенчмарки (например, на основе пакета FCP), а также менее популярные тесты (SIS), либо те, которые завязаны на общие показатели системы и обладают широкими возможностями перебора вариантов (пример – Linpack).
Аппаратная совместимость
- Диски NVMe (СХД)
- SATA/SAS HBA/RAID (СХД)
- Сетевые карты (СОА)
- Infiniband, 10/40GbE (суперкомпьютеры)
- Карты видеозахвата, видеокамеры, звуковые карты (ВКС)
- Видеокарты (графика, расчёты)
- Прочее оборудование (общее назначение)
6/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
http://wiki.lab.sun.mcst.ru/e2kwiki/Поддерживаемое_оборудование
Компилятор
Существующий вариант: edg + бэкенд lcc - Проблемы совместимости по опциям, редкие падения или странное поведение при сборке (итого было создано 42 багрепорта, примерно половина из них решены, часть будет решена только в lcc 1.23)
LLVM + lccrt (в разработке: bug 94860) - Необходим для OpenCL, LLVMPIPE, Node.js (node_chakracore + chakracore + llvm) и других подобных технологий
- Возможность работы с clang без «подкруток» фронтенда – автоматическая совместимость по опциям с clang, llvm-gcc
Дополнительные компоненты - Системы сборки: autotools, cmake, waf, gradle, scons, ninja + meson, ...
- Библиотеки: libc, glib, libstdc++, ...
- Системы зависимостей в дистрибутиве (lcc-libs) «Эльбрус-Д»?
7/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Официально совместимое ПО: - autotools config.guess >= 2015-07-03
- SDL2 >= 2.0.7
- Taisei Project >= 1.1
В перспективе: - DPDK (архитектурный блок)
- LLVM (бэкенд-target)
- ???
NVMe-диски
Kingston SKC1000H/240G
- Аппаратная скорость сравнима с x86
- 1,7 Гб/с чтение, 1,2 Гб/с запись (direct-режим)
- Скорость дискового кэша – узкое место
- Необходима настройка MaxPayload
- Крайне желательна поддержка SPDK (на DPDK)
- Не работает при наличии двух КПИ
- bug 97483, 100150, 100459
8/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
HBA/RAID-контроллеры
IBM M5025 (RAID), LSI 9305-24i (HBA)
- Встроенная в ОС поддержка (megaraid, megasas)
- Работа со стандартными бэкплейнами Supermicro
- Необходимость использования x86-ПО (через rtc)
bug 97483, 100150, 100459
9/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Сетевые карты
Intel I340-T1, Silicom PE2G6, Intel X520-DA2;
Infiniband, 40GbE: Mellanox и др.
- 1 Гбит/с: достигнута скорость 941,35 Мбит/с
- 10 Гбит/с: достигнута скорость 8,81 Гбит/с
- Необходима настройка прерываний и MSI
- Необходимо портирование DPDK (bug 100008) *
- ОКР «Доступ» (2-ИНЭУМ-2016)
- Тесты: ostinato + bridge, netperf + netserver **
- Infiniband, 40GbE: bug 99377
10/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
* запасной вариант – PF-RING **
** в дистрибутив (bug 100190)
Видеокарты
- Radeon <= GCN1: работают (3.14, 4.9)
- Добились быстродействия на уровне x86 (DRI3)
- POLARIS10, POLARIS11: нестабильно (4.9)
- POLARIS12: не работает (4.9 + backport из 4.10)
- iommu + amdgpu: не работает
- nVidia: не работает (вероятно, можно сделать)
- USB: MultiView II – работает, 221S3U – нет
- OpenCL: ограниченно работает
bug 96734, 97058, 97250, 97296, 99084, 99958, ...
11/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Звуковые карты, карты аудиокодеков
SupremeFX (AD1988/AD1989/AD2000);
EMU20k1, CMI8738, ES1938 (PCI); CM106 (USB)
- SupremeFX: позволяет не устанавливать кодек *
- EMU20k1, CM106, ES1938 – работает **
- Аппаратный FM-синтез – работает
- AD1989/AD2000 – не работает (сброс HDA?)
- CMI8738 – не работает (нужен слот 5V?)
- SupremeFX – не работают, если две КПИ
bug 100459, 100490
12/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
* можно разработать 2U-аналог
** часть из этих карт – Low-profile
Прочее аппаратное обеспечение
- USB-хабы, клавиатуры, мыши – работают (мышь Dialog MOP-018U не работала, в современных ядрах проблема не повторяется)
- Принтеры HP LaserJet 1320 PCL 6, Color LaserJet CP5220 – работают через Samba, через прямое подключение – будет проверяться
- Mass Storage: многие флешки, кард-ридеры, телефоны работают, есть сведения о неработоспособности некоторых других флешек. Наблюдались проблемы стыковки USB-хоста КПИ и АПМДЗ-И/Э
- 3G-модемы Huawei E160G, Huawei E3372 (M150-2) – работают *
- WiFi-карты TP-LINK TL-WDN3200, TL-WN822N – работают *
- 4G Wi-Fi Modem YOTA 4G LTE – работает *
- Преобразователь Parallel ATA / Serial ATA Espada FG-BSA2-S1-1IDE-1PBN-NA-CT21 – работает (в обоих направлениях)
- DVB-приёмник HanfTek DV3 T2 * – не работает (определяется, сканирует каналы, но видеопоток пока не получен)
- Ридер SIM-карт на основе ARK3116 – в процессе проверки *
- Программаторы CH314A (режим программатора), Dediprog SF100 **, встроенный в КПИ SPI – работают
- Контроллеры RS-232 на основе PL2303, CH314A (режим последовательного порта), MCS7820/MCS7840 – работают *
- Программатор Dediprog EE100 – не работает (нет ПО под Linux; быть может, можно запустить под бинарным транслятором + wine)
- Встроенный в КПИ I2C в качестве программатора I2C-EEPROM – работает **
- Программатор Terasic USB Blaster – в процессе проверки *
13/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
* необходима сборка дополнительных модулей ядра
** необходима сборка дополнительного ПО
Программное обеспечение
Основные проблемы:
- устаревшие пакеты,
- сложность и неторопливость их добавления в дистрибутив для человека, не знакомого с системой any,
- отсутствие совместимости зависимостей с Debian, *
- малое количество поставляемых модулей ядра и firmware,
- отсутствие важных технологий типа DKMS, *
- организационные проблемы интеграции ядра, дистрибутива и наладки (пример – термодатчики в ОПО ВК «Эльбрус-8.32»),
- отсутствие общедоступного (в том числе и извне) репозитория бинарных пакетов и исходников (deb / deb-src),
- недостаточная конфигурируемость установки ОС, *
- разные проблемы открытия кода и интеграции в upstream *
14/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
* имеется информация о том, что проблема в стадии решения («Эльбрус-Д» и другие работы)
http://wiki.lab.sun.mcst.ru/e2kwiki/Протестированное_программное_обеспечение
Тесты быстродействия
Вычислительная подсистема:
Linpack (bug 96910) - HPL 2.2, библиотека ATLAS (x86_64) или eml (e8c)
- x86_64: Intel Core i5 650, 4 логических ядра, 3200 МГц, 4 ГБ ОЗУ
- e8c: Эльбрус-8С rev.1, КПИ-2 rev.03, 2 канала памяти из 4, 8 физических ядер, 1300 МГц, 32 ГБ ОЗУ
- e8c: 53,78% (67,12 Гфлопс из 124,80 теоретических)
- Intel: 18,41% (18,85 Гфлопс из 102,4 теоретических)
- Планируется проверка на системе из двух Эльбрус-8С rev.2, КПИ-2 rev.05, всеми каналами памяти, 16 физических ядер, 1300 МГц, 64 ГБ ОЗУ
15/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
https://www.youtube.com/watch?v=BGRRsYWXQvY
Тесты быстродействия
Вычислительная подсистема:
bfgminer - bfgminer 5.4.2.7-g9f781b8, ядро poclbm, алгоритм cryptopp
- Эльбрус-8С rev.1 1300 МГц (планируется проверка на rev.2)
- 1,13 Мхэшей/с = 869 мкхэшей/такт (ядро) = 6,95 мхэшей/такт (CPU)
- производительность в рамках стандартных GPCPU (не APU)
- worst-case оценки: сравнение средней производительности Эльбруса-8С с максимальной из таблицы. *
- энергоэффективность 168 кхэшей/Дж: второе место после Phenom II X6 1100T с его 176 кхэшей/Дж. **
16/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
* Таблица: https://en.bitcoin.it/wiki/Non-specialized_hardware_comparison
** Без учёта сборок из нескольких CPU или CPU со встроенными GPU (APU)
Материалы планируются к опубликованию в статье в журнале «Вопросы радиоэлектроники» 2/2018
Тесты быстродействия
Сетевая подсистема: netperf - netperf 2.7.0
- сетевые карты L-E1000 (КПИ-2 rev.03), Intel I340-T1, Silicom PE2G6 (1 Гбит/с), Intel X520-DA2 (10 Гбит/с)
- КПИ даёт просадку скорости на мелких пакетах
- 1 Гбит/с: достигнута скорость 941,35 Мбит/с
- 10 Гбит/с: достигнута скорость 8,81 Гбит/с
- Отвечающая машина: Intel Core i5 650 3200 МГц с такой же сетевой картой
- Необходим разброс прерываний по ядрам и MSI
- Распределение по очередям работает только на уровне IP
- Результаты теста ostinato (ЦСС) не согласуются с тестами netperf (МЦСТ): проблема в ядерном бридже?
- Для высокоскоростной обработки данных требуются библиотеки PF-RING и DPDK
17/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Тесты быстродействия
Компилятор: тесты Adobe
18/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
http://stlab.adobe.com/performance/
- почти во всех случаях Itanium медленнее
- x86 иногда быстрее (18 тестов), иногда медленнее (25 тестов)
- ведутся работы (bug 82279)
- планируется повтор тестов
Тесты быстродействия
Дисковая подсистема:
hdbench - критично оценивать производительность дисковой подсистемы для высокоскоростных устройств (RAID, SSD, NVM Express, ...)
- direct=yes: производительность на Эльбрусе-8С rev.2 и КПИ-2 rev.05 близка к x86 (на NVMe до 1,7 ГБ/с чтение, 1,2 Гб/с запись)
- direct=no: медленная работа дискового кэша (bug 98009)
- для дальнейшего повышения производительности необходима подсистема SPDK (основана на DPDK – после портирования последней)
- в рамках ОКР «Доступ» будут исследованы решения крупных программных и аппаратных СХД (ceph, ZFS, LSI MegaRAID, ...)
19/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Тесты быстродействия
Графическая подсистема (bug 96734):
glmark2 - использована самая мощная из стабильно работающих видеокарт: Radeon R9 280X (AMD TAHITI, GCN1)
- ОС Эльбрус rc31, ядро 3.14.79-13.67, LLVM 3.7.1, DRI3
- Mesa 17.0.7, libdrm 2.4.89, xf86-video-ati 7.10.0, DRM 2.37.0
- GL 2.1, GLSL 1.30 (если не указано иное)
- 1137 на Эльбрус-8С rev.1 + КПИ-2 rev.03 1300 МГц
- 1777-1853 на Эльбрус-8С rev.2 + КПИ-2 rev.05 1300 МГц
- 1802 на Athlon X2 340 1400 МГц (после нормировки – 1674)
- там же: 1853 на GLSL 4.10, 1794 на GL 3.0
20/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Тесты быстродействия
Графическая подсистема (bug 96734):
Taisei Project (benchmark spell) - программное, аппаратное обеспечение такое же
- taisei ver.1.1-493-g677d866 release/debug builds, без LTO
- 1280x960, windowed, no sound, 60 % text quality
- GL 2.1, GLSL 1.30 (если не указано иное)
- 9,35/6,89 FPS на Эльбрус-8С
- 16,85/12,42 FPS на Athlon (после нормировки – 15,65/11,54)
- там же: 16,56/12,90 на GLSL 4.10, 17,13/12,32 на GL 3.0
21/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Тесты быстродействия
Графика + транслятор (bug 98361, 99770): Touhou Project 16 – Hidden Star in Four Seasons
- Tōhō tenkūshō (TH16) 東方天空璋 ~ Hidden Star in Four Seasons ver.1.00a
- Эльбрус-8С, ОС Эльбрус rc31: e8c + rtc + x86 + wine-hq 2.21
- Athlon X2 340, ОС Эльбрус rc29 x86-64 + wine-hq i386 3.0
-1280x960, fullscreen, pulseaudio, DirectX 11
- Реплей K@G LuMC 17/08/13 13:45 / Marisa Autumn / Lunatic
- 35 минут – Эльбрус-8С 1300 МГц (rtc_opt 2.4 r121768)
- 61 минута – Эльбрус-8С 1300 МГц (rtc0_itp 1.1 r121702M)
- 33 минуты – Athlon 3200 МГц
- 36 минут – Athlon 1400 МГц
22/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Средства защиты информации
- Программная среда: elmac (включает дискреционную и мандатную модель, совместимую с другими ОС);
- Аппаратная среда (исполнитель – ООО «Фирма АНКАД») : поддержка аппаратных шифраторов и АПМДЗ*, возможность разработки АПМДЗ-УС (АПМДЗ + модуль удалённого управления);
- Возможна реализация шифрованной системы команд;
- Одна из ключевых частей СЗИ – антивирусы.
23/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Рис.: АПМДЗ из состава ВК «Эльбрус-8.32»
- Общедоступные бинарные вирусы для АПП «Эльбрус» отсутствуют (хотя технически возможны – принцип «неуловимого Джо»)
- К появлению таких вирусов нужно быть готовым (создавать программную инфраструктуру: Dr.Web (rtc), KAV (rtc), Dr.Web (нативный), KAV (нативный), ClamAV + система поддержки)
- Защита на данный момент строится на тезисе о необходимости фильтрации кода для x86 и других платформ на СОА на основе АПП «Эльбрус»: отсутствует возможность заражения самой СОА, возможно использование защищённого режима
- Нет адекватных методов защиты от скриптовых вирусов
- Нет приемлемо работоспособных алгоритмов эвристики
* В тесном сотрудничестве с исполнителем: опыта подобных применений их решений у них было недостаточно
Программная эмуляция и бинарная трансляция
- Бинарная трансляция x86 Linux (rtc) *
- Трансляция ПО Windows (rtc + wine-hq) *
- Полная программная эмуляция
24/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
- Kaspersky Anti-Virus for Linux File Server 8.0
- Touhou Tenkuushou 東方天空璋 ~ Hidden Star in Four Seasons (TH16)
- Windows XP SP3: нативный bochs, эмуляция аппаратуры x86
- DOOM II v.1.666: нативный DOSBox 0.74, эмуляция x86 + DOS
- Touhou Kaikidan 東方怪綺談 ~ Mystic Square (TH05):
нативный X Neko Project II, эмуляция аппаратуры PC-98 + DOS
* Взаимодействие с аппаратурой под rtc:
видеокарта, RAID, pulseaudio – работают, ALSA, OSS – нет (bug 99544)
Выводы
- В качестве платформы для построения систем широкого круга назначений АПП «Эльбрус» имеет значительный потенциал и способна к адекватному импортозамещению платформ на базе архитектур IA-32 и AMD64 (и находится впереди платформ на базе IA-64);
- Ключевые технологические плюсы: бинарная трансляция, поддержка широкого круга оборудования, VLIW-компилятор в среднем более эффективный, чем у IA-64, общее быстродействие на уровне x86 (AMD64) с поправкой на тактовую частоту, выигрыш за счёт показателя «МГц × ядро», энергоэффективность;
- Основные технологические минусы: проблемы совместимости компилятора, низкая тактовая частота ядра (на фоне нежелания многих современных программистов писать распараллеливаемые программы), отсутствие некоторых ключевых технологий (CPU OpenCL, lccrt+LLVM, Node.js, DPDK, SPDK), недостаточное взаимодействие с мировым сообществом разработчиков ПО;
- Существуют труднорешаемые экономические проблемы типа «замкнутый круг» (высокая цена, низкая известность среди сообщества энтузиастов, отсутствие доступности частному потребителю).
25/26 Анализ показателей платформы «Эльбрус» с учетом переноса приложений и использования доступного периферийного оборудования
Логотип предприятия
Спасибо за внимание!