11 всеукраинская студенческая научная конференция по прикладной математике и информатике - ЛНУ им. И. Франка, Львов - 2008 г.

Розпараллелювання мережевого симулятора NS2 за допомогою PDNS

Шишкін Євген Сергійович
Донецький національний технічний університет

NS2 (network simulator 2) - це безкоштовна консольна система моделювання з відкритим кодом, яка дозволяє здійснювати імітаційне моделювання комп'ютерних мереж. Система має високу продуктивність, добру масштабованість, візуалізацію результатів та гнучкість у використанні.

Для програмування система NS2 має дві вбудовані мови програмування - OTcl (Object Tool command language), який реалізує інтерпритуєму ієрархію, та C++, який реалізує компілюєму ієрархію [1].

PDNS (Parallel Distributed Network Simulator) - це додатковий пакет програм, який дозволяє використовувати систему NS2 для параллельного моделювання на декількох комп'ютерах. Цей пакет вносить корективи до використання NS2 в умовах паралельного моделювання.

У доповіді розглядається детальний механізм розпараллелювання мережного симулятора NS2 за допомогою PDNS. Був розроблений алгоритм, який дозволяє швидко та зручно розпараллелювати NS2 для використання у комп'ютерних мережах.

Для паралельного моделювання потрібно, по-перше, визначити топологію мережі, яка буде моделюватися, та протоколи, які будуть використовуватися. Це може бути будь-яка мережа, в якій використовуються одно та двоспрямовані лінії зв'язку, використовуються фіксовані та бездротові мережі, протокол http та усі різновиди протоколу tcp, чи реалізація власного коду [2].

По-друге, потрібно визначити лінії розбиття мережі на частини, які будуть моделюватися на окремих комп'ютерах. Для цього потрібно знати, які саме вузли чи частини мережі будуть взаємодіяти один із одною досить часто, а які - рідко. Відповідно до цього, часто взаємодіючі вузли чи частини мережі потрібно залишати в одній частині для моделювання. Також потрібно зважати на загальну кількість вузлів у кожній частині мережі, щоб ця кількість була відносно одноковою.

По-третє, потрібно запустити відповідну кількість екземплярів NS2 із встановленим PDNS, встановити між в комп'ютерами у мережі зв'зок за допомогою відповідної системи IP-адрес, та на кожному із використаних комп'ютерів запустити безпосередньо сам процес моделювання.

Після моделювання буде сформовано файл трасування, у якому знаходиться інформація про усі події у модельованій мережі. Дані у цьому файлі дозволяють відслідковувати передачу пакетів даних та розраховувати характеристики промодельованої мережі.

Цей механізм використовується для розпараллелювання мережевого стимулятора NS2 на кластерній мережі під управлінням Windows Compute Cluster Server. Для емуляції середовища UNIX використовується емулятор Cygwin, який дозволяє у середовищі Windows компілювати та запускати програми, які були написані для середовища UNIX.

Література

1. Eitan Altman. NS Simulator for beginners. http://www-sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-NS/n3.pdf

2. Кучерявый Е. А. NS2 как универсальное средство имитационного моделирования сетей связи. http://www.cs.tut.fi/~yk/ns2ru/ns2.pdf