Компьютерные науки

Параллельные вычисления и многопоточное программирование

Программа посвящена освоению принципов параллельной обработки данных и основ многопоточности. В фокусе модели вычислений, синхронизация потоков и работа с библиотеками FCL и TPL в среде C#.
Студентов 942 Выпускников 186 Для специалистов
690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Темы:
Программирование, Суперкомпьютерные технологии
Объем

36 час.
Длительность

30 дней
Нагрузка в неделю

9 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Учебная программа посвящена инструментам создания эффективного программного обеспечения для многоядерных систем. Рассматриваются ключевые аспекты построения параллельных алгоритмов и решения типичных проблем синхронизации, таких как гонки данных и взаимные блокировки. Основной акцент сделан на применении возможностей .NET Framework, включая работу с классами Thread и Parallel. Обучение выстроено от теории процессов и потоков к практической реализации параллельных циклов и задач. Разобраны темы управления пулом потоков и использования TPL. Программа полезна разработчикам для повышения производительности приложений через использование многопоточной архитектуры.
Цели
  • Сформировать понимание моделей и характеристик параллельных вычислений.
  • Познакомить с инструментами библиотек FCL и TPL для управления потоками.
  • Раскрыть методы предотвращения конфликтов при доступе к общей памяти.
Чему я научусь?
  • Проектировать параллельные алгоритмы для многоядерных процессоров.
  • Использовать классы Thread и Parallel для оптимизации вычислений.
  • Находить и устранять ошибки синхронизации в многопоточных приложениях.

Авторы

Биллиг Владимир Арнольдович
Биллиг Владимир Арнольдович
Кандидат технических наук, cтарший научный сотрудник, доцент, профессор кафедры информатики.
Чему я научусь?
  • Проектировать параллельные алгоритмы для многоядерных процессоров.
  • Использовать классы Thread и Parallel для оптимизации вычислений.
  • Находить и устранять ошибки синхронизации в многопоточных приложениях.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Введение
2 Параллельные вычисления Лекция расскажет какие преимущества есть у параллельных вычислений, и какие проблемы ждут программиста при создании программ,... Лекция расскажет какие преимущества есть у параллельных вычислений, и какие проблемы ждут программиста при создании программ, ориентированных на параллельные вычисления. ещё
Параллельные вычисления тест для курса Параллельные вычисления и многопоточное программирование 35 мин
3 Процессы и потоки в операционной системе Стратегия управления памятью, процессы, потоки и данные.
Процессы и потоки в операционной системе тест для курса Параллельные вычисления и многопоточное программирование 30 мин
4 Параллельные алгоритмы В этой лекции рассмотрим некоторые классические задачи, задав для их решения алгоритмы, допускающие распараллеливание. При рассмотрении... В этой лекции рассмотрим некоторые классические задачи, задав для их решения алгоритмы, допускающие распараллеливание. При рассмотрении будем проводить сравнение характеристик последовательных и параллельных алгоритмов. Под распараллеливанием в данной главе особое внимание будет уделяться распараллеливанию циклов. Дадим более точное определение этого понятия. ещё
Параллельные алгоритмы тест для курса Параллельные вычисления и многопоточное программирование 30 мин
5 Потоки и параллельные вычисления В данной лекции мы рассмотрим ряд средств, позволяющих создавать на языке C# параллельные программы, которые на... В данной лекции мы рассмотрим ряд средств, позволяющих создавать на языке C# параллельные программы, которые на многоядерном компьютере выполняются эффективнее (быстрее), чем на одноядерном компьютере. ещё
Потоки и параллельные вычисления тест для курса Параллельные вычисления и многопоточное программирование 30 мин
6 Потоки. Гонка данных и другие проблемы В этой лекции рассмотрен ряд проблем, характерных для параллельных вычислений.
Потоки. Гонка данных и другие проблемы тест для курса Параллельные вычисления и многопоточное программирование 35 мин
7 Пул потоков и библиотека параллельных задач Класс ThreadPool. Библиотека параллельных задач, библиотека TPL. Реализация параллельных алгоритмов Task объектами.
Пул потоков и библиотека параллельных задач тест для курса Параллельные вычисления и многопоточное программирование 35 мин
8 Распараллеливание циклов. Класс Parallel Одна из основных задач, возникающих при параллельных вычислениях, связана с распараллеливанием циклов. Рассмотрены проблемы распараллеливания и... Одна из основных задач, возникающих при параллельных вычислениях, связана с распараллеливанием циклов. Рассмотрены проблемы распараллеливания и варианты решения. ещё
Распараллеливание циклов. Класс Parallel тест для курса Параллельные вычисления и многопоточное программирование 35 мин
9 Интерфейс и многопоточность Правила организации интерфейса.
Интерфейс и многопоточность тест для курса Параллельные вычисления и многопоточное программирование 30 мин
10 Программные проекты на C#
11 Курсовые проекты и лабораторные работы к курсу
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

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

Стоимость программы

690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.