Информация о книге

978-5-9963-1616-8

Главная  » Научно-техническая литература » Информационные технологии. Компьютеры » Программирование » Основы программирования и алгоритмы » Программирование. Основы параллельного программирования

Богачев К.Ю., Программирование. Основы параллельного программирования

Бином. Лаборатория знаний, 2013 г., 978-5-9963-1616-8


Описание книги

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

Поделиться ссылкой на книгу



Содержание книги

Предисловие
Порядок чтения
Глава 1. Для нетерпеливого читателя
1.1. Последовательная программа
1.2. Ускорение работы за счет параллелизма
1.3. Параллельная программа, использующая
процессы
1.4. Параллельная программа, использующая
задачи
1.5. Параллельная программа, использующая
MPI
Глава 2. Пути повышения производительности
процессоров
2.1. CISC- и RISC-процессоры
2.2. Основные черты RISC-архитектуры
2.3. Конвейеризация
2.4. Кэш-память
2.5. Многопроцессорные архитектуры
2.5.1. Основные архитектуры
2.5.2. Комбинированные архитектуры
2.5.3. Обанкротившиеся архитектуры
2.6. Поддержка многозадачности и
многопроцессорности
2.7. Использование параллелизма процессора
для повышения эффективности программ
Глава 3. Пути повышения производительности
оперативной па
мяти
Глава 4. Организация данных во внешней памяти
Глава 5. Основные положения
5.1. Основные определения
5.2. Виды ресурсов
5.3. Типы взаимодействия процессов
5.4. Состояния процесса
Глава 6. Стандарты на операционные системы UNIX
6.1. Стандарт BSD 4.3
6.2. Стандарт UNIX System V Release 4
6.3. Стандарт POSIX 1003
6.4. Стандарт UNIX X/Open
Глава 7. Управление процессами
7.1. Функция fork
7.2. Функции execl, execv
7.3. Функция waitpid
7.4. Функция kill
7.5. Функция signal
Глава 8. Синхронизация и взаимодействие
процессов
8.1. Разделяемая память
8.1.1. Функция shmget
8.1.2. Функция shmat
8.1.3. Функция shmctl
8.2. Семафоры
8.2.1. Функция semget
8.2.2. Функция semop
8.2.3. Функция semctl
8.2.4. Пример использования семафоров и
разделяемой памяти
8.3. События
8.4. Очереди сообщений (почтовые ящики)
8.4.1. Функция msgget
8.4.2. Функция msgsnd
8.4.3. Функция msgrcv
8.4.4. Функция msgctl
8.4.5. Пример использования очередей
8.4.6. Функция pipe
8.5. Пример многопроцессной программы,
вычисляющей
произведение матрицы на вектор
Глава 9. Управление задачами (threads)
9.1. Функция pthread_create
9.2. Функция pthread_join
9.3. Функция sched_yield
Глава 10. Синхронизация и взаимодействие задач
10.1. Объекты синхронизации типа mutex
10.1.1. Функция pthread_mutex_init
10.1.2. Функция pthread_mutex_lock
10.1.3. Функция pthread_ mutex _ try lock
10.1.4. Функция pthread_mutex_unlock
10.1.5. Функция pthread_mutex_destroy
10.1.6. Пример использования mutex
10.2. Пример multithread-upoграммы,
вычисляющей определенный интеграл
10.3. Объекты синхронизации типа condvar
10.3.1. Функция pthread_cond_init
10.3.2. Функция pthread_cond_signal
10.3.3. Функция pthread_cond_broadcast
10.3.4. Функция pthread_cond_wait
10.3.5. Функция pthread_cond_destroy
10.3.6. Пример использования condvar
10.4. Пример multithread-программы,
вычисляющей произведение матрицы на вектор
10.5. Влияние дисциплины доступа к памяти на
эффективность параллельной программы
10.6. Пример multithread-программы,
решающей задачу Дирихле для уравнения
Пуассона
Глава 11. Интерфейс MPI (Message Passing
Interface)
11.1. Общее устройство MPI-программы
11.2. Сообщения
11.3. Коммуникаторы
11.4. Попарный обмен сообщениями
11.5. Операции ввода-вывода в MPI-программах
11.6. Пример простейшей MPI-программы
11.7. Дополнительные функции для попарного
обмена сообщениями
11.8. Коллективный обмен сообщениями
11.9. Пример MPI-программы, вычисляющей
определен
ный интеграл
11.10. Работа с временем
11.11. Пример MPI-программы, вычисляющей
произведение матрицы на вектор
11.12. Дополнительные функции коллективного
обмена сообщениями для работы с массивами
11.13. Пересылка структур данных
11.13.1. Пересылка локализованных разнородных
данных
11.13.2. Пересылка распределенных однородных
данных
11.14. Ограничение коллективного обмена на
подмножество процессов
11.15. Пример MPI-программы, решающей задачу
Дирихле для уравнения Пуассона
Источники дополнительной информации
Программа курса
Список задач
Указатель русских терминов
Указатель английских терминов
Список иллюстраций
Список таблиц
Список примеров


Об авторе


Последние поступления в рубрике "Основы программирования и алгоритмы"



Программирование на visual c# 2013. Учебное пособие для прикладного бакалавриата Программирование на visual c# 2013. Учебное пособие для прикладного бакалавриата Казанский А.

Эта книга предназначена для изучения программирования на одном из самых современных и мощных языков — Visual C# 2013. Язык C# создан для программирования в Windows и вместе со средой разработки IDE Microsoft Visual Studio 2013 позволяет разрабатывать эффективные приложения, имеющие удобный графический интерфейс для решения прикладных задач....

Программирование на языке высокого уровня С/С++. Конспект лекций Программирование на языке высокого уровня С/С++. Конспект лекций Зоткин С.

Приведены основные элементы языков программирования C/C++: типы данных, операторы и операции, структура программы, работа с файлами, основы численных методов решения инженерных задач, организация данных в виде стека, очереди, списка и дерева.Для студентов первого курса бакалавриата направления подготовки 09.03....

Примеры и задачи по программированию на Паскале и Питоне. Фонд оценочных средств для промежуточных аттестаций. Часть 1. Учебное пособие Примеры и задачи по программированию на Паскале и Питоне. Фонд оценочных средств для промежуточных аттестаций. Часть 1. Учебное пособие Пылькин А.Н., Москвина О.П.

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

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Богачев К.Ю., Программирование. Основы параллельного программирования в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.