Различные алгоритмы Управления перегрузкой в FreeBSD

Вы пытаетесь поместить время непосредственно в tim переменная? Необходимо обработать обратные галочки/оболочку, выходящие правильно. Следующие работы для меня:

$ fname1=earch-0.8 ; dirpath=./
$ find $dirpath -type f -name $fname1 -printf "%t\n"
Mon Jan 16 00:52:43.0000000000 2006
$ find $dirpath  -type f -name $fname1 -ls | awk '{print $8$9$10}'
Jan162006
$ tim=$(find $dirpath -type f -name $fname1 -printf "%t")
$ echo "Time is '$tim'"
Time is 'Mon Jan 16 00:52:43.0000000000 2006'
2
11.06.2015, 18:13
2 ответа

Вы можете увидеть, какие алгоритмы управления перегрузкой TCP доступны, глядя на Net.inet.tcp.cc.available Sysctl. По умолчанию доступно только Newreno, так что он используется. Доступно несколько различных алгоритмов, ищите модули с именем CC_Something в / Boot / Kernel .

Вы можете загрузить их через kldload, например KLDLOCK CC_VEGAS . После этого новый алгоритм появится в net.inet.tcp.cc.c.cavailable . Вы можете выбрать его через net.inet.tcp.cc.c.algorithm sysctl.

Вот полный пример:

% sysctl -a | grep net.inet.tcp.cc
net.inet.tcp.cc.available: newreno
net.inet.tcp.cc.algorithm: newreno
% sudo kldload cc_vegas
% sysctl -a | grep net.inet.tcp.cc
net.inet.tcp.cc.vegas.beta: 3
net.inet.tcp.cc.vegas.alpha: 1
net.inet.tcp.cc.available: newreno, vegas
net.inet.tcp.cc.algorithm: newreno
% sudo sysctl net.inet.tcp.cc.algorithm=vegas
net.inet.tcp.cc.algorithm: newreno -> vegas
% sudo sysctl net.inet.tcp.cc.algorithm=newreno
net.inet.tcp.cc.algorithm: vegas -> newreno
% 
5
27.01.2020, 21:52

Что касается исследований, то в Центре продвинутой интернет-архитектуры (CAIA) Университета Свинберна есть несколько проектов, которыми руководит Центр. Они, по крайней мере частично, сосредоточены на алгоритмах, основанных на задержках во FreeBSD [newtcp]. Вместе с поддержкой фундамента FreeBSD, работа проекта newtcp была интегрирована с FreeBSD 9.0 и последующими релизами.

В более широких UNIX-приложениях, лично я видел некоторый успех в управлении перегрузками TCP в Westwood+, на Linux. Вествуд может быть особенно полезен в беспроводных приложениях [Casetti2002]. Также я нашел хорошую статью об одном TCP-FIT [Wang2011]

Лично я относительно новичок в платформе FreeBSD. По моим подсчетам, для любых непосредственных приложений в беспроводных сетях работа CAIA в управлении перегрузками TCP, основанном на задержках , может представлять особый интерес.

Стремясь расширить ответ Стива Уиллса (Steve Wills), в дополнение к имеющимся в настоящее время алгоритмам управления перегрузками TCP в любой отдельно взятой установке ядра FreeBSD, Руководство FreeBSD включает инструкции по перестройке ядра FreeBSD. [Handbook Ch 9.]

Конъюнктурно, при наличии среды сборки с использованием Pourdriere для автоматизации сборки пакетов и служб PXE/Netboot в сетях LAN (BootP, DHCP и т.д.), возможно построение относительно удобной среды бенчмаркинга для приложений с доступными алгоритмами управления TCP-загрузками, на различных платформах и в различных сетевых конфигурациях. Кроме того, конъюнктурно, возможно, существует некоторая работа по моделированию шумов в радиоканале и других помех в беспроводных каналах, а также по оценке производительности системы в реальных конфигурациях. Лично я боюсь, что в университете, который я посещаю онлайн, нет лаборатории, достаточно оборудованной для такого рода исследований, но я уверен, что это должно быть возможно где-то в академических кругах.

Вот краткая библиография:

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

2
27.01.2020, 21:52

Теги

Похожие вопросы