Правительство Российской Федерации
Государственное образовательное бюджетное учреждение
высшего профессионального образования
Национальный исследовательский университет
«Высшая школа экономики»
Факультет бизнес-информатики
Программа дисциплины
Высокопроизводительные вычисления
для направления 080500.62 «Бизнес-информатика» подготовки бакалавра
Автор – к.ф.-м.н. В.А. Самодуров
Рекомендована секцией УМС
по бизнес-информатике
Председатель Ю.В. Таратухина
_______________________________
«_____» __________________ 2012 г.
|
|
Одобрена на заседании базовой
кафедры группы компаний «Стек»
Зав. кафедрой Е.А. Исаев
________________________________
«____»_____________________ 2012г.
|
Утверждена Ученым Советом
факультета Бизнес-информатики
Ученый секретарь В.А. Фомичев
_______________________________
«_____» __________________ 2012 г.
|
|
|
Москва, 2012
Область применения и нормативные ссылки
Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности.
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки 080500.62 «Бизнес-информатика», обучающихся по программе подготовки бакалавров, изучающих дисциплину «Высокопроизводительные вычисления».
Программа разработана в соответствии с Рабочим учебным планом университета по направлению подготовки 080500.62 «Бизнес-информатика», утвержденным в 2012г.
Цели освоения дисциплины
Дисциплина «Высокопроизводительные вычисления» предназначена для того, чтобы дать знания, умения и основные навыки, позволяющие создавать высокопроизводительные реализации известных методов вычислительной математики, анализа и обработки данных. Целью освоения дисциплины является – освоение базовых знаний в области архитектуры современных многопроцессорных вычислительных систем, параллельной обработки информации, технологий организации параллельных вычислений на многопроцессорных вычислительных комплексах с распределенной или общей оперативной памятью.
Компетенции обучающегося, формируемые в результате освоения дисциплины
В результате освоения дисциплины студент должен:
- основные направления развития высокопроизводительных компьютеров;
- основные классификации многопроцессорных вычислительных систем;
- основные подходы к разработке параллельных программ
- основные технологии и модели параллельного программирования.
- методы параллельных вычислений для задач вычислительной математики (мат-
ричные вычисления, решение систем линейных уравнений, сортировка, обработ-
ка графов, уравнения в частных производных, многоэкстремальная оптимизация);
- создавать параллельные программы для вычислительных систем с
распределенной, общей оперативной памятью;
- проводить распараллеливание вычислительных алгоритмов;
- строить модель выполнения параллельных программ;
- оценивать эффективности параллельных вычислений;
- анализировать сложность вычислений и возможность распараллеливания разраба-
тываемых алгоритмов;
- применять общие схемы разработки параллельных программ для реализаций
собственных алгоритмов;
- оценивать основные параметры получаемых параллельных программ, таких как
ускорение, эффективность и масштабируемость.
- создания параллельные программы для вычислительных систем с
распределенной, общей оперативной памятью;
- построения параллельных аналогов вычислительных алгоритмов.
Место дисциплины в структуре образовательной программы
Настоящая дисциплина относится к циклу дисциплин программы "Бизнес-информатика", являясь дисциплиной по выбору. Курс рассчитан на студентов, имеющих подготовку по
предшествующим курсам, касающихся основам программирования с использованием алгоритмических языков Си, вычислительным методам. В течение преподавания курса предполагается, что студенты знакомы с основными понятиями алгебры, комбинаторики, логики, информатики, которые читаются на факультете перед изучением данной дисциплины.
Тематический план учебной дисциплины
№
|
Название тем
|
Всего часов
|
Аудиторные часы
|
Самостоятельная работа
|
Лекции
|
Семинары
|
Практические занятия
|
1
|
Введение в понятия высокопроизводительных вычислений . Основные направления развития высокопроизводительных компьютеров
|
6
|
2
|
|
|
4
|
2
|
Классификация многопроцессорных вычислительных систем
|
6
|
2
|
|
|
4
|
3
|
Основные принципы организации параллельной обработки данных: модели, методы и технологии параллельного программирования
|
22
|
4
|
8
|
|
10
|
4
|
Параллельное программирование с использованием интерфейса передачи сообщений MPI.
|
22
|
6
|
6
|
|
10
|
5
|
Параллельное программирование на системах с общей памятью (OpenMP).
|
22
|
6
|
6
|
|
10
|
6
|
Параллельное программирование многоядерных GPU. Кластеры из GPU и суперкомпьютеры на гибридной схеме.
|
22
|
6
|
6
|
|
10
|
7
|
Параллельные численные алгоритмы для решения типовых задач вычислительной математики.
|
70
|
10
|
10
|
|
50
|
|
Итого:
|
180
|
36
|
36
|
|
108
|
Формы контроля знаний студентов
Тип контроля
|
Форма контроля
|
3 курс
|
Кафедра
|
Параметры
|
1
|
2
|
3
|
4
|
Текущий
|
Посещение лекций
|
|
|
18
|
18
|
базовая кафедра Группы компаний Стек
|
Тесты по материалам лекций
|
Посещение семинаров
|
|
|
18
|
18
|
базовая кафедра Группы компаний Стек
|
Задания на семинарах и практических занятиях
|
Домашнее задание
|
|
|
1
|
|
базовая кафедра Группы компаний Стек
|
Разработка примера параллельной программы для вычислительных систем
|
Контрольная работа
|
|
|
|
1
|
базовая кафедра Группы компаний Стек
|
Письменная работа 60 минут: решение типовых задач вычислительной математики параллельными численные алгоритмами
|
Рубежный
|
Реферат
|
|
|
|
1
|
базовая кафедра Группы компаний Стек
|
10-15 страниц,
Защита реферата методом доклада с презентацией
|
Итоговый
|
Зачет
|
|
|
|
4
|
базовая кафедра Группы компаний Стек
|
письменная работа 60 минут: ответы на теоретические вопросы.
|
Критерии оценки знаний, навыков
Итоговая оценка по учебной дисциплине складывается из следующих элементов:
-
тесты по материалам лекций (теория)
-
работа на семинарских и практических занятиях (решение задач с использованием компьютеров, доклады, обсуждения);
-
домашнее задание и контрольная работа;
-
реферат;
-
зачет.
Структура экзаменационной оценки по учебной дисциплине:
Форма работы
|
Вклад в итоговую оценку (%)
|
Тесты по материалам лекций (теория)
|
10
|
Задания на семинарах и практических занятиях
|
25
|
Реферат
|
25
|
Домашнее задание и контрольная работа
|
15
|
Зачет
|
25
|
В конце 4-го модуля на зачетной неделе состоится итоговый контроль в форме зачета.
Содержание дисциплины
Цель курса.
Цель курса состоит в изложении основных понятий параллельных вычислений, необходимых для последующего изучения моделей, методов и технологий параллельного программирования.
В рамках курса проводится изучение следующих набора тем:
-
Краткий обзор параллельных вычислительных систем и их классификация,
-
Общая характеристика многопроцессорных вычислительных систем,
-
Оценка эффективности параллельных вычислений,
-
Анализ сложности вычислений и оценка возможности распараллеливания,
-
Параллельное программирование с использованием MPI
-
Изложение технологии OpenMP,
-
Общая схема разработки параллельных методов,
-
Методы параллельных вычислений для задач вычислительной математики (матричные вычисления, решение систем линейных уравнений, сортировка, обработка графов, уравнения в частных производных, многоэкстремальная оптимизация)
Тема 1. Введение в понятия высокопроизводительных вычислений . Основные направления развития высокопроизводительных компьютеров.
Важность проблематики параллельных вычислений. Пути достижения параллелизма: независимость функционирования отдельных функциональных устройств, избыточность элементов вычислительной системы, дублирование устройств. Векторная и конвейерная обработка данных. Многопроцессорная и многомашинная, параллельная обработка данных. Закон Мура, сдерживающие факторы наращивания количества транзисторов на кристалле и частоты процессоров. Привлекательность подхода параллельной обработки данных. Сдерживающие факторы повсеместного внедрения параллельных вычислений. Ведомственные, национальные и другие программы, направленные на развитие параллельных вычислений в России. Необходимость изучения дисциплины параллельного программирования.
Перечень критических задач, решение которых без использования параллельных вычислений затруднено или вовсе невозможно.
Содержание курса параллельного программирования – характеристика основных составляющих блоков лекционного курса, практических занятий.
Контрольные вопросы по теме:
-
Основные направления развития высокопроизводительных компьютеров. Пути достижения параллелизма: независимость функционирования отдельных функциональных устройств, избыточность элементов вычислительной системы, дублирование устройств.
-
Векторная и конвейерная обработка данных.
-
Многопроцессорная и многомашинная, параллельная обработка данных.
-
Закон Мура, сдерживающие факторы наращивания количества транзисторов на кристалле и частоты процессоров. Сдерживающие факторы повсеместного внедрения параллельных вычислений.
-
Перечень критических задач, решение которых без использования параллельных вычислений затруднено или вовсе невозможно.
Тема 2. Классификация многопроцессорных вычислительных систем
Системы с распределенной, общей памятью, примеры систем. Массивно-параллельные системы (MPP). Симметричные мультипроцессорные системы (SMP). Параллельные векторные системы (PVP).
Системы с неоднородным доступом к памяти (Numa), примеры систем. Компьютерные кластеры – специализированные и полнофункциональные. История возникновения компьютерных кластеров – проект Beowulf. Мета-компьютинг – примеры действующих проектов. Классификация Флинна, Шора и т.д. Организация межпроцессорных связей – коммуникационные топологии. Примеры сетевых решений для создания кластерных систем.
Контрольные вопросы по теме:
-
Поясните понятие суперкомпьютера
-
Возможно ли увеличение производительности суперкомпьютера прямо пропорционально увеличению количества процессорных элементов?
-
В чем заключаются основные способы достижения параллелизма?
-
В чем могут состоять различия параллельных вычислительных систем?
-
Что положено в основу классификация Флинна?
-
Какие классы систем известны для мультикомпьютеров?
-
Что такое массивно-параллельный компьютер?
-
Что такое векторно-конвейерный компьютер?
-
В чем состоят положительные и отрицательные стороны кластерных систем?
-
Каковы причины появления концепции метакомпютинга?
-
Каковы причины появления Grid проектов?
-
Сравните метакомпьютинг и Grid технологии.
Тема 3. Основные принципы организации параллельной обработки данных: модели, методы и технологии параллельного программирования
Функциональный параллелизм, параллелизм по данным. Парадигма master-slave. Парадигма SPMD. Парадигма конвейеризации. Парадигма “разделяй и властвуй”. Спекулятивный параллелизм. Важность выбора технологии для реализации алгоритма. Модель обмена сообщениями – MPI. Модель общей памяти – OpenMP. Концепция виртуальной, разделяемой памяти – Linda. Российские разработки – Т-система, система DVM. Проблемы создания средства автоматического распараллеливания программ.
Контрольные вопросы по теме:
-
Что общего и в чем различия между традиционной общей памятью в SMP-компьютерах и пространством кортежей в системе Linda?
-
Необходимо написать программу для компьютера с общей памятью. Чему отдать предпочтение: OpenMP или Linda? Сравните технологии с различных точек зрения.
-
В распоряжении программистов есть, с одной стороны, MPI и OpenMP, а с другой стороны, компьбютеры с общей и распределенной памятью. Какая технология программирования какой архитектуре лучше соотвествует?
Тема 4. Параллельное программирование с использованием интерфейса передачи сообщений MPI.
Библиотека MPI. Модель SIMD. Инициализация и завершение MPI-приложения. Точечные обмены данными между процессами MPI-программы. Режимы буферизации. Проблема deadlock’ов. Коллективные взаимодействия процессов в MPI. Управление группами и коммуникаторами в MPI.
Контрольные вопросы по теме:
-
Каковы преимущества программирования на MPI?
-
Какой минимальный набор средств является достаточным для организации параллельных вычислений в системах с распределенной памятью?
-
В чем различие понятий процесса и процессора?
-
Как описываются в MPI передаваемые сообщения?
-
В чем различие парных и коллективных операций передачи данных?
-
Какая функция MPI обеспечивает передачу данных от одного процесса всем процессам?
-
Какие режимы передачи данных поддерживаются в MPI?
-
Как организуется неблокирующий обмен данными в MPI?
Тема 5. Параллельное программирование на системах с общей памятью (OpenMP)
Введение в OpenMP. Стандарты программирования для систем с разделяемой памятью. Создание многопоточных приложений. Использование многопоточности при программировании для многоядерных платформ. Синхронизация данных между ветвями в параллельной программе. Директивы языка OpenMP.
Контрольные вопросы по теме:
-
Каковы преимущества программирования с использованием OpenMP?
-
В чем состоит концепция нитей?
-
Как достигается балансировка нагрузки в OpenMP?
-
Какие особенности организации параллельного цикла в OpenMP?
-
Какие похожие операции есть в MPI и OpenMP?
-
OpenMP: Директивы OpenMP, Переменные окружения.
-
OpenMP: Библиотечные функции. Средства синхронизации.
Тема 6. Параллельное программирование многоядерных GPU. Кластеры из GPU и суперкомпьютеры на гибридной схеме.
Существующие многоядерные системы. GPU как массивно-параллельный процессор. Архитектура GPU и модель программирования CUDA.
Иерархия памяти CUDA. Глобальная, константная, текстурная, локальная, разделяемая и регистровая память. Особенности использования каждого типа памяти. Размещение различных данных в различной памяти. Когерентное общение с глобальной памятью.
Программирование многоядерных GPU. Кластеры из GPU. Кластеры и суперкомпьютеры на гибридной схеме. Использование OpenMP и MPI технологий совместно с CUDA. Вопросы оптимизации приложений на CUDA.
Контрольные вопросы по теме:
-
Поясните понятие суперкомпьютера
-
Возможно ли увеличение производительности суперкомпьютера прямо пропорционально увеличению количества процессорных элементов?
-
Дайте определение вычислительного кластера.
-
Опишите виды кластеров, их особенности.
-
В чем состоят положительные и отрицательные стороны кластерных систем?
Тема 7. Параллельные численные алгоритмы для решения типовых задач вычислительной математики.
Степень параллелизма численного алгоритма. Средняя степень параллелизма численного алгоритма. Зернистость алгоритма. Ускорение и эффективность. Закон Амдала. Алгоритм исследования свойств параллельного алгоритма. Определение параллелизма: анализ задачи с целью выделить подзадачи, которые могут выполняться одновременно.
Выявление параллелизма: изменение структуры задачи таким образом, чтобы можно было эффективно выполнять подзадачи. Для этого часто требуется найти зависимости между подзадачами и организовать исходный код так, чтобы ими можно было эффективно управлять. Выражение параллелизма: реализация параллельного алгоритма в исходном коде с помощью системы обозначений параллельного программирования.
Матричные вычисления (матрично-векторное умножение, умножение матриц, решение систем линейных уравнений). Параллельный алгоритм умножения матрицы на вектор и его ускорение по сравнению с последовательным алгоритмом. Параллельный алгоритм умножения матрицы на матрицу и его ускорение по сравнению с последовательным алгоритмом. Параллельный алгоритм решения СЛАУ прямым методом Гаусса и его ускорение по сравнению с последовательным алгоритмом. Параллельный алгоритм решения СЛАУ итерационными методами Якоби, Гаусса - Зейделя и их ускорение по сравнению с последовательным алгоритмом.
Параллельная сортировка (алгоритмы пузырьковой сортировки, сортировки Шелла и быстрой сортировки). Задачи обработки графов (построение минимального охватывающего дерева, поиск кратчайших путей).
Контрольные вопросы по теме:
-
Каковы этапы численного эксперимента?
-
Как можно определить требуемую производительность для решения конкретной задачи?
-
Как определяется расписание для распределения вычислений между процессорами?
-
Как определяется время выполнения параллельного алгоритма?
-
Как определить минимально возможное время решения задачи?
-
Какие оценки следует использовать в качестве характеристики времени последовательного решения задачи?
-
Какие зависимости могут быть получены для времени параллельного решения задачи при увеличении или уменьшения числа используемых процессоров?
-
Как определяются понятия ускорения и эффективности?
-
Как определяется понятие стоимости вычислений?
-
Как формулируется закон Амдала? Какой аспект параллельных вычислений позволяет учесть данный закон?
-
Представьте перспективы реализации высокопроизводительных вычислений на основе использования облачных вычислений.
Образовательные технологии
Методические рекомендации преподавателю
В рамках дисциплины проводится изучение основных понятий параллельных вычислений, необходимых для последующего изучения моделей, методов и технологий параллельного программирования. В курсе приводятся примеры современных высокопроизводительных вычислительных систем, рассматриваются способы анализа сложности вычислений и оценки возможности их параллельного выполнения, даются основы разработки параллельных методов.
Дисциплина изучается на лекциях и семинарских, практических занятиях.
На лекциях рассматриваются основополагающие теоретические вопросы и способы решения задач прикладного и системного характера. Лекции строятся на последовательном систематическом устном изложении преподавателем учебного материала, представляющего логически законченное целое. Каждая лекция сопровождается презентацией, содержащей краткий теоретический материал и иллюстративный материал.
Каждая презентация построена по следующему шаблону: название лекционного занятия, цель и задачи лекции, краткое содержание предыдущей лекции (при необходимости), теоретический материал, в конце приведены итоги лекционного занятия, обозначена тема следующей лекции, а также вопросы и задания для самостоятельного изучения.
Презентации по лекционному курсу разбиты по темам, по отдельно взятой теме может быть несколько лекций.
Домашние и контрольные работы направлена на самостоятельную работу по созданию параллельных программ и исследования эффективности проведенного распараллеливания.
Семинарские занятия проводятся с целью освоения методов и способов параллельного программирования на конкретных примерах и алгоритмах. Студенты привлекаются к разбору и сравнительному анализу предлагаемых вариантов программных реализаций решаемых задач.
В процессе самостоятельной работы студенты отрабатывают теоретические положения, изложенные на лекциях, и изучают примеры, рассмотренные на семинарских занятиях. В ходе самостоятельной работы студенты выполняют контрольные домашние задания. Задания носят индивидуальный характер. На каждое контрольное домашнее задание выносится несколько задач в зависимости от сложности темы.
Методические указания студентам
Успешное освоение дисциплины основывается на систематической повседневной работе студентов. В процессе самостоятельной работы студенты в течение одного – двух дней прорабатывают материалы лекционных и практических занятий по конспектам и рекомендованной основной литературе.
Конспекты дополняются материалами, полученными при проработке дополнительной литературы. При подготовке к письменной контрольной работе необходимо самостоятельно проработать задания из соответствующих глав рекомендуемой литературы.
Тема и направленность контрольной работы объявляется преподавателем заранее. Контрольная работа составляется из типовых заданий, рассмотренных на практических занятиях. При выполнении контрольной работы студенты должны выполнить задания, показав при этом понимание теоретического материала и навыки решения практических задач.
При выполнении домашних заданий студенты должны кроме основной и дополнительной рекомендованной литературы использовать и другие источники.
Написание реферата является одной из форм обучения студентов. Данная форма обучения направлена на организацию и повышение уровня самостоятельной работы студентов.
Реферат, как форма обучения студентов - это краткий обзор максимального количества доступных публикаций по заданной теме, подготовка самого реферативного обзора и презентации по нему. При проведении обзора должна проводиться и исследовательская работа, но объем ее ограничен, так как анализируется уже сделанные выводы и в связи с небольшим объемом данной формы работы. Преподавателю предоставляется сам реферат и презентация к нему. ЗаСдача реферата происходит в форме защиты-доклада с использованием подготовленной презентации.
Оценочные средства для текущего контроля и аттестации студента
Вопросы для оценки качества освоения дисциплины
-
Основные направления развития высокопроизводительных компьютеров. Пути достижения параллелизма: независимость функционирования отдельных функциональных устройств, избыточность элементов вычислительной системы, дублирование устройств.
-
Векторная и конвейерная обработка данных.
-
Многопроцессорная и многомашинная, параллельная обработка данных.
-
Закон Мура, сдерживающие факторы наращивания количества транзисторов на кристалле и частоты процессоров. Сдерживающие факторы повсеместного внедрения параллельных вычислений.
-
Перечень критических задач, решение которых без использования параллельных вычислений затруднено или вовсе невозможно.
-
Однопроцессорная оптимизация. Архитектурно-зависимая оптимизация; отличия развертывания циклов для векторных и кэш-ориентированных архитектур. Конвейерная обработка данных. Зависимость производительности процессора от способа описания и хранения данных.
-
Стандартные методики измерения производительности MIPS, MFLOPS и т.д.
-
Классификация многопроцессорных вычислительных систем
-
Парадигмы, модели и технологии параллельного программирования
-
Параллельное программирование с использованием интерфейса передачи сообщений MPI
-
Параллельное программирование на системах с общей памятью (OpenMP)
-
Параллельное программирование на системах смешанного типа.
-
Классификация ошибок параллельных программ (сильные, слабые ошибки ...). Особенности отладки параллельных приложений. Трассировка.
-
Степень параллелизма численного алгоритма. Средняя степень параллелизма численного алгоритма. Зернистость алгоритма. Ускорение и эффективность. Закон Амдала.
-
Определение параллелизма: анализ задачи с целью выделить подзадачи, которые могут выполняться одновременно. Выявление параллелизма: изменение структуры задачи таким образом, чтобы можно было эффективно выполнять подзадачи. Выражение параллелизма: реализация параллельного алгоритма в исходном коде с помощью системы обозначений параллельного программирования.
-
Параллельный алгоритм умножения матрицы на вектор и его ускорение по сравнению с последовательным алгоритмом.
-
Параллельный алгоритм умножения матрицы на матрицу и его ускорение по сравнению с последовательным алгоритмом.
-
Параллельный алгоритм решения СЛАУ прямым методом Гаусса и его ускорение по сравнению с последовательным алгоритмом.
-
Параллельный алгоритм решения СЛАУ итерационными методами Якоби, Гаусса - Зейделя и их ускорение по сравнению с последовательным алгоритмом.
-
Параллельная сортировка (алгоритмы пузырьковой сортировки, сортировки Шелла и быстрой сортировки).
-
Задачи обработки графов (построение минимального охватывающего дерева, поиск кратчайших путей).
Учебно-методическое и информационное обеспечение дисциплины
Основная литература
-
Баденко В. Л. Высокопроизводительные вычисления: учеб. пособие – СПб.: Изд-во Политехн. ун-та, 2010. – 180 с.
-
Гергель В.П. Теория и практика параллельных вычислений. – М.:Интернет-Университет, БИНОМ. Лаборатория знаний, 2007.
-
Букатов А.А., Дацюк В.Н., Жегуло А.И. Программирование многопроцессорных вычислительных систем. Ростов-на-Дону. Издательство ООО «ЦВВР», 2003, 208 с. (http://rsusu1.rnd.runnet.ru/tutor/method/index.html)
-
Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. – СПб.:БХВ-Петербург, 2002.
-
Немнюгин С., Стесик О. Параллельное программирование для многопроцессорных вычислительных систем. – СПб.: БХВ-Петербург, 2002, 400 с.
-
Антонов А.С. "Параллельное программирование с использованием технологии OpenMP: Учебное пособие".- М.: Изд-во МГУ, 2009
-
Ортега Дж. Введение в параллельные и векторные методы решения линейных систем: Пер. с англ. М.: Мир, 1991. 367с.
-
Эндрюс Г.Р. Основы многопоточного, параллельного программирования. Пер. с англ. М.: Издательский дом “Вильямс”, 2003. 512с.
-
Tutorial on MPI: The Message-Passing Interface William Gropp Mathematics and Computer Science Division Argonne National Laboratory Argonne, IL
-
Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., and Melon, R.. Parallel Programming in OpenMP. San-Francisco, CA: Morgan Kaufmann Publishers., 2000
-
Quinn M.J. Parallel Programming in C with MPI and OpenMP. – New York, NY: McGraw-Hill, 2004
-
Kumar V., Grama A., Gupta A., Karypis G. Introduction to Parallel Computing , Inc. 1994 (2th edition, 2003)
-
Wilkinson B., Allen M. Parallel programming. – Prentice Hall, 1999
Дополнительная литература
-
Антонов А.С. Параллельное программирование с использованием технологии MPI: Учебное пособие. // http://rsusu1.rnd.runnet.ru/tutor/antonov/
-
Афанасьев К.Е., Стуколов С.В. КМГЭ для решения плоских задач гидродинамики и его реализация на параллельных компьютерах: Учебное пособие / Кемерово: КемГУ, 2001. 208 с.
-
Бахвалов Н.С. Численные методы. М.: Наука, 1975.
-
Березин И.С. Методы вычислений / Березин И.С., Жидков Н.П. М.: Физматгиз, 1966. Т.1.
-
Богданов А., Мареев В., Станнова Е., Корхов В. Архитектуры и топологии многопроцессорных вычислительных систем // электронный учебник http://www.informika.ru/text/teach/topolog/index.htm
-
Валях Е. Последовательно-параллельные вычисления / Пер. с англ. М.: Мир, 1985. 456с. 24
-
Голуб Дж., Ван Лоун Ч. Матричные вычисления: Пер. с англ. – М.: Мир, 1999. - 548 с.
-
Корнеев В.В. Параллельные вычислительные системы. М: ”Нолидж”, 1999. 320 с.
-
Материалы информационно-аналитического центра НИВЦ МГУ – www.parallel.ru
-
Старченко А.В. Параллельные вычисления на многопроцессорных вычислительных системах / Старченко А.В., Есаулов А.О. Томск: ТГУ, 2002. 56 с.
-
Таненбаум Э. Архитектура компьютера // СПб, Изд-во «Питер», 2002 г
-
Шнитман В. Современные высокопроизводительные компьютеры. 1996. http://www.citforum.ru/hardware/svk/contents.shtml
-
Форсайт Дж. Машинные методы математических вычислений / Форсайт Дж., Малькольм М., Моулер К. М.: Мир, 1980.
Материально-техническое обеспечение дисциплины
Лекционные занятия проходят в мультимедийной аудитории, оснащенной компьютером и проектором.
Семинарские и практические занятия проходят в компьютерном классе. Первая часть занятия посвящена разбору нового материала. Вторая часть – выполнению практических заданий с целью закрепления материала.
Для практических занятий необходимы:
-
Компьютерные классы, оснащенные ПЭВМ Intel Pentium 4.
-
Программное обеспечение: Microsoft Windows XP/2000, Windows 7.