НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ "УТВЕРЖДАЮ" Декан АВТФ, профессор

advertisement
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
"УТВЕРЖДАЮ"
Декан АВТФ, профессор
__________В.В. Губарев
"___"___________2005г.
РАБОЧАЯ ПРОГРАММА
Дисциплины " Программное обеспечение
высокопроизводительных систем и сетей" для
направления
552800 - «Информатика и вычислительная техника» (магистры).
Магистерская программа 552813 - “Сети ЭВМ и
телекоммуникации”
Факультет автоматики и вычислительной техники, дневное
отделение. Кафедра сетевых информационных технологий
Курс -, семестр –.
Лекции
- / - часа
Индивидуальная работа
- / часа
Самостоятельная работа
- / часов
Всего
- / часов
экзамен / зачет
Новосибирск, 2005 г.
Программное обеспечение высокопроизводительных систем и сетей.
Задачи изучения дисциплины ориентированы на получение основных сведений по
вопросам организации параллельных вычислений: модели вычислений, технологии
параллельного программирования, практикум по разработке параллельных программ.
1.Требования к курсу
Содержание курса соответствует ТРЕБОВАНИЯМ К ОБЯЗАТЕЛЬНОМУ
МИНИМУМУ СОДЕРЖАНИЯ ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ
ПОДГОТОВКИ МАГИСТРА ПО НАПРАВЛЕНИЮ «ИНФОРМАТИКА И
ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА».
2. Содержание курса
Семестр ____. Лекции (____часа)
Введение. Предмет и содержание курса. Основные определения и терминология. Роль и
значение высокопроизводительных вычислений в современном мире. Две парадигмы
программирования и две модели программирования: последовательная и параллельная.
Параллелизм данных, параллелизм задач.
Формальные модели параллельных вычислений. Крупноблочный параллелизм:
модели Карпа-Миллера, Котова-Нариньяни, Хоора, сети Петри. Мелкозернистый
параллелизм: клеточные автоматы, нейронные и клеточно-нейронные сети, алгоритмы
параллельных подстановок.
Архитектура параллельных ЭВМ. Классификация. Векторно-конвейерные, векторнопараллельные системы, мультипроцессорные системы. Кластерные системы. Локальные и
глобальные сети ЭВМ. Понятие метакомпьютинга. Способы организации метакомпьютеров
из различных вычислительных ресурсов.
Параллельное программирование. Параллельно-последовательное, параллельное и
асинхронное программирование. Автоматизация распараллеливания программ.
Показатели качества параллельных алгоритмов и программ. Закон Амдала.
Сравнительные характеристики операционных систем (ОС). Организация сетевой
ОС, протоколы, их классификация, методы реализации. Организация распределенной ОС.
Сопоставление ОС семейства Win 32 и Unix - подобных ОС.
Программное обеспечение параллельных суперкомпьютеров. Основы операционной
системы UNIX. Удаленная работа в сети Internet. Компиляторы для Linux. Системы
управления заданиями (Codine, PBS и др.).
Системы параллельного программирования. Системы с передачей сообщений - MPI,
параллельная виртуальная машина - PVM. Организация MPICH. Обмен данными в MPI.
Программирование с использованием PVM. Сравнение возможностей PVM и MPI.
Системы параллельного программирования.Системы с эмуляцией общей памяти
(Linda, Pirhana). Система программирования OpenMP. Сравнение возможностей систем с
передачей сообщений и систем с эмуляцией общей памяти. Расширение ядер ОС для
создания ОС рапределенной обработки данных.
Языки параллельного программирования. Процедурные, функциональные, логические
языки. Сравнительный анализ языков параллельного программирования. Общие сведения
о высокопроизводительном FORTRAN’е (HPF). Директивы HPF. Параллельное и
распределенное программирование с использованием С++.
Профилирование и отладка параллельных программ. Предоставляемые возможности.
Графический интерфейс.
Литература (основная).
1. Воеводин Вл. В. Курс лекций «Параллельная обработка данных»
On-line вариант: http://parallel.ru/vvv/ .
2. «Networks, Routers & Transputers» Редакторы: M.D. May, P.W. Thompson, P.H.
Welch. Издательство: IOS Press.
On-line вариант:http://wotug.ukc.ac.uk/parallel/books/ios/nrat/.
3. Ян Фостер. «Designing and Building Parallel Programs». Издательство - AddisonWesley.
On-line вариант: http://www-unix.mcs.anl.gov/dbpp/text/book.html.
4. Комолкин А.В., Немнюгин С.А. «Программирование для
высокопроизводительных ЭВМ» Курс лекций учебно-научного центра информационных
и вычислительных ресурсов. (Санкт-Петербург).
On-line вариант: http://www.hpc.nw.ru/KOI/COURSES/HPC/index.html
5. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - С.-П. - "БХВ Петербург", 2002. - 608с.
6. Немнюгин С.А., Стесик О.Л. «Параллельное программирование для
многопроцессорных вычислительных систем», "БХВ - Петербург", 2002. - 400с.
7. Корнеев В.Д. «Параллельное программирование в MPI», Новосибирск: Изд-во
СО РАН, 2000. - 213с.
8. Камерон Хьюз, Трейси Хьюз. Параллельное и распределенное
программирование с использованием С++. Издательство "Вильямс", 2004. - 672 с.
9. Богачев К.Ю. «Основы параллельного программирования», Издательство
"Бином. Лаборатория знаний", 2003. - 342 с.
10. Грегори Р. Эндрюс. Основы многопоточного, параллельного и распределенного
программирования. Издательство "Вильямс", 2003. - 512 с.
11. Тетенбаум Э. Архитектура компьютеров. СПб.: Питер, 2002. 704с.
12. Евстигнеев А.Е. Введение в параллельные архитектуры ЭВМ. Новосибирск:
изд-во НГУ, 1994.
13. Тоффоли Т., Марголус Н. Машины клеточных автоматов. - М.: Мир, 1991.
14. Хоар Ч. Взаимодействующие последовательные процессы. М.: Мир. 1989.
15. Карп Р.М., Миллер Р.Е. Параллельные схемы программ // Кибернетический
сборник, вып. 13, М.: Мир. 1976. С. 5-61.
16. Котов В.Е. Формальные модели параллельных вычислений. Препринт 165, ВЦ
СО АН СССР, 1979.
17. Котов В.Е. Сети Петри.- М.: Наука, 1984.
18. Операционные системы / Д. Бэкон, Т. Харрис. – СПб.: Питер, Киев:
Издательская группа BHV, 2004. – 800 с.
Интернет-порталы параллельного программирования.
http://parallel.ru/ крупнейший российский портал по параллельным вычислениям.
http://www.gnu.org/ - сайт содержит программное обеспечение, распространяемое
под GNU - лицензией. Для всего представленного программого обеспечения представлена
подробная документация.
http://www.linux.org/ .
http://www.citforum.ru/ .
http://www.csse.monash.edu.au/~rajkumar/cluster/index.html - сайт содержит большое
количество хорошо систематизированных ссылок по кластерным вычислениям.
http://www.beowulf.org/ .
http://www.cs.rit.edu/~ncs/parallel.html .
http://www.hpc.nw.ru/COURSES/index.html - учебные курсы по
высокопроизводительным вычислениям УНЦ ИВР.
http://www.software.unn.ac.ru/ccam/ - Центр компьютерного моделирования Нижний
Новгород.
http://ssd2-new.sscc.ru/mvs1000/init_stud/Korneev/Preambh.htm - МО ВВС ИВМ и МГ
СО РАН.
http://www.top500.org/
Литература (дополнительная).
1. Корнеев В.В., Кисилев А.В. Современные микропроцессоры. - «Нолидж», 1998. –
240 с.
2. Корнеев В.В. Параллельные вычислительные системы. М.: Москва, 1999.
3. Хокни Р., Джесхоуп. Параллельные ЭВМ: Архитектура, программирование и
алгоритмы. М.: Радио и связь, 1986.
4. D. Sima, T. Fountain, P. Kacsuk. Advanced computer architectures. New York:
Addison Wesley Longman Inc. 1997.
5. B.Wilkinson. Computer Architecture. Design and performance. Printice Hall
International (UK). 1991. 375p.
6. Cellular Automata, A Parallel Model. Cluwer Academic Publishers, 1999.
7. Achasova S., Bandman O., Markova V. and Piskunov S. Parallel Substitution
Algorithm. Theory and Application. - Singapore:World Scientific, 1994.
8. Питерсон Дж. Сети Петри и моделирование систем.- М.: Мир, 1984.
10. Евреинов Э.В., Косарев Ю.Г. Однородные универсальные вычислительные
системы высокой производительности.- Новосибирск: Наука. Сибирское отделение, 1966.
11. Волохов В.М., Покатович Г.А. Основные классы современных параллельных
компьютеров SMP, MPP. http://parallel.ru/info/education/chg99.html.
12. В. Воеводин, А. Капитонова. Классификация архитектур вычислительных
систем. http://parallel.ru/computers/taxonomy/.
13. Средства создания и проектирования параллельных программ:
http://www.cs.utexas.edu/users/code/, http://www.netlib.org/hence/index.html.
14. Системы поддержки параллельного программирования:
ftp://www.keldysh.ru/dvm-distr/doc_usr315/dvmUSRrhtm.tar.gz, ftp://www.keldysh.ru/dvmdistr/doc_sys315/dvmSYSrhtm.tar.gz.
15. Средства профилирования и отладки параллельных программ:
http://www.etnus.com/
16. Библиотеки параллельного программирования: MP-MPICH
(http://www.lfbs.rwth-aachen.de/content/mp-mpich), MPICH (http://wwwunix.mcs.anl.gov/mpi/mpich/), MPI-FM (http://www-csag.ucsd.edu/projects/hpvm.html), HPVM
(http://www-csag.ucsd.edu/projects/hpvm.html), BIP-MPI (http://lhpca.univlyon1.fr/mpibip.html), ScaLAPACK (http://www.netlib.org/scalapack), ARCH
(ftp://ftp.tc.cornell.edu/pub/ARCH/).
17. Системы управления кластерами: OpenPBS (http://www.openpbs.org/), PBSPro
(http://www.pbspro.com/), Sun Grid Engine (Codine)
(http://www.sun.com/software/gridware/ds-gridware/)
18. Крюков В. А. Операционные системы распределенных вычислительных систем
(распределенные ОС) - http://parallel.ru/krukov/ .
19. G. Amdahl. Validity of the single-processor approach to achieving large-scale
computing capabilities. // Proc. 1967 AFIPS Conf., AFIPS Press. - 1967. - V. 30. - P. 483.
20. High Performance Fortran Language Specification. High Performance Fortran Forum.
- Version 2.0. 1997. http://dacnet.rice.edu/Depts/CRPC/HPFF/versions/hpf2/hpf-v20 .
21. The OpenMP Application Program Interface (API). http://www.openmp.org .
Программу курса составил
Пискунов С.В.,
к.т.н., доцент каф. СИТ НГТУ, зав. лаб. "Параллельных алгоритмов и структур"
ИВММГ СО РАН.
Download