В российской компании «Эльбрус Технологии» разрабатывают технологию, которая позволит без перекомпиляции переносить программное обеспечение для платформы x86 на серверы с процессорами архитектуры ARM.
Благодаря своей экономичности процессоры ARM применяются сегодня в большинстве смартфонов и планшетов, а также в широком круге встроенных систем. Ожидается также, что чипы ARM в ближайшие несколько лет начнут пользоваться популярностью на серверном рынке, где сейчас господствуют процессоры x86. О планах по созданию маломощных серверов на процессорах ARM уже объявили, в частности, компании HP и Dell.
Процессоры Intel могут потреблять на порядок больше мощности, чем чипы ARM, а в крупных центрах обработки данных расходы на электроэнергию составляют половину общих операционных затрат, полагает Анатолий Конухов, директор по развитию бизнеса «Эльбрус Технологий».
Поэтому, по его мнению, для многих операторов ЦОД имеет смысл рассмотреть идею перехода на ARM-серверы в будущем. Однако существует серьезное препятствие — многие приложения для процессоров x86, особенно проприетарные с закрытым кодом, на чипах ARM работать не смогут.
В «Эльбрусе» пытаются решить эту проблему с помощью программной системы трансляции двоичного кода x86 в ARM, которая позволит без изменений исполнять на ARM-серверах приложения, скомпилированные для x86-архитектуры.
Программная эмуляция будет выполняться прозрачно для пользователя, обещает Конухов. Эмулятор автоматически определит, когда запускаемое приложение написано в кодах x86, и выполнит трансляцию.
Теоретически технология не зависит от платформы, но на данный момент в компании ориентируются на поддержку Linux-серверов и ПО для них. В перспективе планируется реализовать и поддержку Windows.
Проект был начат весной этого года, а готовность к бета-тестированию запланирована на середину следующего. Конечный продукт предполагается выпустить в конце 2013-го — начале 2014 года.
«На данный момент в эмуляторе уже реализовано 50-60% функциональности процессоров Intel, — утверждает Конухов. — Это весь базовый набор инструкций x86».
В компании также работают над реализацией поддержки расширений Streaming SIMD Extensions (SSE) и MMX. В результате, по словам Конухова, на платформе ARM можно будет запускать x86-приложения с мультимедиафункциональностью.
На сегодня быстродействие транслированного кода составляет 45% нативного. Конечная цель — выйти на уровень не меньше 80%, но к первой рабочей версии продукта добиться этого, скорее всего, еще не получится.
«По нашим прогнозам, скорость будет ниже, и этому есть хорошее оправдание, — заявляет Конухов. — Мы обсудили проблему с партнерами, и выяснилось, что они больше заинтересованы в полноте функциональности и стабильности работы эмулятора, чем в быстродействии. От нас хотят работоспособную и стабильную систему, а не быструю».
Работа над повышением быстродействия начнется после выхода первой версии продукта.
Специалисты компании вместе с партнерами и потенциальными заказчиками выбрали приложения, для которых в первую очередь следует оптимизировать двоичный транслятор. В «Эльбрусе» не называют приложений, но сообщают, что это системы для финансовой отрасли и здравоохранения.