Документ взят из кэша поисковой машины. Адрес оригинального документа : http://parcon.parallel.ru/primery.html
Дата изменения: Thu Nov 12 14:04:31 2009
Дата индексирования: Mon Oct 1 19:40:17 2012
Кодировка: koi8-r
Система ParCon
parallel.ru
Главная Документация Скриншоты Примеры Обратная связь

Примеры анализа задач, используя ParCon.

Обмены с жёстким диском.

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

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

Загрузка процессора, при
использовании одного диска Загрузка процессора, при использовании 2-х дисков
Загрузка диска, при
использовании одного диска Загрузка диска, при использовании 2-х дисков

Активное использование сети.

Падение скорости работы программы может быть вызвано и недостаточной производительностью сети. На рисунке приведён пример задачи, использующей схему мастер-работники. При этом на узлах-работниках (справа) загрузка процессора далеко не всегда максимальна (порядка 80%). Как видно из загрузки сети, передаются большие объёмы данных (используется 100MBit Ethernet) и значительное время уходит на приём-передачу сообщений мастером, в то время как работники ожидают. В этом случае можно либо оптимизировать приём-передачу сообщений, либо пересмотреть алгоритм распараллеливания задачи.

Недостаточный объём памяти.

Не всегда удаётся точно оценить объём оперативной памяти, необходимый для работы даже одной задачи. На рисунке приведён пример профиля задачи, которая пыталась использовать больше оперативной памяти, чем было доступно. Из-за этого использование процессора упало вдвое. Большая часть времени уходила на ожидание подкачки нужной страницы в память, что и иллюстрирует рисунок. На левом графике показана загрузка процессора, а на правом графике - число подкачиваемых страниц.

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

Использование сетевых дисков.

Ещё одна причина возможного замедления работы программ - это работа с сетевым диском. На рисунке показан пример задачи, активно использующей сетевой диск. Как видно из левого графика, загрузка процессора упала до 50-60%. При этом хорошо видно, что в это же время резко возросла нагрузка на сеть (средний график) и эта нагрузка обусловлена использованием NFS (правый график). В таких случаях необходимо либо хранить временные данные на локальном диске (если по окончании счёта их можно уничтожить), либо сокращать объём данных, хранимых на диске (сохранять данные в упакованном виде, например).