Курс, изложенный в учебном пособии, посвящен описанию базовых методов построения параллельных алгоритмов и программ для вычислительных систем с общей и с распределенной памятью. В первых четырех главах дается краткая характеристика архитектур параллельных вычислительных систем, рассматриваются основные области их применения, модели параллельных алгоритмов и программ, обсуждаются вопросы создания масштабируемых алгоритмов и излагаются базовые параллельные методы решения широкого круга задач. В следующих двух главах подробно рассмотрены методы построения масштабируемых параллельных алгоритмов сортировки больших объемов данных и особенности согласованной параллельной генерации последовательностей псевдослучайных чисел. Последние три главы посвящены обсуждению общих проблем применения многопроцессорных систем для решения сеточных задач: декомпозиции графов, динамической балансировки загрузки, визуализации сеточных данных.
В курсе обсуждаются методы построения эффективных масштабируемых параллельных алгоритмов, направленных на сокращение времени решения задач описываемых большими объемами данных. В связи с этим, существенное внимание уделяется анализу эффективности базовых параллельных алгоритмов и параллельных методов решения ряда задач обработки данных.
Пособие предназначено для широкого круга студентов, аспирантов и специалистов, желающих изучить и практически использовать методы создания алгоритмов для решения вычислительно трудоемких задач на параллельных вычислительных системах.
Учебное пособие основано на материалах лекций, читавшихся на протяжении многих лет в Московском физико-техническом институте (государственном университете). Рекомендовано Советом учебно-методического объединения классических университетов по прикладной математике и информатике.
Ключевые слова: параллельные алгоритмы, высокопроизводительные вычислительные системы, масштабируемые параллельные методы и программы, декомпозиция графов, визуализация сеточных данных большого объема, параллельная сортировка, последовательности псевдослучайных чисел, суперкомпьютерное образование.