Согласно закону Мура, «количество транзисторов на кристалле интегральной схемы удваивается каждые два года». Это значит, каждые 24 месяца растет максимально возможная производительность оборудования. По крайней мере, так было раньше, что позволяло производителям программного обеспечения не думать о потребляемых им ресурсах. Однако более десяти лет назад представители крупных компаний объявили о том, что закон Мура больше не действует. Как это повлияет на потребителей программного обеспечения и как изменится подход к выбору программных продуктов, разберем в этом материале.
Не закон, а наблюдение
Закон Мура — это наблюдение соучредителя корпорации Intel Гордона Мура, сделанное им в 1965 году. Он заметил, что с течением времени технологии производства полупроводниковых устройств все более совершенствуются. Поэтому количество транзисторов на кристалле будет продолжать увеличиваться. Это приведет к улучшению производительности аппаратного обеспечения, которое использует полупроводники.
Изначально инженер посчитал, что количество транзисторов на микрочипах увеличивается вдвое каждый год. Однако в 1975 году решил, что погорячился, и исправил год на два. Так слово простого американского инженера стало законом, который стал частью плана развития корпорации Intel, а следом за ней и всей индустрии разработки и производства микрочипов.
Как открытие закона Мура повлияло на IT-сферу
Сложно переоценить влияние закона Мура на сферу разработки ПО и приложений. Например, благодаря возможностям, предоставляемым законом Мура, сейчас возможно запускать очень сложные программы, такие как трехмерная графика, искусственный интеллект и машинное обучение. Благодаря росту производительности оборудования каждые два года разработчики создавали все более ресурсозатратные программы.
Производители ПО оказались перед выбором. Потратить пару лет на то, чтобы увеличить перфоманс на 5%, или за тот же бюджет приобрести намного больше гигагерц, чем два года назад. Дело в том, что за эти два года производительность ядер процессоров увеличивается вдвое. Получалось, что бюджет, потраченный на улучшение кода, можно было потратить на замену процессора и получить более высокие показатели без лишних усилий.
По сути, производителей программного обеспечения приучили к мысли, что можно создавать продукты, не задумываясь о потребляемых ими ресурсах. Недостаток производительности оборудования можно было легко устранить его обновлением и покупкой дополнительных процессоров. Более того, рост производительности, вызванный законом Мура, вызвал интерес к разработке более сложных алгоритмов и программ, которые могут использовать новые возможности аппаратного обеспечения.
«Не думаю, что буду здесь через 10 лет»
Эту фразу Гордон Мур произнес в 2005 году в интервью журналу Electronics Weekly. Инженер предположил, что его полномочия изменятся из-за физических ограничений.В 2015 году в интервью изданию The Sunday Times Гордон Мур заявил, что названный его именем закон будет действовать еще лет десять, однако это уже не будет законом Мура в привычном понимании.
В 2022 году глава NVIDIA Дженсен Хуанг признал, что закон Мура не работает, а стоимость производства кристаллов растет быстрее, чем производительность процессоров. С ним согласился технический директор AMD. Физические ограничения, такие как уменьшение размера транзисторов до предела атомных размеров, приводят к тому, что дальнейшее удвоение количества транзисторов на кристалле становится все более трудновыполнимым. Правда, глава Intel Патрик Гелсингер придерживается иной точки зрения. По его словам, закон Мура по-прежнему актуален.
Тем не менее все указывает на то, что разработчикам придется искать новые способы повышения производительности, например, оптимизировать код программы или использовать более эффективные алгоритмы. Правда, за время действия закона Мура накопилось большое количество программного обеспечения, которое годами разрабатывали без попытки оптимизировать потребляемые ресурсы. И
когда производительность аппаратного обеспечения перестала удваиваться, у производителей ПО возникли проблемы. Чем длиннее жизненный цикл программы, тем больше избыточного кода в ней накапливается и тем больше ресурсов она потребляет. При этом бюджет на устранение легаси практически равен бюджету, который был потрачен на его добавление.
Время искать новые резервы
В такой ситуации производители оборудования будут искать новые технологии, которые заменят полупроводниковые технологии или сделают их более совершенными. Например, развитие квантовых вычислений или нанотехнологий в будущем может помочь найти новые способы обработки данных и улучшить производительность процессоров.
Однако никто не скажет, когда это произойдет и произойдет ли вообще. Поэтому для производителей программного обеспечения кажется логичным уже сейчас начать искать резервы и оптимизировать свои продукты, чтобы улучшить их производительность без замены аппаратного обеспечения. Такой подход может включать разработку более эффективных алгоритмов, оптимизацию кода, снижение накладных расходов и т.д.
Расскажем о нашем опыте оптимизации платформы для виртуализации vStack. vStack — это платформа для виртуализации, объединяющая три традиционно разрозненных компонента в одно программно-определяемое решение. Мы разработали наш продукт в 2018 году как альтернативу лидеру рынка VMware, а в 2022 году замена американской платформы оказалась как никогда кстати. Так как в 2018 году уже было понятно, что закону Мура осталось недолго, мы с самого начала ориентировались на высокую производительность виртуальных машин. Здесь нам на руку сыграло несколько факторов. То, что платформа создана недавно, означает, что в ее кодовой базе нет поддержки legacy и решения неактуальных проблем. При ее разработке мы изначально не рассматривали KVM, так как он не может хорошо работать в условиях Overcommit.
При разработке vStack удалось создать более эффективное решение. Применяемый адаптивный механизм бюджетирования квантов vCPU обеспечивает корректную работу и высокую экономическую эффективность в слое программно-определяемых вычислений при значениях CPU overcommit до 900%.
CPU Overhead платформы vStack не превышает 2-5%, при средних показателях Overhead на виртуализацию — 10-15%. Тесты подтвердили, что производительность нашего решения в Public cloud оказалась выше, чем производительность других решений в On-Premise.
Описанное нами решение — это один из эффективных вариантов снизить накладные расходы и повысить экономическую эффективность в ситуации, когда закон Мура перестает действовать. Ждем в комментариях ваши идеи и прогнозы развития ситуации.