Математические и информационные технологии

advertisement
Московский физико-технический институт (государственный университет)
Факультет молекулярной и биологической физики
Утверждаю
Ректор
________ Н.Н. Кудрявцев
____ __________2007 г.
ПРОГРАММА
Итогового государственного экзамена по специальности
«Математические и информационные технологии»
Программа разработана кафедрой
«Высокопроизводительные вычислительные системы»
(базовое предприятие - Межведомственный суперкомпьютерный центр) в
соответствии с магистерской программой
Декан
_________
____ __________2007 г.
Зав. кафедрой
академик
_______Г.И.Савин
__23__ _июня____2007 г.
Москва 2007 г.
1. Объектно-ориентированное и объектное программирование.
1.
Составные части объектного подхода. Абстрагирование. Инкапсуляция.
Иерархия. Типизация.
2.
Объект. Состояние объекта, его поведение, идентичность. Отношения между
объектами: связи, агрегация.
3.
Класс. Интерфейс и реализация. Конструктор, деструктор, методы. Отношения
между классами: ассоциация, агрегация, использование, наследование.
4.
Наследование. Управление доступом (открытая, защищенная и закрытая
области, друзья). Перегрузка методов и операторов. Разрешение неоднозначности.
Статическое и динамическое связывание.
5.
Копирование объектов. Проблемы копирования объектов, содержащих
указатели Создание и удаление объектов в свободной памяти
6.
Абстрактные классы. Виртуальные функции. Полиморфизм. Множественный
полиморфизм.
7.
Шаблоны. Примеры стандартных контейнеров.
8.
Обработка внештатных ситуаций. Понятие исключения. Разворачивание стека
при обработке исключения. Обработка исключений
Литература:
[1] Буч Г. Объектно-ориентированный анализ и проектирование с примерами
приложений на C++, 2-е издание, пер. с англ., М.: Издательство Бином, СПб.:
Невский диалект, 1999 г.
[2] Страуструп Б. Язык программирования C++, 3-е издание, пер. с англ., СПб.; М.:
Невский диалект - Издательство БИНОМ, 1999 г.
2. Информационные интернет-технологии
1.
Файловая структура UNIX . Файлы как именованная ссылка на объект ОС.
Различные типы файлов(объекты файловой системы, сетевые соединения, драйвера
устройств, объекты взаимодействия между процессами) Понятие пользователя ОС.
Атрибуты файлов и каталогов и доступ к ним.
2.
Процесс. Дочерние процессы. Атрибуты процессов. Идентификатор
пользователя, группы. Интерфейс взаимодействия с ОС Легкие процессы и нити
Фоновый процесс.
3.
Интерпретатор Shell. Основные функции и команды. Скрипты. Настройка
локальных конфигурационных файлов (для sh, bash).
4.
Регулярные выражения. sed, awk, Perl как средства работы с регулярными
выражениями.
5.
Стандартные примитивы межузлового взаимодействия – труба, сетевое
соединение, файловые блокировки, сигналы и их обработчики.
6.
Широко используемые структуры данных: одно-, двух- связные списки,
деревья. Понятие сбалансированного дерева. Красно-черные и Б-деревья.
7.
Обзор основных файловых систем. Семейство ФС FAT Эволюция UNIXфайловых систем. Журналируемые файловые системы.
8.
Память как разделяемый ресурс. Проблемы выделения и освобождения памяти.
Основные алгоритмы выделения памяти.
9.
Виртуальное адресное пространство процесса. Кэширование страниц памяти.
Подгрузка страниц по требованию. Обработка исключений при работе с виртуальной
памятью. Файл подкачки. Адресное пространство отображаемых файлов. Совместное
использование страниц.
Литература:
[1] Робачевский А.М. Операционная система UNIX? - СПб.: БХВ - СанктПетербург, 1999 г.
[2] Немет Э., Снайдер Г., Сибасс С., Хейн Т.Р. UNIX: Руководство системного
администратора?, пер. с англ. - К.: BHV, 1997 г.
[3] Петерссен Р. LINUX: руководство по операционной системе?, пер. с англ. Киев: BHV, 1997 г.
[4] Чан Т. Системное программирование на C++ для UNIX?, пер. с англ. - Киев:
Издательская группа BHV, 1999 г.
[5] U. Vahallia «UNIX Internals” Prentice Hall 1996
[6] Д. Э. Кнут «Искусство программирования. Том 1: Основные алгоритмы»,
Вильямс 2000
[7] M.K. McKusick, K. Bostic, M. J. Karels, J. S. Quarterman «The Design and
Implemenetation of the 4.4 BSD Operating System», Addison-Wesley 1996
[8] Д. Соломон, М. Русинович «Внутренне устройство Microsoft Windows 2000»
СПб. Питер, 2001
3. Сетевые технологии
1.
Классификация компьютерных сетей. Архитектура сетей, эталонные модели
OSI и TCP/IP.
2.
Физический уровень передачи данных. Теоретические основы передачи
данных. Преобразование, кодировка и передача информации, передача сигналов по
линиям связи. Обзор технологий передачи данных, каналы передачи данных:
кабельные, оптоволоконные, беспроводные
3.
Уровень передачи данных. Сервисы, предоставляемые сетевому уровню,
формирование кадра, обработка ошибок, управление потоком, протоколы скользящего
окна. Подуровень управления доступом к среде. Статическое распределение канала,
динамическое распределение канала. Протоколы множественного доступа с контролем
несущей, сети Ethernet.
4.
Коммутация на уровне передачи данных. Локальное межсетевое
взаимодействие, мосты связующего дерева, повторители, концентраторы, мосты,
коммутаторы, маршрутизаторы и шлюзы, виртуальные локальные сети.
5.
Сетевой уровень. Сервисы, предоставляемые транспортному уровню. Сервисы
без установления соединения и с установлением соединения (виртуальные каналы и
дейтаграммные подсети).
6.
Алгоритмы маршрутизации. Маршрутизация по вектору расстояний.
Маршрутизация с учетом состояния линий. Иерархическая маршрутизация.
7.
Борьба с перегрузкой в сетях. Качество обслуживания.
8.
Протоколы сетевого уровня. Протокол IPv4. Протокол IPv6.
9.
Протоколы маршрутизации RIP, OSPF, BGP.
10.
Многоадресная рассылка.
11.
Транспортный уровень. Сервисы, предоставляемые транспортным уровнем.
Интерфейс сокетов.
12.
Транспортные протоколы. Адресация. Установка и разрыв соединения.
Управление потоком и буферизация. Мультиплексирование. Восстановление после
сбоев.
13.
Прикладные протоколы. Доменная система имен (DNS). Электронная почта.
HTTP.
Литература:
[1] В Столлингс. Современные компьютерные сети. СПб.: Питер, 2003 – 783 с.
[2] Э.Танненбаум. Компьютерные сети. 4-е изд. СПб.: Питер, 2005. – 992 с.
[3] Семенов Ю.А. Протоколы Интернет. М.: Горячая линия-Телеком, 2005. (серия
"Сети и сетевые технологии)
[4] Немет Э., Снайдер Г., Сибасс С., Хейн Т.Р. UNIX: Руководство системного
администратора, пер. с англ. - К.: BHV, 1997 г.
[5] Храмцов П.Б.. Администрирование сети и сервисов Internet., Центр
Информационных Технологий, 1997 http://www.citforum.ru/internet/services/index.shtml
[6] Модель OSI. - http://www.citforum.ru/nets/switche/osi.shtml
[7] Н. Олифер, В. Олифер, "Базовые технологии локальных сетей" http://citforum.ru/nets/protocols2/index.shtml
[8] СISCO Internetworking Technology Overview - http://www.mark-itt.ru/CISCO/ITO/
[9] Бережнев А.Ф., Смелянский Р.Л., "Семейство протоколов TCP/IP" http://www.mark-itt.ru/FWO/tcpip/
[10] Спецификация протокола IPР. Усманов, перевод, Сервер FREEnet http://www.citforum.ru/internet/tifamily/ipspec.shtml
[11] Спецификация протокола TCP Р. Усманов, перевод, Сервер FREEnet http://www.citforum.ru/internet/tifamily/tcpspec.shtml
4. Базы данных
1.
Понятие СУБД. Иерархические, реляционные и объектно-реляционные СУБД.
Клиент-серверная модель работы с СУБД.
2.
Таблицы. ER-отношения. Нормальные формы Кодда. Реляционная алгебра.
3.
Язык запросов к реляционной базе данных. Курсоры. Семантика и синтаксис
запроса выборки из БД. Вложенные запросы. Ключевое слово GROUP BY
4.
Добавление и изменение данных в таблицах БД. Запросы INSERT и UPDATE.
5.
Сложность выполнения запроса. Первичный и внешний ключ. Индексы.
6.
Журналирование запросов к СУБД. Транзакции. Одновременное исполнение
транзакций. Блокировки
7.
Хранимые процедуры и функции в БД. Простые и составные функции.
Программные интерфейсы взаимодействия с СУБД. Триггеры.
8.
Правила описания кортежа таблицы. Запросы CREATE TABLE и CREATE VIEW.
Ограничения значений данных в БД. Связанность данных.
9.
Модель разграничения прав доступа к БД
10.
Распределенные БД. Механизмы защиты от сбоев.
Литература:
[1] Г. Гарсиа-Молина, Д, Ульман, Л, Уидом «Системы баз данных. Полный курс.»,
Вильямс 2004
[2] Т. Коннолли, К. Бегг «Базы данных. Проектирование, реализация и
сопровождение. Теория и практика» Вильямс 2003
[3] А. Ахо, Дж. Хопкрофт, Дж. Ульман “Структуры данных и алгоритмы» Вильямс
2004
[4] Пол Уилтон, Джон Колби “Язык запросов SQL для начинающих» Диалектика
2006
[5] Дж. Боуман, С.Л. Эмерсон, М. Дарновски «Практическое руководство по SQL.
3е издание» Вильямс 2001
5. Теория и основы параллельного программирования
1.
Понятие параллельного программирования. Многопроцессорные вычислительные комплексы. Распределенная и общая память. Распараллеливающие
компиляторы и системы автоматического распараллеливания программ
2.
Основные парадигмы параллельного программирования. Процессы и нити. Основные инструменты и методы для программирования систем с общей и распределенной памятью.
3.
Библиотека MPI. Модель ЗРМВ. Инициализация и завершение MPI-приложения. Точечные обмены данными между процессами MPI-программы. Режимы
буферизации. Коллективные взаимодействия процессов в MPI. Управление группами и
коммуникаторами в MPI.
4.
Библиотека PVM. Управление виртуальной машиной. Создание и завершение
процессов. Взаимодействие процессов в PVM. Функции запаковки и распаковки
данных. Точечные обмены.
5.
Проблема синхронизации доступа к общим данным. Семафоры. Критические
секции. Библиотека pthreads. Создание и завершение потоков
6.
Основные компоненты среды ОрепМР. Модель выполнения ОрепМР-приложения. Директива parallel. Директивы для распределения работы в ОрепМР. Директивы
синхронизации в ОрепМР.
Литература:
[1] Foster I. Designing and Building Parallel Programs. На англ. яз. Addison-Wesley. http://www.hensa.ac.uk/parallel/books/addison-wesley/dbpp/index.html
[2] Snir M., Otto S., Huss-Lederman S., Walker D., Dongarra J., MPI: The complete
Reference - http://www.netlib.org/utk/papers/mpi-book/mpi-book.html
[3] Wolfe M. High Performance Compilers for Parallel Computing. Addison-Wesley,
1996.
[4] High Perfomance Cluster Computing. Под ред. R.Buyya, 2 т., Prentice Hall, 1999.
[5] В.В.Корнеев. Параллельные вычислительные системы. Изд-во "Нолидж", 1999 г.
[6]
[7] William Gropp W., Ewing Lusk E., Skjellum A. Using MPI: Portable Parallel
Programming with the Message-Passing Interface. MIT Press, 1999
[8] Pacheco P. Parallel Programming With MPI.
6. Архитектура высокопроизводительных вычислительных систем
1.
Программа для ЭВМ. Последовательности команд (threads), базисные
программные блоки, циклы, процедуры. Система команд RISC.
2.
Общая структурная схема ЭВМ. Иерархия памяти. Конвейеризация. Типы
конфликтов. Схема разрешения конфликтов информационной зависимости.
3.
Оперативное запоминающее устройство (ОЗУ). Микросхемы ЗУПВ. Схемы
простого и сложного расслоения.
4.
Векторная обработка. Специальные векторные команды. Векторные регистры.
Жесткое и гибкое зацепление векторных операций. Степень векторизации программы.
Законы Амдала и Густавсона. Способы повышения пропускной способности конвейера
выполнения команд, применяемые в современных микропроцессорах.
5.
Многопроцессорные вычислительные системы с общей симметричной памятью
и массово-параллельные (МРР) с распределенной памятью. Классификация МРР
суперЭВМ по наличию (или отсутствию) аппаратной поддержки общей памяти и
обеспечению согласования данных (когерентности) в КЭШ ЗУ.
6.
Реальная и пиковая производительности МРР суперЭВМ. Зависимость
реальной производительности от числа процессоров в МРР суперЭВМ и задержки
передачи данных между ними. Барьерная и семафорная синхронизация.
7.
Трудности программирования МРР суперЭВМ, связанные с неоднородным
временем доступа к распределенной памяти и необходимостью учета нескольких
уровней в ее иерархии.
Литература
[1] Коуги П.М. Архитектура конвейерных ЭВМ. –М., Радио и связь, 1985.
[2] Хокни Р.У., Джессхоуп К.Р. Параллельные ЭВМ. Архитектура,
программирование и алгоритмы. –М., Радио и связь, 1986.
[3] Корнеев В.В., Киселев А.В. Современные микропроцессоры. –М., изд-во
Нолидж, 2000 (2-е изд.).
[4] Дикарев Н.И., Шабанов Б.М. “Реальная и пиковая производительности
суперЭВМ”, Автоматизация проектирования, N 1-2, 2000, с.3-14.
[5] S. Weiss, J. Smith, Instruction Issue Logic in Pipelined Supercomputers. IEEE Trans.
on Computers, vol. 33, no. 11, pp. 1013-1022, Nov. 1984.
[6] S. Weiss, J. Smith, Power PC604 and Alpha 21064: A Tale of two RISCs. Computer,
vol. 27, no. 6, pp. 46-58, June 1994.
[7] J. Smith, G. Sohi, The Microarchitecture of Superscalar Processors. Proceedings of
IEEE, vol. 83, no. 12, pp. 1609-1624, Dec. 1995.
[8] H.Shandrangpani, K. Arora, Itanium Processor Microarchitecture. IEEE Micro, vol.
20, no. 5, pp. 24-43, Sept./Oct. 2000.
[9] J. Hennessy et al. Cache-Coherent Distributed Shared Memory: Perspectives on Its
Development and Future Challengers. Proceedings of IEEE, vol. 87, no. 3, pp. 418-429,
March 1999.
[10] M. Gokhale, W. Carlson, An Introduction to Compilation Issues for Parallel
Machines. The Journal of Supercomputing, vol. 6, no. 3 / 4, pp. 283-314, 1992.
7. Визуализация в научных исследованиях
1.
Геометрические определения базовых типов, векторное и аффинное
пространство.
2.
Функции геометрических преобразований в OpenGL.
3.
Проекции. Общая классификация.
4.
Скалярная и векторная визуализация данных.
5.
Методы построения изолиний и изоповерхностей.
Литература
[1] Д. Роджерс, "Математические основы машинной графики", Москва, Мир, 2001
[2] Эйнджел Э. Интерактивная компьютерная графика. Вводный курс на базе
OpenGL, 2 изд. Пер. с англ.- Москва, "Вильямс", 2001
[3] Порев В.Н Компьютерная графика.. СПб., BHV, 2002.
[4] Шикин Е.В., Боресков А.В., "Компьютерная графика. Полигональные модели." М., ДИАЛОГ- МИФИ - 2000 (есть в факультетской библиотеке)
[5] У. Пратт, "Цифровая обработка изображений ", т. 1, 2, Москва, Мир, 1982 (гл. 2,
3, 12, 13, 17, 18, 20)
[6] П. Ньюмен, Р. Спрулл, "Основы интерактивной машинной графики", Москва,
Мир, 1976
[7] В. Гилой, "Интерактивная машинная графика", Москва, Мир, 1981
[8] Т. Павлидис, "Алгоритмы машинной графики и обработки изображений",
Москва, Радио и связь, 1986
[9] Дж. Фоли, А. вэн Дэм, "Основы интерактивной машинной графики", Москва,
Мир, 1987
[10] Д. Роджерс, "Алгоритмические основы машинной графики", Москва, Мир,
1989
[11] Боресков А. В., Шикин Е. В. "Компьютерная графика. Динамика,
реалистические изображения." - М., ДИАЛОГ- МИФИ - 1995
[12] Ю. Тихомиров "Программирование трехмерной графики", Санкт Петербург,
BHV, 1998
[13] Р. Дуда, П. Харт, "Распознавание образов и анализ сцен", Москва, Мир, 1976
(гл. 7, 9)
Download