Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom_konets.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
227.89 Кб
Скачать

2. Проблемы, связанные с использованием параллельных алгоритмов

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

Распараллеливание и написания параллельных программ - довольно сложное дело. Причины трудностей, с которыми сталкиваются разные: с одной стороны, недостаточно развиты методы распараллеливания задач, с другой стороны трудно понять идею распараллеливания, после того как разбираешься и имеешь навыки лишь последовательного программирования. Есть два основных подхода к программированию параллельных вычислений, в литературе они часто называются парадигмы программирования.

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

В основном параллелизм используется исходя из следующих мотивов:

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

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

3. Параллельность облегчает выполнение многих приложений. Многие приложения, такие как "клиент-сервер", "производитель-потребитель" имеют внутренний параллелизм.

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

3. Примеры и описание технологий параллельного программирования

Рассмотрим две категории технологий:

    1. Технологии для разработки параллельных программ для систем с общей и распределенной памятью.

    2. Технологии разработки параллельных программ для графических процессоров.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]