Константин Трушкин
помощник ген. директора по маркетингу, МЦСТ
Вычислительная платформа «Эльбрус» и её практическое применение
12 октября, 10:35
Room II|II зал
Обсудить доклад
Целью доклада является знакомство широкого круга прикладных разработчиков с возможностями отечественной вычислительной платформы «Эльбрус».
В последние годы по новостям в прессе можно наблюдать бурное развитие российских вычислительных платформ, в особенности платформы «Эльбрус». Заказчики, особенно из госсектора, начинают интересоваться российской вычислительной техникой. Однако подробной технической и практической информации, позволяющей оценить применимость платформы «Эльбрус» в проектах, явно недостаточно. Что имеется из ПО, из средств разработки, какие аппаратные конфигурации доступны и проверены, и в целом – что ожидает тех смельчаков, которые возьмутся за реальное внедрение «Эльбрусов»?
В докладе будет разобрано текущее состояние аппаратной платформы, базовой системы программирования (оптимизирующий компилятор lcc разработчиками «Эльбруса» рассматривается по сути как часть платформы), средств разработки более высокого уровня и уже портированных стеков программного обеспечения. Будет рассказано, каков выбор ОС для платформы «Эльбрус» (основанных на Linux и других); каковы результаты применения наиболее значимых программных пакетов.
Конечно, как у многих новых платформ, имеются потенциальные сложности — недостаточная физическая доступность аппаратуры и её эмуляторов; специфика компилятора (впрочем, не слишком отличающаяся от таковой icc или clang); недоступность ряда привычных ОС (Windows/OSX/iOS в нативных кодах, Android), программных стеков (.NET, Go, Rust) и средств (Docker, Valgrind); наконец, непривычная архитектура процессора – VLIW – и как следствие иная организация исходного кода, предпочтительная для достижения высокой производительности. Однако против каждой такой сложности есть рецепт преодоления или рекомендуемый альтернативный подход.
Тем, кто готов самостоятельно собирать пакеты из исходных кодов, можно предложить варианты сред сборки и рекомендации по портированию архитектурнозависимых фрагментов кода. А если исходники недоступны либо нет соответствующего компилятора (как в случае go), тоже есть выход: на платформе «Эльбрус» есть замечательный инструмент – оптимизирующий двоичный транслятор. Он позволяет запустить на «Эльбрусе» двоичные коды в системе команд х86/х86-64: целиком гостевую операционную систему или userspace-стек в среде Linux.
Комбинируя эти инструменты и рекомендации, можно строить крупномасштабные проекты: имеется пример полнофункционального ЦОД, целиком построенного на платформе «Эльбрус».
Кроме обзора текущего состояния будет рассказ и о планах по развитию программной и аппаратной составляющих вычислительной платформы «Эльбрус».