User Tools

Site Tools


pp:start

Параллельное и распределенное программирование

Задача курса - приобрести навыки разработки параллельных схем алгоритмов и программ.

Лекционный материал

Замечательные лекции находятся в канале Лекториума

Лабораторные работы

Для допуска к зачету/экзамену необходимо сделать четыре любые лабораторные по желанию, если не оговорено особо: Магистры ИрГУПС, 1 курс, 2 семестр делают в обязательном порядке лабу RabbitMQ (второй семестр).

  1. Создание параллельных процессов в операционной системе Linux, Windows. Процессы должны взаимодействовать друг с другом через общий ресурс (pipe, fifo, файл, общая память, mmap, socket и т.п.), синхронизируя доступ к этому ресурсу (семафор, критические секции, мьютексы, барьеры).
  2. Реализация вычислительного процесса на многоядерной архитектуре при помощи OpenMP.
  3. Разработка параллельной программы для кластерной вычислительной системы средствами MPI.
  4. Параллельные вычисления в Matlab, R.
  5. Программирование параллельных приложений средствами библиотеки QT (см. в методичке ниже), JavaScript promises (jQuery ajax, animate, и т.п.) и подобными им (async/await).
  6. Реализация параллельной программы в Erlang/Elixir, Haskell, SWI-Prolog.
  7. Программа на Threading building Blocks.
  8. Реализация распределенной программы на ScaLAPACK.
  9. Создание распределенной вычислительной среды на основе RabbitMQ.

Методический материал

  1. Архив методичек “среднего качества” Здесь. Из них брать задания. Замечание: В методичке по MPI не указывается явно, что между вычислителями следует пересылать не весь массив данных а только долю.
pp/start.txt · Last modified: 2022/11/29 11:05 by eugeneai