Евгения Дмитриевна Карепова - Основы многопоточного и параллельного программирования
Название: | Основы многопоточного и параллельного программирования | |
Автор: | Евгения Дмитриевна Карепова | |
Жанр: | Учебники и самоучители по компьютеру, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Параллельное и распределенное программирование | |
Изадано в серии: | неизвестно | |
Издательство: | СФУ | |
Год издания: | 2016 | |
ISBN: | 978-5-7638-3385-0 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Основы многопоточного и параллельного программирования"
Рассматриваются современные подходы к разработке программного обеспечения для высокопроизводительных параллельных вычислительных систем. Приводятся общие сведения об архитектурах современных суперкомпьютеров и методах их программирования. Описываются особенности ряда популярных средств разработки многопоточных и параллельных программ и их использования для эффективного решения научных и прикладных задач.
Предназначено для студентов, аспирантов, инженеров и исследователей, работающих в области прикладной математики, вычислительной физики и высокопроизводительных параллельных вычислений.
Читаем онлайн "Основы многопоточного и параллельного программирования". [Страница - 3]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (19) »
основные синхропримитивы, используемые при многопоточном программировании. Подробно рассмотрено использование семафоров и мониторов.
Обсуждаются способы решения классических задач многопоточного программирования (задачи о критической секции, кольцевом буфере, философах, читателях и писателях).
5
Предисловие
Третья глава посвящена практическому применению потоков для
операционной системы Windows с использованием WinAPI. Дается общее
понятие объекта ядра ОС Windows, процесса и потока. Приводится описание общей структуры создаваемой многопоточной программы. Обсуждаются особенности реализации проблемы взаимного исключения потоков
одного процесса, т. е. потоков, находящихся в общем адресном пространстве
(синхронизация в пользовательском режиме), и общий случай синхронизации потоков, относящихся, может быть, к разным процессам, с помощью
объектов ядра. Рассмотрен один из простых механизмов организации связи
между потоками разных процессов, например, для обмена данными. Автор
благодарит аспиранта Г. А. Федорова за помощь в отборе материала и отладке кода ряда примеров.
Технология OpenMP создания параллельных программ для ВС с общей памятью обсуждается в четвертой главе. В отличие от реализации
многопоточности в языке Си с помощью функций WinAPI, или библиотек
Pthread, или Qt библиотека OpenMP в большей степени рассчитана
на прикладного программиста, позволяя быстро создавать короткие и простые
многопоточные приложения с помощью директив компилятора из последовательного кода. Знание основ технологии OpenMP полезно еще и по той
причине, что ее современные реализации обеспечивают поддержку программирования для комбинированных ПВС, содержащих как общую, так
и распределенную память.
Общие сведения о разработке параллельных программ для систем
с распределенной памятью на основе механизма передачи сообщений
приводятся в пятой главе. Кратко обсуждаются вопросы, связанные с исследованием информационных зависимостей и оценками внутреннего
параллелизма алгоритмов, даются понятия ускорения, эффективности,
масштабируемости. На ряде примеров показаны различные стратегии использования вычислительных ресурсов ПВС, взаимодействующих между
собой через механизм передачи сообщений. Рассмотрены достоинства
и недостатки каждого из подходов. Описаны двухточечные и коллективные взаимодействия процессов, подходы к оценке времени, необходимого
на передачу сообщений в кластерных системах. В конце главы рассмотрены основные задачи вычислительной математики и схемы возможных
параллельных алгоритмов для их решения.
В шестой главе рассмотрены основы программирования для ВС
с распределенной памятью с помощью библиотеки MPI, которая соответствует всем требованиям одноименного стандарта средств организации
передачи сообщений (message passing interface – MPI). Описана архитектурная парадигма MPI, ее связь с крупноблочным распараллеливанием.
Обсуждаются вопросы организации вычислений (использование комму6
Предисловие
никаторов, производных типов, виртуальных топологий) и взаимодействий
процессов (двухточечные и коллективные обмены, операции приведения
и барьерной синхронизации). Отметим, что хотя в тексте и приведены синтаксис и характеристика большинства функций MPI для языка Си, главу не
следует рассматривать как описание стандарта MPI. Все вводимые концепции, понятия и методы проиллюстрированы примерами. Автор благодарит А. В. Малышева за предоставленный материал и полезные обсуждения по теме главы.
Знания и навыки, полученные при изучении курса, позволяют
в дальнейшем перейти к более детальному освоению инструментальных
средств разработки параллельных программ и методов эффективного распараллеливания практических и научных задач.
Базовый курс «Параллельное программирование» читается в Институте математики и фундаментальной информатики Сибирского федерального университета в течение восьми лет. В это же время автором читались
и более узконаправленные спецкурсы и курсы для магистрантов и аспирантов, материалы которых также включены в пособие.
Следует отметить, что при разработке курса и подготовке настоящего
учебного пособия автором использовались, прежде всего, учебные пособия
и --">
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (19) »
Книги схожие с «Основы многопоточного и параллельного программирования» по жанру, серии, автору или названию:
Владимир Павлович Дьяконов - Форт-системы программирования персональных ЭВМ Жанр: Forth Год издания: 1992 |
Р. К. Газизов, С. Ю. Лукащук, С. Д. Тулебаев - Основы параллельного программирования с использованием MPI: учебное пособие Жанр: Параллельное и распределенное программирование Год издания: 2004 |
Рик Гаско - Простой учебник программирования Жанр: Программирование: прочее Год издания: 2018 Серия: Программирование |
Ирина Геннадиевна Гниденко, Федор Федорович Павлов, Дмитрий Юрьевич Федоров - Технологии и методы программирования: учебное особие для вузов Жанр: Учебники и самоучители по компьютеру Год издания: 2022 Серия: Высшее образование |