С каждым годом программное обеспечение требует повышения производительности оборудования. Из-за этого виртуализация обходится компаниям все дороже, так как им приходится приобретать более дорогое аппаратное решение. Регулярная закупка нового оборудования повышает накладные расходы компании. В ответ на это появились платформы, которые позволяют сократить затраты на виртуализацию за счет низкого overhead. Их использование позволяет максимально задействовать ресурсы уже имеющегося оборудования. В материале мы расскажем о том, как можно повысить производительность и снизить накладные расходы с помощью нашего решения для виртуализации.
Из чего складываются накладные расходы на виртуализацию
Виртуализация сама по себе помогает снизить расходы на ИТ‑инфраструктуру за счет экономии на физических ресурсах. Однако расходы на виртуализацию также можно сокращать. Чтобы понять, как это сделать, для начала рассмотрим основные статьи, из которых складываются затраты на виртуализацию.
Прежде всего, большая часть бюджета уходит на оплату работы и обучения сотрудников, администраторов, инженеров, которые отвечают за управление и обслуживание виртуальных систем. Чем сложнее и запутаннее инфраструктура, тем больше высококвалифицированных специалистов требуется для ее поддержки.
Также на величину расходов влияет наличие или отсутствие избыточности в кодовой базе. Код мог создаваться ранее для решения проблем, которые стали неактуальными в настоящее время. Чтобы избавиться от него, зачастую нужно вложить почти столько же средств, как и при его разработке. Поэтому производители очень неохотно идут на его удаление. При этом избыточный код тратит ресурсы, снижая производительность. А клиент вынужден платить за то, что ему не нужно.
Наличие избыточности в коде приводит к тяжеловесности решения и, как следствие, к увеличению overhead на виртуализацию. Это еще одна статья расходов, которую можно снизить.
Как конец закона Мура вынуждает компании снижать накладные расходы
Согласно закону Мура, количество транзисторов на микропроцессоре удваивается каждые два года, а их стоимость при этом снижается. Это означает, что с течением времени оборудование становится мощнее и доступнее по цене. Производители программного обеспечения не задумывались о потребляемых им ресурсах, а пользователи могли решить проблемы с производительностью с помощью покупки нового железа. Те, кто пытался оптимизировать код программного обеспечения, получали рост производительности на уровне 5% при больших финансовых и временных затратах. За те же деньги можно было получить гораздо больший перфоманс безо всяких временных затрат, просто обновив оборудование.
Однако закон Мура перестает работать. Скорость роста производительности и мощности аппаратного обеспечения заметно снизилась и будет уменьшаться и дальше. При этом уже создано большое количество ПО, разработка которого велась без оглядки на эффективность кода. В результате начали возникать проблемы с производительностью, которые невозможно либо очень дорого решать покупкой нового оборудования.
Компании начали искать альтернативные варианты, одним из которых стало снижение накладных расходов.
Overhead 10-15%? Приготовиться к снижению!
Мы выбрали технологию, которая позволила сделать расходы на виртуализацию низкими на уровне платформы, чтобы клиенты после ее покупки не задумывались о выборе вариантов для экономии. В поиске резервов для снижения накладных расходов мы обратили внимание на overhead на виртуализацию. Выяснилось, что у многих производителей виртуализации накладные расходы составляют 10–15%, что при большой инфраструктуре ведет к значительным потерям прибыли. Например, если в инфраструктуре компании 900 физических ядер и 10% ресурсов уходит на overhead, значит, 90 ядер не участвуют в получении прибыли.
Поэтому мы создали платформу с использованием таких технологий, одним из преимуществ которых стали низкие накладные расходы.
Высокий overhead бывает у тяжеловесных решений, в кодовой базе которых накоплен избыточный код. Легковесная виртуализация без избыточного кода позволяет получить высокую производительность при маленьких накладных расходах.
Нам на платформе vStack удалось добиться высокой производительности виртуальных машин за счет легковесности и отсутствия легаси хлама. Вот еще несколько шагов, которые мы использовали для снижения CPU Overhead и увеличения производительности оборудования:
оптимизация алгоритмов программного обеспечения, использование более эффективных вариантов и уменьшение сложности;
оптимизация на уровне операционной системы, настроек памяти и файловой системы;
мониторинг производительности для своевременного выявления проблем.
В результате CPU Overhead у vStack составил 2–5% вместо 10–15%. Это позволило получить высокую производительность при снижении накладных расходов и временных затрат. Использование платформы с низким overhead позволяет снизить затраты на обслуживание и развертывание системы и минимизировать количество сбоев.
Комментарии (10)
kvazimoda24
14.04.2023 15:02+6Статью ChatGPT писал?
Сплошная вода и никакой конкретики. В чём заключался оверхед? В ЦПУ, памяти, дисках, сети? Сколько этот оверхед составлял? Что конкретно было сделано для его снижения? Сколько составил итоговый оверхед? Сколько ушло времени и средств на достижении этого результата? Экономическое обоснование сей затеи?
iwram
14.04.2023 15:02+5Открыл статью в надежде увидеть vmexit,vmentry - различные низкоуровневые штуковины, таблицы с сравнением работы утилизации различных ресурсов sriov тот же например обсудить.
KotPoliglot
14.04.2023 15:02Чуть больше тех данных и даже не раскрывая особенностей системы это было бы читаемо, так выглядит как максимально маркетинговая штука
vp7
14.04.2023 15:02Окей, открываем ваш же сайт, раздел "установка". Там чёрным по белому написано, что на узлы виртуализации ставится FreeBSD, хранилище на ZFS.
Внимание, вопрос - что за систему виртуализации вы запустили внутри FreeBSD кроме qemu? Сами с нуля писали, делали патчи ядра и всё такое? Проверяли совместимость с семействами ОС?
Или изобрели "свою уникальную систему запуска существующих систем в виде скриптов на питоне", которые "избавлено от древнего легаси и поэтому быстрее"? ;))
NKulikov
14.04.2023 15:021.) Вы в каждой статье пишите про "избыточность в коде" и "тяжеловесности" прочих решений, в частности, VMware. Скажите пожалуйста, каков размер кодовой базы и размер дистрибутива vStack?
2.) CPU Overhead — это прекрасно. Расскажите, пожалуйста, каким образом он измерялся и на каких задачах? Чисто вычислительные? Ввод-вывод? Смешанные нагрузки? За счет чего можно добиться снижения CPU overhead на чисто вычислительных задачах при условии работы на CPU c поддержкой VT-x и AMD-V (aka все процессоры на рынке, которые используются в серверах последние 10-15 лет)
3.) Каким образом связаны настройки памяти, ФС и наличие мониторинга с CPU Overhead? "оптимизация алгоритмов и использование более эффективных вариантов" - вариантов и алгоритмов чего?
P.S. Записывать в накладные расходы на виртуализацию ФОТ - ИМХО странно. Обычно это считается в рамках TCO платформы, но TCO != "накладные расходы".
gibson_dev
/sarcasm mode: on
А как понижали то все таки? Разработали платформу? А это окупилось в итоге?
/sarcasm mode: off
TyVik
В статье такого уровня тег sarcasm можно и не закрывать.