Серверы новой волны
Автор: Яков Шпунт
Intelligent Enterprise №3 (249), март 2013 года
В прошлом году на рынок начали выходить серверы на архитектуре ARM. Причем процесс этот не сопровождался ни особым шумом в профильной прессе, ни активным обсуждением в сообществе ИТ-специалистов. Зачастую такие модели просто отсутствовали в каталогах вендоров, хотя некоторые избранные заказчики все же их получали, и даже в немалых количествах.
Однако уже в скором времени ситуация может радикально измениться. Нельзя исключать, что серверы на процессорах ARM, x86 и некоторых других архитектур вступят в непосредственное конкурентное столкновение, которое может довольно серьезно повлиять на весь рынок. Ну а столь нетипичный подход к выходу на рынок связан с тем, что требуется устранить ряд узких мест и слишком раннее начало массовых продаж объективно незрелого продукта может иметь фатальные последствия, в чем, естественно, никто не заинтересован. Впрочем, об этом ниже.
Долгий путь к серверу
В принципе архитектура ARM существует уже довольно давно. Даже более того, это один из самых первых массовых процессоров на RISC-архитектуре. Первый образец был выпущен в 1985 году, одновременно с i80386 и существенно раньше, чем такие популярные в свое время архитектуры, как DEC Alpha, HP PA-RISC, IBM POWER, Sun SPARC. Первоначально процессоры эти были предназначены для проекта Acorn Archimedes — настольной системы с графическим интерфейсом пользователя, ориентированной главным образом на сферу образования и всё, что связано с созданием мультимедийного контента. Но данная платформа не имела значительного успеха и просуществовала лишь до середины 90-х, хотя все же внесла определенный вклад в развитие индустрии. Например, один из наиболее популярных графических редакторов для этой платформы Xara, существующий до сих пор, оказал очень большое влияние на свой сегмент.
ARM был простым, недорогим и при этом вполне производительным для своего времени чипом. Хотя побочным эффектом простоты стала очень высокая энергоэффективность. На эту архитектуру обратили внимание многие компании, которые стремились выйти на рынок ультрамобильных систем, сетевого оборудования и всяческого рода контроллеров. Так что уже в начале 90-х главным источником дохода компании ARM были лицензионные отчисления от непосредственных производителей процессоров на данной архитектуре.
Первым устройством на архитектуре ARM от сторонних производителей стал Apple Newton, один из первых массовых карманных компьютеров. К концу 90-х ARM доминировала на рынке ультрамобильных систем. Тогда же процессоры ARM получили активное применение в сетевом оборудовании низшего и среднего уровня. Начало было положено Ethernet-контроллерами компаний DEC и Intel, которые приобретатели лицензии на ARM. Однако только этим дело не ограничивалось, и данные процессоры стали использовать для создания коммутаторов, маршрутизаторов, xDSL-модемов, межсетевых экранов, прокси- и принт-серверов и другого оборудования.
В середине 2000 годов ARM была применена при разработке систем хранения данных (СХД) начального уровня, ориентированных на потребительский рынок и средний и малый бизнес. Это позволило создать системы, не нуждающиеся в активном охлаждении, а значит, практически бесшумные, что стало важным преимуществом для некоторых категорий потенциальных заказчиков. До создания полноценного сервера оставался только шаг, сделать который довольно долгое время мешали кризис и его последствия. Повлияло и то, что целый ряд компаний, в частности Intel и AMD, продали свои подразделения, занятые выпуском чипов на ARM. Это было связано и с тем, что рынок ультрамобильных устройств переживал довольно серьезную перестройку. В итоге чипы, ориентированные на классические карманные компьютеры, которые тогда быстро «вымирали», оказывались все менее и менее востребованными.
И только в 2010 году ряд компаний начал эксперименты с серверными фермами, построенными на базе ARM. Среди них были Canonical (разработчик популярного дистрибутива Ubuntu Linux) и Dell, несколько позже сюда присоединилась и Hewlett-Packard. Но на протяжении двух лет эти изыскания не были предметом широкой гласности. Возможно, потому, что данные серверы не предназначались для массового рынка и ориентировались на сугубо нишевые задачи. Более серьезному применению мешали невысокая производительность и ограничения устаревающей 32-разрядной архитектуры имевшихся тогда чипов. Однако с выходом на рынок 64-битных процессоров, точнее, однокристальных систем на архитектуре ARM разработка серверов на этой платформе заметно активизировалась. Тем более, что ситуация со спросом на такие серверы, что называется, повернулась к ним лицом, когда преимущества оказались востребованными, в то время как недостатки были незначительны. И эти достоинства имеет смысл разобрать подробнее.
Достоинства и преимущества
Как уже было сказано выше, процессоры ARM просты. А это влечет очень много крайне полезных следствий. Прежде всего — дешевизну. Цена системы, которую вполне можно использовать в качестве Web-сервера, начинается от 25 долларов. Конечно, оборудование от солидной компании будет существенно дороже, но все равно стоимость его заметно ниже, чем у традиционного сервера на x86 даже в более скромной комплектации. Особенно если речь идет о поставках большими партиями. При этом надо учесть, что крупные компании поставляют серверные фермы, включающие до нескольких десятков систем — не только серверов как таковых, но и СХД, сетевых коммутаторов и другого оборудования.
Ещё одним достоинством являются компактные размеры. Нынешняя система на базе ARM представляет собой не просто один процессор — речь идет о полноценной платформе, включающей видео, устройство ввода-вывода, системную обвязку, одним словом, практически всё, кроме модулей памяти и накопителей. В итоге полноценный серверный модуль легко упаковать в корпус размером крупнее спичечной коробки, но меньше колоды карт. То есть на место, которое занимает один сервер-лезвие на базе x86 или другой традиционной архитектуры, можно установить целую ферму из дюжины серверов на ARM. Учитывая, что место в ЦОДе является довольно дорогим ресурсом, преимущество налицо.
Как уже было сказано выше, архитектуру ARM всегда отличала высокая энергоэффективность. Это также многого стоит, поскольку электроэнергия, необходимая для работы оборудования, отнюдь не дешевеет, да и выделение необходимых мощностей — задача не всегда простая, особенно в крупных городах. Кроме того, электроэнергия нужна и для отвода тепла, что также является очень непростой задачей. А процессоры ARM часто обходятся пассивным охлаждением, не нуждаясь даже в вентиляторах, не говоря уже о системах кондиционирования. Это относится даже к последним моделям 64-разрядных процессоров, работающим на высоких тактовых частотах. Худший показатель максимального тепловыделения у ARM-процессоров не превышает 2 Вт. Это в десятки раз ниже, чем у массовых серверных чипов. Если же брать во внимание всю платформу целиком, то разница составит и вовсе два порядка. Напомню, что здесь сравнивается худший образец платформы ARM со средним на других платформах.
Проблемы и недостатки
К сожалению, слабых мест у систем на базе ARM тоже хватает. Наиболее существенное из них — невысокая производительность. Лучший из массовых современных четырехъядерных процессоров на архитектуре ARM, если верить синтетическим тестам, в несколько раз уступает среднему серверному Intel Xeon или AMD Opteron. На новейших 64-разрядных чипах этот разрыв заметно сокращается, но не исчезает совсем.
Ещё одна серьезная проблема — ограниченный выбор ПО. Из массовых операционных систем имеются только Linux, xBSD и OpenSolaris. Выбор прикладного ПО также довольно скромен. Причем даже из того, что существует для поддерживаемых программных платформ, далеко не всё портировано на архитектуру ARM. Сейчас ситуация меняется к лучшему, но не так быстро, как хотелось бы. Например, насколько нам известно, до сих пор пока не существует массового ПО для автоматизации бизнес-процессов, которое работало бы на архитектуре ARM.
Другой проблемой является раздробленность архитектуры. Процессоры на базе ARM производит довольно большое количество компаний. Причем каждая из них вносила что-то свое, в итоге возникают проблемы с переносом кода. Даже более того, нет никакой гарантии, что код для одной микроархитектуры будет работать на другой, а если он и заработает, то с низкой производительностью. Это уже имеет место в секторе мобильных платформ, что вносит значительную путаницу и создает известные неудобства. Вспомним, например, какие сложности с воспроизведением видео испытывали системы с одной из первой версий nVidia Tegra. Данное обстоятельство может затруднить портирование ПО и создавать разного рода проблемы с совместимостью между платформами от разных производителей. Впрочем, вполне возможно, что производители 64-разрядных платформ лучше согласуют стандарты и такая проблема стоять не будет.
Возможные ниши для использования
Тем не менее ниш, где востребованы достоинства и не являются критичными недостатки серверов на архитектуре ARM, довольно много уже сейчас. Как отметил вице-президент ARM Саймон Сегарс, природа серверов в последнее время изменилась. Теперь основной акцент делается на задачах, не требующих большой вычислительной мощности, но нуждающихся в параллелизме и частых обращениях к данным.
Для таких задач востребованы прежде всего интернет-серверы — Web, FTP, почтовые. Так что тут серверы на ARM подходят как нельзя лучше. Тем более, что на таких задачах, как показали тесты ApacheBench, даже массовые ARM-системы ни в чем не уступают Intel Xeon или AMD Opteron по производительности. На руку ARM-серверам играет также желание китайских интернет-компаний снизить свою зависимость от альянса Wintel. Заинтересованы в них и крупнейшие социальные сети, поисковые системы, поставщики облачных услуг. Затраты на электроэнергию занимают значительную долю в общем объеме их издержек, и переход на более энергоэффективную архитектуру позволит их существенно снизить без ущерба для основной деятельности. И процесс этого перехода по большому счету уже начался.
Перспективной нишей видится и такой сегмент, как высокопроизводительные вычисления. Да, один ARM-чип может уступать одному чипу на x86 или другой массовой архитектуре. Но в одну единицу объема можно поместить существенно больше ARM-ядер, и в итоге картина кардинально меняется. Многообещающий проект Barcelona компании nVidia базируется как раз на процессорах Tegra, которые, в свою очередь, основаны на ядре ARM. Да и по вычислительной мощности на целом спектре задач ARM ни в чем не уступает лучшим образцам массовых серверных процессоров.
Никуда не исчезнут и уже ставшие традиционными для ARM ниши, как сетевое оборудование, принт-серверы, малые СХД и файловые серверы. Тут с ARM и СПО как основой для программных платформ конкурировать довольно сложно, учитывая их стоимость и то, что в такого рода системах просто нечему ломаться.
Тем не менее конкуренты у процессоров ARM есть. И наиболее значительным из них можно считать Intel Atom, которых уже накоплены большие запасы, связанные с падением интереса к нетбукам и особенно неттопам. И это серьезно, поскольку ARM-платформы в достаточном количестве появятся только в 2014 году. Другим важным достоинством Atom является то, что на этой платформе работает всё, что есть для x86, в итоге проблемы с отсутствием необходимого ПО не возникают. Да, Atom заметно уступает по энергоэффективности, но зато это, что называется, синица в руках. Так что ситуация на рынке складывается очень интересная, и за ней нужно следить.
ARM-серверы ждет большое будущее
Владимир Шибанов,
генеральный директор ПК «Аквариус»
Согласен с автором практически во всём, кроме мысли про Intel Atom: единственное его преимущество по сравнению с ARM-процессорами — это поддержка стандартной x86-архитектуры. По производительности последние модели ARM, такие как Cortex-A57 и Cortex-A53, превосходят серверные «атомы», к тому же они профилированы для создания «ARM-ферм». По моему мнению, ARM-системы составят значительную конкуренцию стандартным серверам архитектуры х86 в сегментах Web-, FTP- и почтовых серверов, а также серверов «повышенной плотности» (Supermicro Twin Solutions). Стоит лишь дождаться выхода специализированного ПО.