//Задаем названия месяцев
$mes = array ("-","января","февраля","марта","апреля","мая","июня","июля","августа","сентября",
"октября","ноября","декабря");
//Задаем названия дней недели
$den = array ("воскресенье","понедельник","вторник","среда","четверг","пятница","суббота");
$gisett=(int)date("w");
$mesnum=(int)date("m");
// Если не нужно выводить время, то все что ниже можно удалить или закомментировать.
// Выставляем разницу между временем на сервере и вашей временной зоной,
// если оставить "0", то будет показано локальное время сервера
$hourdiff = "0";
$timeadjust = ($hourdiff * 60 * 60);
// Добавляем к дате временную зону выставленную в переменной $hourdiff
// если поставить "+", то зона будет добавлена к локальному времени, если "-" то убавлена.
$melbdate = date("H:i",time() + $timeadjust);
?>
«Многопроцессорные системы и распараллеливание обработки данных», «Принципы и алгоритмы параллельных расчетов» (5 курс, 2 семестр)
Программа курса:
I. Архитектуры многопроцессорных вычислительных систем (МВС), модели и средства параллельного
программирования, основы работы в ОС Linux (теоретический блок) [5 недель]
1. Классификация ЭВМ Флинна (SISD, SIMD, MISD, MIMD)
2. МВС с общей (разделяемой) памятью (векторно-конвейерные суперкомпьютеры, симметричные
мультипроцессорные системы (SMP))
3. МВС с распределенной (индивидуальной) памятью (системы с массовым параллелизмом (МРР),
кластерные системы)
(Шп. с. 9,10,14,15, Бук. с.13-27)
4. Эффективность параллельных программ и сетевой закон Амдала
(Шп. с.12-13, гл.12, Бук. с.40-41)
5. Коммуникационные (сетевые) топологии МВС
6. Средства програмирования систем с общей памятью (OpenMP)
7. Модели (SPMD, MPMD) и средства програмирования систем с распределенной памятью (MPI)
(Шп. с.15-27, Бук. с.35)
II. Параллельное программирование для библиотеки MPI в реализациях LAM/MPICH (3 практических
задания) [6 недель]
(Бук. гл.7-9 (фортран), Шп. гл.3-4 (Си, фортран))
1. Основы работы в ОС Linux.
2. Вычислительная модель "клиент-сервер" и одноранговые вычисления.
3. Простые операции межточечных взаимодействий MPI_Send, MPI_Recv, MPI_SendRecv.
4. Коллективные операции MPI_Bcast, MPI_Gather, MPI_Scatter.
5. Распределенные операции (MPI_Reduce).
III. Программирование параллельных приложений для прикладных задач [4 недели]
(Выс.выч.кл.; Berts.; Шп. гл.7-10; Бук. гл.13)
1. Решение задачи Пуассона на двумерной сетке.
2. Матрично-векторные задачи.
3. Решение систем линейных алгебраических уравнений.
Основная литература
- (Богд.) Богданов А.В., Станкова Е.Н., Мареев В.В., Корхов В.В. Архитектуры и топологии МВС / Интернет-университет
информационных технологий. - М., 2004. курс на intuit.ru
- (Бук.) Букатов А.А., Дацюк В.Н., Жегуло А.И. Многопроцессорные системы и параллельное программирование / РГГУ. - Ростов, 2003.
курс (html, pdf)
- (Шп.) Шпаковский Г.И., Серикова Н.В. Программирование для многопроцессорных систем в стандарте MPI. - Минск : БГУ, 2002.
пособие
- (Выс.выч.кл.) Высокопроизводительные вычисления на кластерах : Учебн. пособие / Под ред. А.В. Старченко. - Томск: Изд-во Том. ун-та, 2008.
пособие
- (Berts.) Bertsekas D.P., Tsitsiklis J.N. Parallel and Distributed Computation : Numerical Methods. Athena Scientific, 1997.
на сайте MIT
Дополнительная литература
- Немнюгин С.А. Средства программирования для многопроцессорных вычислительных систем / СПбГУ. - СПб., 2007.
курс (pdf)
- Гергель В.П. Многопроцессорные вычислительные системы и параллельное программирование / НижГу. - Нижний Новгород.
материалы (html, pdf)
- Антонов А.С. Параллельное программирование с использованием технологии MPI : Учебное пособие. - М.: Изд-во МГУ, 2004.
курс
- Корнеев В.Д. Параллельное программирование в MPI. - Новосибирск, 2003.
- Шпаковский Г.И. Параллельное программирование и аппаратура. - Минск : БГУ, 2012.
пособие
- Шпаковский Г.И. и др. Применение технологии MPI в GRID. - Мн.: БГУ, 2008.
пособие
- Воеводин Вл.В. Параллельная обработка данных / НИВЦ МГУ.
html-курс
- Суперкомпьютерные технологии в науке, образовании и промышленности / Под редакцией: академика В.А. Садовничего,
академика Г.И. Савина, чл.-корр. РАН Вл.В. Воеводина. М.: Издательство Московского университета, 2009. 232 с., ил.
ISBN 978-5-211-05719-7.
html
- Информационно-аналитический центр по параллельным вычислениям parallel.ru,
раздел "Учебные материалы" на parallel.ru.
Задания по курсу:
- Написать программу, реализующую межточеченые взаимодействия между
процессорами: "один каждому" (вычислительная модель "клиент-сервер"),
"каждый каждому" (одноранговая вычислительная модель) с помощью функций MPI_Send, MPI_Recv, MPI_Sendrecv).
- Написать программу, реализующую коллективные функции MPI (MPI_Gather,
MPI_Scatter).
- Написать программу параллельного вычисления суммы ряда согласно
варианта. См. варианты заданий 1-15,варианты заданий 16-30.
Необходимо использовать модель вычислений "клиент-сервер" с функциями межточечных
взаимодействий (MPI_Send, MPI_Recv), когда процессы-клиенты производят вычисление
элементов суммы, а процесс-сервер осуществляет прием слагаемых от
процессов и производит вычисление суммы ряда.
- Использовать коллективную функцию MPI_Reduce для программы параллельного вычисления суммы ряда.
- Разобрать программу параллельного решения задачи Пуассона для двумерной области.