По мотивам обсуждения выхода OpenBSD 4.4.
http://www.linux.org.ru/view-message.jsp?msgid=3218964
--
http://www.linux.org.ru/view-message.jsp?msgid=3218964&lastmod=1225846901...
Re: OpenBSD 4.4
OpenBSD до сих пор не умеет прерывания от сетевух распределять по нескольким процессорам. ФС у нее тормозная, масштабирумость вообще никакая, поэтому область ее применения -- слабонагруженные роутеры, говносерверы и десктопы для недовольных Линуксом.
anonymous (*) (02.11.2008 3:11:43)
--
http://www.linux.org.ru/view-message.jsp?msgid=3218964&lastmod=1225846901...
Re: OpenBSD 4.4
> OpenBSD до сих пор не умеет прерывания от сетевух распределять по нескольким процессорам.
А кто умеет? Мой линукс вроде бы умеет, но под предельными нагрузками всё равно получается, что одна сетевуха в конкретный момент времени может работать только на одном процессорном ядре. Что я делаю не так? (серьёзный вопрос, без стёба)
Пока нагрузки небольшие, прерывания перемещаются между двумя/тремя ядрами (сколько назначу), в top это выглядит так, как будто процесс на самом деле распараллелился. Как только нагрузки становятся суммарно близко к 100% одного ядра, всё сваливается на какое-то одно ядро.
anonymous (*) (02.11.2008 6:19:23)
--
http://www.linux.org.ru/view-message.jsp?msgid=3218964&lastmod=1225846901...
Re: OpenBSD 4.4
> А кто умеет? Мой линукс вроде бы умеет, но под предельными нагрузками всё равно получается, что одна сетевуха в конкретный момент времени может работать только на одном процессорном ядре.
А при каких пакетрейтах и на каком железе наблюдаются нагрузки близкие к 100% ?
Linux умеет распределять по нескольким процам. Только надо понимать, что есть два сорта обработчиков прерываний. Чтобы hard IRQ от сетевух обрабатывались несколькими процессорами, достаточно включить APIC. Hard IRQ как правило не занимают много процессорного времени, они только кладут в память данные с сетевухи. Вся остальная деятельность происходит в soft IRQ, которые обрабатывается в ksoftirqd. Их автоматом столько же, сколько и процессоров, ничего настраивать не надо.
FreeBSD тоже умеет распределять нагрузку, но издержек у нее больше. А идиотский поллинг, который гвоздями прибит под 100 Mbit Ethernet, начинает терять пакеты и его приходится отключать. Кроме того, нужно пользоваться нормальным железом для которого есть нормальные драйверы, поддерживающие NAPI: Broadcom и Intel.
anonymous (*) (02.11.2008 16:59:44)
--
http://www.linux.org.ru/view-message.jsp?msgid=3218964&lastmod=1225846901...
Re: OpenBSD 4.4
> А при каких пакетрейтах и на каком железе наблюдаются нагрузки близкие к 100% ?
Две e1000, проц Intel Xeon 5450.
Пакетрейт сам по себе небольшой, 100Kps, был бы чистый роутинг, не было бы проблем. Но эти 100Kps натятся. В conntrack количество соединений иногда поднимается даже до полумиллиона. Но 100% наблюдается уже на 100-110Kps/200K соединений через NAT.
Речь про software interrupts (ksoftirqd). С hi всё в порядке.
Или изначальный пост был именно про hi? Так там проблем никогда не наблюдалось...
anonymous (*) (03.11.2008 2:00:50)
--
В связи со всем эти вопрос: можно ли каким-либо образом распараллелить нагрузку от software interrupts в случае NAT в Линукс?
Умеет ли это какая-то другая ОС?
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Распараллелить нераспараллеливаемое. (2012)
- Форум Что распараллелить? (2011)
- Форум Распараллелить алгоритм (2008)
- Форум Распараллелить немногопоточное приложение (2011)
- Форум Как распараллелить петлю? (2012)
- Форум [openmp]распараллелить код (2010)
- Форум Как распараллелить LAMP? (2006)
- Форум NAT,NAT,NAT (2010)
- Форум как распараллелить потоки IO? (2017)
- Форум можно ли распараллелить make? (2018)