Это команда NPtcp, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
НетПАЙП - Чистымиработает Protocol Iнезависимый Pнаилучшие показатели Eоценщик
СИНТАКСИС
NPTCP [-h имя_приемника] [-b TCP_buffer_sizes] [параметры]
мпирун [-машинный файл список хостов] -np 2 НПмпи [-a] [-S] [-z] [параметры]
мпирун [-машинный файл список хостов] -np 2 НПмпи2 [-f] [-g] [параметры]
НПпвм [опции]
См. Разделы ТЕСТИРОВАНИЕ ниже для более полного описания того, как запустить NetPIPE в
каждая среда. В разделе ОПЦИИ описаны общие параметры, доступные для всех.
модули. Смотрите файл README из tar-ball по адресу
http://www.scl.ameslab.gov/Projects/NetPIPE/ для документации по InfiniBand, GM,
Модули SHMEM, LAPI и memcpy.
ОПИСАНИЕ
NetPIPE использует простую серию тестов для пинг-понга с различными размерами сообщений, чтобы обеспечить
полное измерение производительности сети. Он отбрасывает сообщения увеличивающегося размера
между двумя процессами, будь то в сети или в системе SMP. Размеры сообщений
выбираются через равные промежутки времени и с небольшими отклонениями, чтобы обеспечить полное
оценка системы связи. Каждая точка данных включает в себя множество тестов для пинг-понга.
обеспечить точное время. Задержки рассчитываются путем деления времени прохождения туда и обратно на
половина для небольших сообщений (менее 64 байтов).
Во время передачи небольших сообщений преобладают накладные расходы в
уровни связи, что означает, что передача ограничена задержкой. Для большего
сообщений, скорость передачи данных становится ограниченной пропускной способностью некоторым компонентом в
подсистема связи (шина PCI, сетевая карта, сетевой коммутатор).
Эти измерения могут выполняться на уровне передачи сообщений (MPI, MPI-2 и PVM) или на
встроенные коммуникационные уровни, на которых работают (TCP / IP, GM для карт Myrinet,
InfiniBand, SHMEM для систем Cray T3E и LAPI для систем IBM SP). Недавняя работа
нацелены на измерение некоторых внутренних свойств системы, таких как модуль memcpy, который
измеряет скорость копирования внутренней памяти или разрабатываемый дисковый модуль, который измеряет
производительность для различных устройств ввода / вывода.
Некоторые варианты использования NetPIPE включают:
Сравнение задержки и максимальной пропускной способности различных сетевых карт.
Сравнение производительности между разными типами сетей.
Ищем неэффективность уровня передачи сообщений, сравнивая его с
собственный коммуникационный уровень.
Оптимизация уровня передачи сообщений и настройка параметров ОС и драйверов для оптимального
производительность подсистемы связи.
NetPIPE снабжен множеством модулей, позволяющих взаимодействовать с широким спектром
коммуникационные уровни. Довольно легко написать новые интерфейсы для других надежных
протоколы, используя существующие модули в качестве примеров.
ТЕСТИРОВАНИЕ TCP
NPtcp теперь можно запустить двумя способами: вручную запустить NPtcp в обеих системах или
используя сценарий nplaunch. Чтобы запустить NPtcp вручную, необходимо запустить приемник NetPIPE.
сначала в удаленной системе с помощью команды:
NPtcp [параметры]
затем основной передатчик запускается в локальной системе с помощью команды
NPtcp-h имя_приемника [опции]
Все используемые параметры должны быть одинаковыми с обеих сторон.
Сценарий nplaunch использует ssh для запуска удаленного приемника перед запуском локального
передатчик. Чтобы использовать rsh, просто измените сценарий nplaunch.
nplaunch NPtcp -h имя_приемника [опции]
" -b TCP_buffer_sizes опция устанавливает размер буфера сокета TCP, который может значительно
влияют на максимальную пропускную способность некоторых систем. График пропускной способности, который выравнивается
внезапно может быть признаком того, что производительность ограничена размерами буфера сокета.
ТЕСТИРОВАНИЕ MPI и MPI-2
Использование интерфейса MPI для NetPIPE зависит от используемой реализации MPI. Все
потребуется указать количество процессов, обычно с -нп 2 аргумент.
Среды кластеров могут потребовать список используемых хостов при выполнении каждого задания.
Поместите список хостов в список хостов, затем для OpenMPI запустите NetPIPE, используя:
mpirun --hostfile список хостов -np 2 NPmpi [параметры NetPIPE]
Для MPICH2 используйте вместо этого:
mpirun -машинный файл список хостов -np 2 NPmpi [параметры NetPIPE]
Чтобы протестировать одностороннюю связь стандарта MPI-1, скомпилируйте, используя:
сделать mpi2
Выполняется, как описано выше, и MPI будет использовать односторонние вызовы MPI_Put () в обоих направлениях,
с блокировкой каждого получателя до тех пор, пока последний байт не будет перезаписан, перед тем как
ответное сообщение. Использовать -f возможность принудительного использования забора для блокировки, а не
перезапись последнего байта. В -g опция будет использовать функции MP_Get () для передачи
data, а не MP_Put ().
ТЕСТИРОВАНИЕ ПВМ
Запустите pvm-систему, используя:
PVM
и добавив вторую машину с помощью команды PVM
имя_приемника
Выйдите из интерфейса командной строки PVM с помощью quit, затем запустите приемник PVM NetPIPE на одном
система командой:
NPpvm [варианты]
и запустите передатчик TCP NetPIPE в другой системе с помощью команды:
НПпвм -ч получатель хоста [опции]
Все используемые параметры должны быть одинаковыми с обеих сторон. Также можно использовать скрипт nplaunch
с NPpvm, как описано выше для NPtcp.
ТЕСТИРОВАНИЕ Методология
NetPIPE проверяет производительность сети, отправляя несколько сообщений для каждого размера блока,
начиная с нижней границы размеров сообщений.
Размер сообщения увеличивается до тех пор, пока не будет достигнута верхняя граница размера сообщения или
время передачи блока превышает одну секунду, что происходит раньше. Размеры сообщений
выбираются через равные промежутки времени, и при незначительных отклонениях от них, чтобы обеспечить более
полная оценка подсистемы связи.
" NetPIPE выходной файл может быть отображен в виде графика с помощью такой программы, как Gnuplot(1). Выход
файл содержит три столбца: количество байтов в блоке, скорость передачи в битах
в секунду, и время передачи блока (половина времени приема-передачи). Первые два
столбцы обычно используются для построения графика зависимости пропускной способности от размера блока, а третий столбец
обеспечивает задержку. Например, пропускная способность против блок размер график может быть создан
путем построения графика зависимости байтов от бит в секунду. Образец Gnuplot(1) команды для такого графа
был бы
установить логарифм x
участок "np.out"
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-a асинхронный режим: получение препоста (модули MPI, IB)
-b TCP_buffer_sizes
Установите размеры буфера TCP для отправки и получения (только для модуля TCP).
-B Пакетный режим, при котором все приемы предварительно публикуются сразу (модули MPI, IB).
-f Используйте ограждение для блокировки для завершения (только для модуля MPI2).
-g Используйте MPI_Get () вместо MPI_Put () (только для модуля MPI2).
-h хоста
Укажите имя хоста-получателя для подключения (TCP, PVM, IB, GM).
-I Недействительный кеш для измерения производительности без эффектов кеширования (в основном влияет на IB
и модули memcpy).
-i Проведите проверку целостности вместо оценки производительности.
-l start_msg_size
Укажите нижнюю границу размера проверяемых сообщений.
-n n повторяется
Установите постоянное количество повторов для каждого теста. В противном случае количество
Повторы выбираются, чтобы обеспечить точное время для каждого теста. Будьте очень осторожны, если
указание меньшего числа, чтобы время для теста пинг-понга превышало таймер
точность.
-O source_offset, dest_offset
Укажите исходное и целевое смещения буферов от идеальной страницы
выравнивание.
-o имя выходного файла
Укажите имя выходного файла (по умолчанию np.out).
-p размер_возмущения
NetPIPE выбирает размеры сообщений через равные промежутки времени, увеличивая их
экспоненциально от нижней границы к верхней. В каждой точке
также проверяет отклонения на 3 байта выше и 3 байта ниже каждой контрольной точки, чтобы найти
идиосинкразии в системе. Это значение возмущения можно изменить с помощью -p
вариант или отключен с помощью -p 0 .
-r Эта опция сбрасывает сокеты TCP после каждого теста (только для модуля TCP). это
необходимо для некоторых потоковых тестов, чтобы получить хорошие измерения, так как окно сокета
в противном случае размер может уменьшиться.
-s Установите режим потоковой передачи, при котором данные передаются только в одном направлении.
-S Используйте синхронные посылки (только для модуля MPI).
-u верхняя граница
Укажите верхнюю границу размера тестируемого сообщения. По умолчанию,
NetPIPE остановится, когда время передачи блока превысит одну секунду.
-z Получать сообщения с помощью MPI_ANY_SOURCE (только модуль MPI)
-2 Установите двунаправленный режим, при котором обе стороны отправляют и принимают одновременно
(поддерживается большинством модулей). Возможно, вам придется использовать -a выбрать асинхронный
коммуникации для MPI, чтобы избежать зависаний. Для TCP максимальный размер теста будет
ограничен размером буфера TCP.
Используйте NPtcp онлайн с помощью сервисов onworks.net