The OpenNET Project / Index page

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

07.05.2014 14:20  Intel представил сокращённый вариант сетевого стека для Linux

Разработчик из компании Intel представил для обсуждения и рецензирования в списке рассылки разработчиков ядра Linux упрощённую реализацию сетевого стека, рассчитанную на использование на маломощных встраиваемых системах. Разработка выполнена в процессе экспериментов по запуску Linux на системах с небольшим объёмом оперативной и постоянной памяти, таких как платы на базе процессоров Intel Quark, в которых может поставляться 2-4 Мб памяти.

В текущем виде, включение в сборку сетевого IPv4-стека Linux приводит к увеличению размера примерно на 400 Кб, что ставит крест на использовании традиционного стека на системах с 2 Мб памяти. Применение легковесного сетевого стека LWIP, работающего в пространстве пользователя, приводит к увеличению потребности в памяти каждого связанного с ним приложения примерно на 100 Кб. По мнению разработчиков, штатный сетевой стек ядра Linux сам по себе достаточно компактный, но раздувается из-за большого числа поддерживаемых функций.

Главная идея разработчиков из Intel связана с предоставлением возможности сборки урезанной версии сетевого стека, содержащей только минимально необходимую функциональность. Многие из расширенных возможностей штатного сетевого стека Linux востребованы только на серверных системах и могут быть удалены без негативного влияния на работу клиентских приложений. Такой урезанный стек может успешно конкурировать с LWIP.

Так как применение ifdef для исключения каждой порции излишнего кода отмечено как очень трудоёмкая задача, при создании патча разработчики Intel активно полагаются на использование техники оптимизации на этапе связывания (LTO). Основные ссылки на вызов опциональных компонентов экранируются через ifdef, а весь оставшийся без вызова используемый код чистится силами компилятора. Для некоторых возможностей, которые невозможно просто удалить, созданы упрощённые аналоги. В итоге, применение подготовленного патча с включением LTO-оптимизаций позволило сократить размер полнофункционального сетевого стека до 170 Кб.

Планируется подготовить три опции сборки:



  1. Главная ссылка к новости (https://lkml.org/lkml/2014/5/5...)
Лицензия: CC-BY
Тип: Интересно / К сведению
Ключевые слова: linux, kernel, tcpip, stack
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, бедный буратино (ok), 14:28, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]
  • +4 +/
    они 80386 возродили? до чего людей кризис довёл...
     
     
  • 2.11, Савраска (?), 15:15, 07/05/2014 [^] [ответить]    [к модератору]
  • +10 +/
    Хм, а стОит ли экономить на памяти (ну добавьте ещё пару-тройку метров), и при этом рубать шашкой сетевой стек направо и налево. Чревато ведь. А то наклепают стотыщ мильонов копеечных девайсов, из них 99,9% без возможности обновления прошивки. А потом - упс, мы ж там в пару десятках мест, оказывается, за стек повылазили, и у нас теперь ботнеты из кофемолок, умных лампочек и гаражных ворот.
     
     
  • 3.13, Andrey Mitrofanov (?), 15:22, 07/05/2014 [^] [ответить]    [к модератору]
  • +1 +/
    > Хм, а стОит ли экономить на
    >наклепают стотыщ мильонов копеечных девайсов
    >А потом - упс,

    и PROFFITT. Intel же.

    > мы ж там в пару десятках мест, оказывается, за стек повылазили, и у нас

     
  • 3.14, клоун (?), 15:24, 07/05/2014 [^] [ответить]     [к модератору]
  • –2 +/
    Да чё мелочиться, давай уж тогда везде Core_i7 и Unity ставить Ну чтоб наверняк... весь текст скрыт [показать]
     
  • 3.61, Аноним (-), 21:06, 07/05/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    хрен чего на таком ботнете еще запустишь :)
     
     
  • 4.85, 1 (??), 10:17, 08/05/2014 [^] [ответить]    [к модератору]  
  • +/
    Ну туча мошки может сожрать лося
     
  • 3.71, Аноним (-), 00:20, 08/05/2014 [^] [ответить]     [к модератору]  
  • +2 +/
    Не смешно Камеры наблюдения например уже ищутся в гугле по характерным кейворда... весь текст скрыт [показать]
     
     
  • 4.94, Аноним (-), 21:13, 08/05/2014 [^] [ответить]     [к модератору]  
  • +/
    Мужик, на те зарплаты нанимаются отнюдь не Сократы со Спинозами Улавливаешь ... весь текст скрыт [показать]
     
  • 2.21, Анонище (?), 17:07, 07/05/2014 [^] [ответить]    [к модератору]  
  • +/
    Ага, 80386 с энергопотреблением на порядок меньше. Мелочь, да. Игрушки же не потянет.
     
     
  • 3.53, Аноним (-), 20:53, 07/05/2014 [^] [ответить]    [к модератору]  
  • +5 +/
    Что интересно, ARMы прекрасно себя чувствовали с полным сетевым стеком :). Просто этот кварк получился настолько обрубочный что видимо ему даже это сложно. Позор, x86 который дохлее ARMов.
     
     
  • 4.76, Аноним (-), 00:32, 08/05/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    > Что интересно, ARMы прекрасно себя чувствовали с полным сетевым стеком

    Какой-нибудь Cortex-M - нет. Армов много разных есть, встречаются даже SoC с сотнями килобайт памяти на борту.

     
     
  • 5.81, Аноним (-), 04:21, 08/05/2014 [^] [ответить]     [к модератору]  
  • +1 +/
    А у них чаще всего нет не то что MMU, у большинства даже MPU нет При таком раск... весь текст скрыт [показать]
     
  • 2.37, Аноним (-), 18:41, 07/05/2014 [^] [ответить]    [к модератору]  
  • +/
    Новость не читаем, лишь бы в комментах отметиться? Это для Quark, для носимых устройств типа часов, очков и пр.
     
     
  • 3.54, Аноним (-), 20:54, 07/05/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    > Это для Quark, для носимых устройств типа часов, очков и пр.

    Да знаешь, ARMы там и с нормальным сетевым стеком справляются неплохо.

     
     
  • 4.86, КО (?), 10:25, 08/05/2014 [^] [ответить]     [к модератору]  
  • +2 +/
    x86 как бы тем более Речь про память она у тех и других одинаковая Вопрос в ... весь текст скрыт [показать]
     
  • 2.63, Аноним (-), 21:07, 07/05/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    mips никогда и не умирал. самое то для embedded-а.
     
     
  • 3.65, rob pike (?), 21:13, 07/05/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    только 8051
    только хардкор
     
     
  • 4.82, Аноним (-), 04:22, 08/05/2014 [^] [ответить]    [к модератору]  
  • +/
    > только хардкор

    Хардкор будет когда ты его из отдельных транзисторов научишься собирать.

     
     
  • 5.105, rob pike (?), 18:31, 09/05/2014 [^] [ответить]    [к модератору]  
  • +/
    Попса какая.
    Из ламп и реле бы вот предложили, аналоговый - вот то было б дело.
     
  • 2.6, Stanislavvv (?), 14:54, 07/05/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    100кб для _каждого_ приложения. Если у тебя на девайсе не только вебморда - будет 200к, 300к, 400к...
    А тут - 170к итого.
     
     
     
    Часть нити удалена модератором

  • 4.66, Ordu (ok), 21:17, 07/05/2014 [^] [ответить]    [к модератору]  
  • +/
    Перенеси, проверь.
     
  • 1.4, Аноним (-), 14:44, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Да уже отклонили ее, два дня как. Ты б написал об этом в новости
     
     
  • 2.38, trdm (ok), 18:53, 07/05/2014 [^] [ответить]    [к модератору]  
  • +/
    Кто отклонил? Интел?
     
     
  • 3.70, Аноним (-), 23:50, 07/05/2014 [^] [ответить]    [к модератору]  
  • +/
    Дэвид Миллер. Читай почтовый тред по ссылке.
     
  • 1.5, 20844382831239512354123831238712390 (?), 14:44, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    > При включении данной опции будет удалена поддержка ...
    > raw-сокетов

    То есть, Wireshark не будет работать?

    > и ping-сокетов .

    Хомячки будут рыдать, что LOIC перестал работать.

     
     
  • 2.8, Аннонн (?), 15:02, 07/05/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    Зачем Wireshark на встроенной железке?
     
     
  • 3.19, Аноним (-), 16:44, 07/05/2014 [^] [ответить]    [к модератору]  
  • +/
    Тогда надо пойти и дальше и спросить: на кой там вообще linux?
     
     
  • 4.42, Пиу (ok), 19:26, 07/05/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    альтернативы подскажешь?
     
     
  • 5.43, Аноним (-), 19:39, 07/05/2014 [^] [ответить]     [к модератору]  
  • –3 +/
    Альтернативы чему Тому во что превратят линух на этих носимых устройствах с так... весь текст скрыт [показать]
     
     
  • 6.72, Аноним (-), 00:22, 08/05/2014 [^] [ответить]    [к модератору]  
  • +/
    > А если так то бери любую ртос и вперёд.

    Хорошая заявка на эпический кластерфак ^^^.

     
  • 6.91, burjui (ok), 17:27, 08/05/2014 [^] [ответить]     [к модератору]  
  • +/
    RTOS это 1 Сложно 2 Очень много писать 3 Нельзя заюзать готовый софт утилит... весь текст скрыт [показать]
     
  • 1.12, Аноним (12), 15:19, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • –4 +/
    а если ещё ядро собрать, не с жирнейшей bclib, или такой же ebclib, а с компактной библиотекой musl. оно тогда и жрать меньше будет, и работать быстрее.
     
     
  • 2.15, MinimumLaw (?), 15:54, 07/05/2014 [^] [ответить]    [к модератору]  
  • +2 +/
    Хм... А как одно с другим повязано? Никак... Так что мимо...
    Ядро не пользуется функциями libc. Оно актуально только для user-space.
     
  • 2.35, rob pike (?), 18:21, 07/05/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    >и жрать меньше будет

    Да.

    >и работать быстрее

    Нет.

     
  • 1.16, Добрый Дохтур (?), 16:19, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    О,дааа... там шоу:

    Andi Kleen:

    Multiple receive queues are not needed on small systems, so allow disabling them.

    David Miller:

    I'm really totally, and completely, convinced that you wrote this entire patch series with your brain turned off.

    I'm not applying any patch in this series Andi, come back when you have something specific and small and reasonable to discuss, rather than this huge patch bomb of total and complete crap.

    Andi Kleen:  Make TCP metrics optional

    This is all the code that saves connection information between different sockets. Not really essential for small systems. Saves about 5.5k text

    David Miller:

    It is absolutely essential unless you want poor performance of TCP connections.
    I'm not applying this.

     
  • 1.17, Пиу (ok), 16:23, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    давно пора!
     
  • 1.20, YetAnotherOnanym (ok), 17:01, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    > 2-4 Мб памяти

    шёл 2014 год...

     
     
  • 2.24, ... (?), 17:28, 07/05/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    >> 2-4 Мб памяти
    > шёл 2014 год...

    Специально для тебя:
    ----
    рассчитанную на использование на маломощных встраиваемых системах
    ----

     
     
  • 3.48, YetAnotherOnanym (ok), 20:36, 07/05/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    Даже в самой маломощной встраиваемой системе можно добавить хотя бы 32 или 64 МБ... весь текст скрыт [показать]
     
     
  • 4.57, Аноним (-), 20:57, 07/05/2014 [^] [ответить]     [к модератору]  
  • +/
    Да знаешь, даже ядро 3 х запускается даже на древних как мамонты деваясах с 16Мб... весь текст скрыт [показать]
     
  • 1.33, rob pike (?), 18:19, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Richard Cochran годно резюмировал

    >Regarding the multiplicity of RTOSs out there, all I can say is, they

    all suck, especially the ones you pay money for. It would be great to
    have a small Linux like OS for micro controllers and tiny micro
    processors. I have looked and looked for an open source, posix like
    alternative, but all I found was Nuttx, ActionOS, and RTEMS. I looked
    closely at the first two, and putting aside technical issues, neither
    seems to have any steam in terms of active development. RTEMS says it
    has a BSD stack, and it seems to have a respectable development
    effort, but I did not look too closely at it.
    >There is a huge area out there (think of all the Cortex M3) that needs

    a real networking stack, but I don't see much hope. Minimizing Linux
    is a big PITA (tons of work), and building a suitably small OS from
    scratch is hopeless. As was said, it is easier just to buy a bigger
    memory. The people who can't or won't (who are also building the IoT)
    will just throw in some lwIP or uIP. You can imagine how secure these
    systems will be.

     
  • 1.39, Аноним (-), 19:00, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Оказалось что запихнуть слона целиком в такую коробочку сложно, решили частями запихивать по принципу сколько влезет
     
  • 1.44, Аноним (-), 19:47, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Что-то много 400 и 100 килобайт. Народ для AVR Atmega328 пишет ethernet-стек, а там всего 2КБ ОЗУ и 32КБ флэша :)
     
     
  • 2.59, Аноним (-), 21:00, 07/05/2014 [^] [ответить]    [к модератору]  
  • +/
    > а там всего 2КБ ОЗУ и 32КБ флэша :)

    А теперь попробуй прицепить атмегу к билайну - wi-fi, PPTP или L2TP на выбор. И вебмордочку потом нарисуй. На пингвине то это как два пальца об асфальт...

     
  • 2.67, КЭП (?), 21:30, 07/05/2014 [^] [ответить]    [к модератору]  
  • +1 +/
    Только это СТЭКОМ называть нельзя. Только реализацией части протокола.
     
     
  • 3.73, Аноним (-), 00:23, 08/05/2014 [^] [ответить]    [к модератору]  
  • +/
    > Только это СТЭКОМ называть нельзя. Только реализацией части протокола.

    При том примитивной и работающей только в идеальных условиях.

     
     
  • 4.99, Аноним (-), 01:16, 09/05/2014 [^] [ответить]     [к модератору]  
  • +/
    А зачем платить больше когда 90 встраиваемых железок имеют 1 сетевой интерфейс,... весь текст скрыт [показать]
     
  • 1.45, darkshvein (ok), 20:22, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А оракл предоставит сокращённый вариант джавы? Вот тогда и поговорим
     
     
  • 2.78, Аноним (-), 00:42, 08/05/2014 [^] [ответить]     [к модератору]  
  • +2 +/
    Java ME 16-bit or 32-bit CPU with a clock speed of 16 MHz or higher At least 160... весь текст скрыт [показать]
     
     
  • 3.100, Аноним (-), 01:19, 09/05/2014 [^] [ответить]     [к модератору]  
  • +/
    gt оверквотинг удален Побольше бы платформ с Java ME, а то что не платформа то... весь текст скрыт [показать]
     
  • 1.46, Аноним (-), 20:30, 07/05/2014 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    вот же люди, сначала сами себе отрезают руки, а потом начинают придумывать проте... весь текст скрыт [показать]
     
     
  • 2.74, Аноним (-), 00:25, 08/05/2014 [^] [ответить]    [к модератору]  
  • +/
    Тем более что чипы DRAM менее чем 32 Мб кажется уже просто не выпускают - даже в самой паршивой китайчине идущей на грани демпинга, порядка 15 уе за модуль - менее 32 Мб уже редкость просто.
     
     
  • 3.77, rob pike (?), 00:39, 08/05/2014 [^] [ответить]     [к модератору]  
  • +/
    Вы наверное будете шокированы, но 15 уе - это сейчас дороже, например, целого со... весь текст скрыт [показать]
     
     
  • 4.83, Аноним (-), 04:34, 08/05/2014 [^] [ответить]     [к модератору]  
  • +/
    Мы не будем шокированы, ибо в курсе что цена на комплектуху зависит от партии И... весь текст скрыт [показать]
     
  • 3.88, КО (?), 10:37, 08/05/2014 [^] [ответить]    [к модератору]  
  • +/
    >чипы DRAM

    Вы сами ответили на свой вопрос - люди хотят уложиться внутри кеша процессора, а внешнюю память сделать не обязательной.

     
  • 1.47, StainlessRat (??), 20:34, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Я чёт не понял, они перековеркали 6 уровней OSI ?
     
     
  • 2.89, Аноним (-), 11:27, 08/05/2014 [^] [ответить]    [к модератору]  
  • +/
    угу. в дым. потому и отклонили. отчасти.
     
  • 1.55, pavlinux (ok), 20:54, 07/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Короча, ждём Intel OS
     
  • 1.79, KT315 (ok), 00:51, 08/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Вот так программисты сходят с ума((( создают-создают, а потом...
     
  • 1.87, count0krsk (ok), 10:28, 08/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Интел - как медведь в посудной лавке )) Вместо того, чтобы изобрести что-то тонкое и быстрое, решил подрезать стек "под себя". Как не влезающая в свадебное платье кобылица, отказывающаяся признать себя "толстой" ))
    А уж их Атом-ы - вообще шедевр инженерной мысли. На 2х-ядерном с интеловской же графикой пришлось оптимизировать параметры Xorg-a (EXA,PXA, хренокса), чтобы просто посмотреть видео без тормозов на 1280*1024 (не хд-шное). На ноуте с 3-пнем спокойно открываю и смотрю "искаропки". Правда видюха - Trident )
     
     
  • 2.101, Аноним (-), 01:24, 09/05/2014 [^] [ответить]     [к модератору]  
  • –1 +/
    Просто сами X не торт Смотри на фреймбуфер mplayer -vo fbdev2 porn2 avi... весь текст скрыт [показать]
     
     
  • 3.104, the joker (ok), 12:13, 09/05/2014 [^] [ответить]    [к модератору]  
  • +3 +/
    > mplayer -vo fbdev2 porn2.avi

    Совсем зажрались. Я ещё [b]mplayer -vo aa porn1.avi[/b] не досмотрел.

     
  • 3.107, count0krsk (ok), 16:52, 12/05/2014 [^] [ответить]     [к модератору]  
  • +/
    Да я обычно через vlc смотрю, удобнее как-то И скины прикручиваются, и больше ф... весь текст скрыт [показать]
     
  • 1.98, Аноним (-), 00:53, 09/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Давно пора уже забить на все и оставить один только UDP ))) этого вполне хватит для систем с 2-4Мб все равно на них ничего кроме термометра не создать...
     
  • 1.106, Michael Shigorin (ok), 15:30, 12/05/2014 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А, дошло.  Это они Торвальдсу так трансмету припомнить пытаются :]
     

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


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