pred_guid-r (1158368)

Файл №1158368 pred_guid-r (Раздаточные материалы)pred_guid-r (1158368)2019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

9


Предсказатель производительности

DVM-программ (Предиктор)

(Руководство пользователя)

Октябрь, 1999

Институт прикладной математики им. М.В.Келдыша

Российская Академия наук

Оглавление

1 Введение 3

2 Генерация файла трассы 4

3 Представление программы в виде иерархии интервалов 4

4 Установка параметров для Lib-DVM 5

5 Компиляция и прогон программы 5

6 Подготовка файла конфигурации процессорной системы 6

7 Опции командной строки Предиктора 7

8 Результаты работы Предиктора 7

9 Протокол работы Предиктора 11

1Введение

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

Предиктор представляет собой систему обработки трассировочной информации, собранной системой поддержки выполнения DVM-программ (библиотекой LIB-DVM) во время прогона программы на инструментальной ЭВМ и состоит из двух крупных компонент: интерпретатора трассы (PRESAGE) и оценщика времени (RATER). По трассировке и заданным пользователем параметрам целевой ЭВМ, интерпретатор трассы вычисляет временные характеристики выполнения данной программы на целевой ЭВМ (MPP или кластере рабочих станций). При этом он вызывает функции оценщика времени, который, в свою очередь, моделирует параллельное выполнение DVM-программ и является, фактически, моделью библиотеки LIB-DVM, используемой ею библиотеки передачи сообщений (MPI, PVM) и аппаратуры.

Эффективность выполнения параллельных программ на многопроцессорных ЭВМ с распределенной памятью определяется следующими основными факторами:

  • степенью распараллеливания программы - долей параллельных вычислений в полном объеме вычислений;

  • равномерностью загрузки процессоров во время выполнения параллельных вычислений;

  • временем, необходимым для выполнения межпроцессорных обменов;

  • степенью совмещения межпроцессорных обменов с вычислениями.

Предиктор позволяет пользователю получить количественные оценки влияния каждого из перечисленных факторов. Точность предсказания определяется следующими реализационными ограничениями.

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

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

2Генерация файла трассы

До запуска Предиктора необходимо выполнить исследуемую DVM программу на рабочей станции с целью накопления трассировочной информации (файла трассы), который используется Предиктором в качестве исходных данных. Получение трассировочной информации распадается на следующие этапы:

  • Разбиение программы на интервалы, (т.е. выделение тех частей программы, времена выполнения которых интересуют пользователя);

  • Установка необходимых параметров для LIB-DVM, заставляющих ее формировать файл трассы при прогоне программы;

  • Компиляция и прогон программы.

3Представление программы в виде иерархии интервалов

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

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

Разбиением программы на интервалы пользователь управляет при ее компиляции. Он может задать такие режимы, при которых интервалами будут последовательные циклы, которые содержат внутри себя параллельные циклы, либо все последовательные циклы вообще, либо отмеченные им в программе последовательности операторов. Опции компиляторов, управляющие разбиением программы на интервалы, описаны в руководствах по их использованию. (“Компилятор C-DVM. Руководство пользователя”, “Компилятор Fortran-DVM. Руководство пользователя”).

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

4Установка параметров для Lib-DVM

Как отмечено в руководстве по инсталляции системы, необходимо скопировать файлы dvm.bat и usr.par в директорию, откуда предполагается вести трансляцию и запуск DVM-программ. Параметры

Is_DVM_TRACE=1;
FileTrace=1;
MaxIntervalLevel=1;

/* trace on/off */
/* save trace into files */
/*max level of nested intervals */

файла usr.par управляют установкой режима накопления трассировки.

5Компиляция и прогон программы

После разбиения программы на интервалы и установления режима работы Lib-DVM необходимо выполнить следующие шаги:

  • конвертацию программы;

  • компиляцию и сборку программы;

  • запуск программы на выполнение.

Для удобства, выполнение вышеперечисленных шагов можно осуществить с помощью следующих команд.

  1. Для конвертации, компиляции и сборки программы служат команды:

dvm c <имя_C-DVM-программы>
dvm f <имя_F-DVM-программы>

  1. Для запуска DVM-программы с накоплением трассировки для предиктора используется команда:

dvm runpred <имя_DVM-программы>

Результат работы:

в текущей директории создается файл <имя_DVM-программы>.ptr с накопленной трассировкой.

6Подготовка файла конфигурации процессорной системы

Исходными данными для моделирования временных характеристик выполнения программы служит не только трассировка выполнения данной программы на одном процессоре, но и конфигурационная информация, описывающая целевую машину.

Концептуально работа Предиктора подразделяется на три основных этапа:

  • чтение трассировки, извлечение из нее информации о структуре интервалов, о последовательности вызовов функций системы поддержки, о тех входных и возвращаемых параметрах вызовов функций, которые необходимы для их моделирования, а также о времени, затраченном на выполнение каждого из вызовов;

  • моделирование выполнения программы на основе полученной на предыдущем этапе структуры выполнения программы и вычисление необходимых временных характеристик выполнения программы на каждом из интервалов;

  • запись вычисленных характеристик в файлы в формате HTML.

Конфигурационная информация определяет характеристики моделируемой многопроцессорной системы и имеет следующую структуру:

// Topology (rank and extension on each dimension)
Topology[] = {1, 1}
// System type: network of work stations or firm of transputers
SystemType = network
// Communication characteristics
Tstart = 100
Tbyte = 1
// Comparative processors performance
ProcPower = 1.50

Предложения, начинающиеся с “//” являются комментариями. Параметр Topology определяет топологию виртуальной процессорной системы, т.е. ее ранг и протяженность по каждому из измерений. Значение параметра SystemType равное network говорит о том, что процессорная система является сетью рабочих станций, а значение transputer указывает на то, что моделируемая виртуальная машина является транспьютерной системой. Для вычисления времени передачи n байт используется линейная аппроксимация

T = Tstart + n * Tbyte,

где

Tstart
Tbyte
n

- стартовое время установок передачи данных,
- время передачи одного байта,
- количество переданных байт.

ProcPower задает отношение производительности процессора целевой ЭВМ к производительности процессора инструментальной ЭВМ.

Порядок следования параметров в файле несущественен.

7Опции командной строки Предиктора

Запуск Предиктора осуществляется в режиме командной строки командой:

predictor <par_file> <trace_file> <html_dir> [<processor>]

где

<par_file>

- имя файла с конфигурационной информацией о целевой ЭВМ;

<trace_file>

- имя файла с накопленной трассой;

<html_dir>

- имя каталога, куда сбрасываются HTML-страницы с результатами работы программы. Каталог должен существовать на момент запуска Предиктора;

<processor>

- топология процессора, т.е. число процессоров по каждому из измерений решетки процессоров. Данный параметр аналогичен параметру Topology конфигурационного файла и “перебивает” последний.

Все параметры командной строки, кроме <processor> являются обязательными.

Для удобства запуска предиктора существует команда:

dvm pred [матрица процессоров] <имя_DVM-программы>

Выполнение команды управляется переменными окружения (см. файл dvm.bat):

  • Pred_sys - имя конфигурационного файла, описывающего целевую машину;

  • Pred_vis - имя программы Web–броузера.

Для работы предиктора необходимо наличие файла трассировки с именем

<имя_DVM-программы>.ptr,

полученного командой dvm runpred.

Результат работы:

директория <имя_DVM-программы><[матрица процессоров]>.prd с html-файлами. Если задан Web - броузер (например, Netscape), то он автоматически вызывается. Выполнение команды в этом случае завершается после завершения работы визуализатора.

8Результаты работы Предиктора

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

Любая DVM-программа делится на интервалы, которые подразделяются на четыре типа. Выполнение всей программы целиком рассматривается как интервал самого высокого (нулевого) уровня, и является отдельным типом интервала. Этот интервал может включать в себя несколько интервалов следующего (первого) уровня. Такими интервалами могут быть параллельные циклы, называемые параллельными интервалами (PAR), последовательные циклы, называемые последовательными интервалами (SEQ), а также любые отмеченные программистом последовательности операторов, называемые пользовательскими интервалами (USER). Интервалы первого уровня могут в свою очередь включать в себя интервалы второго уровня, и т.д.

Характеристики

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

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

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов учебной работы

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7041
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее