На прошлой неделе компания ARM Holdings объявила, что разрабатывает новую микро-архитектуру для серверных процессоров. Вычислительное ядро, которое будет в ней использоваться, носит кодовое имя Ares, и по обещаниям должно дать 60% прирост по сравнению с текущей платформой. С каждым следующим поколением производительность должна расти еще на 30%.
Серверный рынок — пока не самый большой для ARM. Сейчас процессоры на ее архитектуре используются в мобильных и встраиваемых устройствах. Скачок производительности, который компания обещает производителям серверов, будет выше чем Intel и IBM проделали за последние несколько лет.
Тем не менее, создатель Linux Линус Торвальдс скептично прокомментировал анонс. Он считает, что будущее новой архитектуры не так радужно.
Я могу гарантировать, что пока все занимаются кроссплатформенной разработкой, платформа не будет стабильна и успешна. Некоторые думают, набор инструкций не важен для «облака» — разрабатываешь дома, деплоишь и все (под «дома» я имею в виду не в прямом смысле у себя дома, а в своем рабочем пространстве).
Это полная чушь. Если ты разрабатываешь на x86, то и деплоить захочешь на x86, потому что сможешь запускать то, что протестил дома. А значит с радостью немного переплатишь за хостинг на x86, просто чтобы он совпадал с твоей рабочей средой, и полученные ошибки транслировались легче.
Поэтому провайдеры получат больше денег от серверов на x86 и будут держать их в приоритете. Любые варианты от ARM будут вторичны, и скорее всего на них сбросят всякую глупую чепуху, вроде фронтенда, статичного HTML и всякого такого.
Одно из заявленных преимущество ARM-архитектуры, которое позволило ей выиграть на мобильном рынке — энергопотребление. Компания считает, что благодаря этому снизится стоимость, а производительность будет не хуже. Такое сочетание поможет ей конкурировать и среди серверов. Но Торвальдс думает, что успех на рынке определяется другими причинами.
По его мнению определяющий фактор — именно «домашняя разработка». Маленькие компании тестируют рабочие нагрузки на обычных дешевых PC, а когда нагрузки вырастают — эти компьютеры берут на себя роль реальных серверов. И только при огромном росте нагрузок, компании переносят все в облако, не желая менять архитектуру во избежание проблем.
Именно это и убило вендоров RISC-процессоров и сделало x86 царем горы среди серверов. До той степени, что все иное — просто погрешность. А пару десятков лет назад такое бы звучало бы как фантастическая выдумка.
Линус считает, что выходить на рынок серверов, не создав предварительно среду для разработки и не «заполонив рынок дешевыми девбоксами — полный идиотизм». К тому же он сомневается, что преимущества, которые называет ARM, действительно считаются преимуществами. По его словам, все текущие серверы на этой архитектуре — в реальности медленнее, дороже и вряд ли экономят так уж много энергии.
С Торвальдсом не согласился создатель Redis Сальваторе Санфилиппо. Он считает, большинство разработчиков не мыслит постоянным погружением в вычислительные ядра и вообще не придает значения воспроизводимости среды на уровне архитектуры. По его словам, перевод Redis на ARM-архитектуру не вызвал тех проблем, которыми пугает создатель Linux:
Redis, который сам по себе является низкоуровневым кодом, спокойно работает на ARM, все тесты проходят, и нет никаких проблем со стабильностью. А раз уж код, написанный на C много лет назад, когда об ARM еще никто не думал, работает практически из коробки, с приложениями на Ruby или Node тем более ничего не случится, когда их зальют на ARM-серверы.
Компания-разработчик архитектуры тоже ответила Торвальдсу. Они согласны с его мнением, что разработка в рамках одной среды работает гораздо лучше, поэтому анонсируют собственную платформу для разработки, вероятно, на этой неделе.
Производители железа также идут в сторону изменений, которые по словам Торвальдса, необходимы для будущего новой архитектуры. Например Apple, по слухам, готовит к выпуску Маки с ARM-процессорами, Qualcomm ведет разработку ARM-процессоров для лэптопов, а Microsoft поддерживает ARM-разработку для Windows 10.
Сам Торвальдс в своем следующем посте тоже снизил градус скепсиса:
Посмотрим, что будет на самом деле, но сейчас ARM точно нравится мне больше, чем раньше.
Пока я не увижу широкого распространения железа, которое люди могут использовать для разработки и развертывания, я придержу свои суждения. Просто я слышал слишком много обещаний о железе, которое после релиза никому и нигде не было нужно.
Надеюсь, ARM не будут слишком ударяться в перемасштабирование. Может им и удастся, но, если честно, я сомневаюсь. Это требует много времени и усилий. Не надо замахиваться на 64-128 ядер, пока не получится сделать нормально хотя бы 8-ядерник. Что они пока не продемонстрировали.
Но мало ли, может они меня удивят.
В обсуждении вопроса на Reddit отметили, что большинство известных архитектур не выдержали конкуренции с x86.
m88k? Мертва, или переехала на что-то вроде PowerPC. i860? Мертва. i960? Мертва. PA-RISC? мертва. AMD 29000? Мертва. IA64? Мертва. Alpha? Мертва.
Тем не менее, в обсуждении сошлись, что текущий рынок серверных архитектур разделяют три системы. ARM — как самая слабая и дешевая. Power9 — самая мощная, но невероятно дорогая. x86 среди них золотая середина в соотношении цена-качество:
Разрабатывать и деплоить на ARM нормально, если ты используешь Rasp. Pi. Но нужно что-то помощнее. С Power9 ситуация обратная: самая дешевая система — это Talos II. Поэтому нужно много тысяч долларов, чтобы собрать нормальный девбокс на Power9. Конечно, он хорош, но это слишком дорого для обычных нужд в разработке.
Поэтому x86 попадает как раз в нишу массового потребления — лэптопы и десктопы стоят до тысячи долларов.
Но во втором квартале этого года Raptor Computer Systems планирует выпустить десктоп с 4-ядерным CPU на архитектуре Power9 за 1200 долларов. Поэтому если такая тенденция сохранится — ARM будет повышать производительность, а Power9 снижать цену — в массовом сегменте может снова возникнуть конкуренция.