Мегаобучалка Главная | О нас | Обратная связь


К недостаткам относится то, что интерфейс слишком сложный и громоздкий.



2020-02-03 186 Обсуждений (0)
К недостаткам относится то, что интерфейс слишком сложный и громоздкий. 0.00 из 5.00 0 оценок




Модель параллелизма по данным. HPF.

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

Модель параллелизма по управлению. OpenMP.

Эта модель возникла в применении к мультипроцессорам. Вместо термина «нить» она использует специальные конструкции – параллельные циклы и секции. Создание и уничтожение нитей, распределения по ним витков циклов – все это делал сам компилятор.

Инструментальная система DVM для разработки параллельных программ

В 1993 году, в институте Прикладной Математики имени М.И.Келдыша РАН, разработана новая модель, объединяющая достоинства прочих. Это - модель DVM. Модель положена в основу языков С-DVM и Fortran-DVM, которые являются расширениями языков C и Fortran, соответственно. Это модель использует сразу два вида параллелизма : по данным и по управлению. Программист сам, под свою ответственность распределяет между процессорами блоки данных и вычисления. Также самостоятельно программист указывает общие блоки памяти, доступные одному процессу на запись, а остальным на чтение, определяет точки обновления таких общих блоков памяти и вручную распределяет между процессами витки циклов. Также модель имеет набор редукционных операций. Таким образом, вся ответственность за правильное распределение данных и вычислений лежит на самом программисте, но это, в то же самое время, дает ему огромную свободу при распределении задачи, делая DVM-модель гибкой.

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

Основная работа по реализации модели выполнения параллельной программы (например, распределение данных и вычислений) осуществляется динамически специальной системой - системой поддержки выполнения DVM-программ. Это позволяет обеспечить динамическую настройку DVM-программ при запуске (без перекомпиляции) на параметры приложения (количество и размер массивов данных) и конфигурацию параллельного компьютера (количество процессоров и их производительность). Тем самым программист получает возможность иметь один вариант программы для выполнения на последовательных ЭВМ и параллельных ЭВМ различной конфигурации. То есть, в DVM-модели работает принцип «Написано однажды – работает везде.»

Модель выполнения программы можно упрощенно описать следующим образом

· Параллельная программа на исходном языке Фортран-DVM (или Си-DVM) превращается в программу на языке Фортран 77 (или Си), содержащую вызовы функций системы поддержки, и выполняющуюся в соответствии с моделью SPMD (одна программа – много данных) на каждом выделенном задаче процессоре.

· В момент запуска программы существует единственная её ветвь (поток управления), которая начинает свое выполнение с первого оператора программы сразу на всех процессорах многопроцессорной системы.

·  Многопроцессорной системой (или системой процессоров) называется та машина, которая предоставляется программе пользователя аппаратурой и базовым системным программным обеспечением. Число процессоров многопроцессорной системы и её представление в виде многомерной решетки задаётся в командной строке при запуске программы.

· Все объявленные в программе переменные (за исключением специально указанных "распределённых" массивов) размножаются по всем процессорам.

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

· При выходе из параллельной конструкции все ветви сливаются в ту же самую ветвь, которая выполнялась до входа в параллельную конструкцию.

Разработанная таким образом DVM-система показала при тестировании следующий : эффективность DVM-программ гораздо выше, чем эффективность HPF, и вполне сравнима с эффективностью OpenMP и MPI.

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

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

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

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




2020-02-03 186 Обсуждений (0)
К недостаткам относится то, что интерфейс слишком сложный и громоздкий. 0.00 из 5.00 0 оценок









Обсуждение в статье: К недостаткам относится то, что интерфейс слишком сложный и громоздкий.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (186)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)