8 июля 2012 г.

ClusterGen: Кластерный генератор трафика.

Доброго времени суток,

я хочу рассказать о проекте, над которым сейчас работаю в компании Мера. Проект называется ClusterGen. Репозиторий ClusterGen'а находится на SourceForge, исходный код доступен под свободной лицензией GNU GPLv3.

http://sourceforge.net/projects/clustergen/

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

Для начала - что же из себя представляет генератор трафика? Это некий узел в сети, который может генерировать пакеты (например, TCP- или UDP-пакеты) с заданной конфигурацией. Этим узлом может быть специальная (и очень дорогая) железка, или же специальное программное обеспечение, работающее на обычном компьютере. Рассмотрим преимущества и недостатки каждого из вариантов.

Первый (аппаратный) вариант генератора позволяет генерировать пакеты очень быстро (т.е. добиться высокой интенсивности трафика), благодаря реализации большей части функций "в железе". Недостатки такого способа - высокая стоимость оборудования и недостаточная гибкость (что является следствием аппаратной реализации).

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

И тут внезапно оказывается, что в ядре Linux уже много лет как есть эффективный генератор трафика, под названием pktgen. Этот генератор может быть либо вкомпилирован в ядро при сборке, либо подключаться "на лету" как модуль.

Управление pktgen'ом осуществляется через файловую систему procfs, путём операций записи в файлы и чтения из файлов в каталоге /proc/net/pktgen. Для упрощения процесса настройки генератора и получения от него статистики, автор pktgen'а предлагает использовать bash-скрипты. [Olsson]

Таким образом, pktgen превращает обычный компьютер под управлением GNU/Linux в генератор трафика. Но чтобы использовать этот генератор как полноценный инструмент для тестирования узлов компьютерной сети, нужно немного больше, а именно: удобный интерфейс управления, способ сбора и отображения статистики. Эти задачи решает ClusterGen. Он позволяет контролировать pktgen, собирать статистику и отображать её в виде графика.

Основная идея, которая стоит за разработкой ClusterGen'а - скоординировав работу генераторов на нескольких дешёвых ПК под управлением GNU/Linux со 100-мегабитными сетевыми картами, можно добиться в сумме очень высокой интенсивности трафика, сравнимой с той, которую могут выдавать аппаратные генераторы.

Продолжение следует.

Литература

  1. [Olsson] Proceedings of the Linux Symposium. Volume Two. Robert Olsson. "pktgen the linux packet generator". Canada. 2005.
  2. [Turull] Daniel Turull. Open Source Traffic Analyzer. Stockholm, Sweden. 2010.

30 июня 2012 г.

Снова слушаю Abba

Снова слушаю Abba. Я слушал эту группу на виниловых пластинках, когда был ещё ребёнком. И спустя столько лет они звучат всё так же потрясающе.

Спасибо.

- Артём

24 июня 2012 г.

Неделя релизов

На уходящей неделе было два важных для меня open source релиза: один связан с моей текущей работой в компании Мера, а второй - связан с работой над личным проектом в свободное время.

Первый из проектов называется ClusterGen, и это первый open source проект, развиваемый в компании Мера. Исходный код и описание проекта выложены на SourceForge под лицензией GPLv3:
http://sourceforge.net/projects/clustergen/

Второй проект носит название LazyCat. Я занимался этим проектом с середины прошлого года, но только недавно наметился серьёзный прогресс в разработке. Исходный код проекта выложен на GitHub под лицензией GPLv3:
https://github.com/artyom-poptsov/lazycat

Оба проекта находятся в активной разработке. Я постараюсь найти время и рассказать подробнее о каждом из них.

23 мая 2012 г.

Linux InstallFest 12.04

Доброго времени суток, случайные и неслучайные читатели этого блога. В ближайшее воскресенье, а именно 27 мая, состоится очередной Linux InstallFest в Нижнем Новгороде. Это означает, что у вас есть шанс встретиться с линуксоидами в условиях, приближённых к их естественной среде обитания.

Вот объявление:

Подробности: http://nnlug.ru/node/104

Список докладов и докладчиков, похоже, наконец-то более-менее определён. Некоторые из докладов должны быть очень интересны - например, про USB 3.0. Я слышал, Сергей Бессонов собирается рассказать что-то захватывающее по этому поводу. Ну и самое главное, конечно - это участники мероприятия. Думаю, я должен пояснить, что Linux InstallFest - это не коллективная сборка нового Linux Kernel для Gentoo, а

- способ встретиться и пообщаться
- возможность послушать доклады на различные темы - от open source hardware до компьютерной графики
- найти единомышленников, которые используют то же ПО, что и вы
- способ найти разработчиков для вашего мега-проекта и/или способ найти проект, в котором вам бы самим было интересно поучаствовать
- и т.д.

Кстати, насколько мне известно, на грядущем InstallFest'е будут присутствовать официальные представители компании Мера, так что вы сможете узнать больше об этой компании и её деятельности в сфере разработки ПО. Кто знает - возможно, это будет ваше следующее место работы?..

Так что берите свои ноутбуки и компьютеры, и приходите в воскресенье к 10 часам утра, в Нижегородский Радиотехнический Колледж.

- Артём

14 мая 2012 г.

Josh Varnedore - Earth

В создании видео принимал участие Дэвид Альтобелли (David Altobelli). Мне этот режиссёр известен тем, что он снимал клипы на музыку группы Hammock. Например, клип на композицию "Mono No Aware".

1 мая 2012 г.

Железный конь



Купил я коня - но конь не простой:
На солнце блестит стальной чешуёй,
И красная грива горит, как огонь -
Такой у меня удивительный конь.

Не знает усталости, страха и голода,
Дождя не боится, жары или холода,
Без устали может скакать и скакать -
Ну разве что всадник может устать.

Характер коня, скажем так, сложный -
Договориться не всегда с ним возможно:
Любит мой конь выбирать прямой путь,
Порой и в кусты норовит завернуть,

А если дорога ведёт под уклон -
Бросается вскачь удивительный конь,
И немало усилий нужно мне приложить
Чтобы коня остановить.

Зато, когда отдых даю - он смиреет,
И двинуться с места даже не смеет,
Лишь красная грива горит, как огонь -
Такой у меня удивительный конь.

2012-05-01

http://poptsov-artyom.narod.ru/texts/2012/2012-05-01.html

6 апреля 2012 г.

Парк "Швейцария", вид на Оку


Три фотографии, сделанные в один из холодных воскресных дней, во время прогулки по парку "Швейцария".







Вид на Оку и Мызинский мост.


Мир в приглушённых, спокойных цветах.
Горизонт исчезает в холодной дымке. Очень красиво.



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




Ссылка на альбом:
https://picasaweb.google.com/114139409305362314356/zzEXm?authuser=0&feat=directlink



Фотографии распространяются под лицензией CC-BY