Симуляция простейшей сети с задержками
От: Sergey.Semionov Россия  
Дата: 19.04.05 10:45
Оценка:
Задача: есть небольшой граф сети, на ребрах которого стоят задержки в микросекундах. В соответствии с графом и задержками (которые время от времени меняются) нужно сделать небольшое приложение, которое будет симулировать сеть с UDP пакетами, простейшей маршрутизацией и задержками. Это модель будет применятся для тестирования видеокодера. Также нужно в режиме раельного времени рисовать то, что примерно происходит в сети (в основном выделять участки, где пакеты задерживаются надолго)

В качестве решения выбрал следующее:
модель сети выдает для каждого пакета зедржку. Когда приходит пакет, он буферизуется, и в соответствии с задержкой составляется расписание. Есть планироващик, который регулярно вызывается по мультимедиа таймеру и отправляетcя пакеты в соответствии с расписанием.

Проблемы:
Так как задержки маленькие (1-15ms),несмотря на небольшое число пакетов (около 200 в секунду), планировщик просто не успевает их отправлять всех... Ему просто не хватает отведенного времени чтобы с такой маленькой задержкой отправлять пакеты. Оптимазация кода, уменьшение синхронизации помогает, но всё равно не достаточно.

Кто нибудь сталкивался с подобной проблемой? Что делать?
Заранее спасибо
Re: Симуляция простейшей сети с задержками
От: Andrew S Россия http://alchemy-lab.com
Дата: 20.04.05 12:44
Оценка:
SS>Проблемы:
SS>Так как задержки маленькие (1-15ms),несмотря на небольшое число пакетов (около 200 в секунду), планировщик просто не успевает их отправлять всех... Ему просто не хватает отведенного времени чтобы с такой маленькой задержкой отправлять пакеты. Оптимазация кода, уменьшение синхронизации помогает, но всё равно не достаточно.

SS>Кто нибудь сталкивался с подобной проблемой? Что делать?

SS>Заранее спасибо
Использовать готовые решения. Например, ComNet, или NS2.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[2]: Симуляция простейшей сети с задержками
От: Sergey.Semionov Россия  
Дата: 20.04.05 15:51
Оценка:
Здравствуйте, Andrew S, Вы писали:

SS>>Проблемы:

SS>>Так как задержки маленькие (1-15ms),несмотря на небольшое число пакетов (около 200 в секунду), планировщик просто не успевает их отправлять всех... Ему просто не хватает отведенного времени чтобы с такой маленькой задержкой отправлять пакеты. Оптимазация кода, уменьшение синхронизации помогает, но всё равно не достаточно.

SS>>Кто нибудь сталкивался с подобной проблемой? Что делать?

SS>>Заранее спасибо
AS>Использовать готовые решения. Например, ComNet, или NS2.

Так, с перепугу я наговорил дряни много =))).
Задержки кончено же не в микросекндах, а в мини. Это первое.
Второе: готовые решения кончено же рассматривались. Для вариант NS2 решением было
только анализировать логи, и потом уже по ним строить визуализцаию. Это
кончено же не подходило для рисования в real-time.
Третье:глаза боятся, а руки делают. Мультимедиа таймер + три потока + openGL — и
визулизация готова =)) Всем спасибо за советы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.