Программа магистратуры

Цель магистерской программы «Распределённые системы и компьютерные сети» - подготовка магистров, специализирующихся в области проектирования и разработки сложных распределённых компьютерных систем и сетей. Программа предусматривает освоение современных методов и технологий проектирования распределённых компьютерных систем и сетей, изучение методов машинного обучения, распределённых алгоритмов, методов защиты программного обеспечения, методов и инструментов логической верификации, элементов теории игр, методов теории массового обслуживания, методов виртуализации, освоение методики проведения статистических экспериментов и приобретение опыта управления проектами по разработке программного обеспечения. По каждому читаемому в рамках магистерской программы курсу предлагаются практические задания для закрепления пройденного материала.


Перечень дисциплин программы Нагрузка (в неделю)
Компьютерные сети и телекоммуникации (дополнительные главы) 1л + 1с
Методы машинного обучения 1л + 1с
Архитектура управляющих систем реального времени 1л + 0,5с
Распределённые алгоритмы и системы 1л + 1с
Информационная безопасность 1л + 0,5с
Методы верификации программ 1л + 1с
Теория игр и исследование операций 1л + 0,5с
Вероятностные методы анализа компьютерных сетей 1л + 1с
Облачные вычисления и виртуализация информационных ресурсов) 1л + 0,5с
Управление проектами разработки программного обеспечения
Программно-конфигурируемые сети 1л + 0,5с
Управление сетевыми ресурсами и качеством сервиса
Математические основы протоколов беспроводных сетей 1л + 1л
Научно-исследовательский семинар "Распределённые системы и компьютерные сети", в том числе курсовая работа

Компьютерные сети и телекоммуникации (дополнительные главы) / Computer Networking and Telecommunications

Лектор: чл.-корр. РАН, профессор Р.Л. Смелянский
В курсе рассматриваются современные технологии компьютерных сетей – методы управления качество сервисов, организация и протоколы мультипротокольных и мультисервисных сетей, Программно-конфигурируемые сети (ПКС, SDN) и Виртуализация сетевых функций (ВСФ, NFV). В том числе, также в нём изучаются математические методы построения моделей функционирования компьютерных сетей и анализа сетевых протоколов.

Содержание дисциплины:
1. Проблемы современных сетей. Структура Интернет, алгоритмы маршрутизации.
2. Системы передачи данных.
3. Оптические СПД.
4. Беспроводные СПД.
5. MPLS сети.
6. Програмно-конфигурируемые Сети.
7. Анализ функционирования сетей.
8. Управление QoS (Net Calculus, FDM).
9. Формальные методы анализа, Forwarding Policy и методы верификации в ПКС сетях QoSM, Network Calculus.
10. Сети Хранения Данных.

Литература:
1. Смелянский Р. Л. Компьютерные сети: в 2 т. т.1 Системы передачи данных. - Издательский центр "Академия" г.Москва, 2011. - С. 304.
2. Смелянский Р. Л. Компьютерные сети: в 2 т. т.2. Сети ЭВМ. - Издательский центр "Академия" г.Москва, 2011. - С. 240.

Методы машинного обучения / Machine Learning

Лекторы: доцент А.И. Майсурадзе, доцент Сенько О.В.

В курсе излагаются основные вопросы, связанные с методами машинного обучения и анализа данных. Рассматриваются задачи классификации, статистические модели и методы интеллектуального анализа данных.

Содержание дисциплины:
1. Введение в анализ данных.
2. Основные модели данных.
3. Классификация как задача.
4. Статистический подход к распознаванию.
5. Базовые статистические модели классификации.
6. Практические навыки работы с данными.
7. Регрессионный анализ.
8. Метрические тензоры.
9. Модели и методы интеллектуального анализа данных.

Архитектура управляющих систем реального времени / Architecture of Real-Time Control Systems

Лектор н.с. В.В. Балашов

В курсе излагаются: принципы построения аппаратных и программных средств информационно-управляющих систем реального времени (ИУС РВ); подходы к проектированию ИУС РВ; математические основы и алгоритмы планирования вычислений в ИУС РВ; математические основы и алгоритмы доказательства гарантированного выполнения требований реального времени в ИУС РВ.

Содержание дисциплины:
1. Введение в информационно-управляющие системы реального времени (ИУС РВ).
2. Динамическое планирование вычислений и оценка планируемости.
3. Статико-динамическое планирование вычислений в системах интегрированной модульной авионики.
4. Процессоры в ИУС РВ.
5. Оценка времени наихудшего времени выполнения программ (WCET).
6. Оптимизация наихудшего времени выполнения программ (WCET), измерение WCET
7. Архитектура вычислительных блоков ИУС РВ.
8. Каналы с централизованным управлением.
9. Коммутируемые сети.
10. Обеспечение отказоустойчивости в ИУС РВ.
11. Тестирование и интеграция ИУС РВ.
12. Жизненный цикл ПО ИУС РВ и инструментальные средства его поддержки.

Литература:
1. Burns, A., Wellings, A. Real-Time Systems and Programming Languages (Fourth Edition, 2009).
2. Wilhelm, R., Engblom, J., et al. The worst-case execution-time problem — overview of methods and survey of tools. ACM Trans. on Embedded Computing Systems (TECS), Vol. 7, No. 3, 2008.
3. Парамонов, П., Жаринов, И. Интегрированные бортовые вычислительные системы: обзор современного состояния и анализ перспектив развития в авиационном приборостроении. Научно-технический вестник информационных технологий, механики и оптики, 2013.
4. Синицын, С., Налютин, Н. Верификация программного обеспечения. Курс лекций. Московский инженерно-физический институт, 2006.

Распределённые алгоритмы и системы / Distributed Algorithms and Systems

Лектор: профессор В.А. Захаров

Цель учебного курса – ознакомить студентов, специализирующихся в области программирования, с
• основными алгоритмическими задачами, возникающими при проектировании распределенных программ (сетевых протоколов, встроенных систем, многопроцессорных вычислительных систем, параллельных программ),
• наиболее распространенными алгоритмами решения этих задач,
• математическими моделями и методами, используемыми для анализа распределенных алгоритмов.

Основное внимание уделяется вопросам доказательства корректности проектируемых алгоритмов и оценкам их эффективности.
Задачами данного курса являются:
1. освоение студентами базовых знаний (понятий, концепций, методов и моделей) в области построения и анализа распределенных алгоритмов;
2. приобретение теоретических знаний и практических умений и навыков решения задач построения и анализа распределенных алгоритмов;
3. оказание консультаций и помощи студентам в проведении собственных теоретических исследований в указанной выше области программирования.

Содержание дисциплины:
1. Математическая модель распределенных алгоритмов.
2. Коммуникационные протоколы.
3. Алгоритмы маршрутизации.
4. Волновые алгоритмы.
5. Алгоритмы избрание лидера.
6. Алгоритмы обнаружение завершения вычислений.
7. Алгоритмы сохранение моментального состояния.
8. Обеспечение отказоустойчивости.
9. Обнаружение неисправностей в распределенных системах.
10. Стабилизирующиеся алгоритмы.

Литература:
1. Тель Ж. Введение в распределенные алгоритмы. М. Изд-во МЦНМО, 2009.
2. N.A. Lynch. Distributed Algorithms. Morgan Kaufmann Series in Data Management Systems. 1996.

Информационная безопасность / Information Security

Лектор с.н.с. П.Л. Пилюгин

Курс предназначен для ознакомления студентов с теорией и практикой обеспечений информационной безопасности в современных компьютерных сетях. В курсе рассматриваются основные классы проблем защиты информации в современных операционных системах и способов их решения, изучается необходимый набор программных средств, студенты практикуются в практических задач, связанные с информационной безопасностью.

Содержание дисциплины:
1. Задачи и методы обеспечения информационной безопасности.
2. Теоретические основы информационной безопасности операционных систем и баз данных.
3. Информационная безопасность вычислительных сетей.
4. Проблемные вопросы обеспечения информационной безопасности автоматизированных систем и вычислительных сетей.
5. Методическое и организационное обеспечение информационной безопасности.

Методы верификации программ / Software Verification

Лекторы: профессор В.А. Захаров, м.н.с. В.В. Подымов

Цель курса - познакомить слушателей с теоретическими и практическими аспектами такой области как верификация программного обеспечения, получить представление о том, как разрабатывать надёжное программное обеспечение (ПО).

Содержание дисциплины:
1. Необходимость в формальной верификации (примеры и истории).
2. Метод хоара-флойда верификации программ.
3. Верификация параллельных вычислений.
4. Темпоральные логики ctl, ltl, ctl*.
5. Табличный алгоритм model checking для ctl.
6. Символьный model checking (obdd) с вычислением неподвижной точки.
7. Эффект справедливости. достоинства ltl. автоматы бюхи. трансляция ltl в бюхи.
8. Model checking для ltl. ddfs, promela, spin.
9. Редукция частичных порядков.
10. Абстракции и симуляция как средство упрощения модели. Модулярный model checking.
11. Модели реального времени. временные автоматы rltl. регионы. Model checking свойств реального времени.
12. Динамические логики и mu-исчисление. smt-проверка. статический анализ.

Литература:
1. Э.М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: ModelChecking. Изд-во МЦНМО, 2002. 417 c.
2. Ю.Г. Карпов. ModelChecking: верификация параллельных и распределенных программных систем. Изд-во БХВ-Петербург, 2010.
3. K. R. Apt, E.-R. Olderog. Verification of sequential and concurrent programs, Springer, 1997, 365 p.

Теория игр и исследование операций / Game Theory and Operations Research

Лектор: доцент М.Г. Фуругян

Целью является развитие прикладного математического мышления. В частности, ставятся следующие задачи обучения студентов:
а) методам принятия решений в ситуациях неопределенности на основе принципа наилучшего гарантированного результата, способам и примерам построения различных игровых моделей (антагонистические и бескоалиционные игры), а также математическому аппарату анализа таких моделей (методы поиска седловых точек, оптимальных смешанных стратегий, ситуаций равновесия);
б) методам построения и анализа потоковых моделей, сведению большого числа задач исследования операций к потоковым задачам, основным алгоритмам решения задачи о максимальном потоке в сети и потоке минимальной стоимости;
в) методам анализа и решения дискретных задач оптимизации, точным и приближенным алгоритмам решения большого числа оптимизационных задач, возникающих при разработке сложных технических систем (задачи теории расписаний, упаковки, различные задачи на сетях и др.), а также способам анализа сложности таких алгоритмов.

Содержание дисциплины:
1. Основные понятия антагонистических игр.
2. Смешанные стратегии в матричных антагонистических играх. Методы поиска оптимальных смешанных стратегий.
3. Бесконечные антагонистические игры. Аппроксимация бесконечных игр конечными.
4. Модели антагонистических игр и методы их решения.
5. Бескоалиционные игры. Ситуация равновесия и условия ее существования.
6. Потоки в сетях. Алгоритмы нахождения максимального потока в сети.
7. Задача о потоке минимальной стоимости в сети.
8. Приложения потоковых задач в исследовании операций.
9. Классификация дискретных оптимизационных задач. Полиномиально разрешимые и NP-трудные задачи.
10. Методы решения NP-трудных задач.

Литература:
1. Гермейер Ю.Б. Введение в теорию исследования операций. М.: Наука, 1971.
2. Давыдов Э.Г. Исследование операций. М.: Высшая школа, 1990.
3. Морозов В.В. Основы теории игр. М.: МГУ, 2002.
4. Васин А.А., Морозов В.В. Теория игр и модели математической экономики. М.: Макс Пресс, 2005.
5. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982.
6. Кормен Т., Лейзерсон Ч., Ривест Р, Штайн К. Алгоритмы. Построение и анализ.
М.: МЦНМО, 2005.

Вероятностные методы анализа компьютерных сетей / Probabilistic methods of computer network analysis

Лектор: профессор В.Г. Ушаков

Курс предназначен для ознакомления студентов с теорией массового обслуживания и проверкой статистических гипотез. В курсе рассматриваются дискретные цепи Маркова, сети массового обслуживания, критерии согласия и однородности.

Содержание дисциплины:
1. Определения входящего потока. Пуассоновский поток, эрланговский поток, гиперэкспоненциальный поток. Аппроксимация потоков.
2. Дискретные цепи Маркова. Классификация состояний. Возвратность и эргодичность цепей.
3. Применение метода вложенных цепей Маркова при исследовании систем массового обслуживания. Системы M|G|1 и GI|M|1.
4. Цепи Маркова с непрерывным временем. Прямые и обратные уравнения Колмогорова.
5. Процессы гибели и рождения. Исследование марковских систем обслуживания с помощью теории процессов гибели и рождения.
6. Однолинейные системы массового обслуживания с пуассоновскими входящими потоками. Метод дополнительных компонент.
7. Сети массового обслуживания.
8. Критерии согласия. Проверка экспоненциальности распределения.
9. Критерии однородности (одинаковой распределенности) результатов наблюдений.

Литература:
1. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. 6 издание. М.: URSS, 2013.
2. Матвеев В.Ф., Ушаков В.Г. Системы массового обслуживания. М.: изд-во Московского ун-та, 1984.
3. Карлин С. Основы теории случайных процессов. М.: Мир, 1971.
4. Ивченко Г.И., Медведев Ю.И. Математическая статистика. М., Высшая школа, 1984.

Облачные вычисления и виртуализация информационных ресурсов) / Cloud Computng and Resource Virtualization

Лектор: м.н.с. В.А. Антоненко

Курс предназначен для ознакомления студентов с теорией и практикой облачных вычислений и виртуализации информационных ресурсов. В курсе рассматриваются основные принципы организации облачных вычислений, легковесная и контейнерная виртуализация, устройство и архитектура центров обработки данных.

Содержание дисциплины:
1. Основные концепции облачных вычислений.
2. Облачные сервисы.
3. Технология Hadoop.
4. Вопросы разработки облачных приложений.
5. Виртуализация в облачных сервисах.
6. Большие данные и методы работы с ними.
7. Сети доставки содержимого (CDN).
8. Оценка загрузки и тонкая настройка облачных сервисов.
9. Вопросы безопасности в облачных сервисах.
10. Облачные сервисы для индустрии, медицины и обучения.

Управление проектами разработки программного обеспечения / Project Management for Software Development

Лекторы: ассистент Д.Ю. Волканов, инженер А.И. Качалин

Проектное управление - стандарт де-факто в современных производственных компаниях. Понимание основ проектного управления требуется не только от менеджеров проекта, но и от каждого участника проектной команды. В рамках курса слушателям будет предложено применять получаемые знания к проекту (магистерской диссертации).

Содержание дисциплины:
1. Проектное управление, основы. Проекты и процессы.
2. Модели организации проектов. Роли в проекте.
3. Этапы проекта. Предпроектные активности. Планирование проекта.
4. Анализ рисков проекта. Проекты с высокими рисками.
5. Управление результатами и качеством. Анализ качества.
6. Управление человеческими ресурсами. Проект глазами участников проекта.
7. Управление выполнением проекта. Управление изменениями в ходе проекта.
8. Завершения проекта. Сдача проекта. Развитие по результатам проекта.
9. Сочетание практик проектного управления и элементов разработки ПО.
10. Специфика проектного управления в контексте исследовательских работ
11. Проведение НИР/НИОКР в академических и промышленных организациях. Функции заказчика, управление внешними проектами.
12. Адаптация проектных практик под специфику организации.

Программно-конфигурируемые сети / Software Defined Networks

Лектор: м.н.с. А.В. Шалимов

Курс предполагает углубленное изучение основ программно-конфигурируемых сетей и подходов к практической реализации новых технологий в современных сетях передачи данных. Программно-конфигурируемые сети одна из самых востребованных на данный момент технологий в области компьютерных сетей. Технология предназначена для повышения гибкости и скорости управления сетями, ускорения ввода новых сервисов на рынок. Технология уже применяется в известных компания, таких как Google, Microsoft, Amazon, VmWare, AT&T и др. В рамках дополнительного задания студентам предлагается реализовать приложение для ПКС контроллера, используя один из рассматриваемых протоколов управления.

Содержание дисциплины:
1. Введение в парадигму SDN, OpenFlow. OpenFlow контроллер и примеры приложений.
2. Проблематика программируемости OpenFlow приложений: композиция приложений и разрешение конфликтов.
3. Применение SDN в корпоративном сегменте, ЦОД и Телеком.
4. Организация OpenFlow коммутатора. Гибридные и чистые OpenFlow коммутаторы. Разработка OpenFlow коммутатора на ПЛИС, сетевых процессорах, традиционных серверах.
5. Два альтернативных подхода к управлению SDN коммутаторами: OFDPA vs NetConf.
6. На пути к протоколонезависимым SDN коммутаторам: POF, P4.
7. SDN в беспроводных сетях: CapWap, SDR.

Управление сетевыми ресурсами и качеством сервиса / Network Resource Management and Quality of Service

Лектор: м.н.с. Е.В. Чемерицкий

Курс посвящён одной из самых фундаментальных проблем компьютерных сетей: как обеспечить абонентов компьютерной сети связью необходимого им качества. В рамках курса рассматривается множество технологий, которые используются для решения проблемы качества в современном интернете, корпоративных сетях, центрах обработки данных и сетях распределения и доставки контента.

Содержание дисциплины:
1. Балансировка нагрузки и управление трафиком.
2. Маршрутизация на уровне интернет провайдеров.
3. Современные протоколы управления перегрузкой TCP.
4. NS3: моделирование поведения сети с высокой точностью.
5. Многопоточные транспортные протоколы.
6. Управление сетевыми ресурсами в Центрах Обработки Данных.
7. Интегрированные сервисы: гарантируем качество соединений.
8. Дифференцированные сервисы: повышаем эффективность.
9. Сетевое исчисление: математический подход к качеству сервиса.
10. Обеспечение качества сервиса в сетях доставки контента.
11. Качество сервиса в современных средах передачи данных.

Математические основы протоколов беспроводных сетей / Mathematical models of wireless networking protocols

Лектор: доцент Е.М. Хоров

Беспроводные сети стремительно развиваются. Появившиеся двадцать лет назад первые сети Wi-Fi обеспечивали скорости передачи данных в 1 и 2 Мбит/с. Скорость передачи данных в современных сетях Wi-Fi уже превышает 1 Гбит/с, а к 2020 году достигнет сотен Гбит/c. Помимо этого, сети становятся "умнее". Они не только по-разному обслуживают различные типы трафика, но и предоставляют сервисы, не связанные с передачей данных, например, определение местоположение пользователей.
Стандарты беспроводных сетей носят рамочный характер: они обеспечивают совместимость устройств, созданных разными, а производительность и эффективность работы сетевых устройств определяется интеллектуальными алгоритмами. В ходе курса мы разберем основные принципы работы современных и будущих беспроводных сетей и познакомимся с математическими методами моделирования их работы.
Первая часть курса будет посвящена беспроводным сетям, работающим в нелицензируемом спектре, в частности, по технологии Wi-Fi, в создании стандарта которой автор курса принимает участие.
Вторая часть курса будет посвящена сотовым сетям четвертого и пятого поколений. Курс посвящён одной из самых фундаментальных проблем компьютерных сетей: как обеспечить абонентов компьютерной сети связью необходимого им качества. В рамках курса рассматривается множество технологий, которые используются для решения проблемы качества в современном Интернете, корпоративных сетях, центрах обработки данных и сетях распределения и доставки контента.