The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Обновление гипервизоров Intel Cloud Hypervisor 0.3 и Amazon Firecracker 0.19, написанных на Rust

26.10.2019 10:08

Компания Intel опубликовала новую версию гипервизора Cloud Hypervisor 0.3. Гипервизор построен на основе компонентов совместного проекта Rust-VMM, в котором кроме Intel также участвуют компании Alibaba, Amazon, Google и Red Hat. Rust-VMM написан на языке Rust и позволяет создавать специфичные для определённых задач гипервизоры. Cloud Hypervisor является одним из таких гипервизоров, который предоставляет высокоуровневый монитор виртуальных машин (VMM), работающий поверх KVM и оптимизированный для решения задач, свойственных для облачных систем. Код проекта доступен под лицензией Apache 2.0.

Cloud Hypervisor cфокусирован на запуске современных дистрибутивов Linux с использованием паравиртуализированных устройств на базе virtio. Из ключевых задач упоминается: высокая отзывчивость, низкое потребление памяти, высокая производительность, упрощение настройки и сокращение возможных векторов для атак.

Поддержка эмуляции сведена к минимуму и ставка делается на паравиртуализацию. В настоящее время поддерживаются только системы x86_64, но в планах имеется и поддержка AArch64. Из гостевых систем пока поддерживается только 64-разрядные сборки Linux. Настройка CPU, памяти, PCI и NVDIMM производится на этапе сборки. Предусмотрена возможность миграции виртуальных машин между серверами.

В новой версии:

  • Продолжена работа по выносу паравиртуализированного ввода/вывода в отдельные процессы. Для взаимодействие с блочными устройствами добавлена возможность использования бэкендов vhost-user-blk. Изменение позволяет подключать к Cloud Hypervisor блочные устройства на базе модуля vhost-user, такие как SPDK, в качестве бэкендов для паравиртуализированных хранилищ;
  • Появившаяся в прошлом выпуске поддержка выноса сетевых операций в бэкенды vhost-user-net, расширена новым бэкендом на базе виртуального сетевого драйвера TAP. Бэкенд написан на языке Rust и теперь используется в Cloud Hypervisor в качестве основной паравиртуализированной сетевой архитектуры;
  • Для повышения эффективности и защищённости коммуникаций между хост-окружением и гостевой системой предложена гибридная реализация сокетов с адресацией AF_VSOCK (виртуальные сетевые сокеты), работающая через virtio. Реализация основана на наработках проекта Firecracker, развиваемого компанией Amazon. VSOCK позволяет использовать штатный POSIX Sockets API для взаимодействия между приложениями на стороне гостевой системы и хоста, что позволяет легко адаптировать для такого взаимодействия обычные сетевые программы и реализовать взаимодействие нескольких клиентских программ с одним серверным приложением;
  • Обеспечена начальная поддержка управляющего API, использующего протокол HTTP. В будущем данный API позволит инициировать выполнение асинхронных операций над гостевыми системами, таких как горячее подключение ресурсов и миграция окружений;
  • Добавлен слой с реализацией транспорта на базе virtio MMIO (Memory mapped virtio), который может быть использован для создания минималистичных гостевых систем, не требующих эмуляции шины PCI;
  • В рамках инициативы по расширению поддержки запуска вложенных гостевых систем в Cloud Hypervisor добавлена возможность проброса паравиртуализированных устройств IOMMU через virtio, позволяющего повысить защищённость вложенного и прямого проброса устройств.
  • Обеспечена поддержка Ubuntu 19.10;
  • Добавлена возможность запуска гостевых систем с более чем 64 ГБ ОЗУ.



Дополнительно можно отметить новый выпуск смежно развиваемого монитора виртуальных машин Firecracker, также написанного на Rust, базирующегося на Rust-VMM и работающего поверх KVM. Firecracker является ответвлением от проекта CrosVM, используемого компанией Google для запуска приложений Linux и Android в ChromеOS. Разработка Firecracker ведётся в подразделении Amazon Web Services с целью повышения производительности и эффективности работы платформ AWS Lambda и AWS Fargate.

Платформа рассчитана на запуск виртуальных машин с минимальными накладными расходами и предоставляет средства для создания и управления изолированными окружениями и сервисами, построенными с использованием бессерверной модели разработки (функция как услуга). Firecracker предлагает легковесные виртуальные машины, именуемые microVM, для полноценной изоляции которых применяются технологии аппаратной виртуализации, но при этом обеспечивается производительность и гибкость на уровне обычных контейнеров. Например, при использовании Firecracker время с момента запуска microVM до начала выполнения приложения не превышает 125мс, что позволяет запускать новые виртуальные машины с интенсивностью до 150 окружений в секунду.

В новом выпуске Firecracker добавлен режим работы без запуска обработчика API ("--no-api"), ограничивающий окружение только жёстко заданными в файле конфигурации настройками. Статическая конфигурация задаётся через опцию "--config-file" и определяется в формате JSON. Из опций командной строки также добавлена поддержка разделителя "--", указанные после которого флаги передаются по цепочке без обработки.

Развивающая Firecracker компания Amazon также объявила об оказании спонсорской поддержки разработчиков языка программирования Rust. Отмечается, что Rust всё чаще используется в проектах компании и разработки на нём уже внедрены в таких службах, как Lambda, EC2 и S3. Amazon предоставил проекту Rust инфраструктуру для хранения выпусков и сборок в S3, запуска регрессивных тестов в EC2 и поддержания сайта docs.rs с документацией для всех пакетов из репозитория crates.io.

Amazon также представил программу AWS Promotional Credit, в рамках которого открытые проекты могут получить бесплатный доступ к сервисам AWS, которые можно использовать для хранения ресурсов, сборки, непрерывной интеграции и тестирования. Из уже одобренных для участия в программе проектов кроме Rust отмечены AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy и Julia. Заявки принимаются от любых открытых проектов, поставляемых под лицензиями, одобренными OSI.

  1. Главная ссылка к новости (https://github.com/intel/cloud...)
  2. OpenNews: Intel развивает открытую прошивку ModernFW и гипервизор на языке Rust
  3. OpenNews: Amazon открыл код легковесной платформы виртуализации Firecracker
  4. OpenNews: Google развивает новую систему ARCVM для запуска Android-приложений в Chrome OS
  5. OpenNews: Intel представил инструментарий Clear Containers 3.0, переписанный на языке Go
  6. OpenNews: Intel опубликовал редакцию дистрибутива Clear Linux для разработчиков приложений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51759-cloud-hypervisor
Ключевые слова: cloud-hypervisor, intel, firecracker, amazon, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:02, 26/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Эксперименты и исследовательские проекты это конечно здорово, но появится ли прикладной софт на расте когда-нибудь?
     
     
  • 2.4, proninyaroslav (ok), 11:21, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Время покажет.
     
  • 2.5, A.Stahl (ok), 11:23, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Может и появится. Пусть занимает очередь вслед за Хаскеллем. Кто там у нас теперь первый в очереди? Лисп кажется. Очередь такая длинная что её начало плохо отсюда видно.
     
     
  • 3.7, IdeaFix (ok), 11:38, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    VBA уже давно заборол этого вашего лиспа :) Еще до смерти обоих.
     
  • 3.13, Anonymoustus (ok), 14:22, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Отличная шутка. :)
     
  • 2.8, Аноним (8), 12:48, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    alacritty например, очень хороший эмулятор терминала
     
     
  • 3.10, Аноним (1), 13:05, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я заметил, что он багованный и охочий до памяти. И не повторяет адекватное поведение xterm, например, при ресайзе окна. Умножает строки мусорными данными, которых там нет.

    >хороший
    >очень

    извините, вот xterm норм, konsole норм, попробуйте их.

     
  • 3.19, Аноним (19), 17:34, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    вкладки до сих пор не поддерживает?
     
     
  • 4.30, Аноним (-), 16:04, 27/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    man tmux
    man screen
     
  • 3.32, фывфывфыв (?), 09:22, 28/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > A cross-platform, GPU-accelerated terminal emulator

    А на кой ляд ему openGL и GPU?

     
     
  • 4.33, Аноним (33), 11:39, 28/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    чтобы быть быстрым. на ютубе глянь сравнение алакрити с другими
     
     
  • 5.34, Аноним (34), 16:02, 28/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Konsole без opengl быстрее и фичастее
     
  • 2.12, Wilem (?), 14:07, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    То, чем пользуются люди и что работает в проде - это и есть прикладной софт. "когда-нибудь" уже давно наступило.
     
  • 2.17, Аноним (17), 17:21, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > но появится ли прикладной софт на расте когда-нибудь?

    Связываться с растом себе дороже, потому что сами авторы не знаю, какой язык они хотят. Напомню, что раньше в расте была сборка мусора и легкие потоки, а сейчас это с++ в котором запрещена часть операций, но с еще более жутким синтаксисом (и медленнее, хотя растофилы кричат что он быстрее процессора, на котором он выполняется)

     
     
  • 3.22, Аноним84701 (ok), 18:03, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Напомню, что раньше в расте была сборка мусора и легкие потоки,

    При этом аноним скромно умалчивает, что оно и сейчас есть – просто переведено из самого ЯП в stdlib, еще перед альфа-версией.

     
     
  • 4.23, Ordu (ok), 18:11, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Сборки мусора нет, если ты не имеешь в виду счётчики ссылок. Может быть на crates.io и можно найти какой-нибудь крейт, который добавляет сборщик мусора, но я не знаю, если честно.

    Зелёные треды есть, но не в stdlib, а в tokio, который является стандартом де факто, но вообще это отдельный крейт на crates.io.

     
     
  • 5.24, Аноним84701 (ok), 19:59, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Сборки мусора нет, если ты не имеешь в виду счётчики ссылок.

    Я не знаю, что именно ты  оспорить – есть/был ли GC в расте (т.к. опционален), считается ли счетчик ссылок за разновидность GC …

    При написании ответа выше, я рукводствовался в основном вот этим:

    https://github.com/rust-lang/rust/blob/master/RELEASES.md
    > The old, reference counted GC type, Gc<T> which was once denoted by the @ sigil, has finally been removed. GC will be revisited in the future.

    Потом Gc выкинули, дабы не "вводить народ в заблуждение", в том числе и с обоснованием, что есть "почти такой же" Rc.

    https://github.com/rust-lang/rfcs/pull/256
    > avoid people getting incorrect impressions of Rust based on the current reference-counting implementation.
    > [...]
    > Long ago, the Rust language had integrated support for automatically managed memory
    > [...]
    >  The intention was that Rust would provide a task-local garbage collector as part of the standard runtime for Rust programs.  
    > As a short-term convenience, '@T' and '@mut T' were implemented via reference-counting: each instance of '@T'/'@mut T' had a reference
    > [...]
    > Users may be using 'Gc<T>' today, and they would have to switch to some other option (such as 'Rc<T>', though note that the two are not 100% equivalent).

    Тем более, меняли все еще до первой альфы, так что претензии анонима не очень понятны.

     
     
  • 6.28, Ordu (ok), 22:41, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Я не знаю, что именно ты  оспорить – есть/был ли GC в расте (т.к. опционален), считается ли счетчик ссылок за разновидность GC …

    Почему сразу оспорить? Я не знаю (не знал), что именно ты имеешь в виду, говоря про сборку мусора: счётчики ссылок иногда рассматривают как вариант сборки мусора, иногда нет. Поэтому я решил уточнить несколько твоё высказывание.

    > претензии анонима не очень понятны.

    Они как раз понятны. Человек лет десять назад прочитал какую-то критическую статью о rust'е, и на основании неё сформировал своё мнение. И за десять лет ни разу не попытался его пересмотреть. Конечно это лишь гипотеза, но на мой взгляд очень правдоподобная, люди постоянно так делают.

     
     
  • 7.37, Юзверь (??), 23:31, 02/01/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 8.38, Ordu (ok), 00:38, 03/01/2022 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.36, Шшшш (?), 05:46, 03/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Компилятор отслеживает лайфтаймы, владения и добавляет при выходе из скоупа llvm-инструкции очистки. Также есть трэйт Drop как кастомный финализатор.
     
  • 2.20, KhabMan (ok), 17:41, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Firefox?
     
     
  • 3.21, Аноним (17), 17:53, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    нет
     
     
  • 4.31, Аноним (31), 17:13, 27/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://github.com/mozilla/gecko-dev/tree/35cc00a25c4471993fdaa5761952bd3afd4f

    https://chromium.googlesource.com/chromiumos/platform/crosvm/

     
  • 2.25, Анонимус2 (?), 20:03, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ripgrep пойдёт за прикладной или он тоже исследовательский?
     
  • 2.26, Аноним (26), 20:46, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Каково там, в 2006м? Давно уже есть прикладной бешено популярный софт. Тот же firefox.
     

  • 1.2, Аноним (2), 11:16, 26/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Будут ли потом переписывать на С?
     
     
  • 2.3, Аноним (3), 11:19, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А смысл? Это будет противоположностью развития.
     
     
  • 3.6, IdeaFix (ok), 11:38, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Так ведь работать будет... или это не самоцель?
     
     
  • 4.16, Алексей (??), 16:23, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Так оно и сейчас работает.
     

  • 1.9, Аноним (9), 12:54, 26/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    кто вообще этим пользуется?
     
     
  • 2.27, Аноним (27), 20:48, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    для решения задач, свойственных для облачных систем

    Там, где платят за время работы виртуалки и место на диске, вместо ежемесячной абон. платы за сервер.

    Разница ценообразования показывает различия и специфику задач.

     
  • 2.29, НяшМяш (ok), 23:40, 26/10/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ты новость читал? Не только пользуются, а даже деньги на этом зарабатывают. Пока онаним ноет, бизнес зарабатывает.
     

  • 1.11, segesg (?), 13:30, 26/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    пусть развивается, чтобы потом сравнить кол-во CVE с другими гипервизорами
     
  • 1.35, evkogan (?), 19:11, 28/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне одному кажется, что тут путаница в терминах. Монитор ВМ - не является гипервизором. Зачем вводить людей в заблуждение?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру