The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от opennews on 24-Мрт-15, 23:24 
Для рассмотрения разработчиками ядра Linux представлен (https://lkml.org/lkml/2015/3/24/254) набор патчей (https://github.com/libos-nuse/net-next-nuse) с реализацией технологии LibOS (http://libos-nuse.github.io/)  для Linux. Суть LibOS сводится к возможности сборки сетевого стека ядра в форме внешней разделяемой библиотеки, выполняемой в пространстве пользователя и связываемой с пользовательскими приложениями. Важной особенностью, является то, что в библиотеку выносится штатный сетевой стек ядра, что позволяет использовать такие возможности, как TCP, UDP, SCTP, DCCP,
Mobie IPv6, Multipath TCP и netlink.

Подобный подход позволяет подключать к разным приложениями персонализированные варианты полноценного сетевого стека, адаптированные для конкретной области применения. Для разработчиков ядра поддержка LibOS позволит упростить тестирования кода сетевого стека при разных сценариях использования. Из интересных особенностей LibOS отмечается возможность привязки к одному приложению нескольких экземпляров сетевого стека, что даёт возможность симулировать на одной системе разные сложные сетевые топологии.


В текущем виде LibOS сосредоточен на сетевом стеке, но теоретически архитектура LibOS позволяет виртуализировать и другие подсистемы. Для управления работой вынесенного в библиотеку сетевого стека предоставляется специальный
набор утилит (https://github.com/libos-nuse/linux-libos-tools). Например, можно назначить каждому экземпляру свои сетевые интерфейсы и маршрутизацию. Связываемые с библиотекой приложения не требуют модификации и работают по аналогии с обычным сетевым стеком, для чего применяется специальный транслятор системных вызовов (связанные с сокетами символы заменяются на локальные вызовы  LibOS).

<center><iframe src="//www.slideshare.net/slideshow/embed_code/44752487" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe></center>

URL: https://lkml.org/lkml/2015/3/24/254
Новость: http://www.opennet.dev/opennews/art.shtml?num=41904

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

Оглавление

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


1. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +4 +/
Сообщение от asdfghjkl on 24-Мрт-15, 23:24 
Теперь сеть будет тормозить не меньше, чем графика, ура!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +7 +/
Сообщение от ананим.orig on 24-Мрт-15, 23:54 
Графика давно уже не тормозит. Вон с той же макос процентов на 30%. Нехило так.
Да, халтурные порты игр с вантуза конечно есть. И это надо отличать вообще-то.

Кстати, чем сабж вам не микро-ядро?

Зыж
для тестов просто сказка.
А для современных аппаратных гигабитов, когда на выходе всё-равно мега-биты, вообще красота.

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

20. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +1 +/
Сообщение от Аноним (??) on 25-Мрт-15, 09:21 
> Кстати, чем сабж вам не микро-ядро?

Тем, что не микро. А вот за гибридное сойдёт.

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

22. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +1 +/
Сообщение от ананим.orig on 25-Мрт-15, 10:00 
Точно.
Как и любое другое микро-ядро.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

34. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Michael Shigorin email(ok) on 25-Мрт-15, 20:57 
> А для современных аппаратных гигабитов, когда на выходе всё-равно мега-биты

Есть довольно много карточек 10GE+ с разгружалками, где как раз пишут юзерспейсные драйверы ради того, чтоб не щёлкать контекстами, гоняя данные из софтов в ядро...

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

39. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Andrew Kolchoogin (ok) on 26-Мрт-15, 12:35 
> юзерспейсные драйверы

Юзерспейсный сетевой код.

После изобретения NETMAP странно утаскивать что-то аппаратно-зависимое в Userland, проще при старте приложения попросить NETMAP замапить сетевые буферы контроллера в память процесса, откуда и разгребать.

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

44. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –2 +/
Сообщение от AS (??) on 28-Мрт-15, 20:10 
Не тормозит? У меня отрисовка в гноме например намного медленнее чем в винде, да и почти везде в Линуксе отрисовка как я понимаю....
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

14. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –1 +/
Сообщение от наноним on 25-Мрт-15, 05:33 
Графика в linux давно в ядре, подсистемы drm, ttm.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –1 +/
Сообщение от Аноним (??) on 24-Мрт-15, 23:38 
О сколько нам открытий чудных
Готовят просвещенья дух
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, бог изобретатель...
(C) А. С. Пушкин
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +6 +/
Сообщение от Аноним (??) on 24-Мрт-15, 23:43 
Да здравствует переключение контекста на обработку каждого транзитного пакета. Ура!

Предлагаю DRM/KMS/GEM тоже реализовать в виде библиотеки. Всё ж, контекст не так часто переключаться будет, как от сетевого трафика.

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

26. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –2 +/
Сообщение от Аноним (??) on 25-Мрт-15, 11:22 
в нормальных сетевках - идет прямая запись в память приложения. им не надо делать переключения..
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

40. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Andrew Kolchoogin (ok) on 26-Мрт-15, 12:37 
> в нормальных сетевках - идет прямая запись в память приложения. им не
> надо делать переключения..

X8-O

Это что-то новое... Для графики для таких "штук" придуман DRM (часть его -- Generic DMA Engine), а для сети что?

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

41. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Andrey Mitrofanov on 26-Мрт-15, 14:44 
> X8-O
> Это что-то новое...
>, а для сети что?

Сетевой ресурс LWN.net сообщает:

""Zero-copy networking will be in 2.4.4. This patch, by David Miller, Alexey Kuznetsov, and others, has been in development and testing for some time, and was incorporated into the "ac" kernel series back in 2.4.2ac4. In a way, it is a surprising change to see in a stable kernel series, since it makes fundamental changes deep in the networking code. From all reports, however, it is solid, and, in certain situations, it should produce significant performance benefits. -- http://lwn.net/2001/0419/kernel.php3

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

46. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Wulf (??) on 31-Мрт-15, 12:33 
> в нормальных сетевках - идет прямая запись в память приложения. им не надо делать переключения..

"Нормальным сетевкам" без разницы куда записывать, т.к. они пишут в физическую память а не в виртуальную.
А вот  для того чтобы память для буферов выделялась именно из приложения а не из ядра и нужен Subj, JunOS, NETMAP, DPDK, DNA и т.д.

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

4. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +28 +/
Сообщение от Аноним email(??) on 24-Мрт-15, 23:51 
Сначала отколупают от ядра, а потом запхнут все это в сыстемдэ.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

29. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –1 +/
Сообщение от Владими Владимирович on 25-Мрт-15, 14:23 
А потом прямо в проц!
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

32. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –1 +/
Сообщение от потеряшка on 25-Мрт-15, 17:28 
А что мешает все драйвера запилить на скриптовых ЯП и подлючать через интерфейс в ядро?
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

37. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Аноним (??) on 25-Мрт-15, 23:57 
> А что мешает все драйвера запилить на скриптовых ЯП и подлючать через
> интерфейс в ядро?

Да в принципе можно конечно и бегать по потолку, надев ласты и противогаз. Но зачем?

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

6. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Аноним (??) on 24-Мрт-15, 23:59 
Нужно. Бывают ситуации, когда нужно собирать минималистичное ядро без поддержки сети. Этот проект поможет основному ядру не ломать такую возможность - а то отключить как бы и можно, но как бы и нет. Это как работать в KDE4 без мышки.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –2 +/
Сообщение от tensor on 25-Мрт-15, 05:13 
В каком это таком эмбеде может понадобиться linux без сети? Разве что на пылесосе или кофемашине - но там это уже головные боли разработчиков, пусть курят LFS.
Опять же, если ресурсов побольше, чем на быт. технике, то почему нельзя портировать фряшную VImage?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

7. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +5 +/
Сообщение от cmp (ok) on 25-Мрт-15, 00:11 
Да жесть, то dbus в ядро чтобы задержки убрать , то сеть из ядра ради каких-то там каличей, порою смотришь как люди носят кепки - козырьком и вперед, и назад, и вбок, и думаешь, ладно хоть на машинах штатно задом не ездят, а теперь вот хз может и начнут.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +3 +/
Сообщение от kuku (ok) on 25-Мрт-15, 00:36 
Имеет место сказать, что предпринимаются глуповатые
попытки что-нибудь привнести нового, граничащего
с бесполезным.

Хотя с другой стороны, если ядро главный модуль,
то то, что неявляется по существу сервисом ядра,
вынести в отдельный модуль...

Я не силен архитектуре ядра, но это помоему, такие
начальные попытки плавного перехода к микроядру...

Как то так.

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

10. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от cmp (ok) on 25-Мрт-15, 02:11 
Нее, микроядер хватает, микроядра работают через шину, которая в линухе только только появилась, скорее квантовый компьютер появится в каждом доме, чем линух эволюционирует до микроядра.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

28. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Аноним (??) on 25-Мрт-15, 14:02 
Кепку носить козырьком назад вполне обоснованно - козырек сужает видимую область окружающего мира, а нужен только в солнечную погоду.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

42. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Ytch (ok) on 26-Мрт-15, 21:18 
> Кепку носить козырьком назад вполне обоснованно - козырек сужает видимую область окружающего мира, а нужен только в солнечную погоду.

Ну по анекдоту же! козырек назад - чтоб дождевая вода за шиворот не текла. А козырьки по бокам - чтоб лапшу на уши не вешали!

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

45. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Аноним (??) on 30-Мрт-15, 21:38 
Смотри сюда. Если объяснять упрощенно, то

DBus:
Юзерспейс - приложение -> ядро (unix socket) -> dbus-daemon -> ядро (unix socket) -> приложение
Кернелспейс - приложение -> ядро (dbus-daemon) -> приложение

Очевидный профит

Сетевой стек:
Кернелспейс - сетевая карта -> ядро (сетевой стек) -> приложение (сетевой стек) -> ядро (сетевой стек) -> сетевая карта
Юзерспейс - сетевая карта -> приложение (сетевой стек) -> сетевая карта

Очевидный профит

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

8. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Аноним (??) on 25-Мрт-15, 00:24 
Ну если ещё сделают, что эта LibOS будет способна собираться для работы поверх маленьких RT-ядер для микроконтроллеров, типа этого http://chibios.org/, то - польза.
А если запихнуть в неё ещё и netfilter и заставить работать поверх NT-шного ядра, то для офтопика появится полностью контролируемый пользователем гибкий файервол.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +3 +/
Сообщение от Аноним (??) on 25-Мрт-15, 02:38 
> для офтопика

Миниатюра "амбарная дверь с пудовым замком в пустыне".

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

16. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +1 +/
Сообщение от Аноним (??) on 25-Мрт-15, 06:18 
wipfw
LwIP
ucLinux
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

24. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от YetAnotherOnanym (ok) on 25-Мрт-15, 10:47 
> wipfw

пропускает. доказано.

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

35. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Андрей (??) on 25-Мрт-15, 21:04 
uIP (предшественник lwIP)
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

11. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –5 +/
Сообщение от Гост on 25-Мрт-15, 02:18 
Больше троянов, хороших и нужных.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

15. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +5 +/
Сообщение от Аноним (??) on 25-Мрт-15, 06:14 
зачем клоунаду разводить не пролистав презентацию?

Производительность у NUSE хуже (всегда будет хуже).
Из плюсов - можно тестировать разные топологии, прогонять код под valgrind и gdb, проверять покрытие кода тестами. Например, сколько багов нашли и ещё находят в реализации SCTP ?

Если брать mTCP (который уже давно не новый:
так он решает свою задачу: предоставить высокую производительность  для одного приложения (например для lighttpd кроме которого на сервере ничего нет) для 10Gbit Ethernet и быстрее
http://shader.kaist.edu/mtcp/
http://www.ndsl.kaist.edu/~kyoungsoo/papers/mtcp.pdf

Какие сейчас проблемы с текущим сетевым стеком можно посмотреть:
https://lwn.net/Articles/629155/

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

23. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –1 +/
Сообщение от MPEG LA (ok) on 25-Мрт-15, 10:40 
>В текущем виде LibOS сосредоточен на сетевом стеке, но теоретически архитектура LibOS позволяет виртуализировать и другие подсистемы.

это ж по-сути намек на микроядро (или гибрид). Не Танненбаума ли это казачки?

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

27. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от ПолковникВасечкин on 25-Мрт-15, 11:37 
Да нее, это реализация вот этого https://ru.wikipedia.org/wiki/%D0%AD%D0%...

A long, long time ago...

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

25. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –1 +/
Сообщение от Аноним (??) on 25-Мрт-15, 11:00 
Даешь подключение сетевого стека по сети!
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

36. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  +/
Сообщение от Led (ok) on 25-Мрт-15, 23:33 
> Даешь подключение сетевого стека по сети!

man pxe

Но только после того, как выучишь уроки!

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

43. "Проект LibOS развивает вариант ядра Linux с сетевым стеком в..."  –1 +/
Сообщение от Аноним (??) on 27-Мрт-15, 08:06 
Вспомнили net-server BeOS ? ;-)))
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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




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

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