The OpenNET Project / Index page

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



"Intel представил инструментарий Clear Containers 3.0, перепи..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от opennews on 23-Сен-17, 12:30 
Компания Intel опубликовала (https://clearlinux.org/blogs/announcing-intel%C2%A...) значительный выпуск инструментария Clear Containers 3.0 (https://clearlinux.org/features/intel%C2%AE-clear-...), предоставляющего средства для управления контейнерами, для изоляции которых используется гипервизор KVM и встроенные в процессоры Intel механизмы виртуализации Intel VT и SR-IOV (https://www.intel.com/content/dam/doc/application-note/pci-s...). Код поставляется (https://github.com/clearcontainers) под лицензией Apache 2.0.


Новый выпуск примечателен кардинальной переработкой кодовой базы и рефакторингом архитектуры проекта (https://github.com/clearcontainers/runtime/blob/7fc11d5fa157...).
Инструментарий и компоненты runtime переписаны на языке Go (ранее использовался язык Си). Проведена большая работа по улучшению интеграции  Clear Containers в сформировавшуюся экосистему контейнерной изоляции, в том числе расширены средства для задействования в проекте кода, используемого  в контейнерах на базе namespaces и cgroups.


Функции для обеспечения работы аппаратно виртуализированных контейнеров вынесены в модульную и независящую от типа гипервизора библиотеку virtcontainers. Новая реализация runtime (cc-runtime (https://github.com/clearcontainers/runtime)) построена поверх библиотеки virtcontainers и приведена к полной совместимости со спецификацией OCI (https://www.opennet.ru/opennews/art.shtml?num=46889), определяющей унифицированный формат образов контейнеров и runtime-компонентов, что позволяет использовать cc-runtime совместно с Docker в качестве прозрачной замены runc. Кроме того обеспечена поддержка прослойки  CRI-O (https://github.com/kubernetes-incubator/cri-o) для использования cc-runtime в кластере на базе Kubernetes.


В состав добавлен выполняемый внутри контейнера агент cc-agent на базе libcontainer, который заменил собой hyperstart и позволяет применять политики ограничения доступа SELinux и фильтры seccomp в гостевых окружениях на базе Clear Containers. Для повышения производительности ввода/вывода и достижения полного соответствия спецификациям POSIX в контейнерах  Clear Containers также предоставлена возможность использования бэкенда virtio-blk. Расширены возможности вложенной виртуализации, которые позволяют выполнять немодифициованные контейнеры Clear в  окружениях HyperV и VMware. Для взаимодействия между компонентами cc-shim, cc-proxy и cc-runtime реализован новый упрощённый протокол.


По сравнению с традиционными контейнерами на базе пространств имён применение гипервизора позволяет добиться более высокого уровня безопасности, защищающего от совершения атак через эксплуатацию уязвимостей в ядре Linux. По сравнению с системами полноценной виртуализации в  Clear Containers удалось минимизировать время запуска изолированного окружения и снизить потребление памяти, приблизив эти показатели к характеристикам обычных контейнеров. К окружениям Clear применимы традиционные для контейнеров методы управления и развёртывания, в том числе можно  на лету запускать упакованные в виртуальные окружения приложения, в моменты, когда в них возникает необходимость.


Внутри виртуального окружений Clear, которое запускается гипервизором,  используется специально оптимизированное ядро Linux, содержащее только минимальный набор необходимых возможностей. Системное окружение  включает в себя только демон инициализации на базе systemd и агент cc-agent. Агент обеспечивает выполнение  определённых пользователем образов контейнера в формате OCI. В одном виртуальном окружении Clear может запускаться один или несколько пользовательских контейнеров (для контейнеров Docker для каждого контейнера создаётся  отдельная виртуальная машина). Для каждого контейнера внутри виртуального окружения создаются отдельные пространства имён (NS, UTS, IPC и PID), т.е. запускаемое поверх гипервизора окружение Clear служит плацдармом для вложенного запуска контейнеров. Работа пользовательских контейнеров обеспечивается при помощи cc-runtime.


В условиях выполнения большого числа типовых окружений, накладные расходы на каждое последующее окружение составляет 18-20 Мб, что даёт возможность уместить 3500 виртуальных машин на сервере с 128 Гб ОЗУ. Для уменьшения потребления памяти применяется механизм DAX (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...) (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств), а для дедупликации одинаковых областей памяти применяется технология KSM (https://github.com/clearcontainers/proxy/blob/master/docs/ks...) (Kernel Shared Memory), что позволяет организовать совместное использование ресурсов хост-системы и подключить к разным гостевым системам общий шаблон системного окружения. Начиная с выпуска 3.0 в Clear Containers также предоставляются средства регулирования активации процесса выявления дубликатов (KSM throttling (https://github.com/clearcontainers/proxy/blob/master/docs/ks...)).

URL: https://01.org/blogs/alleelan/2017/announcing-intel%C2&...
Новость: http://www.opennet.ru/opennews/art.shtml?num=47252

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –9 +/
Сообщение от фребсдоюзрнемогунайтивыход on 23-Сен-17, 12:30 
чому не православный Rust?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от bircoph (ok) on 23-Сен-17, 12:42 
Потому что он недостаточно правослаен и чуть более чем правоверен.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от Аноним (??) on 23-Сен-17, 12:43 
Потому что пишет прагматичные кодеры из intelа, а не неосиляторы плюсов из тоpмозиллы.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

10. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от VINRARUS (ok) on 23-Сен-17, 15:15 
Прагматичные пишут на С, очень прагматичные пишут на Ассемблере.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

11. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +3 +/
Сообщение от Аноним (??) on 23-Сен-17, 15:28 
перфокарты же!
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

24. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +7 +/
Сообщение от Аноним (??) on 23-Сен-17, 18:18 
Ты знаешь разницу между языком программирования и носителем данных?
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

27. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +1 +/
Сообщение от jh on 23-Сен-17, 18:29 
машинные коды. писать в машинных кодах, то еще удовольствие
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

34. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +3 +/
Сообщение от Sup on 23-Сен-17, 21:45 
Ну это мы еще на калькуляторе Электроника Б3-34 делали.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

58. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +3 +/
Сообщение от Аноним (??) on 25-Сен-17, 07:23 
> Ну это мы еще на калькуляторе Электроника Б3-34 делали.

Контейнерную изоляцию на калькуляторах?
Да вы монстры!

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

4. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 23-Сен-17, 12:58 
Насколько я помню, в Rust как выпилили простые легковесные потоки, так и не впилили обратно. А без оных, оно и не очень нужно.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

6. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +2 +/
Сообщение от Аноним (??) on 23-Сен-17, 14:04 
Лол кек чебурек. И зачем нужны легковесные потоки в управлялке контейнерами?
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

64. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 26-Сен-17, 08:41 
Ты ещё спроси: "а зачем они вообще нужны?!?!?!??!".
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

65. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 26-Сен-17, 12:36 
Зачем мне это спрашивать?
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

14. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –2 +/
Сообщение от leap42 (ok) on 23-Сен-17, 16:38 
> Rust

Rust'у уже 7 лет, а единственное что "на нём" было написано - это очередной "вскукарек" в комментариях

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

17. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –2 +/
Сообщение от Аноним (??) on 23-Сен-17, 16:57 
>> Rust
> Rust'у уже 7 лет, а единственное что "на нём" было написано -
> это очередной "вскукарек" в комментариях

На нем вообще-то целая Redox написана. А вот что написано на go акромя всякой санной прикладухе - это еще большой вопрос.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

45. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +4 +/
Сообщение от leap42 (ok) on 24-Сен-17, 04:02 
типичный pet-проект у которого 0 пользователей
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

54. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +2 +/
Сообщение от Аноним (??) on 24-Сен-17, 16:20 
>А вот что написано на go акромя всякой санной прикладухе - это еще большой вопрос.  

писать системный софт на языке со сборкой мусора. Ловите наркомана!

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

71. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 28-Сен-17, 16:36 
А с malloc/new не проблема?
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

28. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +1 +/
Сообщение от Вы забыли заполнить поле Name on 23-Сен-17, 19:33 
https://wiki.mozilla.org/Quantum
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

46. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от leap42 (ok) on 24-Сен-17, 04:04 
Quantum - замена Gecko, но Gecko пока никуда не делся, так что ещё не готово
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

56. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Вы забыли заполнить поле Name on 24-Сен-17, 20:51 
Там же написано, что это не замена. Они внедряют наработки в текущий gecko. Например, движок CSS https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-en.../.
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

59. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от funny.falcon on 25-Сен-17, 08:22 
На rust написано низкоуровневое ядро хранилища файлов в Dropbox. Правда, высокоуровневая кластерная обвязка на Go.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

60. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от Аноним (??) on 25-Сен-17, 08:36 
Go потому что рулит.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –7 +/
Сообщение от Аноним (??) on 23-Сен-17, 13:13 
***, серьезно? Ещё одна компания решила реализовать управление контейнерами на языке в котором нельзя нормально выполнить fork подготовив под него контекст?..
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 23-Сен-17, 14:05 
Видимо, в этом такой же смысл, как писать на "эзотерических" языках программирования.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 23-Сен-17, 14:52 
Некоторые до сих пор пишут под виндовс... а там с форком вообще беда...
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от anonymous (??) on 23-Сен-17, 15:00 
Для того, чтобы запустить сервис под systemd не нужны эти доисторические кривляния с форками.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

12. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 23-Сен-17, 15:39 
Гы, форк нужен не только чтобы запускать сервис,посмотри на работающий nginx, например. Сможешь такое сделать на systemd?
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +4 +/
Сообщение от Анонимы on 23-Сен-17, 15:52 
тсс, а то потеринг вызов примет
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

55. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 24-Сен-17, 16:24 
открою страшную тайну: в самом systemd используется fork
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

15. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от leap42 (ok) on 23-Сен-17, 16:46 
дорогой аноним, вот объясни мне тёмному - зачем тебе fork? форкаться на каждый контейнер? но это ведь не для hello world'ов на домашней тачке анонима, это для серьёзных людей, у которых и 10к контейнеров может быть, и 100к, и 1кк. ты представляешь, дорогой аноним, что будет с серваком при 1кк процессов? а миллион горутин - дело обычное в highload.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

16. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 23-Сен-17, 16:55 
Как будто этот твой горУтин умеет что-то большее, чем позволяет ядро. Чем POSIX thread не угодили, ну кроме не осиляторства?
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

51. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +1 +/
Сообщение от анон on 24-Сен-17, 12:51 
Posix thread требует больше памяти чем потоки, в остальном не плох.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 23-Сен-17, 16:58 
> ты представляешь, дорогой аноним, что будет с серваком при 1кк процессов?

Ммм, и что будет? Объясни мне тёмному как вырастет производительность от того что кучу задач еще и оберткой обернуть? Не очень понимаю. Потому что возможностьей непосредственно железа недостаточно чтобы корректно управлять параллельным выполнением всей этой кучи?

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

40. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от Онаним on 24-Сен-17, 00:47 
Присоединяюсь к вопросу
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

57. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +1 +/
Сообщение от й on 24-Сен-17, 22:18 
man context switching. передача контроля от одного процесса другому -- это определённый оверхед. и при тысячах процессов наступает ой. от того и c10k problem.
Ответить | Правка | ^ к родителю #40 | Наверх | Cообщить модератору

61. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от пох on 25-Сен-17, 18:59 
> передача контроля от одного процесса другому -- это определённый оверхед. и при тысячах
> процессов наступает ой

не хотел бы тебя огорчать, но context switching, как явствует из названия, не совсем переводится как "передача контроля от одного процесса другому", а вот process switching тебе таки придется делать, потому что процессоров у тебя все равно не тысячи. Это не "передача контроля", а просто запуск процесса на процессоре. То есть - загрузить селекторы, загрузить регистры, включая IP. Подождать отмерянное время (система отмеряния - одна из самых сложных хреновин в подобных задачах), прервать процесс, сохранить регистры, перезагрузить селекторы и регистры для другого процесса - и так каждый квант времени. Потому что процессов таки больше чем ядер, а выполняться они должны более-менее параллельно.

Можешь попытаться выполнять эту процедуру вручную, без всякого context switching вообще, но вообще-то современный процессор умеет делать ее полу-автоматически, и делает он это вполне эффективно, его не злые враги-вредители проектировали именно для многозадачной работы.

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

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

62. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от й on 25-Сен-17, 19:10 
во-первых, открываем гугль про "context switching" -> "A context switch (also sometimes referred to as a process switch or a task switch)" и не спорим про терминологию.

во-вторых, видел когда-нибудь несколько тысяч активных httpd-процессов? я видел, не надо мне рассказывать, что "оверхед незначителен", оно всё просто впадает в кому.

Ответить | Правка | ^ к родителю #61 | Наверх | Cообщить модератору

68. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от пох on 26-Сен-17, 23:29 
> во-первых, открываем гугль про "context switching"

с каких пор мусор из гугля является авторитетным мнением? Его такие же как ты писали, не видящие разницы.

> во-вторых, видел когда-нибудь несколько тысяч активных httpd-процессов?

я их когда-то в молодости по паре раз за ночь видел, и чего? Причем бы тут clear containers?

> не надо мне рассказывать, что "оверхед незначителен", оно всё просто впадает в кому.

тебе не пришло в голову, что оно впадает в кому из-за необходимости обработать одновременно тысчонку запросов одним физическим процессором, а вовсе не из-за мистического "context switching"? И хоть ты вдоль их обрабатывай, хоть поперек, результат будет одинаков. Более того - банальное блокирование новых запросов обычно вполне себе быстро выводит такую систему из "комы", если там не успела память кончиться или какие-нибудь внутриядерные структуры.

Забавно, что тебе даже не приходит в голову подумать, что начинается это лавинное нарастание процессов чаще всего именно из-за того, что какой-то _один_ процесс (или несколько однотипных, роботы обычно пачками ходят) задумывается слишком надолго (лочит базу, или просто тупит). То есть все из-за той же банальной нехватки мощности - на _содержательный_ процесс/ы, а не на процесс управления процессами.

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

70. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от й on 27-Сен-17, 12:11 
> тебе не пришло в голову, что оно впадает в кому из-за необходимости обработать одновременно тысчонку запросов одним физическим процессором, а вовсе не из-за мистического "context switching"?

погугли уже c10k problem и не позорься.

Ответить | Правка | ^ к родителю #68 | Наверх | Cообщить модератору

69. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от nonemo on 27-Сен-17, 11:13 
переключение контекста происходит в сотни раз дольше, чем вызов - возврат в рамках одного процесса; см. П.И.Рудаков, К.Г.Финогенов "программируем на языке ассемблера IBM PC" часть 3 ст.67 "Переключение задач"; кстати много понятных картинок в этой книжке, и на русском.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

72. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от пох on 30-Сен-17, 16:02 
> переключение контекста происходит в сотни раз дольше, чем вызов

проблема в том, что содержательный процесс после этого, не поверишь, норовит сам исполняться - и это не сотни тиков, а сотни тысяч-миллионы до следующего context-switch, который, чаще всего, еще и будет вызван не планировщиком, а самим процессом. Поэтому оверхеда в размере 0.01% ты бы даже и не заметил. На практике, к сожалению, банально "переключать контексты" получится, если у тебя ровно двухзадачная система (какие-то академические "true-rt"-os так и делали). А в реальности добавляется еще и оверхед от планировщика, и, хотя это место во всех современных системах вылизано круче чем у кота яйца, одних диссертаций десятками защищено на эти темы, там, к сожалению, далеко даже и не 0.1, и еще и имеет свойство нелинейно расти при увеличении числа процессов (что логично - при 1000 на ядро у тебя все равно система мертво повиснет, оптимизировать надо случай 10-300, когда есть еще шансы разойтись по-хорошему, если процессы короткоживущие)

а книжка для начинающих была и ничего, только устарела лет на 20, а материалы авторы собирали еще раньше, в самое неблагодарное время, когда часть команд процессора интел раздавал под nda.

Ответить | Правка | ^ к родителю #69 | Наверх | Cообщить модератору

19. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +7 +/
Сообщение от Аноним (??) on 23-Сен-17, 17:20 
Ололо. Дорогой leap42, расскажите же мне, как работают контейнеры, не создавая процессы.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

32. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –2 +/
Сообщение от Ordu email(ok) on 23-Сен-17, 20:22 
Ты действительно веришь в то, что стандартная библиотека go не позволяет создавать процессы, или просто прикидываешься идиотом?
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

31. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от Аноним (??) on 23-Сен-17, 19:58 
Т.е. там будут все контейнеры в одном процессе и этим вашим гарутиным что-то делаться? Круто. Хочу реально увидеть 100к контейнеров и шоб все в одном процессе. Надеюсь в этих ваших хайлоадах такой процесс не умрет, а то ведь там 100л контейнеров внутри.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

39. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +2 +/
Сообщение от Аноним (??) on 24-Сен-17, 00:26 
У нас в с++ тоже есть контейнеры: std::vector, std::map, std::list и всякие другие. Можно делать миллиарды их прямо в одном потоке без всяких там горутин.
Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

48. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 24-Сен-17, 08:03 
зачетный вброс, прямо поржали
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

67. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Добрый анон on 26-Сен-17, 18:32 
А у нас с другой стороны, в Го, например, есть сборка мусора, так что контейнеры вовремя вывозят машиной. Платим по стандартному тарифу без всяких там плюсов.
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

22. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 23-Сен-17, 17:45 
вообще то в go есть fork, но только это не тот fork из libc. Вопрос в другом, вам кто то запрещает пользоваться сисколы в го?
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

29. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от ваш К.О. on 23-Сен-17, 19:40 
> Вопрос в другом, вам кто то запрещает пользоваться сисколы в го?

fork() - это, мягко говоря, не совсем сисколл. (самое смешное, что в линуксе fork даже не вызывает кернельный fork, он вызывает clone)
форкнутая go -программа, вероятнее всего, немедленно закончит свое существование по sig11, несовместимом с жизнью.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

41. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 24-Сен-17, 02:09 
ну это вы про glibc. Я вообще веду к тому что отсутствие в go форка к которому мы привыкли в си не является непреодолимой проблемой.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

52. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от . on 24-Сен-17, 14:28 
> Я вообще веду к тому что отсутствие в go форка к которому мы привыкли в си
> не является непреодолимой проблемой.

это смотря что на нем делать - если просто контейнер (или любой другой процесс) запустить (то есть нужен аналог только fork || exec по сути) - то никаких проблем, хоть действительно напрямую два сисколла дергай. Да и штатный механизм там вполне себе есть.
Если нужен юникс-стайл в виде мастер-процесса и пачки потомков, которыми надо управлять, а не просто запустить и забыть - то, скорее всего, ничего не получится, придется либо переизобретать колесо, либо использовать принятые в языке конструкции, наплевав на эффективность.

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

21. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +1 +/
Сообщение от Аноним (??) on 23-Сен-17, 17:37 
> что даёт возможность уместить 3500 виртуальных машин на сервере с 128 Гб ОЗУ

37мб на машину, это только накладные расходы, вообщем маркетинговая чушня, как обычно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +1 +/
Сообщение от Аноним (??) on 23-Сен-17, 18:26 
CoW? Не, не слышал.
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

33. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от ksksfcc on 23-Сен-17, 20:27 
Что случится когда все виртуалки запустят по процессу обработки с различными данными на входе? Могу предположить что часть из них тупо выгрузится из-за отсутсвия рамы.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

37. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от пох on 23-Сен-17, 22:42 
> Что случится когда все виртуалки запустят по процессу обработки с различными данными на
> входе?

ровно то же самое, что случилось бы, если бы процессы запускались просто в одной системе - плюс 35 мегабайт сверху. Разумеется, это если верить интелу. Что довольно таки небольшая плата за возможность изолировать эти процессы напрочь (судя по словам о поддержке SR-IOV, которое, кстати, авторам перевода на заметку, (пара)виртуализация сетевой карты, а не фича процессора, там даже сетевую можно изолированную каждому выдать)  

существующие альтернативы жрут в лучшем случае первые сотни (либо здравствуй вероятность очередного рута "непривиллегированного" контейнера, заделавшегося рутом уже на хосте - и жрут при этом все равно не 35)

в общем, если бы я где-то упирался в доступную виртуалкам память, имело бы смысл на такое посмотреть.

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

43. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 24-Сен-17, 03:03 
128 гб накладных расходов на 3500 процессов обработки данных? Спасибо, но нам такое не нужно.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

53. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от пох on 24-Сен-17, 14:35 
> 128 гб накладных расходов на 3500 процессов обработки данных? Спасибо, но нам
> такое не нужно.

ну, значит, "вам не нужно", живите без изоляции этих процессов или с ее бесполезной имитацией (впрочем, тоже небесплатной). Стесняюсь спросить - а сами процессы-то у вас, что, даже и того не потребляют? А что они тогда вообще делают?

Я слабо себе представляю область применимости таких контейнеров ровно по противоположной причине - у меня никогда не было процессорной мощности на 3500 процессов которые на самом деле что-то делают. Я даже не очень представляю, что бы это такое вообще могло быть.

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

42. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +1 +/
Сообщение от Аноним (??) on 24-Сен-17, 02:12 
конечно слышал, вот только CoW c изолированными окружениями работает не так как вы себе это представляете.
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

49. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 24-Сен-17, 10:20 
Откуда ты так хорошо знаешь, что я себе представляю?
Там чуть пониже цитату привели, рекомендую ознакомиться.
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

25. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –3 +/
Сообщение от Аноним (??) on 23-Сен-17, 18:26 
О запуске графических приложениях, полагаю, не может быть и речи?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

36. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Stax (ok) on 23-Сен-17, 22:38 
Посмотрел доки и так и не понял, память может свободно разделяться между контейнерами или нет? Т.е. пусть у нас 4 ГБ памяти всего, два контейнера, сейчас один потребляет 1 ГБ, а второй 2 ГБ, потом первый потребляет 2 ГБ, а второй 1 ГБ - без переконфигурации. Потому что overcommiting + memory ballooning на виртуалках все равно не дает такой эффективности, как общая память между контейнерами (ну а лимиты навешать никогда не проблема).

Еще смущает, что на https://lwn.net/Articles/644675/ в комментариях утверждают, что непонятно, как добиться заявленного оверхеда в 20 МБ на контейнер, по факту выходит 60.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

38. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +1 +/
Сообщение от Аноним (??) on 23-Сен-17, 23:16 
по той же ссылке на lwn.net написано:

>[оверквотинг удален]
>in the ext4 filesystem. If your storage is visible as regular memory to the host CPU, DAX
>enables the system to do execute-in-place of files stored there. In other words, when
>using DAX, you bypass the page cache and virtual-memory subsystem completely. For
>applications that use mmap(), this means a true zero-copy approach, and for code that
>uses the read() system call (or equivalent) you will have only one copy of the data. DAX
>was originally designed for fast flash-like storage that shows up as memory to the CPU;
>but in a virtual-machine environment, this type of storage is easy to emulate. All we
>need to do on the host is map the disk image file into the guest's physical memory, and
>use a small device driver in the guest kernel that exposes this memory region to the
>kernel as a DAX-ready block device.

На всякий случай еще раз повторю:

> For applications that use mmap(), this means a true zero-copy approach, and for code
> that uses the read() system call (or equivalent) you will have only one copy of the data.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

66. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Stax (ok) on 26-Сен-17, 18:05 
Я это видел, но не вижу тут ответа на вопрос.

Во-первых, мне в целом без разницы, zero-copy или нет - интересует, освобождаемая программой в таком контейнере память тут же возвращается в хост-систему и доступна другим контейнерам или нет?
Во-вторых, а что с обычным malloc (когда размер аллокации недостаточен, чтобы он переключался на mmap).

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

44. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от Аноним (??) on 24-Сен-17, 03:06 
Для тех кто не понял цифры. 128гб это и есть объем накладных расходов 3500 виртуалок.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

47. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от Аноним (??) on 24-Сен-17, 04:27 
Калькулятор не осилил?
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

63. "Intel представил инструментарий Clear Containers 3.0, перепи..."  +/
Сообщение от jsjf on 25-Сен-17, 20:47 
Выложите свои вычисления, нам всем очень интересно будет посмотреть.
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

50. "Intel представил инструментарий Clear Containers 3.0, перепи..."  –1 +/
Сообщение от Аноним (??) on 24-Сен-17, 10:23 
> Для тех кто не понял цифры. 128гб это и есть объем накладных
> расходов 3500 виртуалок.

Как-то не так я, видимо, истолковал фразу
> уместить 3500 виртуальных машин на сервере с 128 Гб ОЗУ.

Или всё-таки ты?

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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