We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Distributed Systems

2024/2025
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Course type:
Elective course
When:
4 year, 1, 2 module

Instructors


Балюк Игорь Алексеевич


Семенов Юрий Дмитриевич

Программа дисциплины

Аннотация

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

Цель освоения дисциплины

  • Изучение принципов и технологий построения распределенных систем.
  • Знакомство с различными классами распределенных систем и приложений.
  • Получение практических навыков разработки распределенных приложений.
Планируемые результаты обучения

Планируемые результаты обучения

  • Студент владеет базовыми механизмами и технологиями разработки распределенных приложений.
  • Студент знает особенности различных классов распределенных систем и используемые при их реализации подходы.
  • Студент знает принципы построения распределенных систем, модели программирования и методы решения типовых задач.
  • Студент знает проблематику распределенных вычислений, области применения и виды распределенных систем.
  • Студент умеет применять полученные знания на практике и обосновывать выбор метода решения поставленной задачи.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в распределенные вычисления.
  • Сетевое взаимодействие, стек TCP/IP и сокеты.
  • Обмен сообщениями между процессами, протоколы и форматы данных.
  • Промежуточное ПО, удаленные вызовы процедур и методов.
  • Протокол HTTP, архитектурный стиль REST и веб-сервисы.
  • Непрямое взаимодействие между процессами (очереди, publish-subscribe, мультикаст, общая память).
  • Базовые механизмы (именование, поиск, обнаружение отказов, распространение информации).
  • Обеспечение безопасности в распределенных системах.
  • Распределенные системы хранения данных, репликация и согласованность данных.
  • Консенсус и координация распределенных процессов.
  • Децентрализованные распределенные системы, одноранговые сети, блокчейн.
  • Параллельные вычисления, распределенные вычислительные системы и приложения.
  • Распределенная обработка данных, MapReduce, модель dataflow.
  • Облачные вычисления.
  • Сервис-ориентированная архитектура, микросервисы.
  • Современные практики и инструменты разработки распределенных систем и приложений.
Элементы контроля

Элементы контроля

  • неблокирующий Домашние задания
  • неблокирующий Экзамен-1
    Проводится в формате коллоквиума
  • неблокирующий Экзамен-2
    Проводится в формате письменного экзамена.
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 2nd module
    0.6 * Домашние задания + 0.2 * Экзамен-1 + 0.2 * Экзамен-2
Список литературы

Список литературы

Рекомендуемая основная литература

  • Coulouris, G. F. (2012). Distributed Systems : Concepts and Dessign, Fifth Edition (Vol. Fifth edition, International edition). Harlow: Pearson Education. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1418002
  • Tanenbaum, A. S., & Steen, M. van. (2014). Distributed Systems: Pearson New International Edition : Principles and Paradigms (Vol. 2nd ed). Harlow, Essex: Pearson. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1418515

Рекомендуемая дополнительная литература

  • Burns, B. (2018). Designing Distributed Systems : Patterns and Paradigms for Scalable, Reliable Services (Vol. First edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1713745
  • Kleppmann, M. (2017). Designing Data-Intensive Applications : The Big Ideas Behind Reliable, Scalable, and Maintainable Systems. Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1487643
  • Petrov, A., & O’Reilly for Higher Education (Firm). (2019). Database Internals : A Deep Dive Into How Distributed Data Systems Work (Vol. First edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2250514

Авторы

  • Сухорослов Олег Викторович
  • Сысоева Алевтина Александровна