Читать онлайн «Основы параллельного программирования : учебное пособие»

Автор К. Ю. Богачев

К. Ю. Богачёв ОСНОВЫ параллельного программирования 3-е издание (электронное) % Москва БИНОМ. Лаборатория знаний 2015 УДК 004. 65 ББК 32. 073 Б73 Богачёв К· Ю· Б73 Основы параллельного программирования [Электронный ресурс] : учебное пособие / К. Ю. Богачёв. — 3-е изд. (эл. ). — Электрон, текстовые дан. (1 файл pdf: 345 с). — М. : БИНОМ. Лаборатория знаний, 2015. — (Математика). — Систем, требования: Adobe Reader XI ; экран 10". ISBN 978-5-9963-2995-3 Данная книга представляет собой введение в методы программирования для параллельных ЭВМ. Основной ее целью является научить читателя самостоятельно разрабатывать максимально эффективные программы для таких компьютеров. Вопросы распараллеливания конкретных алгоритмов рассмотрены на многочисленных примерах программ на языке С- В основу книги положен курс лекций для студентов механико-математического факультета МГУ им. М. В. Ломоносова. Для студентов, аспирантов, научных работников, программистов и всех, кто хочет научиться разрабатывать программы для параллельных ЭВМ. УДК 004. 65 ББК 32. 073 Деривативное электронное издание на основе печатного аналога: Основы параллельного программирования : учебное пособие / К. Ю. Богачёв. — 2-е изд. — М. : БИНОМ. Лаборатория знаний, 2013. - 342 с. : ил. - (Математика). - ISBN 978-5-9963-1616-8. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации ISBN 978-5-9963-2995-3 © БИНОМ. Лаборатория знаний, 2003 Оглавление Предисловие 7 Порядок чтения 9 Глава 1, Для нетерпеливого читателя 10 1. 1. Последовательная программа 10 1. 2. Ускорение работы за счет параллелизма 12 1. 3. Параллельная программа, использующая процессы . 13 1. 4. Параллельная программа, использующая задачи ... . 18 1. 5. Параллельная программа, использующая MPI 21 Глава 2. Пути повышения производительности процессоров ... 24 2. 1. CISC- и RISC-процессоры 24 2.
2. Основные черты RISC-архитектуры 25 2. 3. Конвейеризация 26 2. 4. Кэш-память 34 2. 5. Многопроцессорные архитектуры 39 2. 5. 1. Основные архитектуры 39 2. 5. 2. Комбинированные архитектуры 40 2. 5. 3. Обанкротившиеся архитектуры 43 2. 6. Поддержка многозадачности и многопроцессорности 44 2. 7. Использование параллелизма процессора для повышения эффективности программ 45 Глава 3. Пути повышения производительности оперативной памяти 61 Глава 4. Организация данных во внешней памяти 64 4 Оглавление Глава 5. Основные положения бб 5. 1. Основные определения бб 5. 2. Виды ресурсов 72 5. 3. Типы взаимодействия процессов 73 5. 4. Состояния процесса 77 Глава 6. Стандарты на операционные системы UNIX 79 6. 1. Стандарт BSD 4. 3 79 6. 2. Стандарт UNIX System V Release 4 79 6. 3. Стандарт POSIX 1003 80 6. 4. Стандарт UNIX X/Open 80 Глава 7. Управление процессами 81 7. 1. Функция fork 81 7. 2. Функции execl, execv 84 7. 3. Функция waitpid 84 7. 4. Функция kill 87 7. 5. Функция signal 88 Глава 8. Синхронизация и взаимодействие процессов 96 8. 1.