Использование сетевого симулятора

для оценки производительности вычислительного кластера.

 

Кун Хуа, Стрельцов О.В.

Одесский Национальный Политехнический Университет

 

Параллельные вычисления являются в настоящий момент одним из перспективнейших направлений развития компьютерных вычислений. Вычислительный кластер – один из важнейших инструментов реализации решения фундаментальных научных проблем. Одной из наиболее важных характеристик эффективности кластера является соотношение общего времени выполнения вычислений к времени на пересылку данных и промежуточных результатов между узлами кластера. Решение задачи повышения вычислительной эффективности кластера лежит в двух областях. Первая – область параллельного программирования, где решаются вопросы оптимизации выполнения самой программы безотносительно к производительности узлов или компьютерной сети. Вторая область связана с повышением производительности самой распределенной вычислительной системы и наиболее существенной составляющей этой характеристики является производительность операций пересылок между узлами, т.е. латентность сети.

Для наиболее распространенных вычислительных алгоритмов и структур сетей время выполнения сетевых операций составляет более 95% от общего времени выполнения всей программы. Поэтому сокращение этого времени является актуальной задачей повышения производительности параллельных и распределенных вычислений.

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

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

Предлагаемый метод оценки производительности вычислительного кластера стремится избавиться от этих недостатков. В основе метода лежит идея использования для такой оценки программы-симулятора компьютерной сети совместно с программой-моделировщиком параллельных  вычислений (рис.1).

 

 

 

 

 

 

 

 

 

 


Рис.1 Структурная схема системы анализа и оценки эффективности вычислительного кластера

Сетевой симулятор позволяет моделировать поведение сети, и может применяться как при проектировании сетей различного масштаба и технологии, так и для прогнозирования или анализа поведения действующих сетей в тех случаях, когда в реальных условиях работающих сетей такое исследование провести невозможно или экономически нецелесообразно. Сетевой симулятор выполняет   имитацию работы сети путем расчета взаимодействия между различными подразделениями сети (хосты / маршрутизаторы, каналы передачи данных, пакеты т.д.), используя математические формулы, или перехвата и воспроизведения параметров действующей сети. Информацию о поведении сетей  различных технологий можно в дальнейшем наблюдать, анализировать и использовать в качестве входных параметров программы-моделировщика. Сетевой симулятор позволяет проанализировать характер влияния  параметров сетевой среды и оборудования на поведение сети в различных условиях, без необходимости перенастраивать реальную сеть. С его помощью можно оценить эффективность вычислительного кластера, используя как математическую модель сети, так и ее реальные физические параметры.

Сетевой симулятор представляет собой приложение архитектуры «клиент-сервер», которое может быть инициализировано, как на одном, так и на нескольких узлах. В качестве инструмента разработки программы-симулятора выбран язык, программирования Java, содержащий наиболее полную иерархию специализированных классов и интерфейсов  для организации сетевого взаимодействия и удаленного вызова процедур. Кроме того, Java имеет преимущество, как открытая и платформо-независимая технология, что позволяет применять симулятор для проектирования кластеров, построенных на базе узлов под управлением различных операционных систем.

Применение сетевого симулятора при проектировании параллельных и распределенных вычислительных систем позволит повысить эффективность вычислений, снизить время и затраты на создание оптимальной архитектуры вычислительного кластера.

Использованные источники:

1.     www.parallel.ru

2.     linux-cluster.org.ru

3.     www.cluster.kiev.ua