Теория, методы и средства параллельной обработки информации

Цели и задачи дисциплины
Целью дисциплины является ознакомление студентов с основами многопоточного программирования. В задачи входит изучение принципов и освоение на практике инструментов многопоточного программирования.
Краткое содержание дисциплины
Процессы и нити с точки зрения операционной системы. Достоинства и недостатки использования нитей. Модели параллельного программирования: автономные процессы, IPC, процессы с общей памятью, многопоточные программы, событийно- ориентированные. Ускорение, закон Амдала, следствия из него, закон Густафсона. Модели реализации многопоточности: зелёные нити, cистемные нити, гибридные нити. Жизненный цикл нити. Многопоточное программирование с использованием fork() и IPC (signal, pipe, socket, message queue, shared memory, message passing). Синхронизация. Программные способы решения проблемы критической секции: алгоритм Деккера, алгоритм Петерсона, алгоритм Eisenberg & McGuire, алгоритм Лэм-порта и булочной. Аппаратные способы решения проблемы критической секции. Семафоры, мониторы, мьютексы, условные переменные и их реализация. Многопоточное программирование с помощью Pthreads. Отладка. Ошибки типа deadlock, livelock, starvation и алгоритмы их обнаружения. Отладка многопоточных программ. Многопоточное программирование с помощью OpenMP.
Компетенции обучающегося, формируемые в результате освоения дисциплины
Выпускник должен обладать:
  • ПК-2 Способен к проектированию архитектуры программного обеспечения с учетом функциональных и нефункциональных требований
  • ПК-5 Способен к обслуживанию программно- аппаратных комплексов, сетевых устройств и операционных систем информационно-коммуникационной системы
Вы нашли ошибку в тексте:
Просто нажмите кнопку «Сообщить об ошибке» — этого достаточно. Также вы можете добавить комментарий.