Валентин Арьков - Организация параллельных потоков. Часть 1

Здесь есть возможность читать онлайн «Валентин Арьков - Организация параллельных потоков. Часть 1» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2020, Жанр: Технические науки, Прочая научная литература, Прочая околокомпьтерная литература, Руководства, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Организация параллельных потоков. Часть 1: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Организация параллельных потоков. Часть 1»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

Организация параллельных потоков. Часть 1 — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Организация параллельных потоков. Часть 1», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Мы объявляем, что входим в критическую секцию:

EnterCriticalSection (&CS).

Все команды, начиная с этого момента, могут выполняться только в одном потоке.

Этап 4. Конец К. С.

Объявляем, что выходим из критической секции

LeaveCriticalSection (&CS).

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

Этап 5. Удаление К. С.

В конце программы удаляем критическую секцию:

DeleteCriticalSection (&CS).

После этой команды мы не больше используем критическую секцию.

Пример программы параллельного суммирования с использованием К.С. приводится на рис. 5.3.

Рис. 5.3. Использование критической секции

Задание. Составьте программу параллельного суммирования с использованием критических секций (рис. 5.3). Запустите скомпилированную программу на выполнение несколько раз и сравните результаты вычислений.

5.5. Взаимодействие потоков

С помощью критической секции мы обеспечили целостность данных. Теперь программа выполняется без ошибок. Доступ к общей переменной S происходит корректно.

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

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

5.6. Эффективность распараллеливания

При анализе работы параллельных программ используют два основных показателя (рис. 5.4):

— ускорение S p;

— эффективность E p.

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

p — количество виртуальных процессоров (вычислительных устройств);

T 1 — время выполнения последовательной программы на одном виртуальном процессоре;

T р — время выполнения параллельной программы на рвиртуальных процессорах;

Рис. 5.4. Ускорение и эффективность

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

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

Задание. Определите теоретические значения ускорения и эффективности вашего компьютера и сравните их с полученными в экспериментах.

6. Параллельное численное интегрирование

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

Мы будем рассматривать задачу численного нахождения значения определённого интеграла методом прямоугольников. Результаты численных методов должны приближаться к теоретическим (аналитическим).

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

6.1. Варианты заданий

В задании необходимо найти значение определённого интеграла (рис. 6.1).

Рис. 6.1. Определённый интеграл

Значения коэффициентов и пределы интегрирования для каждого варианта приведены в Таблице 6.1.

Нулевой вариант используется для демонстрации.

Студент выбирает вариант по последней цифре номера зачётной книжки. Если последняя цифра — ноль, используем вариант 10.

Задание. Укажите в своём отчёте номер варианта и параметры задания.

6.2. График функции

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

Для построения графика используем возможности пакета Excel (рис. 6.2). Задаём столбец «иксов» и вычисляем столбец «игреков». Затем вставляем точечную диаграмму с гладкими кривыми.

Рис. 6.2. График функции

Задание. постройте график своей функции в заданных пределах.

6.3. Грубая оценка

Для начала попробуем оценить площадь фигуры, то есть площадь под графиком функции f (x) в пределах значений аргумента от —20 до +20.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Организация параллельных потоков. Часть 1»

Представляем Вашему вниманию похожие книги на «Организация параллельных потоков. Часть 1» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Организация параллельных потоков. Часть 1»

Обсуждение, отзывы о книге «Организация параллельных потоков. Часть 1» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x