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

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

При решении инженерных, экономических и научных задач используются высокопроизводительные вычисления — High Performance Computing или сокращённо HPC. Параллельные программы нужны для того, чтобы использовать вычислительные мощности многоядерных процессоров и графических ускорителей. В данной работе мы рассмотрим технологию автоматической организации параллельных потоков для многоядерных вычислительных машин.

Жанр: Компьютерная литература
Серии: -
Всего страниц: 15
ISBN: -
Год издания: 2020
Формат: Фрагмент

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

Шрифт
Интервал

© Валентин Юльевич Арьков, 2020


ISBN 978-5-4498-5445-2 (т. 2)

ISBN 978-5-4498-5446-9

Создано в интеллектуальной издательской системе Ridero

Введение

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

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

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

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

1. Общие сведения

1.1. Информация и литература

Параллельное программирование освещается в большом количестве учебников и пособий [1—9].

При изучении параллельного программирования полезно обращаться к библиотеке учебных материалов Лаборатории параллельных информационных технологий НИВЦ МГУ. Доступ к библиотеке осуществляется по адресу:

http://parallel.ru/info/parallel/

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


В данной работе мы будем опираться на некоторые примеры из учебного пособия А. С. Антонова [8]. Для первого знакомства с технологиями мы разбираем каждый пример достаточно подробно. Попутно мы обсуждаем самые общие вопросы.

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

На сегодняшний день в интернете имеется множество онлайн курсов.

Первый пример — Национальный Открытый Университет ИНТУИТ:

https://www.intuit.ru.

Основной ресурс с отечественными массовыми открытыми онлайн-курсами (МООК) — «Открытое образование»:

https://openedu.ru/.

Международная платформа МООК «Курсера»:

https://www.coursera.org/.

Задание. Найдите на перечисленных сайтах курсы по следующим ключевым словам и перечислите их в отчёте:

— параллельные;

— parallel;

— высокопроизводительные;

— high performance computing;

— суперкомпьютеры;

— supercomputer;

— OрenMP;

— HPC;

— многоядерные;

— multicore.

1.2. Оформление отчёта

Отчёт по работе оформляем точно так же, как и в предыдущих работах [10]. Отчёт делаем в виде рабочей книги Excel. Это многостраничная книга с оглавлением.

Вначале, как и положено, должен быть титульный лист со всеми данными о работе и исполнителе.

Затем идёт оглавление со ссылками на все страницы.

Далее — задание.

Следом — шаги выполнения работы.

Текст программы вставляем как текст, а не как картинку.

На каждом листе — заголовок и пояснения о том, что заложено в данной программе. Что она должна делать и как это реализовано. Здесь же копия экрана и пояснения по поводу результатов работы.

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

Задание. Создайте файл отчёта и заполните титульный лист.

2. Технология OpenMP

В данной работе мы знакомимся с технологией автоматического распараллеливания программ OpenMP.

Название расшифровывается следующим образом:

Open Multi-Processing.

Распараллеливание программ поддерживается для двух языков программирования

— Fortran;

— С/С++.

2.1. Ключевые понятия

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

Многоядерные компьютеры — это так называемые «системы с общей памятью». Другое название — разделяемая память. Английское название: SHARED MEMORY.

Имеется в виду совместное использование оперативной памяти: любой поток имеет доступ к общим глобальным переменным процесса. Более красивая официальная формулировка звучит так: «общий доступ параллельных потоков к виртуальному адресному пространству текущего процесса».


Еще от автора Валентин Юльевич Арьков
Анализ и визуализация данных в электронных таблицах

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


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

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


Анализ распределения в Excel

Учебное пособие позволяет освоить базовые методы статистического анализа распределения с помощью сводки и группировки данных в пакете Microsoft Excel. Практическое знакомство происходит подробно, шаг за шагом, с примерами и комментариями. Попутно можно улучшить навыки работы в Excel, что само по себе уже полезно как элемент современной компьютерной грамотности.


Применение гистограмм в управлении качеством

Гистограмма — это один из самых простых инструментов статистического УПРАВЛЕНИЯ КАЧЕСТВОМ производства. В этой работе будет использоваться пакет Microsoft Excel для создания исходных данных, а также для построения и анализа гистограммы. Можно также использовать любой другой программный инструмент, позволяющий строить гистограммы.


Сетевые коммуникации

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


Бизнес-аналитика. Сводные таблицы. Часть 1

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


Рекомендуем почитать
Большое средневековое сафари

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


Сотворение оперного спектакля

Книга известного советского режиссера, лауреата Ленинской премии, народного артиста СССР Б.А.Покровского рассказывает об эстетике современного оперного спектакля, о способности к восприятию оперы, о том, что оперу надо уметь не только слушать, но и смотреть.


Так кто же открыл Америку?

Ни для кого уже не является новостью, что Колумб не был первооткрывателем Нового Свата. Не были первыми и викинги — задолго до них плавали через Атлантику баски, берберы, кельты, жители Западной Африки, финикийцы, оставившие в Америке следы своего пребывания. Об этих свидетельствах, точках зрения различных научных школ рассказывается в этом выпуске.http://znak.traumlibrary.net.


Культура имеет значение

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