Опубликована: 01.05.2013 | Уровень: для всех | Стоимость: 990.00 руб. | Длительность: 14 дней
Данный учебный курс представляет введение в параллельное и многопоточное программирование. Он знакомит читателя с общими свойствами параллельных вычислений, моделью параллельных вычислений и ее характеристиками.
Рассматриваются основы построения параллельных алгоритмов, обсуждаются проблемы параллельных вычислений при их выполнении на многоядерных компьютерах с общей памятью – гонка данных, клинч, проблемы синхронизации и блокировки. Все примеры программ, приведенные в данном курсе, написаны на языке C# с использованием средств параллельного программирования. В курсе обсуждаются средства, включенные в состав библиотеки классов FCL (Framework Class Library), начиная от класса Thread, описывающего потоки, до класса Parallel, включенного в TPL (Task Parallel Library).

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
18 минут
Введение
Оглавление
    -
    Лекция 2
    1 час 22 минуты
    Параллельные вычисления
    Лекция расскажет какие преимущества есть у параллельных вычислений, и какие проблемы ждут программиста при создании программ, ориентированных на параллельные вычисления.
    Оглавление
      -
      Тест 1
      21 минута
      -
      Лекция 3
      39 минут
      Процессы и потоки в операционной системе
      Стратегия управления памятью, процессы, потоки и данные.
      Оглавление
        -
        Тест 2
        18 минут
        -
        Лекция 4
        1 час 40 минут
        Параллельные алгоритмы
        В этой лекции рассмотрим некоторые классические задачи, задав для их решения алгоритмы, допускающие распараллеливание. При рассмотрении будем проводить сравнение характеристик последовательных и параллельных алгоритмов. Под распараллеливанием в данной главе особое внимание будет уделяться распараллеливанию циклов. Дадим более точное определение этого понятия.
        Оглавление
          -
          Тест 3
          18 минут
          -
          Лекция 5
          52 минуты
          Потоки и параллельные вычисления
          В данной лекции мы рассмотрим ряд средств, позволяющих создавать на языке C# параллельные программы, которые на многоядерном компьютере выполняются эффективнее (быстрее), чем на одноядерном компьютере.
          Оглавление
            -
            Тест 4
            18 минут
            -
            Лекция 6
            1 час 28 минут
            Потоки. Гонка данных и другие проблемы
            В этой лекции рассмотрен ряд проблем, характерных для параллельных вычислений.
            Оглавление
              -
              Тест 5
              21 минута
              -
              Лекция 7
              52 минуты
              Пул потоков и библиотека параллельных задач
              Класс ThreadPool. Библиотека параллельных задач, библиотека TPL. Реализация параллельных алгоритмов Task объектами.
              Оглавление
                -
                Тест 6
                21 минута
                -
                Лекция 8
                1 час 22 минуты
                Распараллеливание циклов. Класс Parallel
                Одна из основных задач, возникающих при параллельных вычислениях, связана с распараллеливанием циклов. Рассмотрены проблемы распараллеливания и варианты решения.
                Оглавление
                  -
                  Тест 7
                  21 минута
                  -
                  Лекция 9
                  54 минуты
                  Интерфейс и многопоточность
                  Правила организации интерфейса.
                  Оглавление
                    -
                    Тест 8
                    18 минут
                    -
                    Лекция 10
                    45 минут
                    -
                    Лекция 11
                    6 минут
                    -
                    5 часов
                    -