Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
8:22:00
Студентов:
896
Выпускников:
247
Качество курса:
4.42 | 4.20
Данный учебный курс ориентирован на изучение и практическое применение современных высокоуровневых средств параллельного программирования для многоядерных процессоров - библиотеки Microsoft Parallel FX и языка программирования MC#. Использование таких средств, с промышленной точки зрения, резко повышает производительность и продуктивность работы программистов и позволяет привлечь к регулярному параллельному программированию значительно большее число программистов, а с образовательной точки зрения, дает возможность их успешно изучать и осваивать студентам вузов, начиная со 2-го курса.
Основная концепция предлагаемого учебного курса заключается в переходе к изучению высокоуровневых средств программирования в качестве основных инструментов параллельного программирования. Рассматриваются два таких средства, базирующиеся на языке С#: Microsoft Parallel Extensions for .NET (библиотеки TPL и PLINQ); язык программирования MC# (www.mcsharp.net). В качестве практических заданий на параллелизацию будут использоваться хорошо известные задачи, такие как сортировка, задачи линейной алгебры, метод статистических испытаний Монте-Карло, рендеринг изображений на основе трассировки лучей, поиск в Интернет, алгоритм Смита-Уотермена сравнения биологических последовательностей и др.Также, в качестве заданий, студентам будут предлагаться задачи конкурса Intel Threading Challenge.
Специальности: Программист
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
28 минут
Введение в библиотеку Microsoft Parallel Extensions to the .Net Framework
В этой лекции рассматриваются основные понятия и определения библиотеки Microsoft Parallel Extensions, а также рассмотрены вопросы производительности при ее использовании.
Оглавление
    -
    Лекция 2
    17 минут
    Конструкция Parallel.For
    В этой лекции рассматривается реализация базовых элементов библиотеки Parallel.For и Parallel.Foreach.
    Оглавление
      -
      Лекция 3
      12 минут
      Планирование исполнения процессов
      В лекции рассматриваются вопросы планирования исполнения задач применительно к многопроцессорным вычислительным системам.
      Оглавление
        -
        Лекция 4
        15 минут
        Конструкция Parallel.Invoke
        В лекции рассматривается еще один способ распараллеливания процессов - Parallel.Invoke, а также описаны проблемы при реализации параллельной обработки бинарных деревьев.
        Оглавление
          -
          Лекция 5
          34 минуты
          Программирование с использованием Task Parallel Library (TPL)
          В этой лекции рассматривается один из уровней библиотеки PFX - программирование на уровне задач (TPL). Во второй части лекции показана практическая реализация параллелизма в рекурсивных функциях.
          Оглавление
            -
            Лекция 6
            46 минут
            Класс System.Threading.Tasks.Future и координирующие структуры данных
            В лекции описано использование высокоуровневых примитивов синхронизации процессов, а также рассмотрена асинхронная модель программирования с использованием объектов класса Future<T>.
            Оглавление
              -
              Лекция 7
              29 минут
              Введение в PLINQ
              В лекции рассматривается параллельный интегрированный язык запросов и его отличия от его классической реализации.
              Оглавление
                -
                Лекция 8
                21 минута
                Обработка исключений при использовании PFX
                В лекции рассматриваются вопросы обработки исключительных ситуаций связанных с выполнением в параллельных приложениях.
                Оглавление
                  -
                  Лекция 9
                  30 минут
                  Примеры программирования с использованием библиотеки PFX
                  В данной лекции будет представлен ряд примеров программирования с использованием механизма задач и некоторых конструкций из библиотеки PFX, связанных с ними.
                  Оглавление
                    -
                    Лекция 10
                    44 минуты
                    Оценка производительности памяти с помощью теста Random Access
                    В лекции описан тест производительности памяти и приведена его реализация для многоядерных систем с помощью библиотеки PFX, а также рассмотрена задача параллельного рендеринга изображений.
                    Оглавление
                      -
                      Лекция 11
                      28 минут
                      Решето Эратосфена для нахождения простых чисел
                      В этой лекции рассмотрена теория и реализация алгоритма Эратосфена при нахождения простых чисел в контексте параллельного программирования.
                      Оглавление
                        -
                        Лекция 12
                        20 минут
                        Параллельный алгоритм дискретного преобразования Фурье
                        В этой лекции рассмотрена теория и реализация алгоритма дискретного преобразования Фурье в контексте параллельного программирования.
                        Оглавление
                          -
                          Лекция 13
                          1 час 10 минут
                          Высокоуровневый язык параллельного программирования MC#
                          В этой лекции рассматриваются основные понятия и определения высокоуровневого языка параллельного программирования MC#, показаны примеры использования специфических конструкций языка на ряде параллельных и распределенных программ.
                          Оглавление
                            -
                            1 час 40 минут
                            -
                            Максим Полищук
                            Максим Полищук
                            "...Изучение и анализ примеров.
                            В и приведены описания и приложены исходные коды параллельных программ..."
                            Непонятно что такое - "В и приведены описания" и где именно приведены и приложены исходные коды.