Основы параллельного программирования
Данная книга представляет собой введение в методы программирования для параллельных ЭВМ. Основной её целью является научить читателя самостоятельно разрабатывать максимально эффективные программы для таких компьютеров.
Вопросы распараллеливания конкретных алгоритмов рассмотрены на многочисленных примерах программ на языке C. В основу книги положен курс лекций для студентов механико-математического факультета МГУ им. М. В. Ломоносова.
Пособие охватывает широкий круг тем: от архитектурных особенностей процессоров (CISC и RISC, конвейеризация, кэш-память, многопроцессорные архитектуры) до организации данных во внешней памяти и стандартов операционных систем UNIX.
Значительное внимание уделено управлению процессами (fork, exec, waitpid, kill, signal), синхронизации и взаимодействию процессов, разделяемой памяти, а также практическим приёмам параллельного программирования с использованием процессов, задач и MPI.
Книга предназначена для студентов, аспирантов, научных работников, программистов и всех, кто хочет научиться разрабатывать программы для параллельных ЭВМ.
